From 63e87c2d0c9d263f14c77b68f85c67d46ece82a9 Mon Sep 17 00:00:00 2001 From: Leo Tenenbaum Date: Mon, 20 Aug 2018 21:12:06 -0400 Subject: Removed gtk+ docs --- gtk+-mingw/share/doc/freeglut-2.8.0/download.html | 42 - gtk+-mingw/share/doc/freeglut-2.8.0/freeglut.html | 163 - .../share/doc/freeglut-2.8.0/freeglut_logo.png | Bin 15887 -> 0 bytes .../freeglut-2.8.0/freeglut_user_interface.html | 1956 ------- gtk+-mingw/share/doc/freeglut-2.8.0/index.html | 101 - gtk+-mingw/share/doc/freeglut-2.8.0/ogl_sm.png | Bin 1586 -> 0 bytes gtk+-mingw/share/doc/freeglut-2.8.0/progress.html | 137 - gtk+-mingw/share/doc/freeglut-2.8.0/structure.html | 80 - gtk+-mingw/share/doc/freetype-2.4.10/CHANGES | 3672 ------------- gtk+-mingw/share/doc/freetype-2.4.10/CUSTOMIZE | 150 - gtk+-mingw/share/doc/freetype-2.4.10/DEBUG | 202 - gtk+-mingw/share/doc/freetype-2.4.10/FTL.TXT | 169 - gtk+-mingw/share/doc/freetype-2.4.10/GPLv2.TXT | 340 -- gtk+-mingw/share/doc/freetype-2.4.10/INSTALL | 83 - gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.ANY | 156 - gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.CROSS | 135 - gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.GNU | 159 - gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.MAC | 32 - gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.UNIX | 96 - gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.VMS | 62 - gtk+-mingw/share/doc/freetype-2.4.10/LICENSE.TXT | 34 - gtk+-mingw/share/doc/freetype-2.4.10/MAKEPP | 5 - gtk+-mingw/share/doc/freetype-2.4.10/PROBLEMS | 90 - gtk+-mingw/share/doc/freetype-2.4.10/TODO | 40 - gtk+-mingw/share/doc/freetype-2.4.10/VERSION.DLL | 149 - gtk+-mingw/share/doc/freetype-2.4.10/formats.txt | 174 - gtk+-mingw/share/doc/freetype-2.4.10/raster.txt | 635 --- .../share/doc/freetype-2.4.10/reference/README | 5 - .../reference/ft2-base_interface.html | 3610 ------------ .../freetype-2.4.10/reference/ft2-basic_types.html | 1173 ---- .../freetype-2.4.10/reference/ft2-bdf_fonts.html | 260 - .../reference/ft2-bitmap_handling.html | 302 - .../doc/freetype-2.4.10/reference/ft2-bzip2.html | 94 - .../reference/ft2-cache_subsystem.html | 1170 ---- .../freetype-2.4.10/reference/ft2-cid_fonts.html | 204 - .../reference/ft2-computations.html | 832 --- .../reference/ft2-font_formats.html | 84 - .../freetype-2.4.10/reference/ft2-gasp_table.html | 142 - .../reference/ft2-glyph_management.html | 673 --- .../reference/ft2-glyph_stroker.html | 940 ---- .../reference/ft2-glyph_variants.html | 267 - .../reference/ft2-gx_validation.html | 356 -- .../doc/freetype-2.4.10/reference/ft2-gzip.html | 94 - .../reference/ft2-header_file_macros.html | 853 --- .../freetype-2.4.10/reference/ft2-incremental.html | 401 -- .../doc/freetype-2.4.10/reference/ft2-index.html | 294 - .../reference/ft2-lcd_filtering.html | 192 - .../reference/ft2-list_processing.html | 486 -- .../doc/freetype-2.4.10/reference/ft2-lzw.html | 94 - .../reference/ft2-mac_specific.html | 368 -- .../reference/ft2-module_management.html | 667 --- .../reference/ft2-multiple_masters.html | 511 -- .../reference/ft2-ot_validation.html | 208 - .../reference/ft2-outline_processing.html | 1147 ---- .../freetype-2.4.10/reference/ft2-pfr_fonts.html | 206 - .../reference/ft2-quick_advance.html | 185 - .../doc/freetype-2.4.10/reference/ft2-raster.html | 606 --- .../freetype-2.4.10/reference/ft2-sfnt_names.html | 232 - .../reference/ft2-sizes_management.html | 164 - .../reference/ft2-system_interface.html | 415 -- .../doc/freetype-2.4.10/reference/ft2-toc.html | 219 - .../reference/ft2-truetype_engine.html | 132 - .../reference/ft2-truetype_tables.html | 1223 ----- .../reference/ft2-type1_tables.html | 689 --- .../reference/ft2-user_allocation.html | 47 - .../doc/freetype-2.4.10/reference/ft2-version.html | 219 - .../reference/ft2-winfnt_fonts.html | 278 - gtk+-mingw/share/doc/freetype-2.4.10/release | 209 - gtk+-mingw/share/doc/jasper-1.900.1/jasper.pdf | Bin 209692 -> 0 bytes gtk+-mingw/share/doc/jasper-1.900.1/jpeg2000.pdf | Bin 298678 -> 0 bytes gtk+-mingw/share/doc/libiconv/iconv.1.html | 206 - gtk+-mingw/share/doc/libiconv/iconv.3.html | 207 - gtk+-mingw/share/doc/libiconv/iconv_close.3.html | 90 - gtk+-mingw/share/doc/libiconv/iconv_open.3.html | 318 -- .../share/doc/libiconv/iconv_open_into.3.html | 120 - gtk+-mingw/share/doc/libiconv/iconvctl.3.html | 189 - gtk+-mingw/share/doc/libpng-1.5.12/README | 202 - .../share/doc/libpng-1.5.12/libpng-manual.txt | 4657 ---------------- gtk+-mingw/share/doc/libxml2-2.8.0/Copyright | 27 - .../share/doc/libxml2-2.8.0/examples/testHTML.c | 880 --- .../share/doc/libxml2-2.8.0/examples/testSAX.c | 1198 ---- .../share/doc/libxml2-2.8.0/examples/testXPath.c | 227 - .../share/doc/libxml2-2.8.0/examples/xmllint.c | 3768 ------------- gtk+-mingw/share/doc/libxml2-2.8.0/html/DOM.gif | Bin 3166 -> 0 bytes gtk+-mingw/share/doc/libxml2-2.8.0/html/FAQ.html | 282 - .../libxml2-2.8.0/html/Libxml2-Logo-180x168.gif | Bin 8195 -> 0 bytes .../doc/libxml2-2.8.0/html/Libxml2-Logo-90x34.gif | Bin 3070 -> 0 bytes .../share/doc/libxml2-2.8.0/html/encoding.html | 207 - .../share/doc/libxml2-2.8.0/html/examples.xml | 751 --- .../share/doc/libxml2-2.8.0/html/examples.xsl | 174 - .../share/doc/libxml2-2.8.0/html/html/book1.html | 13 - .../share/doc/libxml2-2.8.0/html/html/home.png | Bin 654 -> 0 bytes .../share/doc/libxml2-2.8.0/html/html/index.html | 13 - .../share/doc/libxml2-2.8.0/html/html/left.png | Bin 459 -> 0 bytes .../libxml2-2.8.0/html/html/libxml-DOCBparser.html | 51 - .../libxml2-2.8.0/html/html/libxml-HTMLparser.html | 184 - .../libxml2-2.8.0/html/html/libxml-HTMLtree.html | 73 - .../doc/libxml2-2.8.0/html/html/libxml-SAX.html | 125 - .../doc/libxml2-2.8.0/html/html/libxml-SAX2.html | 128 - .../doc/libxml2-2.8.0/html/html/libxml-c14n.html | 38 - .../libxml2-2.8.0/html/html/libxml-catalog.html | 142 - .../libxml2-2.8.0/html/html/libxml-chvalid.html | 72 - .../libxml2-2.8.0/html/html/libxml-debugXML.html | 120 - .../doc/libxml2-2.8.0/html/html/libxml-dict.html | 52 - .../libxml2-2.8.0/html/html/libxml-encoding.html | 124 - .../libxml2-2.8.0/html/html/libxml-entities.html | 79 - .../libxml2-2.8.0/html/html/libxml-globals.html | 152 - .../doc/libxml2-2.8.0/html/html/libxml-hash.html | 116 - .../doc/libxml2-2.8.0/html/html/libxml-lib.html | 13 - .../doc/libxml2-2.8.0/html/html/libxml-list.html | 120 - .../libxml2-2.8.0/html/html/libxml-nanoftp.html | 94 - .../libxml2-2.8.0/html/html/libxml-nanohttp.html | 65 - .../doc/libxml2-2.8.0/html/html/libxml-parser.html | 558 -- .../html/html/libxml-parserInternals.html | 319 -- .../libxml2-2.8.0/html/html/libxml-pattern.html | 76 - .../libxml2-2.8.0/html/html/libxml-relaxng.html | 162 - .../html/html/libxml-schemasInternals.html | 373 -- .../libxml2-2.8.0/html/html/libxml-schematron.html | 81 - .../libxml2-2.8.0/html/html/libxml-threads.html | 72 - .../doc/libxml2-2.8.0/html/html/libxml-tree.html | 963 ---- .../doc/libxml2-2.8.0/html/html/libxml-uri.html | 73 - .../doc/libxml2-2.8.0/html/html/libxml-valid.html | 289 - .../libxml2-2.8.0/html/html/libxml-xinclude.html | 59 - .../doc/libxml2-2.8.0/html/html/libxml-xlink.html | 82 - .../doc/libxml2-2.8.0/html/html/libxml-xmlIO.html | 206 - .../html/html/libxml-xmlautomata.html | 85 - .../libxml2-2.8.0/html/html/libxml-xmlerror.html | 862 --- .../libxml2-2.8.0/html/html/libxml-xmlexports.html | 20 - .../libxml2-2.8.0/html/html/libxml-xmlmemory.html | 107 - .../libxml2-2.8.0/html/html/libxml-xmlmodule.html | 38 - .../libxml2-2.8.0/html/html/libxml-xmlreader.html | 330 -- .../libxml2-2.8.0/html/html/libxml-xmlregexp.html | 143 - .../libxml2-2.8.0/html/html/libxml-xmlsave.html | 60 - .../libxml2-2.8.0/html/html/libxml-xmlschemas.html | 173 - .../html/html/libxml-xmlschemastypes.html | 123 - .../libxml2-2.8.0/html/html/libxml-xmlstring.html | 108 - .../libxml2-2.8.0/html/html/libxml-xmlunicode.html | 512 -- .../libxml2-2.8.0/html/html/libxml-xmlversion.html | 62 - .../libxml2-2.8.0/html/html/libxml-xmlwriter.html | 258 - .../doc/libxml2-2.8.0/html/html/libxml-xpath.html | 309 -- .../html/html/libxml-xpathInternals.html | 394 -- .../libxml2-2.8.0/html/html/libxml-xpointer.html | 83 - .../doc/libxml2-2.8.0/html/html/libxml-xzlib.html | 16 - .../share/doc/libxml2-2.8.0/html/html/right.png | Bin 472 -> 0 bytes .../share/doc/libxml2-2.8.0/html/html/up.png | Bin 406 -> 0 bytes gtk+-mingw/share/doc/libxml2-2.8.0/html/io1.c | 166 - gtk+-mingw/share/doc/libxml2-2.8.0/html/io1.res | 5 - gtk+-mingw/share/doc/libxml2-2.8.0/html/io2.c | 58 - gtk+-mingw/share/doc/libxml2-2.8.0/html/io2.res | 2 - gtk+-mingw/share/doc/libxml2-2.8.0/html/libxml.gif | Bin 7692 -> 0 bytes gtk+-mingw/share/doc/libxml2-2.8.0/html/parse1.c | 56 - gtk+-mingw/share/doc/libxml2-2.8.0/html/parse2.c | 72 - gtk+-mingw/share/doc/libxml2-2.8.0/html/parse3.c | 60 - gtk+-mingw/share/doc/libxml2-2.8.0/html/parse4.c | 143 - gtk+-mingw/share/doc/libxml2-2.8.0/html/reader1.c | 107 - .../share/doc/libxml2-2.8.0/html/reader1.res | 14 - gtk+-mingw/share/doc/libxml2-2.8.0/html/reader2.c | 122 - gtk+-mingw/share/doc/libxml2-2.8.0/html/reader3.c | 120 - .../share/doc/libxml2-2.8.0/html/reader3.res | 13 - gtk+-mingw/share/doc/libxml2-2.8.0/html/reader4.c | 122 - .../share/doc/libxml2-2.8.0/html/reader4.res | 3 - gtk+-mingw/share/doc/libxml2-2.8.0/html/redhat.gif | Bin 697 -> 0 bytes .../share/doc/libxml2-2.8.0/html/smallfootonly.gif | Bin 2772 -> 0 bytes .../share/doc/libxml2-2.8.0/html/structure.gif | Bin 5559 -> 0 bytes gtk+-mingw/share/doc/libxml2-2.8.0/html/test1.xml | 1 - gtk+-mingw/share/doc/libxml2-2.8.0/html/test2.xml | 13 - gtk+-mingw/share/doc/libxml2-2.8.0/html/test3.xml | 39 - .../share/doc/libxml2-2.8.0/html/testWriter.c | 1198 ---- gtk+-mingw/share/doc/libxml2-2.8.0/html/tree1.c | 94 - gtk+-mingw/share/doc/libxml2-2.8.0/html/tree1.res | 4 - gtk+-mingw/share/doc/libxml2-2.8.0/html/tree2.c | 118 - gtk+-mingw/share/doc/libxml2-2.8.0/html/tree2.res | 18 - gtk+-mingw/share/doc/libxml2-2.8.0/html/tst.xml | 7 - .../share/doc/libxml2-2.8.0/html/tutorial/apa.html | 8 - .../share/doc/libxml2-2.8.0/html/tutorial/apb.html | 14 - .../share/doc/libxml2-2.8.0/html/tutorial/apc.html | 82 - .../share/doc/libxml2-2.8.0/html/tutorial/apd.html | 76 - .../share/doc/libxml2-2.8.0/html/tutorial/ape.html | 78 - .../share/doc/libxml2-2.8.0/html/tutorial/apf.html | 67 - .../share/doc/libxml2-2.8.0/html/tutorial/apg.html | 75 - .../share/doc/libxml2-2.8.0/html/tutorial/aph.html | 76 - .../share/doc/libxml2-2.8.0/html/tutorial/api.html | 4 - .../doc/libxml2-2.8.0/html/tutorial/ar01s02.html | 14 - .../doc/libxml2-2.8.0/html/tutorial/ar01s03.html | 47 - .../doc/libxml2-2.8.0/html/tutorial/ar01s04.html | 54 - .../doc/libxml2-2.8.0/html/tutorial/ar01s05.html | 55 - .../doc/libxml2-2.8.0/html/tutorial/ar01s06.html | 35 - .../doc/libxml2-2.8.0/html/tutorial/ar01s07.html | 30 - .../doc/libxml2-2.8.0/html/tutorial/ar01s08.html | 38 - .../doc/libxml2-2.8.0/html/tutorial/ar01s09.html | 63 - .../libxml2-2.8.0/html/tutorial/images/blank.png | Bin 374 -> 0 bytes .../html/tutorial/images/callouts/1.png | Bin 329 -> 0 bytes .../html/tutorial/images/callouts/10.png | Bin 361 -> 0 bytes .../html/tutorial/images/callouts/2.png | Bin 353 -> 0 bytes .../html/tutorial/images/callouts/3.png | Bin 350 -> 0 bytes .../html/tutorial/images/callouts/4.png | Bin 345 -> 0 bytes .../html/tutorial/images/callouts/5.png | Bin 348 -> 0 bytes .../html/tutorial/images/callouts/6.png | Bin 355 -> 0 bytes .../html/tutorial/images/callouts/7.png | Bin 344 -> 0 bytes .../html/tutorial/images/callouts/8.png | Bin 357 -> 0 bytes .../html/tutorial/images/callouts/9.png | Bin 357 -> 0 bytes .../libxml2-2.8.0/html/tutorial/images/caution.png | Bin 1250 -> 0 bytes .../libxml2-2.8.0/html/tutorial/images/draft.png | Bin 17454 -> 0 bytes .../libxml2-2.8.0/html/tutorial/images/home.png | Bin 1156 -> 0 bytes .../html/tutorial/images/important.png | Bin 722 -> 0 bytes .../libxml2-2.8.0/html/tutorial/images/next.png | Bin 1150 -> 0 bytes .../libxml2-2.8.0/html/tutorial/images/note.png | Bin 490 -> 0 bytes .../libxml2-2.8.0/html/tutorial/images/prev.png | Bin 1132 -> 0 bytes .../doc/libxml2-2.8.0/html/tutorial/images/tip.png | Bin 449 -> 0 bytes .../html/tutorial/images/toc-blank.png | Bin 318 -> 0 bytes .../html/tutorial/images/toc-minus.png | Bin 259 -> 0 bytes .../html/tutorial/images/toc-plus.png | Bin 264 -> 0 bytes .../doc/libxml2-2.8.0/html/tutorial/images/up.png | Bin 1111 -> 0 bytes .../libxml2-2.8.0/html/tutorial/images/warning.png | Bin 1241 -> 0 bytes .../html/tutorial/includeaddattribute.c | 64 - .../html/tutorial/includeaddkeyword.c | 75 - .../libxml2-2.8.0/html/tutorial/includeconvert.c | 73 - .../html/tutorial/includegetattribute.c | 72 - .../libxml2-2.8.0/html/tutorial/includekeyword.c | 79 - .../doc/libxml2-2.8.0/html/tutorial/includexpath.c | 74 - .../doc/libxml2-2.8.0/html/tutorial/index.html | 14 - .../doc/libxml2-2.8.0/html/tutorial/ix01.html | 1 - .../libxml2-2.8.0/html/tutorial/xmltutorial.pdf | 1336 ----- gtk+-mingw/share/doc/libxml2-2.8.0/html/w3c.png | Bin 2028 -> 0 bytes gtk+-mingw/share/doc/libxml2-2.8.0/html/writer.xml | 2 - gtk+-mingw/share/doc/libxml2-2.8.0/html/xml.html | 5587 ------------------- gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath1.c | 250 - gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath1.res | 5 - gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath2.c | 190 - gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath2.res | 30 - gtk+-mingw/share/doc/mingw32-cairo-1.10.2/COPYING | 33 - .../doc/mingw32-cairo-1.10.2/COPYING-LGPL-2.1 | 510 -- .../share/doc/mingw32-cairo-1.10.2/COPYING-MPL-1.1 | 470 -- gtk+-mingw/share/doc/mingw32-pango-1.30.0/COPYING | 482 -- gtk+-mingw/share/doc/tiff-4.0.2/COPYRIGHT | 21 - gtk+-mingw/share/doc/tiff-4.0.2/ChangeLog | 5753 -------------------- gtk+-mingw/share/doc/tiff-4.0.2/README | 61 - gtk+-mingw/share/doc/tiff-4.0.2/README.vms | 12 - gtk+-mingw/share/doc/tiff-4.0.2/RELEASE-DATE | 1 - gtk+-mingw/share/doc/tiff-4.0.2/TODO | 12 - gtk+-mingw/share/doc/tiff-4.0.2/VERSION | 1 - .../share/doc/tiff-4.0.2/html/TIFFTechNote2.html | 707 --- .../share/doc/tiff-4.0.2/html/addingtags.html | 292 - gtk+-mingw/share/doc/tiff-4.0.2/html/bugs.html | 63 - gtk+-mingw/share/doc/tiff-4.0.2/html/build.html | 524 -- gtk+-mingw/share/doc/tiff-4.0.2/html/contrib.html | 209 - gtk+-mingw/share/doc/tiff-4.0.2/html/document.html | 52 - gtk+-mingw/share/doc/tiff-4.0.2/html/images.html | 41 - .../share/doc/tiff-4.0.2/html/images/back.gif | Bin 1000 -> 0 bytes .../share/doc/tiff-4.0.2/html/images/bali.jpg | Bin 26152 -> 0 bytes .../share/doc/tiff-4.0.2/html/images/cat.gif | Bin 12477 -> 0 bytes .../share/doc/tiff-4.0.2/html/images/cover.jpg | Bin 20189 -> 0 bytes .../share/doc/tiff-4.0.2/html/images/cramps.gif | Bin 13137 -> 0 bytes .../share/doc/tiff-4.0.2/html/images/dave.gif | Bin 8220 -> 0 bytes .../share/doc/tiff-4.0.2/html/images/info.gif | Bin 131 -> 0 bytes .../share/doc/tiff-4.0.2/html/images/jello.jpg | Bin 13744 -> 0 bytes .../share/doc/tiff-4.0.2/html/images/jim.gif | Bin 14493 -> 0 bytes .../share/doc/tiff-4.0.2/html/images/note.gif | Bin 264 -> 0 bytes .../share/doc/tiff-4.0.2/html/images/oxford.gif | Bin 6069 -> 0 bytes .../share/doc/tiff-4.0.2/html/images/quad.jpg | Bin 23904 -> 0 bytes .../share/doc/tiff-4.0.2/html/images/ring.gif | Bin 4275 -> 0 bytes .../share/doc/tiff-4.0.2/html/images/smallliz.jpg | Bin 16463 -> 0 bytes .../share/doc/tiff-4.0.2/html/images/strike.gif | Bin 5610 -> 0 bytes .../share/doc/tiff-4.0.2/html/images/warning.gif | Bin 287 -> 0 bytes gtk+-mingw/share/doc/tiff-4.0.2/html/index.html | 123 - .../share/doc/tiff-4.0.2/html/internals.html | 572 -- gtk+-mingw/share/doc/tiff-4.0.2/html/intro.html | 68 - gtk+-mingw/share/doc/tiff-4.0.2/html/libtiff.html | 747 --- .../doc/tiff-4.0.2/html/man/TIFFClose.3tiff.html | 87 - .../tiff-4.0.2/html/man/TIFFDataWidth.3tiff.html | 98 - .../doc/tiff-4.0.2/html/man/TIFFError.3tiff.html | 106 - .../doc/tiff-4.0.2/html/man/TIFFFlush.3tiff.html | 113 - .../tiff-4.0.2/html/man/TIFFGetField.3tiff.html | 1969 ------- .../doc/tiff-4.0.2/html/man/TIFFOpen.3tiff.html | 421 -- .../html/man/TIFFPrintDirectory.3tiff.html | 225 - .../tiff-4.0.2/html/man/TIFFRGBAImage.3tiff.html | 319 -- .../html/man/TIFFReadDirectory.3tiff.html | 218 - .../html/man/TIFFReadEncodedStrip.3tiff.html | 133 - .../html/man/TIFFReadEncodedTile.3tiff.html | 130 - .../html/man/TIFFReadRGBAImage.3tiff.html | 301 - .../html/man/TIFFReadRGBAStrip.3tiff.html | 208 - .../html/man/TIFFReadRGBATile.3tiff.html | 261 - .../html/man/TIFFReadRawStrip.3tiff.html | 109 - .../tiff-4.0.2/html/man/TIFFReadRawTile.3tiff.html | 111 - .../html/man/TIFFReadScanline.3tiff.html | 157 - .../tiff-4.0.2/html/man/TIFFReadTile.3tiff.html | 133 - .../html/man/TIFFSetDirectory.3tiff.html | 122 - .../tiff-4.0.2/html/man/TIFFSetField.3tiff.html | 1865 ------- .../doc/tiff-4.0.2/html/man/TIFFWarning.3tiff.html | 108 - .../html/man/TIFFWriteDirectory.3tiff.html | 176 - .../html/man/TIFFWriteEncodedStrip.3tiff.html | 153 - .../html/man/TIFFWriteEncodedTile.3tiff.html | 147 - .../html/man/TIFFWriteRawStrip.3tiff.html | 144 - .../html/man/TIFFWriteRawTile.3tiff.html | 128 - .../html/man/TIFFWriteScanline.3tiff.html | 206 - .../tiff-4.0.2/html/man/TIFFWriteTile.3tiff.html | 115 - .../doc/tiff-4.0.2/html/man/TIFFbuffer.3tiff.html | 116 - .../doc/tiff-4.0.2/html/man/TIFFcodec.3tiff.html | 116 - .../doc/tiff-4.0.2/html/man/TIFFcolor.3tiff.html | 975 ---- .../doc/tiff-4.0.2/html/man/TIFFmemory.3tiff.html | 110 - .../doc/tiff-4.0.2/html/man/TIFFquery.3tiff.html | 148 - .../doc/tiff-4.0.2/html/man/TIFFsize.3tiff.html | 95 - .../doc/tiff-4.0.2/html/man/TIFFstrip.3tiff.html | 129 - .../doc/tiff-4.0.2/html/man/TIFFswab.3tiff.html | 110 - .../doc/tiff-4.0.2/html/man/TIFFtile.3tiff.html | 141 - .../share/doc/tiff-4.0.2/html/man/fax2ps.1.html | 252 - .../share/doc/tiff-4.0.2/html/man/fax2tiff.1.html | 607 --- .../share/doc/tiff-4.0.2/html/man/gif2tiff.1.html | 141 - .../share/doc/tiff-4.0.2/html/man/index.html | 64 - .../doc/tiff-4.0.2/html/man/libtiff.3tiff.html | 1150 ---- .../share/doc/tiff-4.0.2/html/man/pal2rgb.1.html | 189 - .../share/doc/tiff-4.0.2/html/man/ppm2tiff.1.html | 141 - .../share/doc/tiff-4.0.2/html/man/ras2tiff.1.html | 139 - .../share/doc/tiff-4.0.2/html/man/raw2tiff.1.html | 510 -- .../share/doc/tiff-4.0.2/html/man/rgb2ycbcr.1.html | 155 - .../share/doc/tiff-4.0.2/html/man/sgi2tiff.1.html | 147 - .../share/doc/tiff-4.0.2/html/man/thumbnail.1.html | 148 - .../share/doc/tiff-4.0.2/html/man/tiff2bw.1.html | 161 - .../share/doc/tiff-4.0.2/html/man/tiff2pdf.1.html | 609 --- .../share/doc/tiff-4.0.2/html/man/tiff2ps.1.html | 532 -- .../share/doc/tiff-4.0.2/html/man/tiff2rgba.1.html | 162 - .../share/doc/tiff-4.0.2/html/man/tiffcmp.1.html | 156 - .../share/doc/tiff-4.0.2/html/man/tiffcp.1.html | 536 -- .../share/doc/tiff-4.0.2/html/man/tiffcrop.1.html | 684 --- .../doc/tiff-4.0.2/html/man/tiffdither.1.html | 183 - .../share/doc/tiff-4.0.2/html/man/tiffdump.1.html | 145 - .../share/doc/tiff-4.0.2/html/man/tiffgt.1.html | 551 -- .../share/doc/tiff-4.0.2/html/man/tiffinfo.1.html | 196 - .../doc/tiff-4.0.2/html/man/tiffmedian.1.html | 183 - .../share/doc/tiff-4.0.2/html/man/tiffset.1.html | 176 - .../share/doc/tiff-4.0.2/html/man/tiffsplit.1.html | 102 - .../share/doc/tiff-4.0.2/html/man/tiffsv.1.html | 207 - gtk+-mingw/share/doc/tiff-4.0.2/html/misc.html | 116 - gtk+-mingw/share/doc/tiff-4.0.2/html/support.html | 655 --- gtk+-mingw/share/doc/tiff-4.0.2/html/tools.html | 164 - .../share/doc/tiff-4.0.2/html/v3.4beta007.html | 112 - .../share/doc/tiff-4.0.2/html/v3.4beta016.html | 122 - .../share/doc/tiff-4.0.2/html/v3.4beta018.html | 84 - .../share/doc/tiff-4.0.2/html/v3.4beta024.html | 139 - .../share/doc/tiff-4.0.2/html/v3.4beta028.html | 146 - .../share/doc/tiff-4.0.2/html/v3.4beta029.html | 86 - .../share/doc/tiff-4.0.2/html/v3.4beta031.html | 94 - .../share/doc/tiff-4.0.2/html/v3.4beta032.html | 90 - .../share/doc/tiff-4.0.2/html/v3.4beta033.html | 82 - .../share/doc/tiff-4.0.2/html/v3.4beta034.html | 68 - .../share/doc/tiff-4.0.2/html/v3.4beta035.html | 63 - .../share/doc/tiff-4.0.2/html/v3.4beta036.html | 117 - gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.1.html | 75 - gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.2.html | 108 - gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.3.html | 132 - gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.4.html | 88 - gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.5.html | 155 - .../share/doc/tiff-4.0.2/html/v3.5.6-beta.html | 185 - gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.7.html | 259 - gtk+-mingw/share/doc/tiff-4.0.2/html/v3.6.0.html | 434 -- gtk+-mingw/share/doc/tiff-4.0.2/html/v3.6.1.html | 199 - gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0.html | 144 - .../share/doc/tiff-4.0.2/html/v3.7.0alpha.html | 249 - .../share/doc/tiff-4.0.2/html/v3.7.0beta.html | 162 - .../share/doc/tiff-4.0.2/html/v3.7.0beta2.html | 131 - gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.1.html | 233 - gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.2.html | 222 - gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.3.html | 230 - gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.4.html | 133 - gtk+-mingw/share/doc/tiff-4.0.2/html/v3.8.0.html | 199 - gtk+-mingw/share/doc/tiff-4.0.2/html/v3.8.1.html | 217 - gtk+-mingw/share/doc/tiff-4.0.2/html/v3.8.2.html | 137 - .../share/doc/tiff-4.0.2/html/v3.9.0beta.html | 304 -- gtk+-mingw/share/doc/tiff-4.0.2/html/v3.9.1.html | 115 - gtk+-mingw/share/doc/tiff-4.0.2/html/v3.9.2.html | 122 - gtk+-mingw/share/doc/tiff-4.0.2/html/v4.0.0.html | 269 - gtk+-mingw/share/doc/tiff-4.0.2/html/v4.0.1.html | 113 - gtk+-mingw/share/doc/tiff-4.0.2/html/v4.0.2.html | 118 - 373 files changed, 98663 deletions(-) delete mode 100644 gtk+-mingw/share/doc/freeglut-2.8.0/download.html delete mode 100644 gtk+-mingw/share/doc/freeglut-2.8.0/freeglut.html delete mode 100644 gtk+-mingw/share/doc/freeglut-2.8.0/freeglut_logo.png delete mode 100644 gtk+-mingw/share/doc/freeglut-2.8.0/freeglut_user_interface.html delete mode 100644 gtk+-mingw/share/doc/freeglut-2.8.0/index.html delete mode 100644 gtk+-mingw/share/doc/freeglut-2.8.0/ogl_sm.png delete mode 100644 gtk+-mingw/share/doc/freeglut-2.8.0/progress.html delete mode 100644 gtk+-mingw/share/doc/freeglut-2.8.0/structure.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/CHANGES delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/CUSTOMIZE delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/DEBUG delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/FTL.TXT delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/GPLv2.TXT delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/INSTALL delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.ANY delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.CROSS delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.GNU delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.MAC delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.UNIX delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.VMS delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/LICENSE.TXT delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/MAKEPP delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/PROBLEMS delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/TODO delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/VERSION.DLL delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/formats.txt delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/raster.txt delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/README delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-base_interface.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-basic_types.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-bdf_fonts.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-bitmap_handling.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-bzip2.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-cache_subsystem.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-cid_fonts.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-computations.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-font_formats.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-gasp_table.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-glyph_management.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-glyph_stroker.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-glyph_variants.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-gx_validation.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-gzip.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-header_file_macros.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-incremental.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-index.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-lcd_filtering.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-list_processing.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-lzw.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-mac_specific.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-module_management.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-multiple_masters.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-ot_validation.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-outline_processing.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-pfr_fonts.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-quick_advance.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-raster.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-sfnt_names.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-sizes_management.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-system_interface.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-toc.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-truetype_engine.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-truetype_tables.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-type1_tables.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-user_allocation.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-version.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-winfnt_fonts.html delete mode 100644 gtk+-mingw/share/doc/freetype-2.4.10/release delete mode 100644 gtk+-mingw/share/doc/jasper-1.900.1/jasper.pdf delete mode 100644 gtk+-mingw/share/doc/jasper-1.900.1/jpeg2000.pdf delete mode 100644 gtk+-mingw/share/doc/libiconv/iconv.1.html delete mode 100644 gtk+-mingw/share/doc/libiconv/iconv.3.html delete mode 100644 gtk+-mingw/share/doc/libiconv/iconv_close.3.html delete mode 100644 gtk+-mingw/share/doc/libiconv/iconv_open.3.html delete mode 100644 gtk+-mingw/share/doc/libiconv/iconv_open_into.3.html delete mode 100644 gtk+-mingw/share/doc/libiconv/iconvctl.3.html delete mode 100644 gtk+-mingw/share/doc/libpng-1.5.12/README delete mode 100644 gtk+-mingw/share/doc/libpng-1.5.12/libpng-manual.txt delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/Copyright delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/examples/testHTML.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/examples/testSAX.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/examples/testXPath.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/examples/xmllint.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/DOM.gif delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/FAQ.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/Libxml2-Logo-180x168.gif delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/Libxml2-Logo-90x34.gif delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/encoding.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/examples.xml delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/examples.xsl delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/book1.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/home.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/index.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/left.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-DOCBparser.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-HTMLparser.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-HTMLtree.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-SAX.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-SAX2.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-c14n.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-catalog.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-chvalid.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-debugXML.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-dict.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-encoding.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-entities.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-globals.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-hash.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-lib.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-list.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-nanoftp.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-nanohttp.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-parser.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-parserInternals.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-pattern.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-relaxng.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-schemasInternals.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-schematron.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-threads.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-tree.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-uri.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-valid.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xinclude.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xlink.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlIO.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlautomata.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlerror.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlexports.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlmemory.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlmodule.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlreader.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlregexp.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlsave.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlschemas.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlschemastypes.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlstring.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlunicode.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlversion.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlwriter.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xpath.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xpathInternals.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xpointer.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xzlib.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/right.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/html/up.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/io1.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/io1.res delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/io2.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/io2.res delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/libxml.gif delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/parse1.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/parse2.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/parse3.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/parse4.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/reader1.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/reader1.res delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/reader2.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/reader3.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/reader3.res delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/reader4.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/reader4.res delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/redhat.gif delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/smallfootonly.gif delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/structure.gif delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/test1.xml delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/test2.xml delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/test3.xml delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/testWriter.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tree1.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tree1.res delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tree2.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tree2.res delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tst.xml delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apa.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apb.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apc.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apd.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ape.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apf.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apg.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/aph.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/api.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s02.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s03.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s04.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s05.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s06.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s07.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s08.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s09.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/blank.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/1.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/10.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/2.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/3.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/4.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/5.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/6.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/7.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/8.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/9.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/caution.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/draft.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/home.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/important.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/next.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/note.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/prev.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/tip.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/toc-blank.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/toc-minus.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/toc-plus.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/up.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/warning.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includeaddattribute.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includeaddkeyword.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includeconvert.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includegetattribute.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includekeyword.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includexpath.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/index.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ix01.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/xmltutorial.pdf delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/w3c.png delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/writer.xml delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/xml.html delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath1.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath1.res delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath2.c delete mode 100644 gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath2.res delete mode 100644 gtk+-mingw/share/doc/mingw32-cairo-1.10.2/COPYING delete mode 100644 gtk+-mingw/share/doc/mingw32-cairo-1.10.2/COPYING-LGPL-2.1 delete mode 100644 gtk+-mingw/share/doc/mingw32-cairo-1.10.2/COPYING-MPL-1.1 delete mode 100644 gtk+-mingw/share/doc/mingw32-pango-1.30.0/COPYING delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/COPYRIGHT delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/ChangeLog delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/README delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/README.vms delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/RELEASE-DATE delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/TODO delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/VERSION delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/TIFFTechNote2.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/addingtags.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/bugs.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/build.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/contrib.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/document.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images/back.gif delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images/bali.jpg delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images/cat.gif delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images/cover.jpg delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images/cramps.gif delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images/dave.gif delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images/info.gif delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images/jello.jpg delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images/jim.gif delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images/note.gif delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images/oxford.gif delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images/quad.jpg delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images/ring.gif delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images/smallliz.jpg delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images/strike.gif delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/images/warning.gif delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/index.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/internals.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/intro.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/libtiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFClose.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFDataWidth.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFError.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFFlush.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFGetField.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFOpen.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFPrintDirectory.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFRGBAImage.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadDirectory.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadEncodedStrip.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadEncodedTile.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRGBAImage.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRGBAStrip.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRGBATile.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRawStrip.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRawTile.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadScanline.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadTile.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFSetDirectory.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFSetField.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWarning.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteDirectory.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteEncodedStrip.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteEncodedTile.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteRawStrip.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteRawTile.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteScanline.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteTile.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFbuffer.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFcodec.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFcolor.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFmemory.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFquery.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFsize.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFstrip.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFswab.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFtile.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/fax2ps.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/fax2tiff.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/gif2tiff.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/index.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/libtiff.3tiff.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/pal2rgb.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/ppm2tiff.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/ras2tiff.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/raw2tiff.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/rgb2ycbcr.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/sgi2tiff.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/thumbnail.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiff2bw.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiff2pdf.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiff2ps.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiff2rgba.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffcmp.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffcp.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffcrop.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffdither.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffdump.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffgt.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffinfo.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffmedian.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffset.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffsplit.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffsv.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/misc.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/support.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/tools.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta007.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta016.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta018.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta024.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta028.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta029.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta031.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta032.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta033.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta034.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta035.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta036.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.2.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.3.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.4.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.5.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.6-beta.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.7.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.6.0.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.6.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0alpha.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0beta.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0beta2.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.2.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.3.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.4.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.8.0.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.8.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.8.2.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.9.0beta.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.9.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v3.9.2.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v4.0.0.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v4.0.1.html delete mode 100644 gtk+-mingw/share/doc/tiff-4.0.2/html/v4.0.2.html (limited to 'gtk+-mingw/share/doc') diff --git a/gtk+-mingw/share/doc/freeglut-2.8.0/download.html b/gtk+-mingw/share/doc/freeglut-2.8.0/download.html deleted file mode 100644 index b9baab2..0000000 --- a/gtk+-mingw/share/doc/freeglut-2.8.0/download.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - The freeglut project - - - -
The freeglut logo
- -
-I upload it, you download it. That's the ying-yang nature of the Buddha. -
- -

- -

January the 16th, 2000 -

Here is a list of files you can download: -

- -

- -
- diff --git a/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut.html b/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut.html deleted file mode 100644 index 7357dea..0000000 --- a/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - - The freeglut project - - - -
The freeglut logo
- -
-I am best at what I do worst and for this gift I feel blessed... -
- -

- -

January the 2nd, 2000 - -

The alpha version has been released yesterday. Today I have been busy with moving -the project site to the SourceForge. As for -now there will be the web site available and I will give it a try to set up the -freeglut mailing lists. There will be no CVS access available for now (my dialup -internet connection sucks so badly that I wouldn't be able to work on the project). -After I am done with that, I will try announcing the project on www.opengl.org. - -

Of other things, there has been rumours floating round the routers and hubs about -Mark Kilgard changing the GLUT's license, but this is unconfirmed. It would be really -cool if he did so, there's no better motivation to work than a bit of sound competition. -As for me, I already put too much work into the freeglut project to terminate it just -now. We'll see what happens next. - -

January the 4th, 2000 - -

Ho-ho-ho. Freeglut-1.3 works fine with `Tux the Penguin and the Quest for Herring'. -At least that's what Steve Baker, the author, says. Not only that, Steve has provided -us with the joystick code (from his great PLIB project) and numerous hints and tips -about making freeglut more useful (I will try to put the results of our discussion -on the structure page). - -

As for other issues -- I promise I will start the Win32 port this weekend. -BTW. -- is there a decent cross compiler for Linux that generates Win32 executables, -so that I don't have to use windows for development? And what about Wine OpenGL -support? - -

The package is now some 40kB smaller than the previous one. Did some general -clean ups, removed unnecessary configure scripts in the genfonts directory, -the configure cahce, the Makefiles and so on. Also, I have started introducing -the new internal structure, as described here. - -

January the 6th, 2000 - -

The missing glutInit() issue seems to be solved. Chris Purnell (fxGLUT author) says -that the GLUT window and menu creation functions call glutInit() if the caller didn't -do that before. - -

The enumerations for GLUT_KEY_UP and GLUT_KEY_RIGHT were accidentally swapped. -They should be OK now. Hope the rest is OK :) - -

Added two new API calls to freeglut-1.3 -- glutBitmapHeight() and glutStrokeHeight(), -as suggested by Steve Baker. This won't break the GLUT compatibility a lot, and I've -heard it can be useful. Here you go. - -

The structure plans page has been updated. The numerous -feature hints from opengl-gamedev-l readers have been added. - -

Somebody (Chris?) hinted me that the stroke fonts can be found in the XFree86 -sources. I browsed through it and -- presto. Now I only need to define the stroke fonts -structure (should be very similiar to bitmapped one) and write quite a simple parser. - -

I've spent the (late) evening doing the init display string parsing and making -my logics classes homework :) Both is harder than I primarily thought, but fortunately -for me I can commit errors in one of those tasks. Guess which one? Argh. :) - -

January the 8th, 2000 - -

First of all, both the missing glutInit() and glutGet(GLUT_WINDOW_[X|Y]) issues are -fixed now. The first problem was solved thanks to Chris Purnell, who showed me the way -GLUT dealt with the problem. Good for me there's someone who reads it's source code (I -just felt it would be unfair for me to do so :D). The second problem was solved by -adding a XMoveWindow call just after the window creation and initial mapping. This is -strange. Maybe one of the Xlib calls between the creation and mapping spoiled the -window's coordinates? - -

This makes even more GLUT tests work fine. The tests can be found in any decent -GLUT 3.7 distribution. Following tests produce a FAIL message: test18.c (some layer -issues), test19.c (see the GLUT_NORMAL_DAMAGED issue on the progress page), test22.c -(window stacking/visibilty problems), test23.c (glutInitDisplayString() is unfinished), -test25.c (the freeglut fonts differ a bit from GLUT's), test28.c (-iconic handling -is missing(?)). Gee :) - -

I've spent another hour doing the glutInitDisplayString(), but it still is far from -being complete. And I've also started gathering information on doing the game mode -stuff. The video mode enumeration in both cases will be painful. - -

There is a big issue with the window contents redrawing. Right now, it is forced -every time there are no events pending in the main loop. I know it's wrong, but it -without such an approach some of the test programs freeze soon after starting. Could -someone peer-review the main loop code please? - -

I have decided to start the Win32 port this weekend. As for now, the code compiles -under vc++5.0. I will start making it work as soon as I download the pthreads library -and the newest version of GLib for Windows. It was quite a good idea to start the port, -as the Microsoft's compiler generates much more warnings and I had quite a few things -fixed for free. - -

January the 9th, 2000 - -

Doing the Win32 port all the day... Actually, there is enough code to make it work, -however I am sure only of that it compiles (more or less). I need to download the -pthreads-win32 library to get the GLib working first, and somehow I was unable to -do it during the weekend. Once again -- the Win32 port does not work yet. Oh, and -I need adding the __declspec(dllexport) thing... - -

After it starts working, I'll have to clean up the code a bit, I guess... - -

January the 10th, 2000 - -

Here I am at three o'clock am, half-awake, uploading and downloading things for -freeglut. I never thought I'd be able to force myself getting up that early :) - -

January the 16th, 2000 - -

Both the flu and a terrible feeling about the dialup bills made me slow down -a bit, the internet activity I mean :). But here I am again uploading the latest -snapshot. The biggest news about it is the Win32 port working, with nearly all -features you can find in the X11 version implemented (still, it needs some debugging). -For the Unix port, game mode support (loosely based on SDL source code posted at Neal -Tringham's www.pseudonymz.demon.co.uk) and numerous bug fixes have been introduced. - -

In order to compile the Win32 version, you'll need pthreads-win32 library (see -sourceware.cygnus.org), the GLib-1.2.x (www.gtk.org, I've been using the 1.2.6), -a working native compiler (Microsoft VisualC++ 5.0 in my case), and a bit of patience. -See the project files I've supplied for some definitions needed (FREEGLUT_LIBRARY_BUILD -needs to be declared when building the DLL), and don't forget freeglut joystick code -is making use of Win32 multimedia extensions (link against winmm.lib). - -

Be prepared to meet the fact Mesa 3.1 (or at least my compilation) doesn't work very -well with this snapshot -- something's messed up when changing WGL contexts. This is -really strange, as the Microsoft's OpenGL works pretty fine, as does Dominik Behr's -miniGL thing. The assumption is that I've taken some approach that somehow is valid -with Microsoft's drivers, but is not OpenGL conformant. Could anyone check this out -please? - -

My plan for next week is to add some lesser features missing, and start learning -maths as the session at my university is coming in really fast :) This way or another, -expect the next release not any sooner than next weekend (given that no nasty bugs get -digged out). - -

Argh. Don't be surprised if the code doesn't compile under X-11 other than XFree86. -It could fail when trying to include the X11/extensions/xf86vmode.h include header, -in that case just comment out that inclusion line (found in freeglut_internal.h). -Is there any intelligent way to detect the existence of an include header, and if -it's autoconf to be the answer, how to use it? - -

Back to the main page - -

- diff --git a/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut_logo.png b/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut_logo.png deleted file mode 100644 index 36bf1b5..0000000 Binary files a/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut_logo.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut_user_interface.html b/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut_user_interface.html deleted file mode 100644 index 20d1e42..0000000 --- a/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut_user_interface.html +++ /dev/null @@ -1,1956 +0,0 @@ - - - - - - - - - - FREEGLUT Application Program Interface - - - -
-
-

The Open-Source

-
-
-

OpenGL Utility Toolkit

-
-
-

(freeglut 2.0.0)

-
-
-

Application Programming Interface

-
-
- -
-

Version 4.0

-
- -
-

The freeglut Programming Consortium

-
- -
-

July, 2003

-
- -


- OpenGL is a trademark of Silicon Graphics, Inc. X Window System is a trademark -of X Consortium, Inc.  Spaceball is a registered trademark of Spatial -Systems Inc.
- The authors have taken care in preparation of this documentation but make -no expressed or implied warranty of any kind and assumes no responsibility - for errors or omissions. No liability is assumed for incidental or consequential - damages in connection with or arising from the use of information or programs - contained herein.
-  

- -

1.0  - Contents

- 1.0  Contents - -

2.0  Introduction -

- -

3.0  Background -

- -
3.1  Design Philosophy
- 3.2  Conventions
- 3.3  Terminology
- 3.4  Differences from GLUT 3.7
- -


- 4.0  Initialization Functions -

- -
4.1  glutInit
- 4.2  glutInitWindowPosition, glutInitWindowSize
- 4.3  glutInitDisplayMode
- 4.4  glutInitDisplayString
- -


- 5.0  Event Processing Functions -

- -
5.1  glutMainLoop
- 5.2  glutMainLoopEvent
- 5.3  glutLeaveMainLoop
- -


- 6.0  Window Functions -

- -
6.1  glutCreateWindow
- 6.2  glutCreateSubwindow
- 6.3  glutDestroyWindow
- 6.4  glutSetWindow, glutGetWindow
- 6.5  glutSetWindowTitle, glutSetIconTitle
- 6.6  glutReshapeWindow
- 6.7  glutPositionWindow
- 6.8  glutShowWindow, glutHideWindow, glutIconifyWindow
- 6.9  glutPushWindow, glutPopWindow
- 6.10  glutFullScreen
- -


- 7.0  Display Functions -

- -
7.1  glutPostRedisplay
- 7.2  glutPostWindowRedisplay
- 7.3  glutSwapBuffers
- -


- 8.0  Mouse Cursor Functions -

- -
8.1  glutSetCursor
- 8.2  glutWarpPointer
- -


- 9.0  Overlay Functions -

- -
9.1  glutEstablishOverlay
- 9.2  glutRemoveOverlay
- 9.3  glutUseLayer
- 9.4  glutPostOverlayRedisplay
- 9.5  glutPostWindowOverlayRedisplay
- 9.6  glutShowOverlay, glutHideOverlay
- -


- 10.0  Menu Functions -

- -
10.1  glutCreateMenu
- 10.2  glutDestroyMenu
- 10.3  glutGetMenu, glutSetMenu
- 10.4  glutAddMenuEntry
- 10.5  glutAddSubMenu
- 10.6  glutChangeToMenuEntry
- 10.7  glutChangeToSubMenu
- 10.8  glutRemoveMenuItem
- 10.9  glutAttachMenu, glutDetachMenu
- -


- 11.0  Global Callback Registration Functions -

- -
11.1  glutTimerFunc
- 11.2  glutIdleFunc
- -


- 12.0  Window-Specific Callback Registration - Functions -

- -
12.1  glutDisplayFunc
- 12.2  glutOverlayDisplayFunc
- 12.3  glutReshapeFunc
- 12.4  glutCloseFunc
- 12.5  glutKeyboardFunc
- 12.6  glutSpecialFunc
- 12.7  glutKeyboardUpFunc
- 12.8  glutSpecialUpFunc
- 12.9  glutMouseFunc
- 12.10  glutMotionFunc, glutPassiveMotionFunc
- 12.11  glutVisibilityFunc
- 12.12  glutEntryFunc
- 12.13  glutJoystickFunc
- 12.14  glutSpaceballMotionFunc
- 12.15  glutSpaceballRotateFunc
- 12.16  glutSpaceballButtonFunc
- 12.17  glutButtonBoxFunc
- 12.18  glutDialsFunc
- 12.19  glutTabletMotionFunc
- 12.20  glutTabletButtonFunc -

12.21  glutMenuStatusFunc
- 12.22  glutWindowStatusFunc

-
- -


- 13.0  State Setting and Retrieval Functions -

- -
13.1  glutSetOption
- 13.2  glutGet
- 13.3  glutDeviceGet
- 13.4  glutGetModifiers
- 13.5  glutLayerGet
- 13.6  glutExtensionSupported
-13.7  glutGetProcAddress
-
- -


- 14.0  Font Rendering Functions -

- -
14.1  glutBitmapCharacter
- 14.2  glutBitmapString
- 14.3  glutBitmapWidth
- 14.4  glutBitmapLength
- 14.5  glutBitmapHeight
- 14.6  glutStrokeCharacter
- 14.7  glutStrokeString
- 14.8  glutStrokeWidth
- 14.9  glutStrokeLength
- 14.10  glutStrokeHeight
- -


- 15.0  Geometric Object Rendering Functions -

- -
15.1  glutWireSphere, glutSolidSphere -
- 15.2  glutWireTorus, glutSolidTorus
- 15.3  glutWireCone, glutSolidCone
- 15.4  glutWireCube, glutSolidCube
- 15.5  glutWireTetrahedron, glutSolidTetrahedron
- 15.6  glutWireOctahedron, glutSolidOctahedron
- 15.7  glutWireDodecahedron, glutSolidDodecahedron
- 15.8  glutWireIcosahedron, glutSolidIcosahedron
- 15.9  glutWireRhombicDodecahedron, glutSolidRhombicDodecahedron
- 15.10  glutWireTeapot, glutSolidTeapot
- -


- 16.0  Game Mode Functions -

- -
16.1  glutGameModeString
- 16.2  glutEnterGameMode, glutLeaveGameMode
- 16.3  glutGameModeGet
- -


- 17.0  Video Resize Functions -

- -
17.1  glutVideoResizeGet
- 17.2  glutSetupVideoResizing, glutStopVideoResizing
- 17.3  glutVideoResize
- 17.4  glutVideoPan
- -


- 18.0  Color Map Functions -

- -
18.1  glutSetColor, glutGetColor -
- 18.2  glutCopyColormap
- -


- 19.0  Miscellaneous Functions -

- -
19.1  glutIgnoreKeyRepeat, -glutSetKeyRepeat
- 19.2  glutForceJoystickFunc
- 19.3  glutReportErrors
- -


- 20.0  Usage Notes -

- -

21.0  - Implementation Notes -

- -

22.0  GLUT -State -

- -

23.0  - "freeglut.h" Header File -

- -

24.0  References -

- -

25.0  Index -
-  
-  

- -

2.0  - Introduction

-   -

3.0  - Background

- The OpenGL programming world owes a tremendous debt to Mr. Mark J. Kilgard - for writing the OpenGL Utility Toolkit, or GLUT.  The GLUT library -of functions allows an application programmer to create, control, and manipulate - windows independent of what operating system the program is running on.  - By hiding the dependency on the operating system from the application programmer, - he allowed people to write truly portable OpenGL applications. - -

    Mr. Kilgard copyrighted -his library and gave it a rather unusual license.  Under his license, -people are allowed freely to copy and distribute the libraries and the source -code, but they are not allowed to modify it.  For a long time this did -not matter because the GLUT library worked so well and because Mr. Kilgard -was releasing updates on a regular basis.  But with the passage of time, -people started wanting some slightly different behaviours in their windowing -system.  When Mr. Kilgard stopped supporting the GLUT library in 1999, -having moved on to bigger and better things, this started to become a problem. -

- -

    In December 1999, -Mr. Pawel Olzsta started work on an open-source clone of the GLUT library.  -This open-source clone, which does not use any of the GLUT source code, has -evolved into the present freeglut library.  This documentation -specifies the application program interface to the freeglut library. -

- -

3.1  Design Philosophy

- -

3.2  Conventions

- -

3.3  Terminology

- -

3.4  Differences from GLUT 3.7

- Since the freeglut library was developed in order to update GLUT, - it is natural that there will be some differences between the two.  -Each function in the API notes any differences between the GLUT and the -freeglut function behaviours.  The important ones are summarized -here. -

3.4.1  glutMainLoop Behaviour

- One of the commonest complaints about the GLUT library was that once an -application called "glutMainLoop", it never got control back.  -There was no way for an application to loop in GLUT for a while, possibly -as a subloop while a specific window was open, and then return to the calling -function.  A new function, "glutMainLoopEvent", has been added -to allow this functionality.  Another function, "glutLeaveMainLoop -", has also been added to allow the application to tell freeglut to clean -up and close down. -

3.4.2  Action on Window Closure

- Another difficulty with GLUT, especially with multiple-window programs, -is that if the user clicks on the "x" in the window header the application -exits immediately.  The application programmer can now set an option, -" GLUT_ACTION_ON_WINDOW_CLOSE", to specify whether execution should -continue, whether GLUT should return control to the main program, or whether -GLUT should simply exit (the default). - -

3.4.3  Changes to Callbacks
-

- Several new callbacks have been added and several callbacks which were specific -to Silicon Graphics hardware have not been implemented.  Most or all -of the new callbacks are listed in the GLUT Version 4 "glut.h" header file -but did not make it into the documentation.  The new callbacks consist -of regular and special key release callbacks, a joystick callback, a window -status callback, window closure callbacks, a menu closure callback, and a -mouse wheel callback.  Unsupported callbacks are the three Spaceball -callbacks, the ButtonBox callback, and the two Tablet -callbacks.  If the user has a need for an unsupported callback he should -contact the freeglut development team.
- -

3.4.4  String Rendering
-

- New functions have been added to render full character strings (including -carriage returns) rather than rendering one character at a time.  More -functions return the widths of character strings and the font heights, in -pixels for bitmapped fonts and in OpenGL units for the stroke fonts.
- -

3.4.5  Geometry Rendering
-

- Functions have been added to render a wireframe and a solid rhombic -dodecahedron, a cylinder, and a Sierpinski sponge. -

3.4.5  Extension Function Queries

- glutGetProcAddress is a wrapper for the glXGetProcAddressARB and wglGetProcAddress -functions. -

4.0  - Initialization Functions

- -

4.1  glutInit

- -

4.2  glutInitWindowPosition, glutInitWindowSize

- The "glutInitWindowPosition " and "glutInitWindowSize -" functions specify a desired position and size for windows that freeglut - will create in the future. -

Usage

- -

void glutInitWindowPosition ( int -x, int y ) ;
- void glutInitWindowSize ( int width, -int height ) ;

- -

Description

- -

The "glutInitWindowPosition - " and "glutInitWindowSize" functions specify a desired position -and size for windows that freeglut will create in the future.  -The position is measured in pixels from the upper left hand corner of the -screen, with "x" increasing to the right and "y" increasing towards the bottom -of the screen.  The size is measured in pixels.  Freeglut - does not promise to follow these specifications in creating its windows, -it certainly makes an attempt to.

- -

The position and size of a window are -a matter of some subtlety.  Most windows have a usable area surrounded -by a border and with a title bar on the top.  The border and title bar -are commonly called "decorations."  The position of the window unfortunately -varies with the operating system.  On Linux, it is the coordinates of -the upper left-hand corner of its decorations.  On Windows, it is the -coordinates of the upper left hand corner of its usable interior.  For -both operating systems, the size of the window is the size of the usable interior. -

- -

Windows has some additional quirks which -the application programmer should know about.  First, the minimum y-coordinate -of a window decoration is zero.  (This is a feature of freeglut - and can be adjusted if so desired.)  Second, there appears to be a -minimum window width on Windows which is 104 pixels.  The user may specify -a smaller width, but the Windows system calls ignore it.  It is also -impossible to make a window narrower than this by dragging on its corner. -

- -

Changes From GLUT

- -

For some reason, GLUT is not affected -by the 104-pixel minimum window width.  If the user clicks on the corner -of a window which is narrower than this amount, the window will immediately -snap out to this width, but the application can call "glutReshapeWindow - " and make a window narrower again.

- -

4.3  glutInitDisplayMode

- -

4.4  glutInitDisplayString

- -

5.0  - Event Processing Functions

- After an application has finished initializing its windows and menus, it - enters an event loop.  Within this loop, freeglut polls the -data entry devices (keyboard, mouse, etc.) and calls the application's appropriate -callbacks. -

In GLUT, control never returned from -the event loop (as invoked by the "glutMainLoop" function) to the -calling function.  This prevented an application from having re-entrant -code, in which GLUT could be invoked from within a callback, and it prevented -the application from doing any post-processing (such as freeing allocated -memory) after GLUT had closed down.  Freeglut allows the application -programmer to specify more direct control over the event loop by means of -two new functions.  The first, "glutMainLoopEvent", processes -a single iteration of the event loop and allows the application to use a different -event loop controller or to contain re-entrant code.  The second, " -glutLeaveMainLoop", causes the event loop to exit nicely; this is preferable -to the application's calling "exit" from within a GLUT callback. -

- -

5.1  glutMainLoop

- The "glutMainLoop" function enters the event loop. - -

Usage

- -

void glutMainLoop ( void ) ; -

- -

Description

- -

The  "glutMainLoop" function -causes the program to enter the window event loop.  An application should -call this function at most once.  It will call any application callback -functions as required to process mouse clicks, mouse motion, key presses, -and so on.

- -

Changes From GLUT

- -

In GLUT, there was absolutely no way -for the application programmer to have control return from the "glutMainLoop - " function to the calling function.  Freeglut allows the programmer -to force this by setting the "GLUT_ACTION_ON_WINDOW_CLOSE" option -and invoking the "glutLeaveMainLoop" function from one of the callbacks.  - Stopping the program this way is preferable to simply calling "exit - " from within a callback because this allows freeglut to free allocated - memory and otherwise clean up after itself.  (I know I just said this, - but I think it is important enough that it bears repeating.)

- -

5.2  glutMainLoopEvent

- The "glutMainLoopEvent" function processes a single iteration -in the freeglut event loop. -

Usage

- -

void glutMainLoopEvent ( void ) ; -

- -

Description

- -

The  "glutMainLoopEvent - " function causes freeglut to process one iteration's worth of events -in its event loop.  This allows the application to control its own event -loop and still use the freeglut windowing system.

- -

Changes From GLUT

- -

GLUT does not include this function. -

- -

5.3  glutLeaveMainLoop

- The "glutLeaveMainLoop" function causes freeglut to stop - its event loop. -

Usage

- -

void glutLeaveMainLoop ( void ) ; -

- -

Description

- -

The  "glutLeaveMainLoop - " function causes freeglut to stop the event loop.  If the -" GLUT_ACTION_ON_WINDOW_CLOSE" option has been set to "GLUT_ACTION_CONTINUE_EXECUTION - ", control will return to the function which called "glutMainLoop - "; otherwise the application will exit.

- -

If the application has two nested calls -to "glutMainLoop" and calls "glutLeaveMainLoop", the behaviour -of freeglut is undefined.  It may leave only the inner nested -loop or it may leave both loops.  If the reader has a strong preference -for one behaviour over the other he should contact the freeglut Programming -Consortium and ask for the code to be fixed.

- -

Changes From GLUT

- -

GLUT does not include this function. -

- -

6.0  - Window Functions

- -

6.1  glutCreateWindow

- -

6.2  glutCreateSubwindow

- -

6.3  glutDestroyWindow

- -

6.4  glutSetWindow, glutGetWindow

- -

6.5  glutSetWindowTitle, glutSetIconTitle

- -

6.6  glutReshapeWindow

- -

6.7  glutPositionWindow

- -

6.8  glutShowWindow, glutHideWindow, -glutIconifyWindow

- -

6.9  glutPushWindow, glutPopWindow

- -

6.10  glutFullScreen

- -

7.0  - Display Functions

- -

7.1  glutPostRedisplay

- -

7.2  glutPostWindowRedisplay

- -

7.3  glutSwapBuffers

- -

8.0  - Mouse Cursor Functions

- -

8.1  glutSetCursor

- -

8.2  glutWarpPointer

- -

9.0  - Overlay Functions

- Freeglut does not allow overlays, although it does "answer the mail" - with function stubs so that GLUT-based programs can compile and link against - freeglut without modification.  -If the reader needs overlays, he should contact the freeglut Programming -Consortium and ask for them to be implemented.  He should also be prepared -to assist in the implementation. -

9.1  glutEstablishOverlay

- The "glutEstablishOverlay" function is not implemented in freeglut - . -

Usage

- -

void glutEstablishOverlay ( void -) ;

- -

Description

- -

The "glutEstablishOverlay" function -is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

9.2  glutRemoveOverlay

- The "glutRemoveOverlay" function is not implemented in freeglut - . -

Usage

- -

void glutRemoveOverlay ( void ) ; -

- -

Description

- -

The "glutRemoveOverlay" function -is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

9.3  glutUseLayer

- The "glutUseLayer" function is not implemented in freeglut - . -

Usage

- -

void glutUseLayer (  GLenum -layer ) ;

- -

Description

- -

The "glutUseLayer" function -is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

9.4  glutPostOverlayRedisplay

- The "glutPostOverlayRedisplay " function is not implemented in - freeglut. - -

Usage

- -

void glutPostOverlayRedisplay ( void -) ;

- -

Description

- -

The "glutPostOverlayRedisplay - " function is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

9.5  glutPostWindowOverlayRedisplay

- The "glutPostWindowOverlayRedisplay " function is not implemented - in freeglut. -

Usage

- -

void glutPostWindowOverlayRedisplay -( int window ) ;

- -

Description

- -

The "glutPostWindowOverlayRedisplay - " function is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

9.6  glutShowOverlay, glutHideOverlay

- The "glutShowOverlay" and "glutHideOverlay" functions -are not implemented in freeglut . - -

Usage

- -

void glutShowOverlay( void ) ; -
- void glutHideOverlay( void ) ; -

- -

Description

- -

The "glutShowOverlay" and " -glutHideOverlay" functions are not implemented in freeglut . -

- -

Changes From GLUT

- -

GLUT implements these functions.

- -

10.0  - Menu Functions

- -

10.1  glutCreateMenu

- -

10.2  glutDestroyMenu

- -

10.3  glutGetMenu, glutSetMenu

- -

10.4  glutAddMenuEntry

- -

10.5  glutAddSubMenu

- -

10.6  glutChangeToMenuEntry

- -

10.7  glutChangeToSubMenu

- -

10.8  glutRemoveMenuItem

- -

10.9  glutAttachMenu, glutDetachMenu

- -

11.0  - Global Callback Registration Functions

- -

11.1  glutTimerFunc

- -

11.2  glutIdleFunc

- The "glutIdleFunc" function sets the global idle callback. -Freeglut calls the idle callback when there are no inputs from the user. - -

Usage

- -

void glutIdleFunc ( void (*func) -( void ) ) ;

- -

func    The new -global idle callback function

- -

Description

- -

The  "glutIdleFunc" function -specifies the function that freeglut will call to perform background -processing tasks such as continuous animation when window system events are -not being received.  If enabled, this function is called continuously -from freeglut while no events are received.  The callback function -has no parameters and returns no value.  Freeglut does not change -the current window or the current menu before invoking the idle -callback; programs with multiple windows or menus must explicitly set the - current window and current menu - and not rely on its current setting.
-     The amount of computation and rendering done in an idle -callback should be minimized to avoid affecting the program's interactive - response.  In general, no more than a single frame of rendering should - be done in a single invocation of an idle callback.
-     Calling "glutIdleFunc" with a NULL argument -disables the call to an idle callback.

- -

Changes From GLUT

- -

Application programmers should note that -if they have specified the "continue execution" action on window closure, - freeglut will continue to call the -idle callback after the user has closed a window by clicking on the "x" in -the window header bar.  If the idle callback renders a particular window -(this is considered bad form but is frequently done anyway), the programmer -should supply a window closure callback for that window which changes or disables -the idle callback.

- -

12.0  - Window-Specific Callback Registration Functions

- -

12.1  glutDisplayFunc

- -

12.2  glutOverlayDisplayFunc

- -

12.3  glutReshapeFunc

- -

12.4  glutCloseFunc

- -

12.5  glutKeyboardFunc

- -

12.6  glutSpecialFunc

- The "glutSpecialFunc" function sets the window's special key press - callback. Freeglut calls the special key press callback when the -user presses a special key. -

Usage

- -

void glutSpecialFunc ( void (*func) -( int key, int x, int y ) ) ;

- -

func    The window's -new special key press callback function
- key     The -key whose press triggers the callback
- x       - The x-coordinate of the mouse relative -to the window at the time the key is pressed
- y       - The y-coordinate of the mouse relative -to the window at the time the key is pressed

- -

Description

- -

The  "glutSpecialFunc" -function specifies the function that freeglut will call when the user -presses a special key on the keyboard.  The callback function has one -argument:  the name of the function to be invoked ("called back") at -the time at which the special key is pressed.  The function returns no -value.  Freeglut sets the current window to the window -which is active when the callback is invoked.  "Special keys" are the -function keys, the arrow keys, the Page Up and Page Down keys, and the Insert -key.  The Delete key is considered to be a regular key.
-     Calling "glutSpecialUpFunc" with a NULL argument -disables the call to the window's special key press callback.

- -

    The "key -" argument may take one of the following defined constant values:

- - - Changes From GLUT -

None.

- -

12.7  glutKeyboardUpFunc

- The "glutKeyboardUpFunc" function sets the window's key release - callback. Freeglut calls the key release callback when the user releases -a key. -

Usage

- -

void glutKeyboardUpFunc ( void (*func) -( unsigned char key, int x, int y ) ) ;

- -

func    The window's -new key release callback function
- key     The -key whose release triggers the callback
- x       - The x-coordinate of the mouse relative -to the window at the time the key is released
- y       - The y-coordinate of the mouse relative -to the window at the time the key is released

- -

Description

- -

The  "glutKeyboardUpFunc -" function specifies the function that freeglut will call when the -user releases a key from the keyboard.  The callback function has one -argument:  the name of the function to be invoked ("called back") at -the time at which the key is released.  The function returns no value.  - Freeglut sets the current window - to the window which is active when the callback is invoked.
-     While freeglut checks for upper or lower case -letters, it does not do so for non-alphabetical characters.  Nor does -it account for the Caps-Lock key being on.  The operating system may -send some unexpected characters to freeglut, such as "8" when the -user is pressing the Shift key.  Freeglut also invokes the callback -when the user releases the Control, Alt, or Shift keys, among others.  -Releasing the Delete key causes this function to be invoked with a value -of 127 for "key".
-     Calling "glutKeyboardUpFunc" with a NULL argument -disables the call to the window's key release callback.

- -

Changes From GLUT

- -

This function is not implemented in GLUT -versions before Version 4.  It has been designed to be as close to GLUT -as possible.  Users who find differences should contact the - freeglut Programming Consortium to -have them fixed.

- -

12.8  glutSpecialUpFunc

- The "glutSpecialUpFunc" function sets the window's special key -release callback. Freeglut calls the special key release callback -when the user releases a special key. -

Usage

- -

void glutSpecialUpFunc ( void (*func) -( int key, int x, int y ) ) ;

- -

func    The window's -new special key release callback function
- key     The -key whose release triggers the callback
- x       - The x-coordinate of the mouse relative -to the window at the time the key is released
- y       - The y-coordinate of the mouse relative -to the window at the time the key is released

- -

Description

- -

The  "glutSpecialUpFunc -" function specifies the function that freeglut will call when the -user releases a special key from the keyboard.  The callback function -has one argument:  the name of the function to be invoked ("called back") -at the time at which the special key is released.  The function returns -no value.  Freeglut sets the current window to the window -which is active when the callback is invoked.  "Special keys" are the -function keys, the arrow keys, the Page Up and Page Down keys, and the Insert -key.  The Delete key is considered to be a regular key.
-     Calling "glutSpecialUpFunc" with a NULL argument -disables the call to the window's special key release callback.

- -

    The "key -" argument may take one of the following defined constant values:

- - - Changes From GLUT -

This function is not implemented in GLUT -versions before Version 4.  It has been designed to be as close to GLUT -as possible.  Users who find differences should contact the - freeglut Programming Consortium to -have them fixed.

- -

12.9  glutMouseFunc

- -

12.10  glutMotionFunc, glutPassiveMotionFunc

- -

12.11  glutVisibilityFunc

- -

12.12  glutEntryFunc

- -

12.13  glutJoystickFunc

- -

12.14  glutSpaceballMotionFunc

- The "glutSpaceballMotionFunc" function is not implemented in - freeglut, although the library does -"answer the mail" to the extent that a call to the function will not produce -an error.. -

Usage

- -

void glutSpaceballMotionFunc ( void -(* callback)( int x, int y, int z ) ) ;

- -

Description

- -

The "glutSpaceballMotionFunc - " function is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

12.15  glutSpaceballRotateFunc

- The "glutSpaceballRotateFunc" function is not implemented in - freeglut, although the library does -"answer the mail" to the extent that a call to the function will not produce -an error.. -

Usage

- -

void glutSpaceballRotateFunc ( void -(* callback)( int x, int y, int z ) ) ;

- -

Description

- -

The "glutSpaceballRotateFunc - " function is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

12.16  glutSpaceballButtonFunc

- The "glutSpaceballButtonFunc" function is not implemented in - freeglut, although the library does -"answer the mail" to the extent that a call to the function will not produce -an error.. -

Usage

- -

void glutSpaceballButtonFunc ( void -(* callback)( int button, int updown ) ) ;

- -

Description

- -

The "glutSpaceballButtonFunc - " function is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

12.17  glutButtonBoxFunc

- The "glutSpaceballButtonBoxFunc" function is not implemented -in freeglut, although the library does "answer the mail" to the extent -that a call to the function will not produce an error.. - -

Usage

- -

void glutSpaceballButtonBoxFunc ( -void (* callback)( int button, int updown ) ) ;

- -

Description

- -

The "glutSpaceballButtonBoxFunc - " function is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

12.18  glutDialsFunc

- The "glutDialsFunc" function is not implemented in freeglut - , although the library does "answer the mail" to the extent that a call -to the function will not produce an error.. - -

Usage

- -

void glutDialsFunc ( void (* callback)( -int dial, int value ) ) ;

- -

Description

- -

The "glutDialsFunc" function -is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

12.19  glutTabletMotionFunc

- The "glutTabletMotionFunc" function is not implemented in - freeglut, although the library does "answer the mail" to the extent -that a call to the function will not produce an error.. - -

Usage

- -

void glutTabletMotionFunc ( void -(* callback)( int x, int y ) ) ;

- -

Description

- -

The "glutTabletMotionFunc" function -is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

12.20  glutTabletButtonFunc

- The "glutTabletButtonFunc" function is not implemented in - freeglut, although the library does "answer the mail" to the extent -that a call to the function will not produce an error.. - -

Usage

- -

void glutTabletButtonFunc ( void -(* callback)( int button, int updown, int x, int y ) ) ;

- -

Description

- -

The "glutTabletButtonFunc" function -is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

12.21  glutMenuStatusFunc

- -

12.22  glutWindowStatusFunc

- -

13.0  - State Setting and Retrieval Functions

- -

13.1  glutSetOption

- -

13.2  glutGet

- - -

-The following state variables may be queried with "glutGet". -The returned value is an integer. -

- -

-These queries are with respect to the current window: -

- - - -

-These queries do not depend on the current window. -

- - - - -

13.3  glutDeviceGet

- -

13.4  glutGetModifiers

- -

13.5  glutLayerGet

- -

13.6  glutExtensionSupported

- -

13.7  glutGetProcAddress

-

glutGetProcAddress returns -a pointer to a named GL or freeglut function.

-

Usage

-

void *glutGetProcAddress ( const -char *procName ) ;

-

procName        - Name of an OpenGL or GLUT function. -

-

Description

-

glutGetProcAddress is useful -for dealing with OpenGL extensions. If an application calls OpenGL extension -functions directly, that application will only link/run with an OpenGL library -that supports the extension. By using a function pointer returned from glutGetProcAddress(), -the application will avoid this hard dependency and be more portable and interoperate -better with various implementations of OpenGL.

-

Both OpenGL functions and freeglut -functions can be queried with this function.

-

Changes From GLUT

- -

GLUT does not include this function. -

- -

14.0  - Font Rendering Functions

- Freeglut supports two types of font rendering:  bitmap fonts, - which are rendered using the "glBitmap" function call, and stroke - fonts, which are rendered as sequences of OpenGL line segments.  Because - they are rendered as bitmaps, the bitmap fonts tend to render more quickly - than stroke fonts, but they are less flexible in terms of scaling and rendering.  - Bitmap font characters are positioned with calls to the "glRasterPos* - " functions while stroke font characters use the OpenGL transformations -to position characters. -

    It should be noted -that freeglut fonts are similar but not identical to GLUT fonts.  -At the moment, freeglut fonts do not support the "`" (backquote) and -"|" (vertical line) characters; in their place it renders asterisks.

- -

    Freeglut supports -the following bitmap fonts:

- - - Freeglut calls "glRasterPos4v" to advance the cursor by -the width of a character and to render carriage returns when appropriate.  - It does not use any display lists in it rendering in bitmap fonts. - -

    Freeglut supports -the following stroke fonts:

- - - Freeglut does not use any display lists in its rendering of stroke - fonts.  It calls "glTranslatef" to advance the cursor by the -width of a character and to render carriage returns when appropriate. - -

14.1  glutBitmapCharacter

- The "glutBitmapCharacter" function renders a single bitmapped -character in the current window using the specified font. - -

Usage

- -

void glutBitmapCharacter ( void *font, -int character ) ;

- -

font        - The bitmapped font to use in rendering -the character
- character   The ASCII -code of the character to be rendered

- -

Description

- -

The  "glutBitmapCharacter - " function renders the given character in the specified bitmap font.  - Freeglut automatically sets the necessary -pixel unpack storage modes and restores the existing modes when it has finished.  -Before the first call to "glutBitMapCharacter " the application -program should call "glRasterPos*" to set the position of the character -in the window.  The "glutBitmapCharacter " function advances -the cursor position as part of its call to "glBitmap " and so the -application does not need to call "glRasterPos*" again for successive -characters on the same line.

- -

Changes From GLUT

- -

Nonexistent characters are rendered as -asterisks.  The rendering position in freeglut is apparently off -from GLUT's position by a few pixels vertically and one or two pixels horizontally. -

- -

14.2  glutBitmapString

- The "glutBitmapString" function renders a string of bitmapped -characters in the current window using the specified font. - -

Usage

- -

void glutBitmapString ( void *font, -char *string ) ;

- -

font      - The bitmapped font to use in rendering -the character string
- string    String -of characters to be rendered

- -

Description

- -

The  "glutBitmapString - " function renders the given character string in the specified bitmap font.  - Freeglut automatically sets the necessary -pixel unpack storage modes and restores the existing modes when it has finished.  -Before calling "glutBitMapString" the application program should -call "glRasterPos*" to set the position of the string in the window.  -The "glutBitmapString" function handles carriage returns.  -Nonexistent characters are rendered as asterisks.

- -

Changes From GLUT

- -

GLUT does not include this function. -

- -

14.3  glutBitmapWidth

- The "glutBitmapWidth" function returns the width in pixels of -a single bitmapped character in the specified font. - -

Usage

- -

int glutBitmapWidth ( void *font, -int character ) ;

- -

font        - The bitmapped font to use in calculating -the character width
- character   The ASCII -code of the character

- -

Description

- -

The  "glutBitmapWidth" -function returns the width of the given character in the specified bitmap -font.  Because the font is bitmapped, the width is an exact integer. -

- -

Changes From GLUT

- -

Nonexistent characters return the width -of an asterisk.

- -

14.4  glutBitmapLength

- The "glutBitmapLength" function returns the width in pixels of -a string of bitmapped characters in the specified font. - -

Usage

- -

int glutBitmapLength ( void *font, -char *string ) ;

- -

font    The bitmapped -font to use in calculating the character width
- string  String of characters -whose width is to be calculated

- -

Description

- -

The  "glutBitmapLength - " function returns the width in pixels of the given character string in -the specified bitmap font.  Because the font is bitmapped, the width -is an exact integer:  the return value is identical to the sum of the -character widths returned by a series of calls to "glutBitmapWidth -".  The width of nonexistent characters is counted to be the width of -an asterisk.

- -

    If the string contains -one or more carriage returns, freeglut calculates the widths in pixels -of the lines separately and returns the largest width.

- -

Changes From GLUT

- -

GLUT does not include this function. -

- -

14.5  glutBitmapHeight

- The "glutBitmapHeight" function returns the height in pixels of - the specified font. -

Usage

- -

int glutBitmapHeight ( void *font -) ;

- -

font        - The bitmapped font to use in calculating -the character height

- -

Description

- -

The  "glutBitmapHeight - " function returns the height of a character in the specified bitmap font.  -Because the font is bitmapped, the height is an exact integer.  The fonts -are designed such that all characters have (nominally) the same height. -

- -

Changes From GLUT

- -

GLUT does not include this function. -

- -

14.6  glutStrokeCharacter

- The "glutStrokeCharacter" function renders a single stroke character - in the current window using the specified font. - -

Usage

- -

void glutStrokeCharacter ( void *font, -int character ) ;

- -

font        - The stroke font to use in rendering -the character
- character   The ASCII -code of the character to be rendered

- -

Description

- -

The  "glutStrokeCharacter - " function renders the given character in the specified stroke font.  -Before the first call to "glutStrokeCharacter" the application program -should call the OpenGL transformation (positioning and scaling) functions -to set the position of the character in the window.  The "glutStrokeCharacter - " function advances the cursor position by a call to "glTranslatef - " and so the application does not need to call the OpenGL positioning functions - again for successive characters on the same line.

- -

Changes From GLUT

- -

Nonexistent characters are rendered as -asterisks.

- -

14.7  glutStrokeString

- The "glutStrokeString" function renders a string of characters -in the current window using the specified stroke font. - -

Usage

- -

void glutStrokeString ( void *font, -char *string ) ;

- -

font      - The stroke font to use in rendering -the character string
- string    String -of characters to be rendered

- -

Description

- -

The  "glutStrokeString - " function renders the given character string in the specified stroke font.  -Before calling "glutStrokeString" the application program should -call the OpenGL transformation (positioning and scaling) functions to set -the position of the string in the window.  The "glutStrokeString - " function handles carriage returns.  Nonexistent characters are rendered -as asterisks.

- -

Changes From GLUT

- -

GLUT does not include this function. -

- -

14.8  glutStrokeWidth

- The "glutStrokeWidth" function returns the width in pixels of -a single character in the specified stroke font. - -

Usage

- -

int glutStrokeWidth ( void *font, -int character ) ;

- -

font        - The stroke font to use in calculating -the character width
- character   The ASCII -code of the character

- -

Description

- -

The  "glutStrokeWidth" -function returns the width of the given character in the specified stroke -font.  Because the font is a stroke font, the width is actually a floating-point -number; the function rounds it to the nearest integer for the return value. -

- -

Changes From GLUT

- -

Nonexistent characters return the width -of an asterisk.

- -

14.9  glutStrokeLength

- The "glutStrokeLength" function returns the width in pixels of -a string of characters in the specified stroke font. - -

Usage

- -

int glutStrokeLength ( void *font, -char *string ) ;

- -

font    The stroke -font to use in calculating the character width
- string  String of characters -whose width is to be calculated

- -

Description

- -

The  "glutStrokeLength - " function returns the width in pixels of the given character string in -the specified stroke font.  Because the font is a stroke font, the width -of an individual character is a floating-point number.  Freeglut - adds the floating-point widths and rounds the funal result to return the -integer value.  Thus the return value may differ from the sum of the -character widths returned by a series of calls to "glutStrokeWidth - ".  The width of nonexistent characters is counted to be the width -of an asterisk.

- -

    If the string contains -one or more carriage returns, freeglut calculates the widths in pixels -of the lines separately and returns the largest width.

- -

Changes From GLUT

- -

GLUT does not include this function. -

- -

14.10  glutStrokeHeight

- The "glutStrokeHeight" function returns the height in pixels of - the specified font. -

Usage

- -

GLfloat glutStrokeHeight ( void *font -) ;

- -

font        - The stroke font to use in calculating -the character height

- -

Description

- -

The  "glutStrokeHeight - " function returns the height of a character in the specified stroke font.  -The application programmer should note that, unlike the other freeglut - font functions, this one returns a floating-point number.  The fonts -are designed such that all characters have (nominally) the same height.

- -

Changes From GLUT

- -

GLUT does not include this function. -

- -

15.0  - Geometric Object Rendering Functions

- Freeglut includes eighteen routines for generating easily-recognizable - 3-d geometric objects.  These routines are effectively the same ones - that are included in the GLUT library, and reflect the functionality available - in the aux toolkit described in the OpenGL Programmer's Guide - .  They are included to allow programmers to create with a single -line of code a three-dimensional object which can be used to test a variety -of OpenGL functionality.  None of the routines generates a display list -for the object which it draws.  The functions generate normals appropriate -for lighting but, except for the teapon functions, do not generate texture -coordinates. -

15.1  glutWireSphere, glutSolidSphere

- The "glutWireSphere" and "glutSolidSphere" functions -draw a wireframe and solid sphere respectively. - -

Usage

- -

void glutWireSphere ( GLdouble dRadius, -GLint slices, GLint stacks ) ;

- -

void glutSolidSphere ( GLdouble dRadius, -GLint slices, GLint stacks ) ;

- -

dRadius       - The desired radius of the sphere

- -

slices        - The desired number of slices (divisions -in the longitudinal direction) in the sphere

- -

stacks        - The desired number of stacks (divisions -in the latitudinal direction) in the sphere.  The number of points in -this direction, including the north and south poles, is stacks+1 -

- -

Description

- -

The "glutWireSphere" and " - glutSolidSphere" functions render a sphere centered at the origin -of the modeling coordinate system.  The north and south poles of the -sphere are on the positive and negative Z-axes respectively and the prime -meridian crosses the positive X-axis.

- -

Changes From GLUT

- -

None that we know of.

- -

15.2  glutWireTorus, glutSolidTorus

- The "glutWireTorus" and "glutSolidTorus" functions draw - a wireframe and solid torus (donut shape) respectively. - -

Usage

- -

void glutWireTorus ( GLdouble dInnerRadius, -GLdouble dOuterRadius, GLint nSides, GLint nRings ) ;

- -

void glutSolidTorus ( GLdouble dInnerRadius, -GLdouble dOuterRadius, GLint nSides, GLint nRings ) ;

- -

dInnerRadius        - The desired inner radius of the torus, -from the origin to the circle defining the centers of the outer circles

- -

dOuterRadius        - The desired outer radius of the torus, -from the center of the outer circle to the actual surface of the torus

- -

nSides        - The desired number of segments in a -single outer circle of the torus

- -

nRings        - The desired number of outer circles -around the origin of the torus

- -

Description

- -

The "glutWireTorus" and " - glutSolidTorus" functions render a torus centered at the origin of -the modeling coordinate system.  The torus is circularly symmetric about -the Z-axis and starts at the positive X-axis.

- -

Changes From GLUT

- -

None that we know of.

- -

15.3  glutWireCone, glutSolidCone

- The "glutWireCone" and "glutSolidCone" functions draw -a wireframe and solid cone respectively. - -

Usage

- -

void glutWireCone ( GLdouble base, -GLdouble height, GLint slices, GLint stacks ) ;

- -

void glutSolidCone ( GLdouble base, -GLdouble height, GLint slices, GLint stacks ) ;

- -

base          - The desired radius of the base of the -cone

- -

height        - The desired height of the cone

- -

slices        - The desired number of slices around -the base of the cone

- -

stacks        - The desired number of segments between -the base and the tip of the cone (the number of points, including the tip, -is stacks + 1)

- -

Description

- -

The "glutWireCone" and " - glutSolidCone" functions render a right circular cone with a base -centered at the origin and in the X-Y plane and its tip on the positive Z-axis.  -The wire cone is rendered with triangular elements.

- -

Changes From GLUT

- -

None that we know of.

- -

15.4  glutWireCube, glutSolidCube

- The "glutWireCube" and "glutSolidCube" functions draw -a wireframe and solid cube respectively. - -

Usage

- -

void glutWireCube ( GLdouble dSize -) ;

- -

void glutSolidCube ( GLdouble dSize -) ;

- -

dSize         - The desired length of an edge of the -cube

- -

Description

- -

The "glutWireCube" and " - glutSolidCube" functions render a cube of the desired size, centered -at the origin.  Its faces are normal to the coordinate directions.

- -

Changes From GLUT

- -

None that we know of.

- -

15.5  glutWireTetrahedron, glutSolidTetrahedron

- The "glutWireTetrahedron" and "glutSolidTetrahedron" -functions draw a wireframe and solid tetrahedron (four-sided Platonic solid) -respectively. -

Usage

- -

void glutWireTetrahedron ( void ) -;

- -

void glutSolidTetrahedron ( void -) ;

- -

Description

- -

The "glutWireTetrahedron" and -"glutSolidTetrahedron" functions render a tetrahedron whose corners -are each a distance of one from the origin.  The length of each side -is 2/3 sqrt(6).  One corner is on the positive X-axis and another is -in the X-Y plane with a positive Y-coordinate.

- -

Changes From GLUT

- -

None that we know of.

- -

15.6  glutWireOctahedron, glutSolidOctahedron

- The "glutWireOctahedron" and "glutSolidOctahedron" functions - draw a wireframe and solid octahedron (eight-sided Platonic solid) respectively. - -

Usage

- -

void glutWireOctahedron ( void ) -;

- -

void glutSolidOctahedron ( void ) -;

- -

Description

- -

The "glutWireOctahedron" and -"glutSolidOctahedron" functions render an octahedron whose corners -are each a distance of one from the origin.  The length of each side -is sqrt(2).  The corners are on the positive and negative coordinate -axes.

- -

Changes From GLUT

- -

None that we know of.

- -

15.7  glutWireDodecahedron, glutSolidDodecahedron

- The "glutWireDodecahedron" and "glutSolidDodecahedron -" functions draw a wireframe and solid dodecahedron (twelve-sided Platonic -solid) respectively. -

Usage

- -

void glutWireDodecahedron ( void -) ;

- -

void glutSolidDodecahedron ( void -) ;

- -

Description

- -

The "glutWireDodecahedron" and -"glutSolidDodecahedron" functions render a dodecahedron whose corners -are each a distance of sqrt(3) from the origin.  The length of each -side is sqrt(5)-1.  There are twenty corners; interestingly enough, -eight of them coincide with the corners of a cube with sizes of length 2. -

- -

Changes From GLUT

- -

None that we know of.

- -

15.8  glutWireIcosahedron, glutSolidIcosahedron

- The "glutWireIcosahedron" and "glutSolidIcosahedron" -functions draw a wireframe and solid icosahedron (twenty-sided Platonic solid) -respectively. -

Usage

- -

void glutWireIcosahedron ( void ) -;

- -

void glutSolidIcosahedron ( void -) ;

- -

Description

- -

The "glutWireIcosahedron" and -"glutSolidIcosahedron" functions render an icosahedron whose corners -are each a unit distance from the origin.  The length of each side is -slightly greater than one.  Two of the corners lie on the positive and -negative X-axes.

- -

Changes From GLUT

- -

None that we know of.

- -

15.7  glutWireRhombicDodecahedron, -glutSolidRhombicDodecahedron

- The "glutWireRhombicDodecahedron" and "glutSolidRhombicDodecahedron - " functions draw a wireframe and solid rhombic dodecahedron (twelve-sided - semi-regular solid) respectively. -

Usage

- -

void glutWireRhombicDodecahedron -( void ) ;

- -

void glutSolidRhombicDodecahedron -( void ) ;

- -

Description

- -

The "glutWireRhombicDodecahedron - " and "glutSolidRhombicDodecahedron" functions render a rhombic -dodecahedron whose corners are at most a distance of one from the origin.  -The rhombic dodecahedron has faces which are identical rhombuses (rhombi?) -but which have some vertices at which three faces meet and some vertices at -which four faces meet.  The length of each side is sqrt(3)/2.  Vertices -at which four faces meet are found at (0, 0, +1) and ( +sqrt(2)/2, - +sqrt(2)/2, 0).

- -

Changes From GLUT

- -

GLUT does not include these functions. -

- -

15.10  glutWireTeapot, glutSolidTeapot

- The "glutWireTeapot" and "glutSolidTeapot" functions -draw a wireframe and solid teapot respectively. - -

Usage

- -

void glutWireTeapot ( GLdouble dSize -) ;

- -

void glutSolidTeapot ( GLdouble dSize -) ;

- -

dSize         - The desired size of the teapot

- -

Description

- -

The "glutWireTeapot" and " - glutSolidTeapot" functions render a teapot of the desired size, centered -at the origin.  This is the famous OpenGL teapot [add reference].

- -

Changes From GLUT

- -

None that we know of.

- -

16.0  - Game Mode Functions

- -

16.1  glutGameModeString

- -

16.2  glutEnterGameMode, glutLeaveGameMode

- -

16.3  glutGameModeGet

- -

17.0  - Video Resize Functions

- -

17.1  glutVideoResizeGet

- -

17.2  glutSetupVideoResizing, -glutStopVideoResizing

- -

17.3  glutVideoResize

- -

17.4  glutVideoPan

- -

18.0  - Color Map Functions

- -

18.1  glutSetColor, glutGetColor

- -

18.2  glutCopyColormap

- -

19.0  - Miscellaneous Functions

- -

19.1  glutIgnoreKeyRepeat, glutSetKeyRepeat

- -

19.2  glutForceJoystickFunc

- -

19.3  glutReportErrors

- -

20.0  - Usage Notes

- -

The following environment variables -are recognized by freeglut:

- -

21.0  - Implementation Notes

- -

22.0  -GLUT State

- -

23.0  -"freeglut.h" Header File

- - -

-Application programmers who are porting their GLUT programs to freeglut may continue -to include <GL/glut.h> in their programs. -Programs which use the freeglut-specific extensions to GLUT should include -<GL/freeglut.h>. One possible arrangement is as follows: -

- -
-#ifdef FREEGLUT
-#include <GL/freeglut_ext.h>
-#else
-#include <GL/glut.h>
-#endif
-
- -

-Compile-time freeglut version testing can be done as follows: -

- -
-#ifdef FREEGLUT_VERSION_2_0
-  code specific to freeglut 2.0 or later here
-#endif
-
- -

-In future releases, FREEGLUT_VERSION_2_1, FREEGLUT_VERSION_2_2, etc will -be defined. This scheme mimics OpenGL conventions. -

- -

-The freeglut version can be queried at runtime by calling -glutGet(GLUT_VERSION). -The result will be X*10000+Y*100+Z where X is the major version, Y is the -minor version and Z is the patch level. -

-

-This may be used as follows: -

- -
-if (glutGet(GLUT_VERSION) < 20001) {
-    printf("Sorry, you need freeglut version 2.0.1 or later to run this program.\n");
-    exit(1);
-}
-
- - - -

24.0  -References

- -

25.0  -Index

-  -

 
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  

- - - diff --git a/gtk+-mingw/share/doc/freeglut-2.8.0/index.html b/gtk+-mingw/share/doc/freeglut-2.8.0/index.html deleted file mode 100644 index d511a9b..0000000 --- a/gtk+-mingw/share/doc/freeglut-2.8.0/index.html +++ /dev/null @@ -1,101 +0,0 @@ - - -The freeglut project - - - - - - - - -
- -
The freeglut logo
-
The free OpenGL utility toolkit
- -
- -
- -

-
Hosted at SourceForge
-
- -
- - - - diff --git a/gtk+-mingw/share/doc/freeglut-2.8.0/ogl_sm.png b/gtk+-mingw/share/doc/freeglut-2.8.0/ogl_sm.png deleted file mode 100644 index 80baefc..0000000 Binary files a/gtk+-mingw/share/doc/freeglut-2.8.0/ogl_sm.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/freeglut-2.8.0/progress.html b/gtk+-mingw/share/doc/freeglut-2.8.0/progress.html deleted file mode 100644 index 8a84483..0000000 --- a/gtk+-mingw/share/doc/freeglut-2.8.0/progress.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - The freeglut project - - - -
The freeglut logo
-
-I love reports. They are so full of brightness and hope... -
- -

- -

January the 16th, 2000 - -

It looks like both X11 and Win32 version have reached a comparable usability stage. -They are still missing many GLUT API 3 features, but the number is getting smaller and -smaller every day :) - -

  • input devices
  • - -

    Keyboard and mouse seems to work well. There is a big guess about the mouse buttons -count under X11 (always 3) -- I must remember to correct the menu activation code if -this shows to be invalid. - -

    None of the bizarre input devices found in GLUT API is supported (and probably won't). - -

    Steve Baker contributed the joystick code. It should work fine, as it did in PLIB, -but I haven't tested it out yet. It might not compile under FreeBSD, as I had to -convert it from C++ to C and had no possibility to compile it under FreeBSD (the Win32 -version had some typos, but I've already fixed them). - -

  • pull-down menus
  • - -

    Pull down menus seem to work. The menu is displayed using OpenGL, so it requires -the window's contents to be refreshed at an interactive rate, which sometimes does not -happen. That's why I'll consider adding optional window-system menu navigation later. -For now -- extensive testing is what I believe should be done with the menu system. - -

  • fonts
  • - -

    Bitmap fonts support is done. However it would be good to add two more API functions --- glutBitmapString() and glutStrokeString(), which should limit the quantity of state -changes when drawing longer strings. - -

    Good that somebody finally told me where to get the stroke fonts data from... XFree86 -sources contain the ROMAN and MONO ROMAN stroke fonts data. For now stroke fonts are -rendered using the bitmap font GLUT_BITMAP_8_BY_13. - -

    What has changed is the way the fonts are specified. I moved to the GLUT's strange -way of supplying (fake for freeglut) font data pointers instead of some nice enums. -Hope it helps in achieving the binary compatibility between freeglut and GLUT. - -

    Added two new API calls: glutBitmapHeight() and glutStrokeHeight(), that return -a font's height. Hope this doesn't break the GLUT compatibility a lot. - -

  • mouse cursor
  • - -

    Need to have own cursor shapes, so that freeglut can pass them to the windowing -system, draw them using glBitmap() and/or texture mapping. The cursor shapes are very -probable to be found in XFree86 sources. - -

  • indexed color mode
  • - -

    This might work, however I have not tested it yet. glutGetColor/glutSetColor is not -implemented. Again, looks like a single Xlib call, but there might be some problems -with the colormap access. Need to switch into indexed color mode some day and check it -out (does Mesa 3.1 work with indexed color mode?) - -

  • planes
  • - -

    Overlays are not supported, but one of the GLUT conformance tests fails due to -glutLayerGet( GLUT_NORMAL_DAMAGED ) returning FALSE when the window has actually -been damaged. - -

    Layers would be good for drawing the menus and mouse cursor, as they wouldn't force -the application redraw to update their state. - -

  • init display string
  • - -

    I am in middle of the fight with the init display string. It's parsing OK, now it -would be cool to make it impress some effects on the display... - -

  • game mode
  • - -

    Is the game mode string parsed correctly? - -

  • geometry
  • - -

    Andreas Umbach has contributed the cube and sphere code. The teapot rendering is -done using free SGI code. I have also added the cone rendering, however it is missing -normal vectors (just as Andrea's wireframed cube does). All of the glut*hedron() -functions await to be implemented. - -

  • obvious bugs
  • - -

      -
    1. -the visibility/window status function is a conceptual mess. I had to peer into the GLUT -source code to see what actually happens inside. It helped me a bit, but still one of -the visibility tests fails. This is probably the reason for which a window covered by -enlightenment status bar is marked as hidden and does not get redrawn.
    2. - -
    3. -GLX 1.3 spec states that glXChooseVisual() et consortes are deprecated. Should move to -glXFBConfig.
    4. - -
    5. -need to investigate what happens when initial window position is set to (-1,-1). GLUT -specification says, that the window positioning should be left to the window system. -And I do not know how to force it do so...
    6. - -
    7. -I was told it is wrong to have the redisplay forced in the main loop. Is that right?
    8. - -

  • not so obvious bugs
  • - -

      -
    1. some of the tests freeze because they do not generate the glutPostRedisplay() call -every frame. Again, this is somehow handled by GLUT, but I can't see how. And why. - -

      Looks like I've fixed it (or rather hacked it?) by forcing a redisplay every -frame, but this is no good and kills interactiveness of my console :D

    2. - -
- -Back to the main page - -
- diff --git a/gtk+-mingw/share/doc/freeglut-2.8.0/structure.html b/gtk+-mingw/share/doc/freeglut-2.8.0/structure.html deleted file mode 100644 index a460567..0000000 --- a/gtk+-mingw/share/doc/freeglut-2.8.0/structure.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - The freeglut project - - - -
The freeglut logo
-
-I've got a master plan (to take your API down)... -
- -

- -

After that I get the freeglut Windows port working in an acceptable manner and thus -getting assured that the freeglut internal structure is valid, I will split the project -into three separate parts, listed below. - -

  • freeglut-common
  • - -

    The least common denominator between the two freeglut versions. This will probably -contain most of the internal structure of the toolkit, notably the windows and menu -hierarchy, and possibly some private helpers. - -

  • freeglut-1.3
  • - -

    The GLUT API 3 compatible library. This is what's can be found now in the alpha -release (apart from the bugs, naturally :D). - -

  • freeglut-2.0
  • - -

    Hopefully this will be what GLUT should have been from the beginning. I will give -a try to design a much more coherent API than GLUT's, aiming at fast games prototyping. -Suggestions are welcome.

- -

Here's a list of propositions I have received so far. Hopefully this some day -turns into an API spefication proposal, not just a bunch of meaningless phrases...
- -

  • glutBitmapHeight() and glutStrokeHeight() -- I have added them to the -freeglut-1.3 API, they are already implemented and should work fine,
  • -
  • glutBitmapString() and glutStrokeString(), to write (multiple-line maybe) -strings, starting from the current raster position, using some simple formatting -maybe (changing the color, font, etc.?)
  • -
  • texture mapped fonts -- this is easy and could be added to freeglut-1.3, but -would require adding the...
  • -
  • glutHint() function to tell freeglut to: use bitmapped/texture mapped fonts, -draw the menus and mouse cursor using OpenGL/window system, and stuff...
  • -
  • glutMainLoop() termination and glutMainLoopStep() function, which should -perform a single check of pending events, so that one can have his own main loop,
  • -
  • multiple joysticks support with multiple axes, buttons, hats, etc. It is a real -good thing to do, yet the API to do the magic might result in being really twisted,
  • -
  • glutModifierFunc() could be added, or glutGetModifierState() should be allowed -to be called anywhere from the client's code
  • - -

    We might also think about:
    - -

  • freeglut-2.0 modularity via plugins, so that only the features that one -needs get loaded (plugins are easily supported by GLib),
  • -
  • OpenGL state management functions,
  • -
  • audio support -- using OpenAL maybe?,
  • -
  • a real menu system, not only the popups
  • -
  • non-OpenGL but portable UI, something like Java Swing
  • -
  • window-closing confirmation box (this is related to the above)
  • - -

    Following ideas are bad for freeglut:
    - -

  • more accurate timers under Win32 -- this goes to the GLib development afaik
  • -
  • portable file I/O, portable threads, plugins/modules -- this is already -done in GLib
  • - -

    Back to the main page - -
    - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/CHANGES b/gtk+-mingw/share/doc/freetype-2.4.10/CHANGES deleted file mode 100644 index 75042d5..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/CHANGES +++ /dev/null @@ -1,3672 +0,0 @@ - -CHANGES BETWEEN 2.4.9 and 2.4.10 - - I. IMPORTANT BUG FIXES - - - Incremental glyph loading as needed by ghostscript was broken. - - - II. MISCELLANEOUS - - - A new function `FT_Outline_EmboldenXY', contributed by Alexei - Podtelezhnikov. - - - In the `ftview' demo program, key `e' has been replaced with `x' - and `y' to embolden in the horizontal and vertical direction, - respectively. - - - The glyph spacing computation in `FT_GlyphSlot_Embolden' (and - similar code in `ftview') has been improved. - - - Minor improvements to the TrueType bytecode interpreter and - glyph loader, the auto-hinter, and the B/W rasterizer. - - -====================================================================== - -CHANGES BETWEEN 2.4.8 and 2.4.9 - - I. IMPORTANT BUG FIXES - - - Another round of fixes to better handle invalid fonts. Many of - them are vulnerabilities (see CVE-2012-1126 up to CVE-2012-1144 - and SA48320) so all users should upgrade. - - - II. MISCELLANEOUS - - - The `ENCODING -1 ' format of BDF fonts is now supported. - - - For BDF fonts, support for the whole Unicode encoding range has - been added. - - - Better TTF support for x_ppem != y_ppem. - - - `FT_Get_Advances' sometimes returned bogus values. - - - The demo programs no longer recognize and handle default - suffixes; you now have to always specify the complete font name. - - - Better rendering and LCD mode cycling added to ftview. - - -====================================================================== - -CHANGES BETWEEN 2.4.7 and 2.4.8 - - I. IMPORTANT BUG FIXES - - - Some vulnerabilities in handling CID-keyed PostScript fonts have - been fixed; see CVE-2011-3439. - - - II. MISCELLANEOUS - - - Chris Liddell contributed a new API, `FT_Get_PS_Font_Value', to - retrieve most of the dictionary keys in Type 1 fonts. - - -====================================================================== - -CHANGES BETWEEN 2.4.6 and 2.4.7 - - I. IMPORTANT BUG FIXES - - - Some vulnerabilities in handling Type 1 fonts have been fixed; - see CVE-2011-3256. - - - II. MISCELLANEOUS - - - FreeType now properly handles ZapfDingbats glyph names while - constructing a Unicode character map (for fonts which don't have - one). - - -====================================================================== - -CHANGES BETWEEN 2.4.5 and 2.4.6 - - I. IMPORTANT BUG FIXES - - - For TrueType based fonts, the ascender and descender values were - incorrect sometimes (off by a pixel if the ppem value was not a - multiple of 5). Depending on the use you might now experience - a different layout; the change should result in better, more - consistent line spacing. - - - Fix CVE-2011-0226 which causes a vulnerability while handling - Type 1 fonts. - - - BDF fonts containing glyphs with negative values for ENCODING - were incorrectly rejected. This bug has been introduced in - FreeType version 2.2.0. - - - David Bevan contributed a major revision of the FreeType stroker - code: - - . The behaviour of FT_STROKER_LINEJOIN_BEVEL has been corrected. - - . A new line join style, FT_STROKER_LINEJOIN_MITER_FIXED, has - been introduced to support PostScript and PDF miter joins. - - . FT_STROKER_LINEJOIN_MITER_VARIABLE has been introduced as an - alias for FT_STROKER_LINEJOIN_MITER. - - . Various stroking glitches has been fixed. - - - II. MISCELLANEOUS - - - SFNT bitmap fonts which contain an outline glyph for `.notdef' - only no longer set the FT_FACE_FLAG_SCALABLE flag. - - -====================================================================== - -CHANGES BETWEEN 2.4.4 and 2.4.5 - - I. IMPORTANT BUG FIXES - - - A rendering regression for second-order Bézier curves has been - fixed, introduced in 2.4.3. - - - II. IMPORTANT CHANGES - - - If autohinting is not explicitly disabled, FreeType now uses - the autohinter if a TrueType based font doesn't contain native - hints. - - - The load flag FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH has been made - redundant and is simply ignored; this means that FreeType now - ignores the global advance width value in TrueType fonts. - - - III. MISCELLANEOUS - - - `FT_Sfnt_Table_Info' can now return the number of SFNT tables of - a font. - - - Support for PCF files compressed with bzip2 has been contributed - by Joel Klinghed. To make this work, the OS must provide a - bzip2 library. - - - Bradley Grainger contributed project and solution files in - Visual Studio 2010 format. - - - Again some fixes to better handle broken fonts. - - - Some improvements to the B/W rasterizer. - - - Fixes to the cache module to improve robustness. - - - Just Fill Bugs contributed (experimental) code to compute blue - zones for CJK Ideographs, improving the alignment of horizontal - stems at the top or bottom edges. - - - The `ftgrid' demo program can now display autohinter segments, - to be toggled on and off with key `s'. - - -====================================================================== - -CHANGES BETWEEN 2.4.3 and 2.4.4 - - I. IMPORTANT BUG FIXES - - - UVS support (TrueType/OpenType cmap format 14) support is fixed. - This regression has been introduced in version 2.4.0. - - - II. MISCELLANEOUS - - - Detect tricky fonts (e.g. MingLiU) by the lengths and checksums - of Type42-persistent subtables (`cvt ', `fpgm', and `prep') when - a TrueType font without family name is given. The previous fix, - introduced in 2.4.3, was too rigorous, causing many subsetted - fonts (mainly from PDF files) displayed badly because FreeType - forced rendering with the TrueType bytecode engine instead of - the autohinter. - - - Better support for 64bit platforms. - - - More fixes to improve handling of broken fonts. - - -====================================================================== - -CHANGES BETWEEN 2.4.2 and 2.4.3 - - I. IMPORTANT BUG FIXES - - - Fix rendering of certain cubic, S-shaped arcs. This regression - has been introduced in version 2.4.0. - - - II. MISCELLANEOUS - - - To fix the above mentioned rendering issue, a new spline - flattening algorithm has been introduced which speeds up both - conic and cubic arcs. - - - Handling of broken fonts has been further improved. - - -====================================================================== - -CHANGES BETWEEN 2.4.1 and 2.4.2 - - I. IMPORTANT BUG FIXES - - - A stack overflow in CFF Type2 CharStrings interpreter is fixed. - - - Handling Type 42 font deallocation was broken; additionally, the - library is now more robust against malformed Type 42 fonts. - - - II. MISCELLANEOUS - - - Two new functions, `FT_Reference_Library' (in FT_MODULE_H) and - `FT_Reference_Face' (in FT_FREETYPE_H), have been added to - simplify life-cycle management. A counter gets initialized to 1 - at the time an FT_Library (or FT_Face) structure is created. - The two new functions increment the respective counter. - `FT_Done_Library' and `FT_Done_Face' then only destroy a library - or face if the counter is 1, otherwise they simply decrement the - counter. - - -====================================================================== - -CHANGES BETWEEN 2.4.0 and 2.4.1 - - I. IMPORTANT CHANGES - - - A serious bug in the CFF font module prevented display of many - glyphs in CFF fonts like `MinionPro-Regular.otf'. - - -====================================================================== - -CHANGES BETWEEN 2.3.12 and 2.4.0 - - I. IMPORTANT CHANGES - - - Since May 2010, all patents regarding the TrueType bytecode - interpreter have expired worldwide. Consequently, we now define - TT_CONFIG_OPTION_BYTECODE_INTERPRETER by default (and undefine - TT_CONFIG_OPTION_UNPATENTED_HINTING). - - - A new function `FT_Library_SetLcdFilterWeights' is available to - adjust the filter weights set by `FT_Library_SetLcdFilter'. - - - II. MISCELLANEOUS - - - Thanks to many reports from Robert ÅšwiÄ™cki, FreeType's stability - in handling broken or damaged fonts is much improved. - - - Support for LCD filter control has been added to the demo - programs `ftdiff' and `ftview'. - - -====================================================================== - -CHANGES BETWEEN 2.3.11 and 2.3.12 - - I. IMPORTANT CHANGES - - - For `FT_Open_Face', new parameters are available to ignore - preferred family names: FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY and - FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY. - - - II. MISCELLANEOUS - - - Support for incremental font loading (controlled with the - FT_CONFIG_OPTION_INCREMENTAL macro) is now active by default. - - - Better support for vertical metrics. - - - Various minor bug fixes. - - -====================================================================== - -CHANGES BETWEEN 2.3.10 and 2.3.11 - - I. IMPORTANT BUG FIXES - - - Version 2.3.10 broke PCF support. - - -====================================================================== - -CHANGES BETWEEN 2.3.10 and 2.3.9 - - I. IMPORTANT BUG FIXES - - - If all ASCII digits in a font have the same (unscaled) width, - the autohinter respects this and won't change it. - - - TrueType fonts are now rasterized correctly if the horizontal - and vertical resolution differ. - - - Type 1 fonts are now handled with increased precision internally - to avoid serious rounding issues if non-integral coordinates are - encountered. - - - Horizontally condensed CFF fonts (using the font matrix) were - rendered incorrectly. This bug has been introduced after - release 2.3.5. - - - II. IMPORTANT CHANGES - - - Support for the SFNT cmap 13 table format (as defined by the new - OpenType 1.6 specification) has been added. - - - B/W rasterization of well-hinted TrueType fonts at small sizes - has been greatly improved. - - - Calculation of vertical metrics in OpenType fonts has been - improved. - - - III. MISCELLANEOUS - - - It is now possible to change the emboldening factor in the - `ftview' demo program with keys `e' and `E'. - - - It is now possible to change the slant value in the `ftview' - demo program with keys `s' and `S'. - - - The 5-levels grayscale mode of the `ftraster' module (which - FreeType doesn't use by default) was broken since version 2.3.0. - - - Compilation of the `ftgrays' and `ftraster' modules was broken - in stand-alone mode. - - - Various fixes for compilation on 64bit and 16bit architectures. - - -====================================================================== - -CHANGES BETWEEN 2.3.9 and 2.3.8 - - I. IMPORTANT BUG FIXES - - - Very unfortunately, FreeType 2.3.8 contained a change that broke - its official ABI. The end result is that programs compiled - against previous versions of the library, but dynamically linked - to 2.3.8 can experience memory corruption if they call the - `FT_Get_PS_Font_Info' function. - - We recommend all users to upgrade to 2.3.9 as soon as possible, - or to downgrade to a previous release of the library if this is - not an option. - - The origin of the bug is that a new field was added to the - publicly defined `PS_FontInfoRec' structure. Unfortunately, - objects of this type can be stack or heap allocated by callers - of `FT_Get_PS_Font_Info', resulting in a memory buffer - overwrite with its implementation in 2.3.8. - - If you want to know whether your code is vulnerable to this - issue, simply search for the substrings `PS_FontInfo' and - `PS_Font_Info' in your source code. If none is found, your code - is safe and is not affected. - - The FreeType team apologizes for the problem. - - - The POSIX support of MacOS resource-fork fonts (Suitcase fonts - and LaserWriter Type1 PostScript fonts) was broken in 2.3.8. If - FreeType2 is built without Carbon framework, these fonts are not - handled correctly. Version 2.3.7 didn't have this bug. - - - `FT_Get_Advance' (and `FT_Get_Advances') returned bad values for - almost all font formats except TrueType fonts. - - - Fix a bug in the SFNT kerning table loader/parser which could - crash the engine if certain malformed tables were encountered. - - - Composite SFNT bitmaps are now handled correctly. - - - II. IMPORTANT CHANGES - - - The new functions `FT_Get_CID_Is_Internally_CID_keyed' and - `FT_Get_CID_From_Glyph_Index' can be used to access CID-keyed - CFF fonts via CID values. This code has been contributed by - Michael Toftdal. - - - III. MISCELLANEOUS - - - `FT_Outline_Get_InsideBorder' returns FT_STROKER_BORDER_RIGHT - for empty outlines. This was incorrectly documented. - - - The `ftview' demo program now supports UTF-8 encoded strings. - - -====================================================================== - -CHANGES BETWEEN 2.3.8 and 2.3.7 - - I. IMPORTANT BUG FIXES - - - CID-keyed fonts in an SFNT wrapper were not handled correctly. - - - The smooth renderer produced truncated images (on the right) for - outline parts with negative horizontal values. Most fonts don't - contain outlines left to the y coordinate axis, but the effect - was very noticeable for outlines processed with FT_Glyph_Stroke, - using thick strokes. - - - `FT_Get_TrueType_Engine_Type' returned a wrong value if both - configuration macros TT_CONFIG_OPTION_BYTECODE_INTERPRETER and - TT_CONFIG_OPTION_UNPATENTED_HINTING were defined. - - - The `face_index' field in the `FT_Face' structure wasn't - initialized properly after calling FT_Open_Face and friends with - a positive face index for CFFs, WinFNTs, and, most importantly, - for TrueType Collections (TTCs). - - - II. IMPORTANT CHANGES - - - Rudimentary support for Type 1 fonts and CID-keyed Type 1 fonts - in an SFNT wrapper has been added -- such fonts are used on the - Mac. The core SFNT tables `TYP1' and `CID ' are passed to the - PS Type 1 and CID-keyed PS font drivers; other tables (`ALMX', - `BBOX', etc.) are not supported yet. - - - A new interface to extract advance values of glyphs without - loading their outlines has been added. The functions are called - `FT_Get_Advance' and `FT_Get_Advances'; they are defined in file - `ftadvanc.h' (to be accessed as FT_ADVANCES_H). - - - A new function `FT_Get_FSType_Flags' (in FT_FREETYPE_H) has been - contributed by David Bevan to access the embedding and - subsetting restriction information of fonts. - - - III. MISCELLANEOUS - - - FT_MulFix is now an inlined function; by default, assembler code - is provided for x86 and ARM. See FT_CONFIG_OPTION_INLINE_MULFIX - and FT_CONFIG_OPTION_NO_ASSEMBLER (in ftoption.h) for more. - - - The handling of `tricky' fonts (this is, fonts which don't work - with the autohinter, needing the font format's hinting engine) - has been generalized and changed slightly: - - . A new face flag FT_FACE_FLAG_TRICKY indicates that the font - format's hinting engine is necessary for correct rendering. - The macro FT_IS_TRICKY can be used to check this flag. - - . FT_LOAD_NO_HINTING is now ignored for tricky fonts. To really - force raw loading of such fonts (without hinting), both - FT_LOAD_NO_HINTING and FT_LOAD_NO_AUTOHINT must be used -- - this is something which you probably never want to do. - - . Tricky TrueType fonts always use the bytecode interpreter, - either the patented or unpatented version. - - - The function `FT_GlyphSlot_Own_Bitmap' has been moved from - FT_SYNTHESIS_H to FT_BITMAP_H; it is now part of the `official' - API. (The functions in FT_SYNTHESIS_H are still subject to - change, however.) - - - In the `ftdiff' demo program you can now toggle the use of - FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH with key `a'. - - -====================================================================== - -CHANGES BETWEEN 2.3.7 and 2.3.6 - - I. IMPORTANT BUG FIXES - - - If the library was compiled on an i386 platform using gcc, and - compiler option -O3 was given, `FT_MulFix' sometimes returned - incorrect results which could have caused problems with - `FT_Request_Metrics' and `FT_Select_Metrics', returning an - incorrect descender size. - - - Pure CFFs without subfonts were scaled incorrectly if the font - matrix was non-standard. This bug has been introduced in - version 2.3.6. - - - The `style_name' field in the `FT_FaceRec' structure often - contained a wrong value for Type 1 fonts. This misbehaviour - has been introduced in version 2.3.6 while trying to fix - another problem. [Note, however, that this value is - informative only since the used algorithm to extract it is - very simplistic.] - - - II. IMPORTANT CHANGES - - - Two new macros, FT_OUTLINE_SMART_DROPOUTS and - FT_OUTLINE_EXCLUDE_STUBS, have been introduced. Together with - FT_OUTLINE_IGNORE_DROPOUTS (which was ignored previously) it is - now possible to control the dropout mode of the `raster' module - (for B&W rasterization), using the `flags' field in the - `FT_Outline' structure. - - - The TrueType bytecode interpreter now passes the dropout mode to - the B&W rasterizer. This greatly increases the output for small - ppem values of many fonts like `pala.ttf'. - - -====================================================================== - -CHANGES BETWEEN 2.3.6 and 2.3.5 - - I. IMPORTANT BUG FIXES - - - A bunch of potential security problems have been found. All - users should update. - - - Microsoft Unicode cmaps in TrueType fonts are now always - preferred over Apple cmaps. This is not a bug per se, but there - exist some buggy fonts created for MS which have broken Apple - cmaps. This affects only the automatic selection of FreeType; - it's always possible to manually select an Apple Unicode cmap if - desired. - - - Many bug fixes to the TrueType bytecode interpreter. - - - Improved Mac support. - - - Subsetted CID-keyed CFFs are now supported correctly. - - - CID-keyed CFFs with subfonts which are scaled in a non-standard - way are now handled correctly. - - - A call to FT_Open_Face with `face_index' < 0 crashed FreeType if - the font was a Windows (bitmap) FNT/FON. - - - II. IMPORTANT CHANGES - - - The new function `FT_Get_CID_Registry_Ordering_Supplement' gives - access to those fields in a CID-keyed font. The code has been - contributed by Derek Clegg. - - - George Williams contributed code to validate the new `MATH' - OpenType table (within the `otvalid' module). The `ftvalid' - demo program has been extended accordingly. - - - An API for cmap 14 support (for Unicode Variant Selectors, UVS) - has been contributed by George Williams. - - - A new face flag FT_FACE_FLAG_CID_KEYED has been added, together - with a macro FT_IS_CID_KEYED which evaluates to 1 if the font is - CID-keyed. - - - III. MISCELLANEOUS - - - Build support for symbian has been contributed. - - - Better WGL4 glyph name support, contributed by Sergey Tolstov. - - - Debugging output of the various FT_TRACEX macros is now sent to - stderr. - - - The `ftview' demo program now provides artificial slanting too. - - - The `ftvalid' demo program has a new option `-f' to select the - font index. - - -====================================================================== - -CHANGES BETWEEN 2.3.5 and 2.3.4 - - I. IMPORTANT BUG FIXES - - - Some subglyphs in TrueType fonts were handled incorrectly due to - a missing graphics state reinitialization. - - - Large .Z files (as distributed with some X11 packages) weren't - handled correctly, making FreeType increase the heap stack in an - endless loop. - - - A large number of bugs have been fixed to avoid crashes and - endless loops with invalid fonts. - - - II. IMPORTANT CHANGES - - - The two new cache functions `FTC_ImageCache_LookupScaler' and - `FTC_SBit_Cache_LookupScaler' have been added to allow lookup of - glyphs using an `FTC_Scaler' object; this makes it possible to - use fractional pixel sizes in the cache. The demo programs have - been updated accordingly to use this feature. - - - A new API `FT_Get_CMap_Format' has been added to get the cmap - format of a TrueType font. This is useful in handling PDF - files. The code has been contributed by Derek Clegg. - - - The auto-hinter now produces better output by default for - non-Latin scripts like Indic. This was done by using the CJK - hinting module as the default instead of the Latin one. Thanks - to Rahul Bhalerao for this suggestion. - - - A new API `FT_Face_CheckTrueTypePatents' has been added to find - out whether a given TrueType font uses patented bytecode - instructions. The `ft2demos' bundle contains a new program - called `ftpatchk' which demonstrates its usage. - - - A new API `FT_Face_SetUnpatentedHinting' has been added to - enable or disable the unpatented hinter. - - - Support for Windows FON files in PE format has been contributed - by Dmitry Timoshkov. - - - III. MISCELLANEOUS - - - Vincent Richomme contributed Visual C++ project files for Pocket - PCs. - - -====================================================================== - -CHANGES BETWEEN 2.3.4 and 2.3.3 - - I. IMPORTANT BUG FIXES - - - A serious bug in the handling of bitmap fonts (and bitmap - strikes of outline fonts) has been introduced in 2.3.3. - - -====================================================================== - -CHANGES BETWEEN 2.3.3 and 2.3.2 - - I. IMPORTANT BUG FIXES - - - Remove a serious regression in the TrueType bytecode interpreter - that was introduced in version 2.3.2. Note that this does not - disable the improvements introduced to the interpreter in - version 2.3.2, only some ill cases that occurred with certain - fonts (though a few popular ones). - - - The auto-hinter now ignores single-point contours for computing - blue zones. This bug created `wavy' baselines when rendering - text with various fonts that use these contours to model - mark-attach points (these are points that are never rasterized - and are placed outside of the glyph's real outline). - - - The `rsb_delta' and `lsb_delta' glyph slot fields are now set to - zero for mono-spaced fonts. Otherwise code that uses them would - essentially ruin the fixed-advance property. - - - Fix CVE-2007-1351 which can cause an integer overflow while - parsing BDF fonts, leading to a potentially exploitable heap - overflow condition. - - - II. MISCELLANEOUS - - - Fixed compilation issues on some 64-bit platforms (see ChangeLog - for details). - - - A new demo program `ftdiff' has been added to compare TrueType - hinting, FreeType's auto hinting, and rendering without hinting - in three columns. - - -====================================================================== - -CHANGES BETWEEN 2.3.2 and 2.3.1 - - I. IMPORTANT BUG FIXES - - - FreeType returned incorrect kerning information from TrueType - fonts when the bytecode interpreter was enabled. This happened - due to a typo introduced in version 2.3.0. - - - Negative kerning values from PFM files are now reported - correctly (they were read as 16-bit unsigned values from the - file). - - - Fixed a small memory leak when `FT_Init_FreeType' failed for - some reason. - - - The Postscript hinter placed and sized very thin and ghost stems - incorrectly. - - - The TrueType bytecode interpreter has been fixed to get rid of - most of the rare differences seen in comparison to the Windows - font loader. - - - II. IMPORTANT CHANGES - - - The auto-hinter now better deals with serifs and corner cases - (e.g., glyph '9' in Arial at 9pt, 96dpi). It also improves - spacing adjustments and doesn't change widths for non-spacing - glyphs. - - - Many Mac-specific functions are deprecated (but still - available); modern replacements have been provided for them. - See the documentation in file `ftmac.h'. - - -====================================================================== - -CHANGES BETWEEN 2.3.1 and 2.3.0 - - I. IMPORTANT BUG FIXES - - - The TrueType interpreter sometimes returned incorrect horizontal - metrics due to a bug in the handling of the SHZ instruction. - - - A typo in a security check introduced after version 2.2.1 - prevented FreeType to render some glyphs in CFF fonts. - - -====================================================================== - -CHANGES BETWEEN 2.3.0 and 2.2.1 - - I. IMPORTANT BUG FIXES - - - The PCF font loader is now much more robust while loading - malformed font files. - - - Various memory leaks have been found and fixed. - - - The TrueType name loader now deals properly with some fonts that - encode their names in UTF-16 (the specification was vague, and - the code incorrectly assumed UCS-4). - - - Fixed the TrueType bytecode loader to deal properly with subtle - monochrome/gray issues when scaling the CVT. Some fonts - exhibited bad rendering artifacts otherwise. - - - `FT_GlyphSlot_Embolden' now supports vertical layouts correctly - (it mangled the vertical advance height). - - - Fixed byte endian issues of `ftmac.c' to support Mac OS X on - i386. - - - The PFR font loader no longer erroneously tags font files - without any outlines as FT_FACE_FLAG_SCALABLE. - - - II. NEW API FUNCTIONS - - - `FT_Library_SetLcdFilter' allows you to select a special filter - to be applied to the bitmaps generated by `FT_Render_Glyph' if - one of the FT_RENDER_MODE_LCD and FT_RENDER_MODE_LCD_V modes has - been selected. This filter is used to reduce color fringes; - several settings are available through the FT_LCD_FILTER_XXX - enumeration. - - Its declaration and documentation can be found in file - `include/freetype/ftlcdfil.h' (to be accessed with macro - FT_LCD_FILTER_H). - - *IMPORTANT*: This function returns an error - (FT_Err_Unimplemented_Feature) in default builds of the library - for patent reasons. See below. - - - `FT_Get_Gasp' allows you to query the flags of the TrueType - `gasp' table for a given character pixel size. This is useful - to duplicate the text rendering of MS Windows when the native - bytecode interpreter is enabled (which isn't the default for - other patent reasons). - - Its declaration and documentation can be found in file - `include/freetype/ftgasp.h' (to be accessed with macro - FT_GASP_H). - - - III. IMPORTANT CHANGES - - - The auto-hinter has been tuned a lot to improve its results with - serif fonts, resulting in much better font rendering of many web - pages. - - - The unpatented hinter is now part of the default build of the - library; we have added code to automatically support `tricky' - fonts that need it. - - This means that FreeType should `just work' with certain Asian - fonts, like MingLiU, which cannot properly be loaded without a - bytecode interpreter, but which fortunately do not use any of - the patented bytecode opcodes. We detect these fonts by name, - so please report any font file that doesn't seem to work with - FreeType, and we shall do what we can to support it in a next - release. - - Note that the API hasn't changed, so you can still force - unpatented hinting with a special parameter to `FT_Open_Face' as - well. This might be useful in same cases; for example, a PDF - reader might present a user option to activate it to deal with - certain `tricky' embedded fonts which cannot be clearly - identified. - - If you are a developer for embedded systems, you might want to - *disable* the feature to save code space by undefining - TT_CONFIG_OPTION_UNPATENTED_HINTING in file `ftoption.h'. - - - LCD-optimized rendering is now *disabled* in all default builds - of the library, mainly due to patent issues. For more - information see: - - http://lists.gnu.org/archive/html/freetype/2006-09/msg00064.html - - A new configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING - has been introduced in `ftoption.h'; manually define it in this - file if you want to re-enable the feature. - - The change only affects the implementation, not the FreeType - API. This means that clients don't need to be modified, because - the library still generates LCD decimated bitmaps, but with the - added constraint that R=G=B on each triplet. - - The displayed result should be equal to normal anti-aliased - rendering. - - Additionally, if FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not - defined, the new `FT_Library_SetLcdFilter' function returns the - FT_Err_Unimplemented_Feature error code. - - - Some computation bugs in the TrueType bytecode interpreter were - found, which allow us to get rid of very subtle and rare - differences we had experienced with the Windows renderer. - - - It is now possible to cross-compile the library easily. See the - file `docs/INSTALL.CROSS' for details. - - - The file `src/base/ftmac.c' now contains code for Mac OS X only; - its deprecated function `FT_GetFile_From_Mac_Font_Name' always - returns an error even if the QuickDraw framework is available. - The previous version has been moved to `builds/mac/ftmac.c'. - - Selecting configure option `--with-quickdraw-carbon' makes the - build process use the original `ftmac.c' file instead of the Mac - OS X-only version. - - - IV. MISCELLANEOUS - - - Various performance and memory footprint optimizations have been - performed on the TrueType and CFF font loaders, sometimes with - very drastic benefits (e.g., the TrueType loader is now about - 25% faster; FreeType should use less heap memory under nearly - all conditions). - - - The anti-aliased rasterizer has been optimized and is now 15% to - 25% percent faster than in previous versions, depending on - content. - - - The Type 1 loader has been improved; as an example, it now skips - top-level dictionaries properly. - - - Better support for Mac fonts on POSIX systems, plus compilation - fixes for Mac OS X on ppc64 where `ftmac.c' cannot be built. - - - Configuration without `--with-old-mac-fonts' does not include - `ftmac.c' (this was the behaviour in FreeType version 2.1.10). - - - The TrueTypeGX validator (gxvalid) checks the order of glyph IDs - in the kern table. - - -====================================================================== - -CHANGES BETWEEN 2.2.1 and 2.2 - - I. IMPORTANT BUG FIXES - - - Various integer overflows have been fixed. - - - PFB fonts with MacOS resource fork weren't handled correctly on - non-MacOS platforms. - - -====================================================================== - -CHANGES BETWEEN 2.2 and 2.1.10 - -(not released officially) - - I. IMPORTANT BUG FIXES - - - Vertical metrics for SFNT fonts were incorrect sometimes. - - - The FT_HAS_KERNING macro always returned 0. - - - CFF OpenType fonts didn't return correct vertical metrics for - glyphs with outlines. - - - If FreeType was compiled without hinters, all font formats based - on PS outlines weren't scaled correctly. - - - II. IMPORTANT CHANGES - - - Version 2.2 no longer exposes its internals, this is, the header - files located in the `include/freetype/internal' directory of - the source package are not copied anymore by the `make install' - command. Consequently, a number of rogue clients which directly - access FreeType's internal functions and structures won't - compile without modification. - - We provide patches for most of those rogue clients. See the - following page for more information: - - http://www.freetype.org/freetype2/patches/rogue-patches.html - - Note that, as a convenience to our Unix desktop users, version - 2.2 is *binary* compatible with FreeType 2.1.7, which means that - installing this release on an existing distribution shall not - break any working desktop. - - - FreeType's build mechanism has been redesigned. With GNU make - it is now sufficient in most cases to edit two files: - `modules.cfg', to select the library components, and the - configuration file `include/freetype/config/ftoption.h' (which - can be copied to the objects directory). Removing unused module - directories to prevent its compilation and editing - `include/freetype/config/ftmodule.h' is no longer necessary. - - - The LIGHT hinting algorithm produces more pleasant results. - Also, using the FT_LOAD_TARGET_LIGHT flags within FT_Load_Glyph - always forces auto-hinting, as a special exception. This allows - you to experiment with it even if you have enabled the TrueType - bytecode interpreter in your build. - - - The auto hinter now employs a new algorithm for CJK fonts, based - on Akito Hirai's patch. Note that this only works for fonts - with a Unicode charmap at the moment. - - - The following callback function types have changed slightly (by - adding the `const' keyword where appropriate): - - FT_Outline_MoveToFunc - FT_Outline_LineToFunc - FT_Outline_ConicToFunc - FT_Outline_CubicToFunc - FT_SpanFunc - FT_Raster_RenderFunc - - FT_Glyph_TransformFunc - FT_Renderer_RenderFunc - FT_Renderer_TransformFunc - - Note that this doesn't affect binary backward compatibility. - - - On MacOS, new APIs have been added as replacements for legacy - APIs: `FT_New_Face_From_FSRef' for `FT_New_Face_From_FSSpec', - and `FT_GetFile_From_Mac_ATS_Name' for - `FT_GetFile_From_Mac_Name'. Legacy APIs are still available, if - FreeType is built without disabling them. - - - A new API `FT_Select_Size' has been added to select a bitmap - strike by its index. Code using other functions to select - bitmap strikes should be updated to use this function. - - - A new API `FT_Get_SubGlyph_Info' has been added to retrieve - subglyph data. This can be used by rogue clients which used to - access the internal headers to get the corresponding data. - - - In 2.1.10, the behaviour of `FT_Set_Pixel_Sizes' was changed for - BDF/PCF fonts, and only for them. This causes inconsistency. - In this release, we undo the change. The intent of the change - in 2.1.10 is to allow size selection through real dimensions, - which can now be done through `FT_Request_Size'. - - - Some security issues were discovered and fixed in the CFF and - Type 1 loader, causing crashes of FreeType by malformed font - files. - - - III. MISCELLANEOUS - - - The documentation for FT_LOAD_TARGET_XXX and FT_RENDER_MODE_XXX - values now better reflects its usage and differences: One set is - used to specify the hinting algorithm, the other to specify the - pixel rendering mode. - - - `FT_New_Face' and `FT_New_Face_From_FSSpec' in ftmac.c have been - changed to count supported scalable faces (sfnt, LWFN) only, and - to return the number of available faces via face->num_faces. - Unsupported bitmap faces (fbit, NFNT) are ignored. - - - builds/unix/configure has been improved for MacOS X. It now - automatically checks available functions in Carbon library, and - prepare to use newest functions by default. Options to specify - the dependencies of each Carbon APIs (FSSpec, FSRef, old/new - QuickDraw, ATS) are available too. By manual disabling of all - QuickDraw functionality, FreeType can be built without - `deprecated function' warnings on MacOS 10.4.x, but - FT_GetFile_Mac_Name in ftmac.c then is changed to a dummy - function, and returns an `unimplemented' error. For details see - builds/mac/README. - - - SFNT cmap handling has been improved, mainly to run much faster - with CJK fonts. - - - A new function `FT_Get_TrueType_Engine_Type (declared in - `FT_MODULE_H') is provided to determine the status of the - TrueType bytecode interpreter compiled into the library - (patented, unpatented, unimplemented). - - - Vertical metrics of glyphs are synthesized if the font does not - provide such information. You can tell whether the metrics are - synthesized or not by checking the FT_FACE_FLAG_VERTICAL flag of - the face. - - - The demo programs `ftview' and `ftstring' have been rewritten - for better readability. `ftview' has a new switch `-p' to test - FT_New_Memory_Face (instead of FT_New_Face). - - - FreeType now honours bit 1 in the `head' table of TrueType fonts - (meaning `left sidebearing point at x=0'). This helps with some - buggy fonts. - - - Rudimentary support for Adobe's new `SING Glyphlet' format. See - - http://www.adobe.com/products/indesign/sing_gaiji.html - - for more information. - - - The `ftdump' program from the `ft2demos' bundle now shows some - information about charmaps. It also supports a new switch `-v' - to increase verbosity. - - - Better AFM support. This includes track kerning support. - - -====================================================================== - -CHANGES BETWEEN 2.1.10 and 2.1.9 - - I. IMPORTANT BUG FIXES - - - The size comparison for BDF and PCF files could fail sometimes. - - - Some CFF files were still not loaded correctly. Patch from - Derek Noonburg. - - - The stroker still had some serious bugs. - - - Boris Letocha fixed a bug in the TrueType interpreter: The - NPUSHW instruction wasn't skipped correctly in IF clauses. Some - fonts like `Helvetica 75 Bold' failed. - - - Another serious bug in handling TrueType hints caused many - distortions. It has been introduced in version 2.1.8, and it is - highly recommended to upgrade. - - - FreeType didn't properly parse empty Type 1 glyphs. - - - An unbound dynamic buffer growth was fixed in the PFR loader. - - - Several bugs have been fixed in the cache sub-system. - - - FreeType behaved incorrectly when resizing two distinct but very - close character pixel sizes through `FT_Set_Char_Size' (Savannah - bug #12263). - - - The auto-hinter didn't work properly for fonts without a Unicode - charmap -- it even refused to load the glyphs. - - - II. IMPORTANT CHANGES - - - Many fixes have been applied to drastically reduce the amount of - heap memory used by FreeType, especially when using - memory-mapped font files (which is the default on Unix systems - which support them). - - - The auto-hinter has been replaced with a new module, called the - `auto-fitter'. It consumes less memory than its predecessor, - and it is prepared to support non-latin scripts better in next - releases. - - - George Williams contributed code to read kerning data from PFM - files. - - - FreeType now uses the TT_NAME_ID_PREFERRED_FAMILY and - TT_NAME_ID_PREFERRED_SUBFAMILY strings (if available) for - setting family and style in SFNT fonts (patch from Kornfeld - Eliyahu Peter). - - - A new API `FT_Sfnt_Table_Info' (in FT_TRUETYPE_TABLES_H) has - been added to retrieve name and size information of SFNT tables. - - - A new API `FT_OpenType_Validate' (in FT_OPENTYPE_VALIDATE_H) has - been added to validate OpenType tables (BASE, GDEF, GPOS, GSUB, - JSTF). After validation it is no longer necessary to check - for errors in those tables while accessing them. - - Note that this module might be moved to another library in the - future to avoid a tight dependency between FreeType and the - OpenType specification. - - - A new API in FT_BITMAP_H (`FT_Bitmap_New', `FT_Bitmap_Convert', - `FT_Bitmap_Copy', `FT_Bitmap_Embolden', `FT_Bitmap_Done') has - been added. Its use is to convert an FT_Bitmap structure in - 1bpp, 2bpp, 4bpp, or 8bpp format into another 8bpp FT_Bitmap, - probably using a different pitch, and to further manipulate it. - - - A new API `FT_Outline_Embolden' (in FT_OUTLINE_H) gives finer - control how outlines are embolded. - - - `FT_GlyphSlot_Embolden' (in FT_SYNTHESIS_H) now handles bitmaps - also (code contributed by Chia I Wu). Note that this function - is still experimental and may be replaced with a better API. - - - The method how BDF and PCF bitmap fonts are accessed has been - refined. Formerly, FT_Set_Pixel_Sizes and FT_Set_Char_Size - were synonyms in FreeType's BDF and PCF interface. This has - changed now. FT_Set_Pixel_Sizes should be used to select the - actual font dimensions (the `strike', which is the sum of the - `FONT_ASCENT' and `FONT_DESCENT' properties), while - FT_Set_Char_Size selects the `nominal' size (the `PIXELSIZE' - property). In both functions, the width parameter is ignored. - - - III. MISCELLANEOUS - - - The BDF driver no longer converts all returned bitmaps with a - depth of 2bpp or 4bpp to a depth of 8bpp. The documentation has - not mentioned this explicitly, but implementors might have - relied on this after looking into the source files. - - - A new option `--ftversion' has been added to freetype-config to - return the FreeType version. - - - The memory debugger has been updated to dump allocation - statistics on all allocation sources in the library. This is - useful to spot greedy allocations when loading and processing - fonts. - - - We removed a huge array of constant pointers to constant strings - in the `psnames' module. The problem was that compilations in - PIC mode (i.e., when generating a Unix shared object/dll) put - the array into the non-shared writable section of the library - since absolute pointers are not relocatable by nature. - - This reduces the memory consumption by approximately 16KByte per - process linked to FreeType. We now also store the array in a - compressed form (as a trie) which saves about 20KByte of code as - well. - - - Kirill Smelkov provided patches to make src/raster/ftraster.c - compile stand-alone again. - - -====================================================================== - -CHANGES BETWEEN 2.1.9 and 2.1.8 - - I. IMPORTANT BUG FIXES - - - The function `FT_Get_CharMap_Index' was only declared, without - any real code. For consistency, it has been renamed to - `FT_Get_Charmap_Index'. (This function is needed to implement - cmap caches.) - - - `FT_Outline_Get_BBox' sometimes returned incorrect values for - conic outlines (e.g., for TrueType fonts). - - - Handling of `bhed' table has been fixed. - - - The TrueType driver with enabled byte code interpreter sometimes - returned artifacts due to incorrect rounding. This bug has been - introduced after version 2.1.4. - - - The BDF driver dropped the last glyph in the font. - - - The BDF driver now uses the DEFAULT_CHAR property (if available) - to select a glyph shape for the undefined glyph. - - - The stroker failed for closed outlines and single points. - - - II. IMPORTANT CHANGES - - - George Williams contributed code to handle Apple's font - distortion technology found in GX fonts (`avar', `cvar', `fvar', - and `gvar' tables; the Multiple Masters API has been slightly - extended to cope with the new functionality). - - - The `FT_GlyphSlotRec' structure has been extended: The elements - `lsb_delta' and `rsb_delta' give the difference between hinted - and unhinted left and right side bearings if autohinting is - active. Using those values can improve the inter-letter spacing - considerably. See the documentation of `FT_GlyphSlotRec' and - the `ftstring' demo program how to use it. - - - Loading TrueType and Type 1 fonts has been made much faster. - - - The stroker is no longer experimental (but the cache subsystem - still is). - - - III. MISCELLANEOUS - - - A new documentation file `formats.txt' describes various font - formats supported (and not supported) by FreeType. - - -====================================================================== - -CHANGES BETWEEN 2.1.8 and 2.1.7 - - I. IMPORTANT BUG FIXES - - - The native TrueType hinter contained some bugs which prevented - some fonts to be rendered correctly, most notably Legendum.otf. - - - The PostScript hinter now produces improved results. - - - The linear advance width and height values were incorrectly - rounded, making them virtually unusable if not loaded with - FT_LOAD_LINEAR_DESIGN. - - - Indexing CID-keyed CFF fonts is now working: The glyph index is - correctly treated as a CID, similar to FreeType's CID driver - module. Note that CID CMap support is still missing. - - - The FT_FACE_FLAGS_GLYPH_NAMES flag is now set correctly for all - font formats. - - - Some subsetted Type 1 fonts weren't parsed correctly. This bug - has been introduced in 2.1.7. In summary, the Type 1 parser has - become more robust. - - - Non-decimal numbers weren't parsed correctly in PS fonts. - - - The WinFNT driver now correctly reports FT_ENCODING_NONE for all - but one encoding. Use the new FT_WinFNT_ID_XXX values together - with `FT_Get_WinFNT_Header' to get the WinFNT charset ID. - - - The descender metrics (face->size->metrics.descender) for WinFNT - bitmap fonts had the wrong sign. - - - The (emulated) `seac' support for CFF fonts was broken. - - - The `flex' operator didn't work for CFF fonts. - - - PS glyphs which use the `hintmask' operator haven't been - rendered correctly in some cases. - - - Metrics for BDF and PCF bitmap font formats have been fixed. - - - Autohinting is now disabled for glyphs which are vertically - distorted or mirrored (using a transformation matrix). This - fixes a bug which produced zero-height glyphs. - - - The `freetype-config' script now handles --prefix and - --exec-prefix correctly; it also returns the proper --rpath (or - -R) value if FreeType has been built as a shared library. - - - II. IMPORTANT CHANGES - - - Both PCF and BDF drivers now handle the SETWIDTH_NAME and - ADD_STYLE_NAME properties. Values are appended to - face->style_name; example: `Bold SemiCondensed'. - - - The PCF driver now handles bitmap fonts compressed with the LZW - algorithm (extension .pcf.Z, compressed with `compress'). - - - A new API function `FT_Get_CMap_Language_ID' (declared in - `tttables.h') is available to get the language ID of a - TrueType/SFNT cmap. - - - The hexadecimal format of data after the `StartData' command in - CID-keyed Type 1 fonts is now supported. While this can't occur - in file-based fonts, it can happen in document-embedded - resources of PostScript documents. - - - Embedded bitmaps in SFNT-based CFF fonts are now supported. - - - A simple API is now available to control FreeType's tracing - mechanism if compiled with FT_DEBUG_LEVEL_TRACE. See the file - `ftdebug.h' for more details. - - - YAMATO Masatake contributed improved handling of MacOS resource - forks on non-MacOS platforms (for example, Linux can mount MacOS - file systems). - - - Support for MacOS has been improved; there is now a new function - `FT_New_Face_From_FSSpec' similar to `FT_New_Face' except that - it accepts an FSSpec instead of a path. - - - The cache sub-system has been rewritten. - - - There is now support for deinstallation of faces. - - - A new API function `FTC_Manager_RemoveFaceID' has been added - to delete all `idle' nodes that correspond to a given - FTC_FaceID. All `locked' nodes (i.e., those with a reference - count > 0), will be modified to prevent them from appearing in - further lookups (they will be cleaned normally when their - reference count reaches 0). - - - There is now support for point scaling (i.e., providing - character sizes in points + dpis, instead of pixels). - - - Three abstract cache classes are now available: - - FTC_GCache: Used to store one glyph item per cache node, - with the ability to group common attributes into - `families'. This replaces the old - FTC_GlyphCache class. - - FTC_ICache: Used to store one FT_Glyph per cache node. This - extends FTC_GCache. Family definition, family - comparison, and glyph loading are however left - to sub-classes. - - FTC_SCache: Used to store up to 16 small bitmaps per cache - node. This extends FTC_GCache. Family - definition, family comparison and glyph loading - are however left to sub-classes. - - - The file `src/cache/ftcbasic.c' implements: - - FTC_ImageCache: Extends FTC_ICache; implements family - definitions and glyph loading similar to the - old API. - - FTC_SBitCache: Extends FTC_SCache, implements family - definitions and glyph loading similar to the - old API - - Client applications should be able to extend FTC_GCache, - FTC_ICache, or FTC_SCache much more easily (i.e., less code to - write, and less callbacks). For example, one could envision - caches that are capable of storing transformed (obliqued), - stroked, emboldened, or colored glyph images. Use - `ftcbasic.c' as an example. - - - All public APIs are now in `include/freetype/ftcache.h', (to - be accessed as `FT_CACHE_H'). The contents of - `include/freetype/cache/' is only needed by applications that - wish to implement their own caches. - - - There were some major performance improvements through the use - of various programming tricks. Cache hits are up to 70% - faster than in the old code. - - - The FTC_CMapCache has been simplified. Charmaps can only be - accessed by index right now. There is also a new API named - `FT_Charmap_GetIndex' for this purpose. - - - The demo programs have been updated to the new code. The - previous versions will not work with the current one. - - - Using an invalid face index in FT_Open_Face and friends now - causes an error even if the font contains a single face only. - - - III. MISCELLANEOUS - - - Wolfgang Domröse contributed support files for building FreeType - on the Atari using the PureC compiler. Note that the Atari is a - 16bit platform. - - - Vitaliy Pasternak contributed project files for VS.NET 2003. - - -====================================================================== - -CHANGES BETWEEN 2.1.7 and 2.1.6 - - I. IMPORTANT BUG FIXES - - - Updated to newest libtool version, fixing build problems on - various platforms. - - - On Unix platforms, `make install' didn't copy the correct - `ftconfig.h' file. - - Note that version 2.1.7 contains the same library C source code as - version 2.1.6. - - -====================================================================== - -CHANGES BETWEEN 2.1.6 and 2.1.5 - - I. IMPORTANT BUG FIXES - - - The PFR font driver didn't load kerning tables correctly, and - the functions in FT_PFR_H didn't work at all. - - - Type 1 font files in binary format (PFB) with an end-of-file - indicator weren't accepted by the FreeType engine. - - - Fonts which contain /PaintType and /StrokeWidth no longer cause - a segfault. This bug has been introduced in version 2.1.5. - - - Fonts loaded with FT_LOAD_RENDER no longer cause strange - results. This bug has been introduced in version 2.1.5. - - - Some Windows (bitmap) FNT/FON files couldn't be handled - correctly. - - - II. IMPORTANT CHANGES - - - The internal module API has been heavily changed in favor of - massive simplifications within the font engine. This also means - that authors of third-party modules must adapt their code to the - new scheme. - - NOTE: THE NEW SCHEME IS NOT COMPLETED YET. PLEASE WAIT UNTIL A - FINAL ANNOUNCEMENT! - - - The PostScript parser has been enhanced to handle comments and - strings correctly. Additionally, more syntax forms are - recognized. - - - Added the optional unpatented hinting system for TrueType. It - allows typefaces which need hinting to produce correct glyph - forms (e.g., Chinese typefaces from Dynalab) to work acceptably - without infringing Apple patents. This system is compiled only - if TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING is defined in - ftoption.h (activated by default). - - - III. MISCELLANEOUS - - - There is now a guard in the public header files to protect - against inclusion of freetype.h from FreeType 1. - - - Direct inclusion of freetype.h and other public header files no - longer works. You have to use the documented scheme - - #include - #include FT_FREETYPE_H - - to load freetype.h with a symbolic name. This protects against - renaming of public header files (which shouldn't happen but - actually has, avoiding two public header files with the same - name). - - -====================================================================== - -CHANGES BETWEEN 2.1.5 and 2.1.4 - - I. IMPORTANT BUG FIXES - - - Parsing the /CIDFontName field now removes the leading slash to - be in sync with other font drivers. - - - gzip support was buggy. Some fonts could not be read. - - - Fonts which have nested subglyphs more than one level deep no - longer cause a segfault. - - - Creation of synthetic cmaps for fonts in CFF format was broken - partially. - - - Numeric font dictionary entries for synthetic fonts are no - longer overwritten. - - - The font matrix wasn't applied to the advance width for Type1, - CID, and CFF fonts. This caused problems when loading certain - synthetic Type 1 fonts like `Helvetica Narrow'. - - - The test for the charset registry in BDF and PCF fonts is now - case-insensitive. - - - FT_Vector_Rotate sometimes returned strange values due to - rounding errors. - - - The PCF driver now returns the correct number of glyphs - (including an artificial `notdef' glyph at index 0). - - - FreeType now supports buggy CMaps which are contained in many - CJK fonts from Dynalab. - - - Opening an invalid font on a Mac caused a segfault due to - double-freeing memory. - - - BDF fonts with more than 32768 glyphs weren't supported - properly. - - - II. IMPORTANT CHANGES - - - Accessing bitmap font formats has been synchronized. To do that - the FT_Bitmap_Size structure has been extended to contain new - fields `size', `x_ppem', and `y_ppem'. - - - The FNT driver now returns multiple faces, not multiple strikes. - - - The `psnames' module has been updated to the Adobe Glyph List - version 2.0. - - - The `psnames' module now understands `uXXXX[X[X]]' glyph names. - - - The algorithm for guessing the font style has been improved. - - - For fonts in SFNT format, root->height is no longer increased if - the line gap is zero. There exist fonts (containing e.g. form - drawing characters) which intentionally have a zero line gap - value. - - - ft_glyph_bbox_xxx flags are now deprecated in favour of - FT_GLYPH_BBOX_XXX. - - - ft_module_xxx flags are now deprecated in favour of - FT_MODULE_XXX. - - - FT_ENCODING_MS_{SJIS,GB2312,BIG5,WANSUNG,JOHAB} are now - deprecated in favour of - FT_ENCODING_{SJIS,GB2312,GIB5,WANSONG,JOHAB} -- those encodings - are not specific to Microsoft. - - - III. MISCELLANEOUS - - - The autohinter has been further improved; for example, `m' - glyphs now retain its vertical symmetry. - - - Partial support of Mac fonts on non-Mac platforms. - - - `make refdoc' (after first `make') builds the HTML - documentation. You need Python for this. - - - The make build system should now work more reliably on DOS-like - platforms. - - - Support for EMX gcc and Watson C/C++ compilers on MS-DOS has - been added. - - - Better VMS build support. - - - Support for the pkg-config package by providing a `freetype.pc' - file. - - - New configure option --with-old-mac-fonts for Darwin. - - - Some source files have been renamed (mainly to fit into the 8.3 - naming scheme). - - -====================================================================== - -CHANGES BETWEEN 2.1.4 and 2.1.3 - - I. IMPORTANT BUG FIXES - - - Updated to newest libtool version, fixing build problems on - various platforms. - - - A fix in the Gzip stream reader: It couldn't read certain .gz - files properly due to a small typo. In certain cases, FreeType - could also loop endlessly when trying to load tiny gzipped - files. - - - The configure script now tries to use the system-wide zlib when - it finds one (instead of the copy found in src/gzip). And - `freetype-config' has been updated to return relevant flags in - this case when invoked with `--libs' (e.g. `-lzlib'). - - - Certain fonts couldn't be loaded by 2.1.3 because they lacked a - Unicode charmap (e.g. SYMBOL.TTF). FreeType erroneously - rejected them. - - - The CFF loader was modified to accept fonts which only contain a - subset of their reference charset. This prevented the correct - use of PDF-embedded fonts. - - - The logic to detect Unicode charmaps has been modified. This is - required to support fonts which include both 16-bit and 32-bit - charmaps (like very recent asian ones) using the new 10 and 12 - SFNT formats. - - - The TrueType loader now limits the depth of composite glyphs. - This is necessary to prevent broken fonts to break the engine by - blowing the stack with recursive glyph definitions. - - - The CMap cache is now capable of managing UCS-4 character codes - that are mapped through extended charmaps in recent - TrueType/OpenType fonts. - - - The cache sub-system now properly manages out-of-memory - conditions instead of blindly reporting them to the caller. - This means that it will try to empty the cache before restarting - its allocations to see if that can help. - - - The PFR driver didn't return the list of available embedded - bitmaps properly. - - - There was a nasty memory leak when using embedded bitmaps in - certain font formats. - - - II. IMPORTANT CHANGES - - - David Chester contributed some enhancements to the auto-hinter - that significantly increase the quality of its output. The - Postscript hinter was also improved in several ways. - - - The FT_RENDER_MODE_LIGHT render mode was implemented. - - - A new API function called `FT_Get_BDF_Property' has been added - to FT_BDF_H to retrieve BDF properties from BDF _and_ PCF font - files. THIS IS STILL EXPERIMENTAL, since it hasn't been - properly tested yet. - - - A Windows FNT specific API has been added, mostly to access font - headers. This is used by Wine. - - - TrueType tables without an `hmtx' table are now tolerated when - an incremental interface is used. This happens for certain - Type42 fonts passed from Ghostscript to FreeType. - - - The PFR font driver is now capable of returning the font family - and style names when they are available (instead of the sole - `FontID'). This is performed by parsing an *undocumented* - portion of the font file! - - - III. MISCELLANEOUS - - - The path stroker in FT_STROKER_H has entered beta stage. It now - works very well, but its interface might change a bit in the - future. More on this in later releases. - - - The documentation for FT_Size_Metrics didn't appear properly in - the API reference. - - - The file docs/VERSION.DLL has been updated to explain versioning - with FreeType (i.e., comparing release/libtool/so numbers, and - how to use them in autoconf scripts). - - - The installation documentation has been seriously revamped. - Everything is now in the `docs' directory. - - -====================================================================== - -CHANGES BETWEEN 2.1.3 and 2.1.2 - - I. IMPORTANT BUG FIXES - - - FT_Vector_Transform had been incorrectly modified in 2.1.2, - resulting in incorrect transformations being applied (for - example, rotations were processed in opposite angles). - - - The format 8 and 12 TrueType charmap enumeration routines have - been fixed (FT_Get_Next_Char returned invalid values). - - - The PFR font driver returned incorrect advance widths if the - outline and metrics resolution defined in the font file were - different. - - - FT_Glyph_To_Bitmap now returns successfully when called with an - FT_BitmapGlyph argument (it previously returned an error). - - - A bug in the Type 1 loader that prevented valid font bounding - boxes to be loaded from multiple master fonts. - - - The SFNT validation code has been rewritten. FreeType can now - load `broken' fonts that were usable on Windows, but not with - previous versions of the library. - - - The computation of bearings in the BDF driver has been fixed. - - - The Postscript hinter crashed when trying to hint certain glyphs - (more precisely, when trying to apply hints to an empty glyph - outline). - - - The TrueType glyph loader now supports composites in `Apple - format' (they differ slightly from Microsoft/OpenType ones in - the way transformation offsets are computed). - - - FreeType was very slow at opening certain asian CID/CFF fonts, - due to fixed increment in dynamic array re-allocations. This - has been changed to exponential behaviour to get acceptable - performance. - - - - II. IMPORTANT CHANGES - - - The PCF driver now supports gzip-compressed font files natively. - This means that you will be able to use all these bitmap fonts - that come with XFree86 with FreeType (and libXft/libXft2, by - extension). - - - The automatic and postscript hinters have both been updated. - This results in a relatively important increase of rendering - quality since many nasty defaults have been suppressed. Please - visit the web page: - - http://www.freetype.org/hinting/smooth-hinting.html - - for additional details on this topic. - - - The `load_flags' parameter of `FT_Load_Glyph' is now an FT_Int32 - (instead of just being an FT_Int). This breaks source and - binary compatibility for 16bit systems only, while retaining - both of them for 32 and 64 bit ones. - - Some new flags have been added consequently: - - FT_LOAD_NO_AUTOHINT :: Disable the use of the auto-hinter - (but not native format hinters). - - FT_LOAD_TARGET_NORMAL :: Hint and render for normal - anti-aliased displays. - - FT_LOAD_TARGET_MONO :: Hint and render for 1-bit displays. - - FT_LOAD_TARGET_LCD :: Hint and render for horizontal RGB or - BGR sub-pixel displays (like LCD - screens). THIS IS STILL - EXPERIMENTAL! - - FT_LOAD_TARGET_LCD_V :: Same as FT_LOAD_TARGET_LCD, for - vertical sub-pixel displays (like - rotated LCD screens). THIS IS STILL - EXPERIMENTAL! - - FT_LOAD_MONOCHROME is still supported, but only affects - rendering, not the hinting. - - Note that the `ftview' demo program available in the `ft2demos' - package has been updated to support LCD-optimized display on - non-paletted displays (under Win32 and X11). - - - The PFR driver now supports embedded bitmaps (all formats - supported), and returns correct kerning metrics for all glyphs. - - - The TrueType charmap loader now supports certain `broken' fonts - that load under Windows without problems. - - - The cache API has been slightly modified (it's still a beta!): - - - The type FTC_ImageDesc has been removed; it is now replaced - by FTC_ImageTypeRec. Note that one of its fields is a - `load_flag' parameter for FT_Load_Glyph. - - - The field `num_grays' of FT_SBitRec has been changed to - `max_grays' in order to fit within a single byte. Its - maximum value is thus 255 (instead of 256 as previously). - - - III. MISCELLANEOUS - - - Added support for the DESTDIR variable during `make install'. - This simplifies packaging of FreeType. - - - Included modified copies of the ZLib sources in `src/gzip' in - order to support gzip-compressed PCF fonts. We do not use the - system-provided zlib for now, though this is a probable - enhancement for future releases. - - - The DocMaker tool used to generate the on-line API reference has - been completely rewritten. It is now located in - `src/tools/docmaker/docmaker.py'. Features: - - - better cross-referenced output - - more polished output - - uses Python regular expressions (though it didn't speed the - program) - - much more modular structure, which allows for different - `backends' in order to generate HTML, XML, or whatever - format. - - One can regenerate the API reference by calling: - - python src/tools/docmaker/docmaker.py \ - --prefix=ft2 \ - --title=FreeType-2.1.3 \ - --output= - include/freetype/*.h \ - include/freetype/config/*.h \ - include/freetype/cache/*.h - - - A new, experimental, support for incremental font loading (i.e., - loading of fonts where the glyphs are not in the font file - itself, but provided by an external component, like a Postscript - interpreter) has been added by Graham Asher. This is still work - in progress, however. - - - A new, EXPERIMENTAL, path stroker has been added. It doesn't - suffer from severe rounding errors and treat bezier arcs - directly. Still work in progress (i.e. not part of the official - API). See the file for some of the - details. - - - The massive re-formatting of sources and internal re-design is - still under-way. Many internal functions, constants, and types - have been renamed. - - -====================================================================== - -CHANGES BETWEEN 2.1.2 and 2.1.1 - - I. IMPORTANT BUG FIXES - - - Many font drivers didn't select a Unicode charmap by default - when a new face was opened (with the FT_CONFIG_OPTION_USE_CMAPS - options enabled), causing many applications to not be able to - display text correctly with the 2.1.x releases. - - - The PFR driver had a bug in its composite loading code that - produces incorrectly placed accents with many fonts. - - - The Type42 driver crashed sometimes due to a nasty bug. - - - The Type 1 custom encoding charmap didn't handle the case where - the first glyph index wasn't 0. - - - A serious typo in the TrueType composite loader produced - incorrectly placed glyphs in fonts like `Wingdings' and a few - others. - - - II. MISCELLANEOUS - - - The Win32 Visual C++ project file has been updated to include - the PFR driver as well. - - - `freetype.m4' is now installed by default by `make install' on - Unix systems. - - - The function FT_Get_PS_Font_Info now works with CID and Type42 - fonts as well. - - -====================================================================== - -CHANGES BETWEEN 2.1.1 and 2.1.0 - - I. IMPORTANT BUG FIXES - - - The `version_info' returned by `freetype-config' in 2.1.0 - returned an invalid value. It now returns 9:1:3 (2.0.9 returned - 9:0:3). - - - Version 2.1.0 couldn't be linked against applications on Win32 - and Amiga systems due to a new debug function that wasn't - properly propagated to the system-specific directory in - `builds'. - - - Various MacOS and Mac OS X specific fixes. - - - Fixed a bug in the TrueType charmap validation routines that - made version 2.1.0 too restrictive -- many popular fonts have - been rejected. - - - There was still a very small difference between the monochrome - glyph bitmaps produced by FreeType 1.x and FreeType 2.x with the - bytecode interpreter enabled. This was caused by an invalid - flag setting in the TrueType glyph loader, making the rasterizer - change its drop-out control mode. Now the results should - _really_ be completely identical. - - - The TrueType name table loader has been improved to support many - popular though buggy Asian fonts. It now ignores empty name - entries, invalid pointer offsets and a few other incorrect - subtleties. Moreover, name strings are now loaded on demand, - which reduces the memory load of many faces (e.g. the ARIAL.TTF - font file contains a 10kByte name table with 70 names). - - - Fixed a bug in the Postscript hinter that prevented family blues - substitution to happen correctly. - - - II. NEW FEATURES - - - Three new font drivers in this release: - - * A BDF font driver, contributed by Franco Zappa Nardelli, - heavily modified by Werner Lemberg. It also supports - anti-aliased bitmaps (using a slightly extended BDF format). - - * A Type42 font driver, contributed by Roberto Alameda. It is - still experimental but seems to work relatively well. - - * A PFR font driver, contributed by David Turner himself. It - doesn't support PFR hinting -- note that BitStream has at - least two patents on this format! - - - III. MISCELLANEOUS - - - The cache sub-system has been optimized in important ways. - Cache hits are now significantly faster. For example, using the - CMap cache is about twice faster than calling FT_Get_Char_Index - on most platforms. Similarly, using an SBit cache is about five - times faster than loading the bitmaps from a bitmap file, and - 300 to 500 times faster than generating them from a scalable - format. - - Note that you should recompile your sources if you designed a - custom cache class for the FT2 Cache subsystem, since the - changes performed are source, but not binary, compatible. - - -====================================================================== - -CHANGES BETWEEN 2.1.0 and 2.0.9 - - I. IMPORTANT BUG FIXES - - - The TrueType bytecode interpreter has been fixed to produce - _exactly_ the same output as FreeType 1.x. Previous differences - were due to slightly distinct fixed-point computation routines - used to perform dot products and vector length measurements. - - It seems that native TrueType hinting is _extremely_ sensitive - to rounding errors. The required vector computation routines - have been optimized and placed within the `ttinterp.c' file. - - - Fixed the parsing of accelerator tables in the PCF font driver. - - - Fixed the Type1 glyph loader routine used to compute the font's - maximum advance width. - - - II. NEW FEATURES - - - The `configure' script used on Unix systems has been modified to - check that GNU Make is being used to build the library. - Otherwise, it will display a message proposing to use the - GNUMAKE environment variable to name it. - - The Unix-specific file README.UNX has been modified accordingly. - - - III. MISCELLANEOUS - - - The FreeType License in `docs/FTL.TXT' has been updated to - include a proposed preferred disclaimer. If you are using - FreeType in your products, you are encouraged (but not mandated) - to use the following text in your documentation: - - """ - Portions of this software are copyright © 1996-2002 The - FreeType Project (www.freetype.org). All rights reserved. - """ - - - The default size of the render pool has been reduced to 16kByte. - This shouldn't result in any noticeable performance penalty, - unless you are using the engine as-is to render very large and - complex glyphs. - - - The FreeType 2 redesign has begun. More information can be - found at this URL: - - http://www.freetype.org/freetype2/redesign.html - - The following internal changes have been performed within the - sources of this release: - - - Many internal types have been renamed to increase - consistency. The following should be true, except for - public types: - - * All structure types have a name ending in `Rec' (short - for `record'). - - * A pointer-to-structure type has the same name as the - structure, _without_ the `Rec' suffix. - - Example: - - typedef struct FooRec_ - { - ... - - } FooRec, *Foo; - - - Many internal macros have been renamed to increase - consistency. The following should be true: - - * All macros have a name beginning with `FT_'. This - required a few changes like - - ALLOC => FT_ALLOC - FREE => FT_FREE - REALLOC => FT_REALLOC - - * All macros are completely UPPERCASE. This required a - few changes like: - - READ_Short => FT_READ_SHORT - NEXT_Short => FT_NEXT_SHORT - GET_ULongLE => FT_GET_ULONG_LE - MEM_Set => FT_MEM_SET - MEM_Copy => FT_MEM_COPY - etc. - - * Whenever possible, all macro names follow the - FT__ pattern. For example - - ACCESS_Frame => FT_FRAME_ENTER - FORGET_Frame => FT_FRAME_EXIT - EXTRACT_Frame => FT_FRAME_EXTRACT - RELEASE_Frame => FT_FRAME_RELEASE - - FILE_Pos => FT_STREAM_POS - FILE_Seek => FT_STREAM_SEEK - FILE_Read => FT_STREAM_READ - FILE_ReadAt => FT_STREAM_READ_AT - READ_Fields => FT_STREAM_READ_FIELDS - - - Many internal functions have been renamed to follow the - FT__ pattern. For example: - - FT_Seek_Stream => FT_Stream_Seek - FT_Read_Stream_At => FT_Stream_ReadAt - FT_Done_Stream => FT_Stream_Close - FT_New_Stream => FT_Stream_Open - FT_New_Memory_Stream => FT_Stream_OpenMemory - FT_Extract_Frame => FT_Stream_ExtractFrame - - Note that method names do not contain `_'. - - - The FT_ALLOC_ARRAY and FT_REALLOC_ARRAY have been replaced - with FT_NEW_ARRAY and FT_RENEW_ARRAY which do not take a - type as the fourth argument. Instead, the array element - type size is computed automatically from the type of the - target pointer used. - - - A new object class, FT_CMap, has been introduced. These - internal objects are used to model character maps. This - eases the support of additional charmap types within the - engine. - - - A new configuration file named `ftstdlib.h' has been added - to `include/freetype/config'. It is used to define aliases - for _every_ routine of the ISO C library that the font - engine uses. Each aliases has a `ft_' prefix - (e.g. `ft_strlen' is an alias for `strlen'). - - This is used to ease the porting of FreeType 2 to exotic - runtime environments where the ISO C Library isn't available - (e.g. XFree86 extension modules). - - More details are available in the `ChangeLog' file. - - -====================================================================== - -CHANGES BETWEEN 2.0.9 and 2.0.8 - - I. IMPORTANT BUG FIXES - - - Certain fonts like `foxjump.ttf' contain broken name tables with - invalid entries and wild offsets. This caused FreeType to crash - when trying to load them. - - The SFNT `name' table loader has been fixed to be able to - support these strange fonts. - - Moreover, the code in charge of processing this table has been - changed to always favour Windows-formatted entries over other - ones. Hence, a font that works on Windows but not on the Mac - will load cleanly in FreeType and report accurate values for - Family & PostScript names. - - - The CID font driver has been fixed. It unfortunately returned a - Postscript Font name with a leading slash, as in - `/MunhwaGothic-Regular'. - - - FreeType 2 should now compile fine on AIX 4.3.3 as a shared - library. - - - A bug in the Postscript hinter has been found and fixed, - removing un-even stem widths at small pixel sizes (like 14-17). - - This improves the quality of a certain number of Postscript - fonts. - - - II. NEW FEATURES - - - A new function named `FT_Library_Version' has been added to - return the current library's major, minor, and patch version - numbers. This is important since the macros FREETYPE_MAJOR, - FREETYPE_MINOR, and FREETYPE_PATCH cannot be used when the - library is dynamically linked by a program. - - - Two new APIs have been added: `FT_Get_First_Char' and - `FT_Get_Next_Char'. - - Together, these can be used to iterate efficiently over the - currently selected charmap of a given face. Read the API - reference for more details. - - - III. MISCELLANEOUS - - - The FreeType sources are under heavy internal re-factoring. As - a consequence, we have created a branch named `STABLE' on the - CVS to hold all future releases/fixes in the 2.0.x family. - - The HEAD branch now contains the re-factored sources and - shouldn't be used for testing or packaging new releases. In - case you would like to access the 2.0.9 sources from our CVS - repository, use the tag `VER-2-0-9'. - - -====================================================================== - -CHANGES BETWEEN 2.0.8 and 2.0.7 - - I. IMPORTANT BUG FIXES - - - There was a small but nasty bug in `freetype-config.in' which - caused the `freetype-config' script to fail on Unix. - - This didn't prevent the installation of the library or even its - execution, but caused problems when trying to compile many Unix - packages that depend on it. - - - Some TrueType or OpenType fonts embedded in PDF documents do not - have a 'cmap', 'post' and 'name' as is required by the - specification. FreeType no longer refuses to load such fonts. - - - Various fixes to the PCF font driver. - - -====================================================================== - -CHANGES BETWEEN 2.0.7 and 2.0.6 - - I. IMPORTANT BUG FIXES - - - Fixed two bugs in the Type 1 font driver. The first one - resulted in a memory leak in subtle cases. The other one caused - FreeType to crash when trying to load `.gsf' files (Ghostscript - so-called Postscript fonts). - - (This made _many_ KDE applications crash on certain systems. - FreeType _is_ becoming a critical system component on Linux :-) - - - Fixed a memory leak in the CFF font driver. - - - Fixed a memory leak in the PCF font driver. - - - Fixed the Visual C++ project file - `builds/win32/visualc/freetype.dsp' since it didn't include the - Postscript hinter component, causing errors at build time. - - - Fixed a small rendering bug in the anti-aliased renderer that - only occurred when trying to draw thin (less than 1 pixel) - strokes. - - - Fixed `builds/unix/freetype2.a4' which is used to generate a - valid `freetype2.m4' for use with autoconf. - - - Fixed the OpenVMS Makefiles. - - - II. MISCELLANEOUS - - - Added `configure' and `install' scripts to the top-level - directory. A GNU-style installation is thus now easily possible - with - - ./configure - make - make install - - -====================================================================== - -CHANGES BETWEEN 2.0.6 and 2.0.5 - - I. IMPORTANT BUG FIXES - - - It wasn't possible to load embedded bitmaps when the auto-hinter - was used. This is now fixed. - - - The TrueType font driver didn't load some composites properly - (the sub-glyphs were slightly shifted, and this was only - noticeable when using monochrome rendering). - - - Various fixes to the auto-hinter. They merely improve the - output of sans-serif fonts. Note that there are still problems - with serifed fonts and composites (accented characters). - - - All scalable font drivers erroneously returned un-fitted glyph - advances when hinting was requested. This created problems for - a number of layout applications. This is a very old bug that - got undetected mainly because most test/demo program perform - rounding explicitly or implicitly (through the cache). - - - `FT_Glyph_To_Bitmap' did erroneously modify the source glyph in - certain cases. - - - `glnames.py' still contained a bug that made FreeType return - invalid names for certain glyphs. - - - The library crashed when loading certain Type 1 fonts like - `sadn.pfb' (`Stalingrad Normal'), which appear to contain - pathetic font info dictionaries. - - - The TrueType glyph loader is now much more paranoid and checks - everything when loading a given glyph image. This was necessary - to avoid problems (crashes and/or memory overwrites) with broken - fonts that came from a really buggy automatic font converter. - - - II. IMPORTANT UPDATES AND NEW FEATURES - - - Important updates to the Mac-specific parts of the library. - - - The caching sub-system has been completely re-designed, and its - API has evolved (the old one is still supported for backward - compatibility). - - The documentation for it is not yet completed, sorry. For now, - you are encouraged to continue using the old API. However, the - ftview demo program in the ft2demos package has already been - updated to use the new caching functions. - - - A new charmap cache is provided too. See `FTC_CMapCache'. This - is useful to perform character code -> glyph index translations - quickly, without the need for an opened FT_Face. - - - A NEW POSTSCRIPT HINTER module has been added to support native - hints in the following formats: PostScript Type 1, PostScript - CID, and CFF/CEF. - - Please test! Note that the auto-hinter produces better results - for a number of badly-hinted fonts (mostly auto-generated ones) - though. - - - A memory debugger is now part of the standard FreeType sources. - To enable it, define FT_DEBUG_MEMORY in - , and recompile the library. - - Additionally, define the _environment_ variable FT_DEBUG_MEMORY - and run any program using FreeType. When the library is exited, - a summary of memory footprints and possible leaks will be - displayed. - - This works transparently with _any_ program that uses FreeType. - However, you will need a lot of memory to use this (allocated - blocks are never released to the heap to detect double deletes - easily). - - - III. MISCELLANEOUS - - - We are aware of subtle differences between the output of - FreeType versions 1 and 2 when it comes to monochrome - TrueType-hinted glyphs. These are most probably due to small - differences in the monochrome rasterizers and will be worked out - in an upcoming release. - - - We have decided to fork the sources in a `stable' branch, and an - `unstable' one, since FreeType is becoming a critical component - of many Unix systems. - - The next bug-fix releases of the library will be named 2.0.7, - 2.0.8, etc., while the `2.1' branch will contain a version of - the sources where we will start major reworking of the library's - internals, in order to produce FreeType 2.2.0 (or even 3.0) in a - more distant future. - - We also hope that this scheme will allow much more frequent - releases than in the past. - - -====================================================================== - -CHANGES BETWEEN 2.0.5 and 2.0.4 - - NOTE THAT 2.0.5 DOES NOT CONTAIN THE POSTSCRIPT HINTER. THIS MODULE - WILL BE PART OF THE NEXT RELEASE (EITHER 2.0.6 or 2.1) - - - Fixed a bug that made certain glyphs, like `Cacute', `cacute' and - `lslash' unavailable from Unicode charmaps of Postscript fonts. - This prevented the correct display of Polish text, for example. - - - The kerning table of Type 1 fonts was loaded by FreeType, when its - AFM file was attached to its face, but the - FT_FACE_FLAG_HAS_KERNING bit flags was not set correctly, - preventing FT_Get_Kerning to return meaningful values. - - - Improved SFNT (TrueType & OpenType) charmap support. Slightly - better performance, as well as support for the new formats defined - by the OpenType 1.3 specification (8, 10, and 12) - - - Fixed a serious typo in `src/base/ftcalc.c' which caused invalid - computations in certain rare cases, producing ugly artefacts. - - - The size of the EM square is computed with a more accurate - algorithm for Postscript fonts. The old one caused slight errors - with embedded fonts found in PDF documents. - - - Fixed a bug in the cache manager that prevented normal LRU - behaviour within the cache manager, causing unnecessary reloads - (for FT_Face and FT_Size objects only). - - - Added a new function named `FT_Get_Name_Index' to retrieve the - glyph index of a given glyph name, when found in a face. - - - Added a new function named `FT_Get_Postscript_Name' to retrieve - the `unique' Postscript font name of a given face. - - - Added a new public header size named FT_SIZES_H (or - ) providing new FT_Size-management functions: - FT_New_Size, FT_Activate_Size, FT_Done_Size. - - - Fixed a reallocation bug that generated a dangling pointer (and - possibly memory leaks) with Postscript fonts (in - src/psaux/psobjs.c). - - - Many fixes for 16-bit correctness. - - - Removed many pedantic compiler warnings from the sources. - - - Added an Amiga build directory in `builds/amiga'. - - -====================================================================== - -CHANGES BETWEEN 2.0.4 and 2.0.3 - - - Fixed a rather annoying bug that was introduced in 2.0.3. Namely, - the font transformation set through FT_Set_Transform was applied - twice to auto-hinted glyphs, resulting in incorrectly rotated text - output. - - - Fixed _many_ compiler warnings. FT2 should now compile cleanly - with Visual C++'s most pedantic warning level (/W4). It already - compiled fine with GCC and a few other compilers. - - - Fixed a bug that prevented the linear advance width of composite - TrueType glyphs to be correctly returned. - - - Fixed the Visual C++ project files located in - `builds/win32/visualc' (previous versions used older names of the - library). - - - Many 32-bit constants have an `L' appended to their value, in - order to improve the 16-bitness of the code. Someone is actually - trying to use FT2 on an Atari ST machine! - - - Updated the `builds/detect.mk' file in order to automatically - build FT2 on AIX systems. AIX uses `/usr/sbin/init' instead of - `/sbin/init' and wasn't previously detected as a Unix platform by - the FreeType build system. - - - Updated the Unix-specific portions of the build system (new - libtool version, etc.). - - - The SFNT kerning loader now ensures that the table is sorted - (since some problem fonts do not meet this requirement). - - -======================================================================= - -CHANGES BETWEEN 2.0.3 and 2.0.2 - - I. CHANGES TO THE MODULES / FONT DRIVERS - - - THE AUTO-HINTER HAS BEEN SLIGHTLY IMPROVED, in order to fix - several annoying artefacts, mainly: - - - Blue zone alignment of horizontal stems wasn't performed - correctly, resulting in artefacts like the `d' being placed - one pixel below the `b' in some fonts like Time New Roman. - - - Overshoot thresholding wasn't performed correctly, creating - unpleasant artefacts at large character pixel sizes. - - - Composite glyph loading has been simplified. This gets rid - of various artefacts where the components of a composite - glyphs were not correctly spaced. - - These are the last changes to the current auto-hinting module. - A new hinting sub-system is currently in the work in order to - support native hints in Type 1 / CFF / OpenType fonts, as well - as globally improve rendering. - - - The PCF driver has been fixed. It reported invalid glyph - dimensions for the fonts available on Solaris. - - - The Type 1, CID and CFF drivers have been modified to fix the - computation of the EM size. - - - The Type 1 driver has been fixed to avoid a dangerous bug that - crashed the library with non-conforming fonts (i.e. ones that do - not place the .notdef glyph at position 0). - - - The TrueType driver had a rather subtle bug (dangling pointer - when loading composite glyphs) that could crash the library in - rare occasions! - - - II. HIGH-LEVEL API CHANGES - - - The error code enumeration values have been changed. An error - value is decomposed in a generic error code, and a module - number. see for details. - - - A new public header file has been introduced, named - FT_TRIGONOMETRY_H (include/freetype/fttrig.h), providing - trigonometric functions to compute sines, cosines, arctangents, - etc. with 16.16 fixed precision. The implementation is based on - the CORDIC algorithm and is very fast while being sufficiently - accurate. - - - III. INTERNALS - - - Added BeOS-specific files in the old build sub-system. Note - that no changes were required to compile the library with Jam. - - - The configuration is now capable of automatically detecting - 64-bit integers on a set of predefined compilers (GCC, Visual - C++, Borland C++) and will use them by default. This provides a - small performance boost. - - - A small memory leak that happened when opening 0-sized files - (duh!) have been fixed. - - - Fixed bezier stack depth bug in the routines provided by the - FT_BBOX_H header file. Also fixed similar bugs in the - rasterizers. - - - The outline bounding box code has been rewritten to use direct - computations, instead of bezier sub-division, to compute the - exact bounding box of glyphs. This is slightly slower but more - accurate. - - - The build system has been improved and fixed, mainly to support - `make' on Windows 2000 correctly, avoid problems with `make - distclean' on non Unix systems, etc. - - - Hexadecimal constants have been suffixed with `U' to avoid - problems with certain compilers on 64-bit platforms. - - - A new directory named `src/tools' has been created. It contains - Python scripts and simple unit test programs used to develop the - library. - - - The DocMaker tool has been moved from `docs' to `src/tools' and - has been updated with the following: - - - Now accepts the `--title=XXXX' or `-t XXXX' option from the - command line to set the project's name in the generated API - reference. - - - Now accepts the `--output=DIR' or `-o DIR' option from the - command line to set the output directory for all generated - HTML files. - - - Now accepts the `--prefix=XXXX' or `-p XXX' option from the - command line to set the file prefix to use for all - generated HTML files. - - - Now generates the current time/data on each generated page - in order to distinguish between versions. - - DocMaker can be used with other projects now, not only FT2 - (e.g. MLib, FTLayout, etc.). - - -====================================================================== - -CHANGES BETWEEN 2.0.2 and 2.0.1 - - I. CHANGES TO THE MODULES / FONT DRIVERS - - - THE TRUETYPE BYTECODE INTERPRETER IS NOW TURNED OFF, in order to - avoid legal problems with the Apple patents. It seems that we - mistakenly turned this option on in previous releases of the - build. - - Note that if you want to use the bytecode interpreter in order - to get high-quality TrueType rendering, you will need to toggle - by hand the definition of the - TT_CONFIG_OPTION_BYTECODE_INTERPRETER macro in the file - `include/freetype/config/ftoption.h'. - - - The CFF driver has been improved by Tom Kacvinsky and Sander van - der Wal: - - * Support for `seac' emulation. - * Support for `dotsection'. - * Support for retrieving glyph names through - `FT_Get_Glyph_Name'. - - The first two items are necessary to correctly a large number of - Type 1 fonts converted to the CFF formats by Adobe Acrobat. - - - The Type 1 driver was also improved by Tom & others: - - * Better EM size computation. - * Better support for synthetic (transformed) fonts. - * The Type 1 driver returns the charstrings corresponding to - each glyph in the `glyph->control_data' field after a call to - `FT_Load_Glyph' (thanks Ha Shao). - - - Various other bugfixes, including the following: - - * Fixed a nasty memory leak in the Type 1 driver. - * The autohinter and the pcf driver used static writable data - when they shouldn't. - * Many casts were added to make the code more 64-bits safe. It - also now compiles on Windows XP 64-bits without warnings. - * Some incorrect writable statics were removed in the `autohint' - and `pcf' drivers. FreeType 2 now compiles on Epoc again. - - - II. CHANGES TO THE HIGH-LEVEL API - - - The library header files inclusion scheme has been changed. The - old scheme looked like: - - #include - #include - #include - #include - - Now you should use: - - #include - #include FT_FREETYPE_H - #include FT_GLYPH_H - #include FT_CACHE_H - #include FT_CACHE_IMAGE_H - - NOTE THAT THE OLD INCLUSION SCHEME WILL STILL WORK WITH THIS - RELEASE. HOWEVER, WE DO NOT GUARANTEE THAT THIS WILL STILL BE - TRUE IN THE NEXT ONE (A.K.A. FREETYPE 2.1). - - The file is used to define the header filename - macros. The complete and commented list of macros is available - in the API reference under the section name `Header File Macros' - in Chapter I. - - For more information, see section I of the following document: - - http://www.freetype.org/ - freetype2/docs/tutorial/step1.html - - or - - http://freetype.sourceforge.net/ - freetype2/docs/tutorial/step1.html - - - Many, many comments have been added to the public source file in - order to automatically generate the API Reference through the - `docmaker.py' Python script. - - The latter has been updated to support the grouping of sections - in chapters and better index sort. See: - - http://www.freetype.org/freetype2/docs/reference/ft2-toc.html - - - III. CHANGES TO THE BUILD PROCESS - - - If you are not building FreeType 2 with its own build system - (but with your own Makefiles or project files), you will need to - be aware that the build process has changed a little bit. - - You don't need to put the `src' directory in the include path - when compiling any FT2 component. Instead, simply put the - component's directory in the current include path. - - So, if you were doing something like: - - cc -c -Iinclude -Isrc src/base/ftbase.c - - change the line to: - - cc -c -Iinclude -Isrc/base src/base/ftbase.c - - If you were doing something like: - - cd src/base - cc -c -I../../include -I.. ftbase.c - - change it to: - - cd src/base - cc -c -I../../include ftbase.c - - -====================================================================== - -CHANGES BETWEEN 2.0.1 and 2.0 - - 2.0.1 introduces a few changes: - - - Fixed many bugs related to the support of CFF / OpenType fonts. - These formats are now much better supported though there is - still work planned to deal with charset tables and PDF-embedded - CFF files that use the old `seac' command. - - - The library could not be compiled in debug mode with a very - small number of C compilers whose pre-processors didn't - implement the `##' directive correctly (i.e. per se the ANSI C - specification!) An elegant fix was found. - - - Added support for the free Borland command-line C++ Builder - compiler. Use `make setup bcc32'. Also fixed a few source - lines that generated new warnings with BCC32. - - - Fixed a bug in FT_Outline_Get_BBox when computing the extrema of - a conic Bezier arc. - - - Updated the INSTALL file to add IDE compilation. - - - Other minor bug fixes, from invalid Type 1 style flags to - correct support of synthetic (obliqued) fonts in the - auto-hinter, better support for embedded bitmaps in a SFNT font. - - - Fixed some problems with `freetype-config'. - - Finally, the `standard' scheme for including FreeType headers is now - gradually changing, but this will be explained in a later release - (probably 2.0.2). - - And very special thanks to Tom Kacvinsky and YAMANO-UCHI Hidetoshi - for their contributions! - - -====================================================================== - -CHANGES BETWEEN beta8 and 2.0 - - - Changed the default installation path for public headers from - `include/freetype' to `include/freetype2'. - - Also added a new `freetype-config' that is automatically generated - and installed on Unix and Cygwin systems. The script itself is - used to retrieve the current install path, C compilation flags as - well as linker flags. - - - Fixed several small bugs: - - * Incorrect max advance width for fixed-pitch Type 1 fonts. - * Incorrect glyph names for certain TrueType fonts. - * The glyph advance was not copied when FT_Glyph_To_Bitmap was - called. - * The linearHoriAdvance and linearVertAdvance fields were not - correctly returned for glyphs processed by the auto-hinter. - * `type1z' renamed back to `type1'; the old `type1' module has - been removed. - - - Revamped the build system to make it a lot more generic. This - will allow us to re-use nearly un-modified in lots of other - projects (including FreeType Layout). - - - Changed `cid' to use `psaux' too. - - - Added the cache sub-system. See as well as - the sources in `src/cache'. Note that it compiles but is still - untested for now. - - - Updated `docs/docmaker.py', a draft API reference is available at - http://www.freetype.org/ft2api.html. - - - Changed `type1' to use `psaux'. - - - Created a new module named `psaux' to hold the Type 1 & Type 2 - parsing routines. It should be used by `type1', `cid', and `cff' - in the future. - - - Fixed an important bug in `FT_Glyph_Get_CBox'. - - - Fixed some compiler warnings that happened since the TrueType - bytecode decoder was deactivated by default. - - - Fixed two memory leaks: - - * The memory manager (16 bytes) isn't released in - FT_Done_FreeType! - * Using custom input streams, the copy of the original stream was - never released. - - - Fixed the auto-hinter by performing automatic computation of the - `filling direction' of each glyph. This is done through a simple - and fast approximation, and seems to work (problems spotted by - Werner though). The Arphic fonts are a lot nicer though there are - still a lot of things to do to handle Asian fonts correctly. - - -====================================================================== - -BETA-8 (RELEASE CANDIDATE) CHANGES - - - Deactivated the TrueType bytecode interpreter by default. - - - Deactivated the `src/type1' font driver. Now `src/type1z' is used - by default. - - - Updates to the build system. We now compile the library correctly - under Unix system through `configure' which is automatically - called on the first `make' invocation. - - - Added the auto-hinting module! Fixing some bugs here and there. - - - Found some bugs in the composite loader (seac) of the Type1-based - font drivers. - - - Renamed the directory `freetype2/config' to `freetype2/builds' and - updated all relevant files. - - - Found a memory leak in the `type1' driver. - - - Incorporated Tom's patches to support flex operators correctly in - OpenType/CFF fonts. Now all I need is to support pure CFF and CEF - fonts to be done with this driver :-) - - - Added the Windows FNT/FON driver in `src/winfonts'. For now, it - always `simulates' a Unicode charmap, so it shouldn't be - considered completed right now. - - It is there to be more a proof of concept than anything else - anyway. The driver is a single C source file, that compiles to 3 - Kb of code. - - I'm still working on the PCF/BDF drivers, but I'm too lazy to - finish them now. - - - CHANGES TO THE HIGH-LEVEL API - - * FT_Get_Kerning has a new parameter that allows you to select the - coordinates of the kerning vector (font units, scaled, scaled + - grid-fitted). - * The outline functions are now in and not - part of anymore. - * now contains declarations for - FT_New_Library, FT_Done_Library, FT_Add_Default_Modules. - * The so-called convenience functions have moved from `ftoutln.c' - to `ftglyph.c', and are thus available with this optional - component of the library. They are declared in - now. - * Anti-aliased rendering is now the default for FT_Render_Glyph - (i.e. corresponds to render_mode == 0 == ft_render_mode_normal). - To generate a monochrome bitmap, use ft_render_mode_mono, or the - FT_LOAD_MONOCHROME flag in FT_Load_Glyph/FT_Load_Char. - FT_LOAD_ANTI_ALIAS is still defined, but values to 0. - * now include , - solving a few headaches :-) - * The type FT_GlyphSlotRec has now a `library' field. - - - CHANGES TO THE `ftglyph.h' API - - This API has been severely modified in order to make it simpler, - clearer, and more efficient. It certainly now looks like a real - `glyph factory' object, and allows client applications to manage - (i.e. transform, bbox and render) glyph images without ever - knowing their original format. - - - Added support for CID-keyed fonts to the CFF driver. Maybe - support for pure CFF + CEF fonts should come in? - - - Cleaned up source code in order to avoid two functions with the - same name. Also changed the names of the files in `type1z' from - `t1XXXX' to `z1XXXX' in order to avoid any conflicts. - - `make multi' now works well :-) - - Also removed the use of `cidafm' for now, even if the source files - are still there. This functionality will certainly go into a - specific module. - - - ADDED SUPPORT FOR THE AUTO-HINTER - - It works :-) I have a demo program which simply is a copy of - `ftview' that does a `FT_Add_Module(library, - &autohinter_module_class)' after library initialization, and Type - 1 & OpenType/CFF fonts are now hinted. - - CID fonts are not hinted, as they include no charmap and the - auto-hinter doesn't include `generic' global metrics computations - yet. - - Now, I need to release this thing to the FreeType 2 source. - - - CHANGES TO THE RENDERER MODULES - - The monochrome and smooth renderers are now in two distinct - directories, namely `src/raster1' and `src/smooth'. Note that the - old `src/renderer' is now gone. - - I ditched the 5-gray-levels renderers. Basically, it involved a - simple #define toggle in 'src/raster1/ftraster.c'. - - FT_Render_Glyph, FT_Outline_Render & FT_Outline_Get_Bitmap now - select the best renderer available, depending on render mode. If - the current renderer for a given glyph image format isn't capable - of supporting the render mode, another one will be found in the - library's list. This means that client applications do not need - to switch or set the renderers themselves (as in the latest - change), they'll get what they want automatically. At last. - - Changed the demo programs accordingly. - - - MAJOR INTERNAL REDESIGN: - - A lot of internal modifications have been performed lately on the - source in order to provide the following enhancements: - - * More generic module support: - - The FT_Module type is now defined to represent a handle to a - given module. The file contains the - FT_Module_Class definition, as well as the module-loading public - API. - - The FT_Driver type is still defined, and still represents a - pointer to a font driver. Note that FT_Add_Driver is replaced - by FT_Add_Module, FT_Get_Driver by FT_Get_Module, etc. - - * Support for generic glyph image types: - - The FT_Renderer type is a pointer to a module used to perform - various operations on glyph image. - - Each renderer is capable of handling images in a single format - (e.g. ft_glyph_format_outline). Its functions are used to: - - - transform an glyph image - - render a glyph image into a bitmap - - return the control box (dimensions) of a given glyph image - - The scan converters `ftraster.c' and `ftgrays.c' have been moved - to the new directory `src/renderer', and are used to provide two - default renderer modules. - - One corresponds to the `standard' scan-converter, the other to - the `smooth' one. - - he current renderer can be set through the new function - FT_Set_Renderer. - - The old raster-related function FT_Set_Raster, FT_Get_Raster and - FT_Set_Raster_Mode have now disappeared, in favor of the new: - - FT_Get_Renderer - FT_Set_Renderer - - See the file for more details. - - These changes were necessary to properly support different - scalable formats in the future, like bi-color glyphs, etc. - - * Glyph loader object: - - A new internal object, called a 'glyph loader' has been - introduced in the base layer. It is used by all scalable format - font drivers to load glyphs and composites. - - This object has been created to reduce the code size of each - driver, as each one of them basically re-implemented its - functionality. - - See and the FT_GlyphLoader type for - more information. - - * FT_GlyphSlot has new fields: - - In order to support extended features (see below), the - FT_GlyphSlot structure has a few new fields: - - linearHoriAdvance: - - This field gives the linearly scaled (i.e. scaled but - unhinted) advance width for the glyph, expressed as a 16.16 - fixed pixel value. This is useful to perform WYSIWYG text. - - linearVertAdvance: - This field gives the linearly scaled advance height for the - glyph (relevant in vertical glyph layouts only). This is - useful to perform WYSIWYG text. - - Note that the two above field replace the removed `metrics2' - field in the glyph slot. - - advance: - This field is a vector that gives the transformed advance for - the glyph. By default, it corresponds to the advance width, - unless FT_LOAD_VERTICAL_LAYOUT was specified when calling - FT_Load_Glyph or FT_Load_Char. - - bitmap_left: - This field gives the distance in integer pixels from the - current pen position to the left-most pixel of a glyph image - IF IT IS A BITMAP. It is only valid when the `format' field - is set to `ft_glyph_format_bitmap', for example, after calling - the new function FT_Render_Glyph. - - bitmap_top: - This field gives the distance in integer pixels from the - current pen position (located on the baseline) to the top-most - pixel of the glyph image IF IT IS A BITMAP. Positive values - correspond to upwards Y. - - loader: - This is a new private field for the glyph slot. Client - applications should not touch it. - - - * Support for transforms and direct rendering in FT_Load_Glyph: - - Most of the functionality found in has been - moved to the core library. Hence, the following: - - - A transform can be specified for a face through - FT_Set_Transform. this transform is applied by FT_Load_Glyph - to scalable glyph images (i.e. NOT TO BITMAPS) before the - function returns, unless the bit flag FT_LOAD_IGNORE_TRANSFORM - was set in the load flags. - - - Once a glyph image has been loaded, it can be directly - converted to a bitmap by using the new FT_Render_Glyph - function. Note that this function takes the glyph image from - the glyph slot, and converts it to a bitmap whose properties - are returned in `face.glyph.bitmap', `face.glyph.bitmap_left' - and `face.glyph.bitmap_top'. The original native image might - be lost after the conversion. - - - When using the new bit flag FT_LOAD_RENDER, the FT_Load_Glyph - and FT_Load_Char functions will call FT_Render_Glyph - automatically when needed. - - - Reformatted all modules source code in order to get rid of the - basic data types redifinitions (i.e. `TT_Int' instead of `FT_Int', - `T1_Fixed' instead of `FT_Fixed'). Hence the format-specific - prefixes like `TT_', `T1_', `T2_' and `CID_' are only used for - relevant structures. - - -====================================================================== - -OLD CHANGES FOR BETA 7 - - - bug-fixed the OpenType/CFF parser. It now loads and displays my - two fonts nicely, but I'm pretty certain that more testing is - needed :-) - - - fixed the crummy Type 1 hinter, it now handles accented characters - correctly (well, the accent is not always well placed, but that's - another problem..) - - - added the CID-keyed Type 1 driver in `src/cid'. Works pretty well - for only 13 Kb of code ;-) Doesn't read AFM files though, nor the - really useful CMAP files.. - - - fixed two bugs in the smooth renderer (src/base/ftgrays.c). - Thanks to Boris Letocha for spotting them and providing a fix. - - - fixed potential `divide by zero' bugs in ftcalc.c. - - - added source code for the OpenType/CFF driver (still incomplete - though..) - - - modified the SFNT driver slightly to perform more robust header - checks in TT_Load_SFNT_Header. This prevents certain font files - (e.g. some Type 1 Multiple Masters) from being incorrectly - `recognized' as TrueType font files.. - - - moved a lot of stuff from the TrueType driver to the SFNT module, - this allows greater code re-use between font drivers - (e.g. TrueType, OpenType, Compact-TrueType, etc..) - - - added a tiny segment cache to the SFNT Charmap 4 decoder, in order - to minimally speed it up.. - - - added support for Multiple Master fonts in `type1z'. There is - also a new file named which defines functions to - manage them from client applications. - - The new file `src/base/ftmm.c' is also optional to the engine.. - - - various formatting changes (e.g. EXPORT_DEF -> FT_EXPORT_DEF) + - small bug fixes in FT_Load_Glyph, the `type1' driver, etc.. - - - a minor fix to the Type 1 driver to let them apply the font matrix - correctly (used for many oblique fonts..) - - - some fixes for 64-bit systems (mainly changing some FT_TRACE calls - to use %p instead of %lx). Thanks to Karl Robillard. - - - fixed some bugs in the sbit loader (src/base/sfnt/ttsbit.c) + - added a new flag, FT_LOAD_CROP_BITMAP to query that bitmaps be - cropped when loaded from a file (maybe I should move the bitmap - cropper to the base layer ??). - - - changed the default number of gray levels of the smooth renderer - to 256 (instead of the previous 128). Of course, the human eye - can't see any difference ;-) - - - removed TT_MAX_SUBGLYPHS, there is no static limit on the number - of subglyphs in a TrueType font now.. - - -====================================================================== - -OLD CHANGES 16 May 2000 - - - tagged `BETA-6' in the CVS tree. This one is a serious release - candidate even though it doesn't incorporate the auto-hinter yet.. - - - various obsolete files were removed, and copyright header updated - - - finally updated the standard raster to fix the monochrome - rendering bug + re-enable support for 5-gray levels anti-aliasing - (suck, suck..) - - - created new header files, and modified sources accordingly: - - - - simple FreeType types, without the API - - - definition of memory-management macros - - - added the `DSIG' (OpenType Digital Signature) tag to - - - - light update/cleaning of the build system + changes to the sources - in order to get rid of _all_ compiler warnings with three - compilers, i.e: - - gcc with `-ansi -pedantic -Wall -W', Visual C++ with `/W3 /WX' and - LCC - - IMPORTANT NOTE FOR WIN32-LCC USERS: - | - | It seems the C pre-processor that comes with LCC is broken, it - | doesn't recognize the ANSI standard directives # and ## - | correctly when one of the argument is a macro. Also, - | something like: - | - | #define F(x) print##x - | - | F(("hello")) - | - | will get incorrectly translated to: - | - | print "hello") - | - | by its pre-processor. For this reason, you simply cannot build - | FreeType 2 in debug mode with this compiler.. - - - yet another massive grunt work. I've changed the definition of - the EXPORT_DEF, EXPORT_FUNC, BASE_DEF & BASE_FUNC macros. These - now take an argument, which is the function's return value type. - - This is necessary to compile FreeType as a DLL on Windows and - OS/2. Depending on the compiler used, a compiler-specific keyword - like __export or __system must be placed before (VisualC++) or - after (BorlandC++) the type.. - - Of course, this needed a lot of changes throughout the source code - to make it compile again... All cleaned up now, apparently.. - - Note also that there is a new EXPORT_VAR macro defined to allow - the _declaration_ of an exportable public (constant) - variable. This is the case of the raster interfaces (see - ftraster.h and ftgrays.h), as well as each module's interface (see - sfdriver.h, psdriver.h, etc..) - - - new feature: it is now possible to pass extra parameters to font - drivers when creating a new face object. For now, - this capability is unused. It could however prove to - be useful in a near future.. - - the FT_Open_Args structure was changes, as well as the internal - driver interface (the specific `init_face' module function has - now a different signature). - - - updated the tutorial (not finished though). - - - updated the top-level BUILD document - - - fixed a potential memory leak that could occur when loading - embedded bitmaps. - - - added the declaration of FT_New_Memory_Face in - , as it was missing from the public header - (the implementation was already in `ftobjs.c'). - - - the file has been seriously updated in order - to allow the automatic generation of error message tables. See - the comments within it for more information. - - - major directory hierarchy re-organisation. This was done for two - things: - - * first, to ease the `manual' compilation of the library by - requiring at lot less include paths :-) - - * second, to allow external programs to effectively access - internal data fields. For example, this can be extremely - useful if someone wants to write a font producer or a font - manager on top of FreeType. - - Basically, you should now use the 'freetype/' prefix for header - inclusion, as in: - - #include - #include - - Some new include sub-directories are available: - - a. the `freetype/config' directory, contains two files used to - configure the build of the library. Client applications - should not need to look at these normally, but they can if - they want. - - #include - #include - - b. the `freetype/internal' directory, contains header files that - describes library internals. These are the header files that - were previously found in the `src/base' and `src/shared' - directories. - - - As usual, the build system and the demos have been updated to - reflect the change.. - - Here's a layout of the new directory hierarchy: - - TOP_DIR - include/ - freetype/ - freetype.h - ... - config/ - ftoption.h - ftconfig.h - ftmodule.h - - internal/ - ftobjs.h - ftstream.h - ftcalc.h - ... - - src/ - base/ - ... - - sfnt/ - psnames/ - truetype/ - type1/ - type1z/ - - - Compiling a module is now much easier, for example, the following - should work when in the TOP_DIR directory on an ANSI build: - - gcc -c -I./include -I./src/base src/base/ftbase.c - gcc -c -I./include -I./src/sfnt src/sfnt/sfnt.c - etc.. - - (of course, using -Iconfig/ if you provide system-specific - configuration files). - - - updated the structure of FT_Outline_Funcs in order to allow direct - coordinate scaling within the outline decomposition routine (this - is important for virtual `on' points with TrueType outlines) + - updates to the rasters to support this.. - - - updated the OS/2 table loading code in `src/sfnt/ttload.c' in - order to support version 2 of the table (see OpenType 1.2 spec) - - - created `include/tttables.h' and `include/t1tables.h' to allow - client applications to access some of the SFNT and T1 tables of a - face with a procedural interface (see `FT_Get_Sfnt_Table') + - updates to internal source files to reflect the change.. - - - some cleanups in the source code to get rid of warnings when - compiling with the `-Wall -W -ansi -pedantic' options in gcc. - - - debugged and moved the smooth renderer to `src/base/ftgrays.c' and - its header to `include/ftgrays.h' - - - updated TT_MAX_SUBGLYPHS to 96 as some CJK fonts have composites - with up to 80 sub-glyphs !! Thanks to Werner - - -====================================================================== - -OLD CHANGES - 14-apr-2000 - - - fixed a bug in the TrueType glyph loader that prevented the - correct loading of some CJK glyphs in mingli.ttf - - - improved the standard Type 1 hinter in `src/type1' - - - fixed two bugs in the experimental Type 1 driver in `src/type1z' - to handle the new XFree86 4.0 fonts (and a few other ones..) - - - the smooth renderer is now complete and supports sub-banding to - render large glyphs at high speed. However, it is still located - in `demos/src/ftgrays.c' and should move to the library itself in - the next beta. NOTE: The smooth renderer doesn't compile in - stand-alone mode anymore, but this should be fixed RSN.. - - - introduced convenience functions to more easily deal with glyph - images, see `include/ftglyph.h' for more details, as well as the - new demo program named `demos/src/ftstring.c' that demonstrates - its use - - - implemented FT_LOAD_NO_RECURSE in both the TrueType and Type 1 - drivers (this is required by the auto-hinter to improve its - results). - - - changed the raster interface, in order to allow client - applications to provide their own span-drawing callbacks. - However, only the smooth renderer supports this. See - `FT_Raster_Params' in the file `include/ftimage.h'. - - - fixed a small bug in FT_MulFix that caused incorrect transform - computation! - - - Note: The tutorial is out-of-date. - - -====================================================================== - -OLD CHANGES - 12-mar-2000 - - - changed the layout of configuration files : now, all ANSI - configuration files are located in - `freetype2/config'. System-specific over-rides can be placed in - `freetype2/config/'. - - - moved all configuration macros to `config/ftoption.h' - - - improvements in the Type 1 driver with AFM support - - - changed the fields in the FT_Outline structure : the old `flags' - array is re-named `tags', while all ancient flags are encoded into - a single unsigned int named `flags'. - - - introduced new flags in FT_Outline.flags (see - ft_outline_.... enums in `ftimage.h'). - - - changed outline functions to `FT_Outline_' syntax - - - added a smooth anti-alias renderer to the demonstration programs - - - added Mac graphics driver (thanks Just) - - - FT_Open_Face changed in order to received a pointer to a - FT_Open_Args descriptor.. - - - various cleanups, a few more API functions implemented (see - FT_Attach_File) - - - updated some docs - - -====================================================================== - -OLD CHANGES - 22-feb-2000 - - - introduced the `psnames' module. It is used to: - - o convert a Postscript glyph name into the equivalent Unicode - character code (used by the Type 1 driver(s) to synthesize on - the fly a Unicode charmap). - - o provide an interface to retrieve the Postscript names of the - Macintosh, Adobe Standard & Adobe Expert character codes. - (the Macintosh names are used by the SFNT-module postscript - names support routines, while the other two tables are used by - the Type 1 driver(s)). - - - introduced the `type1z' alternate Type 1 driver. This is a (still - experimental) driver for the Type 1 format that will ultimately - replace the one in `src/type1'. It uses pattern matching to load - data from the font, instead of a finite state analyzer. It works - much better than the `old' driver with `broken' fonts. It is also - much smaller (under 15 Kb). - - - the Type 1 drivers (both in `src/type1' and `src/type1z') are - nearly complete. They both provide automatic Unicode charmap - synthesis through the `psnames' module. No re-encoding vector is - needed. (note that they still leak memory due to some code - missing, and I'm getting lazy). - - Trivial AFM support has been added to read kerning information but - wasn't exactly tested as it should ;-) - - - The TrueType glyph loader has been seriously rewritten (see the - file `src/truetype/ttgload.c'. It is now much, much simpler as - well as easier to read, maintain and understand :-) Preliminary - versions introduced a memory leak that has been reported by Jack - Davis, and is now fixed.. - - - introduced the new `ft_glyph_format_plotter', used to represent - stroked outlines like Windows `Vector' fonts, and certain Type 1 - fonts like `Hershey'. The corresponding raster will be written - soon. - - - FT_New_Memory_Face is gone. Likewise, FT_Open_Face has a new - interface that uses a structure to describe the input stream, the - driver (if required), etc.. - - -TODO - - - Write FT_Get_Glyph_Bitmap and FT_Load_Glyph_Bitmap - - - Add a function like FT_Load_Character(face, char_code, load_flags) - that would really embed a call to FT_Get_Char_Index then - FT_Load_Glyph to ease developer's work. - - - Update the tutorial! - - - consider adding support for Multiple Master fonts in the Type 1 - drivers. - - - Test the AFM routines of the Type 1 drivers to check that kerning - information is returned correctly. - - - write a decent auto-gridding component !! We need this to release - FreeType 2.0 gold ! - - -less urgent needs: - - - add a CFF/Type2 driver - - add a BDF driver - - add a FNT/PCF/HBF driver - - add a Speedo driver from the X11 sources - - -====================================================================== - -OLDER CHANGES - 27-jan-2000 - - - updated the `sfnt' module interface to allow several SFNT-based - drivers to co-exist peacefully - - - updated the `T1_Face' type to better separate Postscript font - content from the rest of the FT_Face structure. Might be used - later by the CFF/Type2 driver.. - - - added an experimental replacement Type 1 driver featuring advanced - (and speedy) pattern matching to retrieve the data from postscript - fonts. - - - very minor changes in the implementation of FT_Set_Char_Size and - FT_Set_Pixel_Sizes (they now implement default to lighten the font - driver's code). - - -====================================================================== - -OLD MESSAGE - -This file summarizes the changes that occurred since the last `beta' -of FreeType 2. Because the list is important, it has been divided into -separate sections: - -Table Of Contents: - - I High-Level Interface (easier !) - II Directory Structure - III Glyph Image Formats - IV Build System - V Portability - VI Font Drivers - - ----------------------------------------------------------------------- - -High-Level Interface: - - The high-level API has been considerably simplified. Here is how: - - - resource objects have disappeared. this means that face objects - can now be created with a single function call (see FT_New_Face - and FT_Open_Face) - - - when calling either FT_New_Face & FT_Open_Face, a size object - and a glyph slot object are automatically created for the face, - and can be accessed through `face->glyph' and `face->size' if - one really needs to. In most cases, there's no need to call - FT_New_Size or FT_New_Glyph. - - - similarly, FT_Load_Glyph now only takes a `face' argument - (instead of a glyph slot and a size). Also, its `result' - parameter is gone, as the glyph image type is returned in the - field `face->glyph.format' - - - the list of available charmaps is directly accessible through - `face->charmaps', counting `face->num_charmaps' elements. Each - charmap has an 'encoding' field which specifies which known - encoding it deals with. Valid values are, for example: - - ft_encoding_unicode (for ASCII, Latin-1 and Unicode) - ft_encoding_apple_roman - ft_encoding_sjis - ft_encoding_adobe_standard - ft_encoding_adobe_expert - - other values may be added in the future. Each charmap still - holds its `platform_id' and `encoding_id' values in case the - encoding is too exotic for the current library - - ----------------------------------------------------------------------- - -Directory Structure: - - Should seem obvious to most of you: - - freetype/ - config/ -- configuration sub-makefiles - ansi/ - unix/ -- platform-specific configuration files - win32/ - os2/ - msdos/ - - include/ -- public header files, those to be included - directly by client apps - - src/ -- sources of the library - base/ -- the base layer - sfnt/ -- the sfnt `driver' (see the drivers section - below) - truetype/ -- the truetype driver - type1/ -- the type1 driver - shared/ -- some header files shared between drivers - - demos/ -- demos/tools - - docs/ -- documentation (a bit empty for now) - - ----------------------------------------------------------------------- - -Glyph Image Formats: - - Drivers are now able to register new glyph image formats within the - library. For now, the base layer supports of course bitmaps and - vector outlines, but one could imagine something different like - colored bitmaps, bi-color vectors or whatever else (Metafonts anyone - ??). - - See the file `include/ftimage.h'. Note also that the type - FT_Raster_Map is gone, and is now replaced by FT_Bitmap, which - should encompass all known bitmap types. - - Each new image format must provide at least one `raster', i.e. a - module capable of transforming the glyph image into a bitmap. It's - also possible to change the default raster used for a given glyph - image format. - - The default outline scan-converter now uses 128 levels of grays by - default, which tends to smooth many things. Note that the demo - programs have been updated significantly in order to display these.. - - ----------------------------------------------------------------------- - -Build system: - - You still need GNU Make to build the library. The build system has - been very seriously re-vamped in order to provide things like : - - - automatic host platform detection (reverting to 'config/ansi' if - it is not detected, with pseudo-standard compilation flags) - - - the ability to compile from the Makefiles with very different and - exotic compilers. Note that linking the library can be difficult - for some platforms. - - For example, the file `config/win32/lcclib.bat' is invoked by the - build system to create the `.lib' file with LCC-Win32 because its - librarian has too many flaws to be invoked directly from the - Makefile. - - Here's how it works: - - - the first time you type `make', the build system runs a series of - sub-makefiles in order to detect your host platform. It then - dumps what it found, and creates a file called `config.mk' in the - current directory. This is a sub-Makefile used to define many - important Make variables used to build the library. - - - the second time, the build system detects the `config.mk' then use - it to build the library. All object files go into 'obj' by - default, as well as the library file, but this can easily be - changed. - - Note that you can run `make setup' to force another host platform - detection even if a `config.mk' is present in the current - directory. Another solution is simply to delete the file, then - re-run make. - - Finally, the default compiler for all platforms is gcc (for now, - this will hopefully changed in the future). You can however specify - a different compiler by specifying it after the 'setup' target as - in: - - gnumake setup lcc on Win32 to use the LCC compiler - gnumake setup visualc on Win32 to use Visual C++ - - See the file `config//detect.mk' for a list of supported - compilers for your platforms. - - It should be relatively easy to write new detection rules files and - config.mk.. - - Finally, to build the demo programs, go to `demos' and launch GNU - Make, it will use the `config.mk' in the top directory to build the - test programs.. - - ----------------------------------------------------------------------- - -Portability: - - In the previous beta, a single FT_System object was used to - encompass all low-level operations like thread synchronisation, - memory management and i/o access. This has been greatly simplified: - - - thread synchronisation has been dropped, for the simple reason - that the library is already re-entrant, and that if you really - need two threads accessing the same FT_Library, you should - really synchronize access to it yourself with a simple mutex. - - - memory management is performed through a very simple object - called `FT_Memory', which really is a table containing a table - of pointers to functions like malloc, realloc and free as well - as some user data (closure). - - - resources have disappeared (they created more problems than they - solved), and i/o management have been simplified greatly as a - result. Streams are defined through FT_Stream objects, which - can be either memory-based or disk-based. - - Note that each face has its own stream, which is closed only - when the face object is destroyed. Hence, a function like - TT_Flush_Face in 1.x cannot be directly supported. However, if - you really need something like this, you can easily tailor your - own streams to achieve the same feature at a lower level (and - use FT_Open_Face instead of FT_New_Face to create the face). - - See the file `include/ftsystem.h' for more details, as well as the - implementations found in `config/unix' and `config/ansi'. - - ----------------------------------------------------------------------- - -Font Drivers: - - The Font Driver interface has been modified in order to support - extensions & versioning. - - - The list of the font drivers that are statically linked to the - library at compile time is managed through a new configuration file - called `config//ftmodule.h'. - - This file is autogenerated when invoking `make modules'. This - target will parse all sub-directories of 'src', looking for a - `module.mk' rules file, used to describe the driver to the build - system. - - Hence, one should call `make modules' each time a font driver is - added or removed from the `src' directory. - - Finally, this version provides a `pseudo-driver' in `src/sfnt'. - This driver doesn't support font files directly, but provides - services used by all TrueType-like font drivers. Hence, its code is - shared between the TrueType & OpenType font formats, and possibly - more formats to come if we're lucky.. - - ----------------------------------------------------------------------- - -Extensions support: - - The extensions support is inspired by the one found in 1.x. - - Now, each font driver has its own `extension registry', which lists - which extensions are available for the font faces managed by the - driver. - - Extension ids are now strings, rather than 4-byte tags, as this is - usually more readable. - - Each extension has: - - some data, associated to each face object - - an interface (table of function pointers) - - An extension that is format-specific should simply register itself - to the correct font driver. Here is some example code: - - // Registering an extensions - // - FT_Error FT_Init_XXXX_Extension( FT_Library library ) - { - FT_DriverInterface* tt_driver; - - driver = FT_Get_Driver( library, "truetype" ); - if (!driver) return FT_Err_Unimplemented_Feature; - - return FT_Register_Extension( driver, &extension_class ); - } - - - // Implementing the extensions - // - FT_Error FT_Proceed_Extension_XXX( FT_Face face ) - { - FT_XXX_Extension ext; - FT_XXX_Extension_Interface ext_interface; - - ext = FT_Get_Extension( face, "extensionid", &ext_interface ); - if (!ext) return error; - - return ext_interface->do_it(ext); - } - ------------------------------------------------------------------------- - -Copyright 2000-2012 by -David Turner, Robert Wilhelm, and Werner Lemberg. - -This file is part of the FreeType project, and may only be used, -modified, and distributed under the terms of the FreeType project -license, LICENSE.TXT. By continuing to use, modify, or distribute this -file you indicate that you have read the license and understand and -accept it fully. - - -Local Variables: -version-control: never -coding: utf-8 -End: - ---- end of CHANGES --- diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/CUSTOMIZE b/gtk+-mingw/share/doc/freetype-2.4.10/CUSTOMIZE deleted file mode 100644 index 7d7d474..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/CUSTOMIZE +++ /dev/null @@ -1,150 +0,0 @@ -How to customize the compilation of the library -=============================================== - - FreeType is highly customizable to fit various needs, and this - document describes how it is possible to select options and - components at compilation time. - - -I. Configuration macros - - The file found in `include/freetype/config/ftoption.h' contains a - list of commented configuration macros that can be toggled by - developers to indicate which features should be active while - building the library. - - These options range from debug level to availability of certain - features, like native TrueType hinting through a bytecode - interpreter. - - We invite you to read this file for more information. You can - change the file's content to suit your needs, or override it with - one of the techniques described below. - - -II. Modules list - - If you use GNU make please edit the top-level file `modules.cfg'. - It contains a list of available FreeType modules and extensions to - be compiled. Change it to suit your own preferences. Be aware that - certain modules depend on others, as described in the file. GNU - make uses `modules.cfg' to generate `ftmodule.h' (in the object - directory). - - If you don't use GNU make you have to manually edit the file - `include/freetype/config/ftmodule.h' (which is *not* used with if - compiled with GNU make) to add or remove the drivers and components - you want to compile into the library. See `INSTALL.ANY' for more - information. - - -III. System interface - - FreeType's default interface to the system (i.e., the parts that - deal with memory management and i/o streams) is located in - `src/base/ftsystem.c'. - - The current implementation uses standard C library calls to manage - memory and to read font files. It is however possible to write - custom implementations to suit specific systems. - - To tell the GNU Make-based build system to use a custom system - interface, you have to define the environment variable FTSYS_SRC to - point to the relevant implementation: - - on Unix: - - ./configure - export FTSYS_SRC=foo/my_ftsystem.c - make - make install - - on Windows: - - make setup - set FTSYS_SRC=foo/my_ftsystem.c - make - - -IV. Overriding default configuration and module headers - - It is possible to override the default configuration and module - headers without changing the original files. There are three ways - to do that: - - - 1. With GNU make - - [This is actually a combination of method 2 and 3.] - - Just put your custom `ftoption.h' file into the objects directory - (normally `/objs'), which GNU make prefers over the - standard location. No action is needed for `ftmodule.h' because - it is generated automatically in the objects directory. - - - 2. Using the C include path - - Use the C include path to ensure that your own versions of the - files are used at compile time when the lines - - #include FT_CONFIG_OPTIONS_H - #include FT_CONFIG_MODULES_H - - are compiled. Their default values being - and , you - can do something like: - - custom/ - freetype/ - config/ - ftoption.h => custom options header - ftmodule.h => custom modules list - - include/ => normal FreeType 2 include - freetype/ - ... - - then change the C include path to always give the path to `custom' - before the FreeType 2 `include'. - - - 3. Redefining FT_CONFIG_OPTIONS_H and FT_CONFIG_MODULES_H - - Another way to do the same thing is to redefine the macros used to - name the configuration headers. To do so, you need a custom - `ft2build.h' whose content can be as simple as: - - #ifndef __FT2_BUILD_MY_PLATFORM_H__ - #define __FT2_BUILD_MY_PLATFORM_H__ - - #define FT_CONFIG_OPTIONS_H - #define FT_CONFIG_MODULES_H - - #include - - #endif /* __FT2_BUILD_MY_PLATFORM_H__ */ - - Place those files in a separate directory, e.g., - - custom/ - ft2build.h => custom version described above - my-ftoption.h => custom options header - my-ftmodule.h => custom modules list header - - and change the C include path to ensure that `custom' is always - placed before the FT2 `include' during compilation. - ----------------------------------------------------------------------- - -Copyright 2003, 2005, 2006 by -David Turner, Robert Wilhelm, and Werner Lemberg. - -This file is part of the FreeType project, and may only be used, -modified, and distributed under the terms of the FreeType project -license, LICENSE.TXT. By continuing to use, modify, or distribute -this file you indicate that you have read the license and understand -and accept it fully. - - ---- end of CUSTOMIZE --- diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/DEBUG b/gtk+-mingw/share/doc/freetype-2.4.10/DEBUG deleted file mode 100644 index 3d6acd3..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/DEBUG +++ /dev/null @@ -1,202 +0,0 @@ -Debugging within the FreeType sources -===================================== - -I. Configuration macros ------------------------ - -There are several ways to enable debugging features in a FreeType 2 -builds. This is controlled through the definition of special macros -located in the file `ftoptions.h'. The macros are: - - - FT_DEBUG_LEVEL_ERROR - - #define this macro if you want to compile the FT_ERROR macro calls - to print error messages during program execution. This will not - stop the program. Very useful to spot invalid fonts during - development and to code workarounds for them. - - FT_DEBUG_LEVEL_TRACE - - #define this macro if you want to compile both macros FT_ERROR and - FT_TRACE. This also includes the variants FT_TRACE0, FT_TRACE1, - FT_TRACE2, ..., FT_TRACE7. - - The trace macros are used to send debugging messages when an - appropriate `debug level' is configured at runtime through the - FT2_DEBUG environment variable (more on this later). - - FT_DEBUG_MEMORY - - If this macro is #defined, the FreeType engine is linked with a - small but effective debugging memory manager that tracks all - allocations and frees that are performed within the font engine. - - When the FT2_DEBUG_MEMORY environment variable is defined at - runtime, a call to FT_Done_FreeType will dump memory statistics, - including the list of leaked memory blocks with the source locations - where these were allocated. It is always a very good idea to define - this in development builds. This works with _any_ program linked to - FreeType, but requires a big deal of memory (the debugging memory - manager never frees the blocks to the heap in order to detect double - frees). - - When FT2_DEBUG_MEMORY isn't defined at runtime, the debugging memory - manager is ignored, and performance is unaffected. - - -II. Debugging macros --------------------- - -Several macros can be used within the FreeType sources to help debugging -its code: - - - 1. FT_ERROR(( ... )) - - This macro is used to send debug messages that indicate relatively - serious errors (like broken font files), but will not stop the - execution of the running program. Its code is compiled only when - either FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined in - `ftoption.h'. - - Note that you have to use a printf-like signature, but with double - parentheses, like in - - FT_ERROR(( "your %s is not %s\n", "foo", "bar" )); - - - 2. FT_ASSERT( condition ) - - This macro is used to check strong assertions at runtime. If its - condition isn't TRUE, the program will abort with a panic message. - Its code is compiled when either FT_DEBUG_LEVEL_ERROR or - FT_DEBUG_LEVEL_TRACE are defined. You don't need double parentheses - here. For example - - FT_ASSERT( ptr != NULL ); - - - 3. FT_TRACE( level, (message...) ) - - The FT_TRACE macro is used to send general-purpose debugging - messages during program execution. This macro uses an *implicit* - macro named FT_COMPONENT used to name the current FreeType component - being run. - - The developer should always define FT_COMPONENT as appropriate, for - example as in - - #undef FT_COMPONENT - #define FT_COMPONENT trace_io - - The value of the FT_COMPONENT macro is an enumeration named - trace_XXXX where XXXX is one of the component names defined in the - internal file `freetype/internal/fttrace.h'. If you modify FreeType - source and insert new trace_XXXX macro, you must register it in - fttrace.h. If you insert or remove many trace macros, you can check - the undefined or the unused trace macro by src/tools/chktrcmp.py. - - Each such component is assigned a `debug level', ranging from 0 - to 7, through the use of the FT2_DEBUG environment variable - (described below) when a program linked with FreeType starts. - - When FT_TRACE is called, its level is compared to the one of the - corresponding component. Messages with trace levels *higher* than - the corresponding component level are filtered and never printed. - - This means that trace messages with level 0 are always printed, - those with level 2 are only printed when the component level is *at - least* 2. - - The second parameter to FT_TRACE must contain parentheses and - correspond to a printf-like call, as in - - FT_TRACE( 2, ( "your %s is not %s\n", "foo", "bar" ) ) - - The shortcut macros FT_TRACE0, FT_TRACE1, FT_TRACE2, ..., FT_TRACE7 - can be used with constant level indices, and are much cleaner to - use, as in - - FT_TRACE2(( "your %s is not %s\n", "foo", "bar" )); - - -III. Environment variables --------------------------- - -The following environment variables control debugging output and -behaviour of FreeType at runtime. - - - FT2_DEBUG - - This variable is only used when FreeType is built with - FT_DEBUG_LEVEL_TRACE defined. It contains a list of component level - definitions, following this format: - - component1:level1 component2:level2 component3:level3 ... - - where `componentX' is the name of a tracing component, as defined in - `fttrace.h', but without the `trace_' prefix. `levelX' is the - corresponding level to use at runtime. - - `any' is a special component name that will be interpreted as - `any/all components'. For example, the following definitions - - set FT2_DEBUG=any:2 memory:5 io:4 (on Windows) - export FT2_DEBUG="any:2 memory:5 io:4" (on Linux with bash) - - both stipulate that all components should have level 2, except for - the memory and io components which will be set to trace levels 5 and - 4, respectively. - - - FT2_DEBUG_MEMORY - - This environment variable, when defined, tells FreeType to use a - debugging memory manager that will track leaking memory blocks as - well as other common errors like double frees. It is also capable - of reporting _where_ the leaking blocks were allocated, which - considerably saves time when debugging new additions to the library. - - This code is only compiled when FreeType is built with the - FT_DEBUG_MEMORY macro #defined in `ftoption.h' though, it will be - ignored in other builds. - - - FT2_ALLOC_TOTAL_MAX - - This variable is ignored if FT2_DEBUG_MEMORY is not defined. It - allows you to specify a maximum heap size for all memory allocations - performed by FreeType. This is very useful to test the robustness - of the font engine and programs that use it in tight memory - conditions. - - If it is undefined, or if its value is not strictly positive, then - no allocation bounds are checked at runtime. - - - FT2_ALLOC_COUNT_MAX - - This variable is ignored if FT2_DEBUG_MEMORY is not defined. It - allows you to specify a maximum number of memory allocations - performed by FreeType before returning the error - FT_Err_Out_Of_Memory. This is useful for debugging and testing the - engine's robustness. - - If it is undefined, or if its value is not strictly positive, then - no allocation bounds are checked at runtime. - ------------------------------------------------------------------------- - -Copyright 2002, 2003, 2004, 2005, 2009 by -David Turner, Robert Wilhelm, and Werner Lemberg. - -This file is part of the FreeType project, and may only be used, -modified, and distributed under the terms of the FreeType project -license, LICENSE.TXT. By continuing to use, modify, or distribute this -file you indicate that you have read the license and understand and -accept it fully. - - ---- end of DEBUG --- diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/FTL.TXT b/gtk+-mingw/share/doc/freetype-2.4.10/FTL.TXT deleted file mode 100644 index bbaba33..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/FTL.TXT +++ /dev/null @@ -1,169 +0,0 @@ - The FreeType Project LICENSE - ---------------------------- - - 2006-Jan-27 - - Copyright 1996-2002, 2006 by - David Turner, Robert Wilhelm, and Werner Lemberg - - - -Introduction -============ - - The FreeType Project is distributed in several archive packages; - some of them may contain, in addition to the FreeType font engine, - various tools and contributions which rely on, or relate to, the - FreeType Project. - - This license applies to all files found in such packages, and - which do not fall under their own explicit license. The license - affects thus the FreeType font engine, the test programs, - documentation and makefiles, at the very least. - - This license was inspired by the BSD, Artistic, and IJG - (Independent JPEG Group) licenses, which all encourage inclusion - and use of free software in commercial and freeware products - alike. As a consequence, its main points are that: - - o We don't promise that this software works. However, we will be - interested in any kind of bug reports. (`as is' distribution) - - o You can use this software for whatever you want, in parts or - full form, without having to pay us. (`royalty-free' usage) - - o You may not pretend that you wrote this software. If you use - it, or only parts of it, in a program, you must acknowledge - somewhere in your documentation that you have used the - FreeType code. (`credits') - - We specifically permit and encourage the inclusion of this - software, with or without modifications, in commercial products. - We disclaim all warranties covering The FreeType Project and - assume no liability related to The FreeType Project. - - - Finally, many people asked us for a preferred form for a - credit/disclaimer to use in compliance with this license. We thus - encourage you to use the following text: - - """ - Portions of this software are copyright © The FreeType - Project (www.freetype.org). All rights reserved. - """ - - Please replace with the value from the FreeType version you - actually use. - - -Legal Terms -=========== - -0. Definitions --------------- - - Throughout this license, the terms `package', `FreeType Project', - and `FreeType archive' refer to the set of files originally - distributed by the authors (David Turner, Robert Wilhelm, and - Werner Lemberg) as the `FreeType Project', be they named as alpha, - beta or final release. - - `You' refers to the licensee, or person using the project, where - `using' is a generic term including compiling the project's source - code as well as linking it to form a `program' or `executable'. - This program is referred to as `a program using the FreeType - engine'. - - This license applies to all files distributed in the original - FreeType Project, including all source code, binaries and - documentation, unless otherwise stated in the file in its - original, unmodified form as distributed in the original archive. - If you are unsure whether or not a particular file is covered by - this license, you must contact us to verify this. - - The FreeType Project is copyright (C) 1996-2000 by David Turner, - Robert Wilhelm, and Werner Lemberg. All rights reserved except as - specified below. - -1. No Warranty --------------- - - THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY - KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO - USE, OF THE FREETYPE PROJECT. - -2. Redistribution ------------------ - - This license grants a worldwide, royalty-free, perpetual and - irrevocable right and license to use, execute, perform, compile, - display, copy, create derivative works of, distribute and - sublicense the FreeType Project (in both source and object code - forms) and derivative works thereof for any purpose; and to - authorize others to exercise some or all of the rights granted - herein, subject to the following conditions: - - o Redistribution of source code must retain this license file - (`FTL.TXT') unaltered; any additions, deletions or changes to - the original files must be clearly indicated in accompanying - documentation. The copyright notices of the unaltered, - original files must be preserved in all copies of source - files. - - o Redistribution in binary form must provide a disclaimer that - states that the software is based in part of the work of the - FreeType Team, in the distribution documentation. We also - encourage you to put an URL to the FreeType web page in your - documentation, though this isn't mandatory. - - These conditions apply to any software derived from or based on - the FreeType Project, not just the unmodified files. If you use - our work, you must acknowledge us. However, no fee need be paid - to us. - -3. Advertising --------------- - - Neither the FreeType authors and contributors nor you shall use - the name of the other for commercial, advertising, or promotional - purposes without specific prior written permission. - - We suggest, but do not require, that you use one or more of the - following phrases to refer to this software in your documentation - or advertising materials: `FreeType Project', `FreeType Engine', - `FreeType library', or `FreeType Distribution'. - - As you have not signed this license, you are not required to - accept it. However, as the FreeType Project is copyrighted - material, only this license, or another one contracted with the - authors, grants you the right to use, distribute, and modify it. - Therefore, by using, distributing, or modifying the FreeType - Project, you indicate that you understand and accept all the terms - of this license. - -4. Contacts ------------ - - There are two mailing lists related to FreeType: - - o freetype@nongnu.org - - Discusses general use and applications of FreeType, as well as - future and wanted additions to the library and distribution. - If you are looking for support, start in this list if you - haven't found anything to help you in the documentation. - - o freetype-devel@nongnu.org - - Discusses bugs, as well as engine internals, design issues, - specific licenses, porting, etc. - - Our home page can be found at - - http://www.freetype.org - - ---- end of FTL.TXT --- diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/GPLv2.TXT b/gtk+-mingw/share/doc/freetype-2.4.10/GPLv2.TXT deleted file mode 100644 index b2fe7b6..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/GPLv2.TXT +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL b/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL deleted file mode 100644 index fc699a8..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL +++ /dev/null @@ -1,83 +0,0 @@ - -There are several ways to build the FreeType library, depending on -your system and the level of customization you need. Here is a short -overview of the documentation available: - - -I. Normal installation and upgrades -=================================== - - 1. Unix Systems (including Mac OS X, Cygwin, and MSys on Windows) - - Please read `INSTALL.UNIX' to install or upgrade FreeType 2 on a - Unix system. Note that you *need* GNU Make for automatic - compilation, since other make tools won't work (this includes BSD - Make). - - GNU Make VERSION 3.80 OR NEWER IS NEEDED! - - - 2. On VMS with the `mms' build tool - - See `INSTALL.VMS' for installation instructions on this platform. - - - 3. Other systems using GNU Make - - On non-Unix platforms, it is possible to build the library using - GNU Make utility. Note that *NO OTHER MAKE TOOL WILL WORK*[1]! - This methods supports several compilers on Windows, OS/2, and - BeOS, including MinGW, Visual C++, Borland C++, and more. - - Instructions are provided in the file `INSTALL.GNU'. - - - 4. With an IDE Project File (e.g., for Visual Studio or CodeWarrior) - - We provide a small number of `project files' for various IDEs to - automatically build the library as well. Note that these files - are not supported and only sporadically maintained by FreeType - developers, so don't expect them to work in each release. - - To find them, have a look at the content of the `builds/' - directory, where stands for your OS or environment. - - - 5. From you own IDE, or own Makefiles - - If you want to create your own project file, follow the - instructions given in the `INSTALL.ANY' document of this - directory. - - -II. Custom builds of the library -================================ - - Customizing the compilation of FreeType is easy, and allows you to - select only the components of the font engine that you really need. - For more details read the file `CUSTOMIZE'. - - ----------------------------------------------------------------------- - -[1] make++, a make tool written in Perl, has sufficient support of GNU - make extensions to build FreeType. See - - http://makepp.sourceforge.net - - for more information; you need version 1.19 or newer, and you must - pass option `--norc-substitution'. - ----------------------------------------------------------------------- - -Copyright 2000-2008, 2010-2011 -by David Turner, Robert Wilhelm, and Werner Lemberg. - -This file is part of the FreeType project, and may only be used, -modified, and distributed under the terms of the FreeType project -license, LICENSE.TXT. By continuing to use, modify, or distribute -this file you indicate that you have read the license and understand -and accept it fully. - - ---- end of INSTALL --- diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.ANY b/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.ANY deleted file mode 100644 index 80f161c..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.ANY +++ /dev/null @@ -1,156 +0,0 @@ -Instructions on how to build FreeType with your own build tool -============================================================== - -See the file `CUSTOMIZE' to learn how to customize FreeType to -specific environments. - - -I. Standard procedure ---------------------- - - * DISABLE PRE-COMPILED HEADERS! This is very important for Visual - C++, because FreeType uses lines like: - - #include FT_FREETYPE_H - - which are not correctly supported by this compiler while being ISO - C compliant! - - * You need to add the directories `freetype2/include' to your - include path when compiling the library. - - * FreeType 2 is made of several components; each of them is located - in a subdirectory of `freetype2/src'. For example, - `freetype2/src/truetype/' contains the TrueType font driver. - - * DO NOT COMPILE ALL C FILES! Rather, compile the following ones. - - -- base components (required) - - src/base/ftsystem.c - src/base/ftinit.c - src/base/ftdebug.c - - src/base/ftbase.c - - src/base/ftbbox.c -- recommended, see - src/base/ftglyph.c -- recommended, see - - src/base/ftbdf.c -- optional, see - src/base/ftbitmap.c -- optional, see - src/base/ftcid.c -- optional, see - src/base/ftfstype.c -- optional - src/base/ftgasp.c -- optional, see - src/base/ftgxval.c -- optional, see - src/base/ftlcdfil.c -- optional, see - src/base/ftmm.c -- optional, see - src/base/ftotval.c -- optional, see - src/base/ftpatent.c -- optional - src/base/ftpfr.c -- optional, see - src/base/ftstroke.c -- optional, see - src/base/ftsynth.c -- optional, see - src/base/fttype1.c -- optional, see - src/base/ftwinfnt.c -- optional, see - src/base/ftxf86.c -- optional, see - - src/base/ftmac.c -- only on the Macintosh - - -- font drivers (optional; at least one is needed) - - src/bdf/bdf.c -- BDF font driver - src/cff/cff.c -- CFF/OpenType font driver - src/cid/type1cid.c -- Type 1 CID-keyed font driver - src/pcf/pcf.c -- PCF font driver - src/pfr/pfr.c -- PFR/TrueDoc font driver - src/sfnt/sfnt.c -- SFNT files support - (TrueType & OpenType) - src/truetype/truetype.c -- TrueType font driver - src/type1/type1.c -- Type 1 font driver - src/type42/type42.c -- Type 42 font driver - src/winfonts/winfnt.c -- Windows FONT / FNT font driver - - -- rasterizers (optional; at least one is needed for vector - formats) - - src/raster/raster.c -- monochrome rasterizer - src/smooth/smooth.c -- anti-aliasing rasterizer - - -- auxiliary modules (optional) - - src/autofit/autofit.c -- auto hinting module - src/cache/ftcache.c -- cache sub-system (in beta) - src/gzip/ftgzip.c -- support for compressed fonts (.gz) - src/lzw/ftlzw.c -- support for compressed fonts (.Z) - src/bzip2/ftbzip2.c -- support for compressed fonts (.bz2) - src/gxvalid/gxvalid.c -- TrueTypeGX/AAT table validation - src/otvalid/otvalid.c -- OpenType table validation - src/psaux/psaux.c -- PostScript Type 1 parsing - src/pshinter/pshinter.c -- PS hinting module - src/psnames/psnames.c -- PostScript glyph names support - - - Notes: - - `ftcache.c' needs `ftglyph.c' - `ftfstype.c' needs `fttype1.c' - `ftglyph.c' needs `ftbitmap.c' - `ftstroke.c' needs `ftglyph.c' - `ftsynth.c' needs `ftbitmap.c' - - `cff.c' needs `sfnt.c', `pshinter.c', and `psnames.c' - `truetype.c' needs `sfnt.c' and `psnames.c' - `type1.c' needs `psaux.c' `pshinter.c', and `psnames.c' - `type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c' - `type42.c' needs `truetype.c' - - To use `ftbzip2.c', an application must be linked with a library - which implements bzip2 support (and the bzip2 header files must - be available also during compilation). - - - Read the file `CUSTOMIZE' in case you want to compile only a subset - of the drivers, renderers, and optional modules; a detailed - description of the various base extension is given in the top-level - file `modules.cfg'. - - You are done. In case of problems, see the archives of the FreeType - development mailing list. - - -II. Support for flat-directory compilation ------------------------------------------- - - It is possible to put all FreeType 2 source files into a single - directory, with the *exception* of the `include' hierarchy. - - 1. Copy all files in current directory - - cp freetype2/src/base/*.[hc] . - cp freetype2/src/raster1/*.[hc] . - cp freetype2/src/smooth/*.[hc] . - etc. - - 2. Compile sources - - cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftsystem.c - cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftinit.c - cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftdebug.c - cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftbase.c - etc. - - You don't need to define the FT_FLAT_COMPILATION macro (as this - was required in previous releases of FreeType 2). - ----------------------------------------------------------------------- - -Copyright 2003, 2005, 2006, 2009, 2010 by -David Turner, Robert Wilhelm, and Werner Lemberg. - -This file is part of the FreeType project, and may only be used, -modified, and distributed under the terms of the FreeType project -license, LICENSE.TXT. By continuing to use, modify, or distribute -this file you indicate that you have read the license and understand -and accept it fully. - - ---- end of INSTALL.ANY --- diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.CROSS b/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.CROSS deleted file mode 100644 index 3def12c..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.CROSS +++ /dev/null @@ -1,135 +0,0 @@ -This document contains instructions on how to cross-build the FreeType -library on Unix systems, for example, building binaries for Linux/MIPS -on FreeBSD/i386. Before reading this document, please consult -INSTALL.UNIX for required tools and the basic self-building procedure. - - - 1. Required Tools - ----------------- - - For self-building the FreeType library on a Unix system, GNU Make - 3.80 or newer is required. INSTALL.UNIX contains hints how to - check the installed `make'. - - The GNU C compiler to cross-build the target system is required. - At present, using non-GNU cross compiler is not tested. The cross - compiler is expected to be installed with a system prefix. For - example, if your building system is FreeBSD/i386 and the target - system is Linux/MIPS, the cross compiler should be installed with - the name `mips-ip22-linuxelf-gcc'. - - A C compiler for a self-build is required also, to build a tool - that is executed during the building procedure. Non-GNU self - compilers are acceptable, but such a setup is not tested yet. - - - 2. Configuration - ---------------- - - 2.1. Building and target system - - To configure for cross-build, the options `--host=' and - `--build=' must be passed to configure. For example, if - your building system is FreeBSD/i386 and the target system is - Linux/MIPS, say - - ./configure \ - --build=i386-unknown-freebsd \ - --host=mips-ip22-linuxelf \ - [other options] - - It should be noted that `--host=' specifies the system - where the built binaries will be executed, not the system where - the build actually happens. Older versions of GNU autoconf use - the option pair `--host=' and `--target='. This is broken and - doesn't work. Similarly, an explicit CC specification like - - env CC=mips-ip22-linux-gcc ./configure - - or - - env CC=/usr/local/mips-ip22-linux/bin/gcc ./configure - - doesn't work either; such a configuration confuses the - `configure' script while trying to find the cross and native C - compilers. - - - 2.2. The prefix to install FreeType2 - - Setting `--prefix=' properly is important. The prefix - to install FreeType2 is written into the freetype-config script - and freetype2.pc configuration file. - - If the built FreeType 2 library is used as a part of the - cross-building system, the prefix is expected to be different - from the self-building system. For example, configuration with - `--prefix=/usr/local' installs binaries into the system wide - `/usr/local' directory which then can't be executed. This - causes confusion in configuration of all applications which use - FreeType2. Instead, use a prefix to install the cross-build - into a separate system tree, for example, - `--prefix=/usr/local/mips-ip22-linux/'. - - On the other hand, if the built FreeType2 is used as a part of - the target system, the prefix to install should reflect the file - system structure of the target system. - - - 3. Building command - ------------------- - - If the configuration finishes successfully, invoking GNU make - builds FreeType2. Just say - - make - - or - - gmake - - depending on the name the GNU make binary actually has. - - - 4. Installation - --------------- - - Saying - - make install - - as usual to install FreeType2 into the directory tree specified by - the argument of the `--prefix' option. - - As noted in section 2.2, FreeType2 is sometimes configured to be - installed into the system directory of the target system, and - should not be installed in the cross-building system. In such - cases, the make variable `DESTDIR' is useful to change the root - directory in the installation. For example, after - - make DESTDIR=/mnt/target_system_root/ install - - the built FreeType2 library files are installed into the directory - `/mnt/target_system_root//lib'. - - - 5. TODO - ------- - - Cross building between Cygwin (or MSys) and Unix must be tested. - - ----------------------------------------------------------------------- - -Copyright 2006, 2008 by suzuki toshiya -David Turner, Robert Wilhelm, and Werner Lemberg. - - -This file is part of the FreeType project, and may only be used, -modified, and distributed under the terms of the FreeType project -license, LICENSE.TXT. By continuing to use, modify, or distribute -this file you indicate that you have read the license and understand -and accept it fully. - - ---- end of INSTALL.CROSS --- diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.GNU b/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.GNU deleted file mode 100644 index 72df50a..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.GNU +++ /dev/null @@ -1,159 +0,0 @@ -This document contains instructions how to build the FreeType library -on non-Unix systems with the help of GNU Make. Note that if you are -running Cygwin or MSys in Windows, you should follow the instructions -in the file INSTALL.UNIX instead. - - - FreeType 2 includes a powerful and flexible build system that allows - you to easily compile it on a great variety of platforms from the - command line. To do so, just follow these simple instructions. - - 1. Install GNU Make - ------------------- - - Because GNU Make is the only Make tool supported to compile - FreeType 2, you should install it on your machine. - - The FreeType 2 build system relies on many features special to GNU - Make. - - NEARLY ALL OTHER MAKE TOOLS FAIL, INCLUDING `BSD MAKE', SO REALLY - INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM! - - Note that make++, a make tool written in Perl, supports enough - features of GNU make to compile FreeType. See - - http://makepp.sourceforge.net - - for more information; you need version 1.19 or newer, and you must - pass option `--norc-substitution'. - - Make sure that you are invoking GNU Make from the command line, by - typing something like: - - make -v - - to display its version number. - - VERSION 3.80 OR NEWER IS NEEDED! - - - 2. Invoke `make' - ---------------- - - Go to the root directory of FreeType 2, then simply invoke GNU - Make from the command line. This will launch the FreeType 2 host - platform detection routines. A summary will be displayed, for - example, on Win32. - - - ============================================================== - FreeType build system -- automatic system detection - - The following settings are used: - - platform win32 - compiler gcc - configuration directory .\builds\win32 - configuration rules .\builds\win32\w32-gcc.mk - - If this does not correspond to your system or settings please - remove the file 'config.mk' from this directory then read the - INSTALL file for help. - - Otherwise, simply type 'make' again to build the library - or 'make refdoc' to build the API reference (the latter needs - python). - ============================================================= - - - If the detected settings correspond to your platform and compiler, - skip to step 5. Note that if your platform is completely alien to - the build system, the detected platform will be `ansi'. - - - 3. Configure the build system for a different compiler - ------------------------------------------------------ - - If the build system correctly detected your platform, but you want - to use a different compiler than the one specified in the summary - (for most platforms, gcc is the default compiler), invoke GNU Make - with - - make setup - - Examples: - - to use Visual C++ on Win32, type: `make setup visualc' - to use Borland C++ on Win32, type `make setup bcc32' - to use Watcom C++ on Win32, type `make setup watcom' - to use Intel C++ on Win32, type `make setup intelc' - to use LCC-Win32 on Win32, type: `make setup lcc' - to use Watcom C++ on OS/2, type `make setup watcom' - to use VisualAge C++ on OS/2, type `make setup visualage' - - The name to use is platform-dependent. The list of - available compilers for your system is available in the file - `builds//detect.mk'. - - If you are satisfied by the new configuration summary, skip to - step 5. - - - 4. Configure the build system for an unknown platform/compiler - -------------------------------------------------------------- - - The auto-detection/setup phase of the build system copies a file - to the current directory under the name `config.mk'. - - For example, on OS/2+gcc, it would simply copy - `builds/os2/os2-gcc.mk' to `./config.mk'. - - If for some reason your platform isn't correctly detected, copy - manually the configuration sub-makefile to `./config.mk' and go to - step 5. - - Note that this file is a sub-Makefile used to specify Make - variables for compiler and linker invocation during the build. - You can easily create your own version from one of the existing - configuration files, then copy it to the current directory under - the name `./config.mk'. - - - 5. Build the library - -------------------- - - The auto-detection/setup phase should have copied a file in the - current directory, called `./config.mk'. This file contains - definitions of various Make variables used to invoke the compiler - and linker during the build. [It has also generated a file called - `ftmodule.h' in the objects directory (which is normally - `/objs/'); please read the file `docs/CUSTOMIZE' for - customization of FreeType.] - - To launch the build, simply invoke GNU Make again: The top - Makefile will detect the configuration file and run the build with - it. - - - Final note - - The build system builds a statically linked library of the font - engine in the `objs' directory. It does _not_ support the build - of DLLs on Windows and OS/2. If you need these, you have to - either use an IDE-specific project file, or follow the - instructions in `INSTALL.ANY' to create your own Makefiles. - ----------------------------------------------------------------------- - -Copyright 2003, 2004, 2005, 2006, 2008 by -David Turner, Robert Wilhelm, and Werner Lemberg. - -This file is part of the FreeType project, and may only be used, -modified, and distributed under the terms of the FreeType project -license, LICENSE.TXT. By continuing to use, modify, or distribute -this file you indicate that you have read the license and understand -and accept it fully. - - ---- end of INSTALL.GNU --- diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.MAC b/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.MAC deleted file mode 100644 index 42bb0d8..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.MAC +++ /dev/null @@ -1,32 +0,0 @@ -Please follow the instructions in INSTALL.UNIX to install FreeType on -Mac OS X. - -Currently FreeType2 functions based on some deprecated Carbon APIs -return FT_Err_Unimplemented_Feature always, even if FreeType2 is -configured and built on the system that deprecated Carbon APIs are -available. To enable deprecated FreeType2 functions as far as possible, -replace src/base/ftmac.c by builds/mac/ftmac.c. - -Starting with Mac OS X 10.5, gcc defaults the deployment target -to 10.5. In previous versions of Mac OS X, this defaulted to 10.1. -If you want your built binaries to run only on 10.5, this change -does not concern you. If you want them to also run on older versions -of Mac OS X, then you must either set the MACOSX_DEPLOYMENT_TARGET -environment variable or pass -mmacosx-version-min to gcc. You should -specify the oldest version of Mac OS you want the code to run on. -For example, if you use Bourne shell: - - export MACOSX_DEPLOYMENT_TARGET=10.2 - -or, if you use C shell: - - setenv MACOSX_DEPLOYMENT_TARGET 10.2 - -Alternatively, you could pass "-mmacosx-version-min=10.2" to gcc. - -Here the number 10.2 is the lowest version that the built binaries -can run on. In the cases in above, the built binaries will run on -Mac OS X 10.2 and later, but _not_ earlier. If you want to run on -earlier, you have to set lower version, e.g. 10.0. - -For classic Mac OS (Mac OS 7, 8, 9) please refer to builds/mac/README. diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.UNIX b/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.UNIX deleted file mode 100644 index 5dc0764..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.UNIX +++ /dev/null @@ -1,96 +0,0 @@ -This document contains instructions on how to build the FreeType -library on Unix systems. This also works for emulations like Cygwin -or MSys on Win32: - - - 1. Ensure that you are using GNU Make - ------------------------------------- - - The FreeType build system _exclusively_ works with GNU Make. You - will not be able to compile the library with the instructions - below using any other alternative (including BSD Make). - - Check that you have GNU make by running the command: - - make -v - - This should dump some text that begins with: - - GNU Make - Copyright (C) Free Software Foundation Inc. - - Note that version 3.80 or higher is *required* or the build will - fail. - - It is also fine to have GNU Make under another name (e.g. 'gmake') - if you use the GNUMAKE variable as described below. - - As a special exception, 'makepp' can also be used to build - FreeType 2. See the file docs/MAKEPP for details. - - - 2. Regenerate the configure script if needed - -------------------------------------------- - - This only applies if you are building a git snapshot or checkout, - *not* if you grabbed the sources of an official release. - - You need to invoke the `autogen.sh' script in the top-level - directory in order to create the `configure' script for your - platform. Normally, this simply means typing: - - sh autogen.sh - - In case of problems, you may need to install or upgrade Automake, - Autoconf or Libtool. See README.git in the top-level directory - for more information. - - - 3. Build and install the library - -------------------------------- - - The following should work on all Unix systems where the `make' - command invokes GNU Make: - - ./configure [options] - make - make install (as root) - - The default installation path is `/usr/local'. It can be changed - with the `--prefix=' option. Example: - - ./configure --prefix=/usr - - When using a different command to invoke GNU Make, use the GNUMAKE - variable. For example, if `gmake' is the command to use on your - system, do something like: - - GNUMAKE=gmake ./configure [options] - gmake - gmake install (as root) - - If this still doesn't work, there must be a problem with your - system (e.g., you are using a very old version of GNU Make). - - It is possible to compile FreeType in a different directory. - Assuming the FreeType source files in directory `/src/freetype' a - compilation in directory `foo' works as follows: - - cd foo - /src/freetype/configure [options] - make - make install - ----------------------------------------------------------------------- - -Copyright 2003, 2004, 2005, 2006, 2007 by -David Turner, Robert Wilhelm, and Werner Lemberg. - -This file is part of the FreeType project, and may only be used, -modified, and distributed under the terms of the FreeType project -license, LICENSE.TXT. By continuing to use, modify, or distribute -this file you indicate that you have read the license and understand -and accept it fully. - - ---- end of INSTALL.UNIX --- diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.VMS b/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.VMS deleted file mode 100644 index 994e566..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/INSTALL.VMS +++ /dev/null @@ -1,62 +0,0 @@ -How to build the freetype2 library on VMS ------------------------------------------ - -It is actually very straightforward to install the Freetype2 library. -Just execute vms_make.com from the toplevel directory to build the -library. This procedure currently accepts the following options: - -DEBUG - Build the library with debug information and without optimization. - -lopts= - Options to pass to the link command e.g. lopts=/traceback - -ccopt= - Options to pass to the C compiler e.g. ccopt=/float=ieee - -In case you did download the demos, place them in a separate directory -sharing the same toplevel as the directory of Freetype2 and follow the -same instructions as above for the demos from there. The build -process relies on this to figure the location of the Freetype2 include -files. - - -To rebuild the sources it is necessary to have MMS/MMK installed on -the system. - -The library is available in the directory - - [.LIB] - -To compile applications using FreeType 2 you have to define the -logical FREETYPE pointing to the directory - - [.INCLUDE.FREETYPE] - -i.e., if the directory in which this INSTALL.VMS file is located is -$disk:[freetype] then define the logical with - - define freetype $disk:[freetype.include.freetype] - -This version has been tested with Compaq C V6.2-006 on OpenVMS Alpha -V7.2-1. - - - Any problems can be reported to - - Jouk Jansen or - Martin P.J. Zinser - ------------------------------------------------------------------------- - -Copyright 2000, 2004 by -David Turner, Robert Wilhelm, and Werner Lemberg. - -This file is part of the FreeType project, and may only be used, -modified, and distributed under the terms of the FreeType project -license, LICENSE.TXT. By continuing to use, modify, or distribute this -file you indicate that you have read the license and understand and -accept it fully. - - ---- end of INSTALL.VMS --- diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/LICENSE.TXT b/gtk+-mingw/share/doc/freetype-2.4.10/LICENSE.TXT deleted file mode 100644 index 62945c8..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/LICENSE.TXT +++ /dev/null @@ -1,34 +0,0 @@ - -The FreeType 2 font engine is copyrighted work and cannot be used -legally without a software license. In order to make this project -usable to a vast majority of developers, we distribute it under two -mutually exclusive open-source licenses. - -This means that *you* must choose *one* of the two licenses described -below, then obey all its terms and conditions when using FreeType 2 in -any of your projects or products. - - - The FreeType License, found in the file `FTL.TXT', which is similar - to the original BSD license *with* an advertising clause that forces - you to explicitly cite the FreeType project in your product's - documentation. All details are in the license file. This license - is suited to products which don't use the GNU General Public - License. - - Note that this license is compatible to the GNU General Public - License version 3, but not version 2. - - - The GNU General Public License version 2, found in `GPLv2.TXT' (any - later version can be used also), for programs which already use the - GPL. Note that the FTL is incompatible with GPLv2 due to its - advertisement clause. - -The contributed BDF and PCF drivers come with a license similar to that -of the X Window System. It is compatible to the above two licenses (see -file src/bdf/README and src/pcf/README). - -The gzip module uses the zlib license (see src/gzip/zlib.h) which too is -compatible to the above two licenses. - - ---- end of LICENSE.TXT --- diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/MAKEPP b/gtk+-mingw/share/doc/freetype-2.4.10/MAKEPP deleted file mode 100644 index 58eaf55..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/MAKEPP +++ /dev/null @@ -1,5 +0,0 @@ -As a special exception, FreeType can also be built with the 'makepp' -build tool, available from http://makepp.sourceforge.net. - -Note, however. that you will need at least version 1.19 and pass the -option --norc-substitution to have it work correctly. diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/PROBLEMS b/gtk+-mingw/share/doc/freetype-2.4.10/PROBLEMS deleted file mode 100644 index 40bdc35..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/PROBLEMS +++ /dev/null @@ -1,90 +0,0 @@ -This file describes various problems that have been encountered in -compiling, installing and running FreeType 2. Suggestions for -additions or other improvements to this file are welcome. - ----------------------------------------------------------------------- - -Running Problems -================ - - -* Some Type 1, Multiple Masters, and CID-keyed PostScript fonts aren't - handled correctly. - ------ - -Of course, there might be bugs in FreeType, but some fonts based on -the PostScript format can't be handled indeed. The reason is that -FreeType doesn't contain a full PostScript interpreter but applies -pattern matching instead. In case a font doesn't follow the standard -structure of the given font format, FreeType fails. A typical example -is Adobe's `Optima' font family which contains extra code to switch -between low and high resolution versions of the glyphs. - -It might be possible to patch FreeType in some situations, though. -Please report failing fonts so that we investigate the problem and set -up a list of such problematic fonts. - - -* Why do identical FreeType versions render differently on different - platforms? - ------ - -Different distributions compile FreeType with different options. The -developer version of a distribution's FreeType package, which is -needed to compile your program against FreeType, includes the file -ftoption.h. Compare each platform's copy of ftoption.h to find the -differences. - - ----------------------------------------------------------------------- - - -Compilation Problems -==================== - - -* I get an `internal compilation error' (ICE) while compiling FreeType - 2.2.1 with Intel C++. - - This has been reported for the following compiler version: - - Intel(R) C++ Compiler for 32-bit applications, - Version 9.0 Build 20050430Z Package ID: W_CC_P_9.0.019 - ------ - -The best solution is to update the compiler to version - - Intel(R) C++ Compiler for 32-bit applications, - Version 9.1 Build 20060323Z Package ID: W_CC_P_9.1.022 - -or newer. If this isn't feasible, apply the following patch. - - ---- src/cache/ftcbasic.c 20 Mar 2006 12:10:24 -0000 1.20 -+++ src/cache/ftcbasic.c.patched 15 May 2006 02:51:02 -0000 -@@ -252,7 +252,7 @@ - */ - - FT_CALLBACK_TABLE_DEF -- const FTC_IFamilyClassRec ftc_basic_image_family_class = -+ FTC_IFamilyClassRec ftc_basic_image_family_class = - { - { - sizeof ( FTC_BasicFamilyRec ), -@@ -266,7 +266,7 @@ - - - FT_CALLBACK_TABLE_DEF -- const FTC_GCacheClassRec ftc_basic_image_cache_class = -+ FTC_GCacheClassRec ftc_basic_image_cache_class = - { - { - ftc_inode_new, - - ----------------------------------------------------------------------- - ---- end of PROBLEMS --- diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/TODO b/gtk+-mingw/share/doc/freetype-2.4.10/TODO deleted file mode 100644 index be60d6f..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/TODO +++ /dev/null @@ -1,40 +0,0 @@ -Here is a list of items that need to be addressed in FreeType 2 ---------------------------------------------------------------- - -* Implement stem3/counter hints properly in the Postscript hinter. - -* Add CIDCMap support to the CID driver. - -* Add track kerning support to the PFR driver. - -* Add kerning (AFM file) support to the CID driver. - - -Here is a list of bugs which should be handled ----------------------------------------------- - -Other bugs have been registered at the savannah bugzilla of FreeType. - -* CID driver: - Handle the case where a CID font has a top-level font matrix also - (see PLRM, 5.11.3, Type 0 CIDFonts). Since CID_FaceInfoRec lacks - a font_matrix entry we have to directly apply it to all subfont - matrices. - -* CID driver: - Use top-level font matrix entry for setting the upem value, not the - entries in the FDarray. If absent, use 1000. - ------------------------------------------------------------------------- - -Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007 by -David Turner, Robert Wilhelm, and Werner Lemberg. - -This file is part of the FreeType project, and may only be used, -modified, and distributed under the terms of the FreeType project -license, LICENSE.TXT. By continuing to use, modify, or distribute this -file you indicate that you have read the license and understand and -accept it fully. - - ---- end of TODO --- diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/VERSION.DLL b/gtk+-mingw/share/doc/freetype-2.4.10/VERSION.DLL deleted file mode 100644 index 1fb0724..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/VERSION.DLL +++ /dev/null @@ -1,149 +0,0 @@ -Due to our use of `libtool' to generate and install the FreeType 2 -libraries on Unix systems, as well as other historical events, it is -generally very difficult to know precisely which release of the font -engine is installed on a given system. - -This file tries to explain why and to document ways to properly detect -FreeType on Unix. - - -1. Version and Release numbers ------------------------------- - -For each new public release of FreeType 2, there are generally *three* -distinct `version' numbers to consider: - - * The official FreeType 2 release number, like 2.0.9 or 2.1.3. - - * The libtool (and Unix) specific version number, like 9.2.3. This is - what `freetype-config --version' returns. - - * The platform-specific shared object number, used for example when - the library is installed as `/usr/lib/libfreetype.so.6.3.2'. - -The platform-specific number is, unsurprisingly, platform-specific and -varies with the operating system you are using (several variants of -Linux, FreeBSD, Solaris, etc.). You should thus _never_ use it, even -for simple tests. - -The libtool-specific number does not equal the release number but is -tied to it. - -The release number is available at *compile* time through the following -macros defined in FT_FREETYPE_H: - - - FREETYPE_MAJOR: major release number - - FREETYPE_MINOR: minor release number - - FREETYPE_PATCH: patch release number - -See below for a small autoconf fragment. - -The release number is also available at *runtime* through the -`FT_Library_Version' API. Unfortunately, this one wasn't available or -working correctly before the 2.1.3 official release. - - -2. History ----------- - -The following table gives, for each official release, the corresponding -libtool number, as well as the shared object number found on _most_ -systems, but not all of them: - - - release libtool so - ------------------------------- - 2.4.10 15.0.9 6.9.0 - 2.4.9 14.1.8 6.8.1 - 2.4.8 14.0.8 6.8.0 - 2.4.7 13.2.7 6.7.2 - 2.4.6 13.1.7 6.7.1 - 2.4.5 13.0.7 6.7.0 - 2.4.4 12.2.6 6.6.2 - 2.4.3 12.1.6 6.6.1 - 2.4.2 12.0.6 6.6.0 - 2.4.1 11.1.5 6.5.1 - 2.4.0 11.0.5 6.5.0 - 2.3.12 10.0.4 6.4.0 - 2.3.11 9.22.3 6.3.22 - 2.3.10 9.21.3 6.3.21 - 2.3.9 9.20.3 6.3.20 - 2.3.8 9.19.3 6.3.19 - 2.3.7 9.18.3 6.3.18 - 2.3.6 9.17.3 6.3.17 - 2.3.5 9.16.3 6.3.16 - 2.3.4 9.15.3 6.3.15 - 2.3.3 9.14.3 6.3.14 - 2.3.2 9.13.3 6.3.13 - 2.3.1 9.12.3 6.3.12 - 2.3.0 9.11.3 6.3.11 - 2.2.1 9.10.3 6.3.10 - 2.2.0 9.9.3 6.3.9 - 2.1.10 9.8.3 6.3.8 - 2.1.9 9.7.3 6.3.7 - 2.1.8 9.6.3 6.3.6 - 2.1.7 9.5.3 6.3.5 - 2.1.6 9.5.3 6.3.5 - 2.1.5 9.4.3 6.3.4 - 2.1.4 9.3.3 6.3.3 - 2.1.3 9.2.3 6.3.2 - 2.1.2 9.1.3 6.3.1 - 2.1.1 9.0.3 ? - 2.1.0 8.0.2 ? - 2.0.9 9.0.3 ? - 2.0.8 8.0.2 ? - 2.0.4 7.0.1 ? - 2.0.1 6.1.0 ? - -The libtool numbers are a bit inconsistent due to the library's history: - - - 2.1.0 was created as a development branch from 2.0.8 (hence the same - libtool numbers). - - - 2.0.9 was a bug-fix release of the `stable' branch, and we - incorrectly increased its libtool number. - - - 2.1.4 was a development version, however it was stable enough to be - the basis of the 2.2.0 release. - - -3. Autoconf Code Fragment -------------------------- - -Lars Clausen contributed the following autoconf fragment to detect which -version of FreeType is installed on a system. This one tests for a -version that is at least 2.0.9; you should change it to check against -other release numbers. - - - AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher]) - old_CPPFLAGS="$CPPFLAGS" - CPPFLAGS=`freetype-config --cflags` - AC_TRY_CPP([ - -#include -#include FT_FREETYPE_H -#if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009 -#error Freetype version too low. -#endif - ], - [AC_MSG_RESULT(yes) - FREETYPE_LIBS=`freetype-config --libs` - AC_SUBST(FREETYPE_LIBS) - AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library]) - CPPFLAGS="$old_CPPFLAGS"], - [AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])]) - ------------------------------------------------------------------------- - -Copyright 2002-2012 by -David Turner, Robert Wilhelm, and Werner Lemberg. - -This file is part of the FreeType project, and may only be used, -modified, and distributed under the terms of the FreeType project -license, LICENSE.TXT. By continuing to use, modify, or distribute this -file you indicate that you have read the license and understand and -accept it fully. - - ---- end of VERSION.DLL --- diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/formats.txt b/gtk+-mingw/share/doc/freetype-2.4.10/formats.txt deleted file mode 100644 index 827c894..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/formats.txt +++ /dev/null @@ -1,174 +0,0 @@ -This file contains a list of various font formats. It gives the -reference document and whether it is supported in FreeType 2. - - - file type: - The only special case is `MAC'; on older Mac OS versions, a `file' - is stored as a data and a resource fork, this is, within two - separate data chunks. In all other cases, the font data is stored - in a single file. - - wrapper format: - The format used to represent the font data. In the table below it - is used only if the font format differs. Possible values are `SFNT' - (binary), `PS' (a text header, followed by binary or text data), - `LZW' (compressed with either `gzip' or `compress'), and - `BZ2' (compressed with `bzip2`). - - font format: - How the font is to be accessed, possibly after converting the file - type and wrapper format into a generic form. Bitmap formats are - `BDF', `PCF', and one form of `WINFNT'; all others are vector - formats. - - font type: - Sub-formats of the font format. `SBIT' and `MACSBIT' are bitmap - formats, `MM' and `VAR' support optical axes. - - glyph access: - If not specified, the glyph access is `standard' to the font format. - Values are `CID' for CID-keyed fonts, `SYNTHETIC' for fonts which - are modified versions of other fonts by means of a transformation - matrix, `COLLECTION' for collecting multiple fonts (sharing most of - the data) into a single file, and `TYPE_0' for PS fonts which are to - be accessed in a tree-like structure. - - FreeType driver: - The module in the FreeType library which handles the specific font - format. A missing entry means that FreeType doesn't support the - font format (yet). - - -Please send additions and/or corrections to wl@gnu.org or to the -FreeType developer's list at freetype-devel@nongnu.org (for subscribers -only). If you can provide a font example for a format which isn't -supported yet please send a mail too. - - -file wrapper font font glyph FreeType reference -type format format type access driver documents ----------------------------------------------------------------------------- - ---- --- BDF --- --- bdf 5005.BDF_Spec.pdf, X11 - - ---- SFNT PS TYPE_1 --- type1 Type 1 GX Font Format - (for the Mac) [3] -MAC SFNT PS TYPE_1 --- type1 Type 1 GX Font Format - (for the Mac) [3] ---- SFNT PS TYPE_1 CID cid 5180.sfnt.pdf (for the Mac) - [3] -MAC SFNT PS TYPE_1 CID cid 5180.sfnt.pdf (for the Mac) - [3] ---- SFNT PS CFF --- cff OT spec, 5176.CFF.pdf - (`OTTO' format) -MAC SFNT PS CFF --- cff OT spec, 5176.CFF.pdf - (`OTTO' format) ---- SFNT PS CFF CID cff OT spec, 5176.CFF.pdf -MAC SFNT PS CFF CID cff OT spec, 5176.CFF.pdf ---- SFNT PS CFF SYNTHETIC --- OT spec, 5176.CFF.pdf -MAC SFNT PS CFF SYNTHETIC --- OT spec, 5176.CFF.pdf ---- SFNT TT SBIT --- sfnt XFree86 (bitmaps only; - with `head' table) ---- SFNT TT MACSBIT --- sfnt OT spec (for the Mac; - bitmaps only; `bhed' table) -MAC SFNT TT MACSBIT --- sfnt OT spec (for the Mac; - bitmaps only; `bhed' table) ---- SFNT TT --- --- truetype OT spec (`normal' TT font) -MAC SFNT TT --- --- truetype OT spec (`normal' TT font) -MAC SFNT TT VAR --- truetype GX spec (`?var' tables) ---- SFNT TT --- COLLECTION truetype OT spec (this can't be CFF) -MAC SFNT TT --- COLLECTION truetype OT spec (this can't be CFF) - - ---- --- PS TYPE_1 --- type1 T1_SPEC.pdf - (`normal' Type 1 font) -MAC --- PS TYPE_1 --- type1 T1_SPEC.pdf - (`normal' Type 1 font) ---- --- PS TYPE_1 CID cid PLRM.pdf (CID Font Type 0; - Type 9 font) ---- --- PS MM --- type1 5015.Type1_Supp.pdf - (Multiple Masters) ---- --- PS CFF --- cff 5176.CFF.pdf (`pure' CFF) ---- --- PS CFF CID cff 5176.CFF.pdf (`pure' CFF) ---- --- PS CFF SYNTHETIC --- 5176.CFF.pdf (`pure' CFF) ---- PS PS CFF --- --- PLRM.pdf (Type 2) [1] ---- PS PS CFF CID --- PLRM.pdf (Type 2) [1] ---- PS PS CFF SYNTHETIC --- PLRM.pdf (Type 2) [1] ---- --- PS --- TYPE_0 --- PLRM.pdf ---- --- PS TYPE_3 --- --- PLRM.pdf (never supported) ---- --- PS TYPE_3 CID --- PLRM.pdf (CID Font Type 1; - Type 10 font; never supported) ---- PS PS TYPE_14 --- --- PLRM.pdf (Chameleon font; - Type 14 font; never supported?) ---- --- PS TYPE_32 CID --- PLRM.pdf (CID Font Type 4; - Type 32 font; never supported?) ---- PS TT --- --- type42 5012.Type42_Spec.pdf - (Type 42 font) ---- PS TT --- CID --- PLRM.pdf (CID Font Type 2; - Type 11 font) - - ---- ? ? CEF ? cff ? - - ---- --- PCF --- --- pcf X11 [4] ---- LZW PCF --- --- pcf X11 [4] ---- BZ2 PCF --- --- pcf X11 [4] - - ---- --- PFR PFR0 --- pfr [2] ---- --- PFR PFR1 --- --- (undocumented, proprietary; - probably never supported) - - ---- --- WINFNT --- --- winfonts MS Windows 3 Developer's Notes ---- --- WINFNT VECTOR --- --- MS Windows 3 Developer's Notes - - -[1] Support should be rather simple since this is identical to `CFF' but - in a PS wrapper. - -[2] Official PFR specification: - - http://www.bitstream.com/categories/developer/truedoc/pfrspec.html - http://www.bitstream.com/categories/developer/truedoc/pfrspec1.2.pdf - - The syntax of the auxiliary data is not defined there, but is - partially defined in MHP 1.0.3 (also called ETSI TS 101812 V1.3.1) - section 7.4. - - http://www.etsi.org/ - http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=18799 - - (free registration required). - -[3] Support is rudimentary currently; some tables are not loaded yet. - -[4] See - - THE X WINDOW SYSTEM SERVER: X VERSION 11, RELEASE 5 - Elias Israel, Erik Fortune, Digital Press, 1992 - ISBN 1-55558-096-3 - - for a specification given in Appendix D on pgs. 436-450. However, - this information might be out of date; unfortunately, there is no - PCF specification available online, and this book is out of print. - George Williams deduced the font format from the X11 sources and - documented it for his FontForge font editor: - - http://fontforge.sourceforge.net/pcf-format.html - ------------------------------------------------------------------------- - -Copyright 2004, 2005, 2008, 2009, 2010 by -David Turner, Robert Wilhelm, and Werner Lemberg. - -This file is part of the FreeType project, and may only be used, -modified, and distributed under the terms of the FreeType project -license, LICENSE.TXT. By continuing to use, modify, or distribute this -file you indicate that you have read the license and understand and -accept it fully. - - ---- end of formats.txt --- diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/raster.txt b/gtk+-mingw/share/doc/freetype-2.4.10/raster.txt deleted file mode 100644 index 95d9e24..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/raster.txt +++ /dev/null @@ -1,635 +0,0 @@ - - How FreeType's rasterizer work - - by David Turner - - Revised 2007-Feb-01 - - -This file is an attempt to explain the internals of the FreeType -rasterizer. The rasterizer is of quite general purpose and could -easily be integrated into other programs. - - - I. Introduction - - II. Rendering Technology - 1. Requirements - 2. Profiles and Spans - a. Sweeping the Shape - b. Decomposing Outlines into Profiles - c. The Render Pool - d. Computing Profiles Extents - e. Computing Profiles Coordinates - f. Sweeping and Sorting the Spans - - -I. Introduction -=============== - - A rasterizer is a library in charge of converting a vectorial - representation of a shape into a bitmap. The FreeType rasterizer - has been originally developed to render the glyphs found in - TrueType files, made up of segments and second-order Béziers. - Meanwhile it has been extended to render third-order Bézier curves - also. This document is an explanation of its design and - implementation. - - While these explanations start from the basics, a knowledge of - common rasterization techniques is assumed. - - -II. Rendering Technology -======================== - -1. Requirements ---------------- - - We assume that all scaling, rotating, hinting, etc., has been - already done. The glyph is thus described by a list of points in - the device space. - - - All point coordinates are in the 26.6 fixed float format. The - used orientation is: - - - ^ y - | reference orientation - | - *----> x - 0 - - - `26.6' means that 26 bits are used for the integer part of a - value and 6 bits are used for the fractional part. - Consequently, the `distance' between two neighbouring pixels is - 64 `units' (1 unit = 1/64th of a pixel). - - Note that, for the rasterizer, pixel centers are located at - integer coordinates. The TrueType bytecode interpreter, - however, assumes that the lower left edge of a pixel (which is - taken to be a square with a length of 1 unit) has integer - coordinates. - - - ^ y ^ y - | | - | (1,1) | (0.5,0.5) - +-----------+ +-----+-----+ - | | | | | - | | | | | - | | | o-----+-----> x - | | | (0,0) | - | | | | - o-----------+-----> x +-----------+ - (0,0) (-0.5,-0.5) - - TrueType bytecode interpreter FreeType rasterizer - - - A pixel line in the target bitmap is called a `scanline'. - - - A glyph is usually made of several contours, also called - `outlines'. A contour is simply a closed curve that delimits an - outer or inner region of the glyph. It is described by a series - of successive points of the points table. - - Each point of the glyph has an associated flag that indicates - whether it is `on' or `off' the curve. Two successive `on' - points indicate a line segment joining the two points. - - One `off' point amidst two `on' points indicates a second-degree - (conic) Bézier parametric arc, defined by these three points - (the `off' point being the control point, and the `on' ones the - start and end points). Similarly, a third-degree (cubic) Bézier - curve is described by four points (two `off' control points - between two `on' points). - - Finally, for second-order curves only, two successive `off' - points forces the rasterizer to create, during rendering, an - `on' point amidst them, at their exact middle. This greatly - facilitates the definition of successive Bézier arcs. - - The parametric form of a second-order Bézier curve is: - - P(t) = (1-t)^2*P1 + 2*t*(1-t)*P2 + t^2*P3 - - (P1 and P3 are the end points, P2 the control point.) - - The parametric form of a third-order Bézier curve is: - - P(t) = (1-t)^3*P1 + 3*t*(1-t)^2*P2 + 3*t^2*(1-t)*P3 + t^3*P4 - - (P1 and P4 are the end points, P2 and P3 the control points.) - - For both formulae, t is a real number in the range [0..1]. - - Note that the rasterizer does not use these formulae directly. - They exhibit, however, one very useful property of Bézier arcs: - Each point of the curve is a weighted average of the control - points. - - As all weights are positive and always sum up to 1, whatever the - value of t, each arc point lies within the triangle (polygon) - defined by the arc's three (four) control points. - - In the following, only second-order curves are discussed since - rasterization of third-order curves is completely identical. - - Here some samples for second-order curves. - - - * # on curve - * off curve - __---__ - #-__ _-- -_ - --__ _- - - --__ # \ - --__ # - -# - Two `on' points - Two `on' points and one `off' point - between them - - * - # __ Two `on' points with two `off' - \ - - points between them. The point - \ / \ marked `0' is the middle of the - - 0 \ `off' points, and is a `virtual - -_ _- # on' point where the curve passes. - -- It does not appear in the point - * list. - - -2. Profiles and Spans ---------------------- - - The following is a basic explanation of the _kind_ of computations - made by the rasterizer to build a bitmap from a vector - representation. Note that the actual implementation is slightly - different, due to performance tuning and other factors. - - However, the following ideas remain in the same category, and are - more convenient to understand. - - - a. Sweeping the Shape - - The best way to fill a shape is to decompose it into a number of - simple horizontal segments, then turn them on in the target - bitmap. These segments are called `spans'. - - __---__ - _-- -_ - _- - - - \ - / \ - / \ - | \ - - __---__ Example: filling a shape - _----------_ with spans. - _-------------- - ----------------\ - /-----------------\ This is typically done from the top - / \ to the bottom of the shape, in a - | | \ movement called a `sweep'. - V - - __---__ - _----------_ - _-------------- - ----------------\ - /-----------------\ - /-------------------\ - |---------------------\ - - - In order to draw a span, the rasterizer must compute its - coordinates, which are simply the x coordinates of the shape's - contours, taken on the y scanlines. - - - /---/ |---| Note that there are usually - /---/ |---| several spans per scanline. - | /---/ |---| - | /---/_______|---| When rendering this shape to the - V /----------------| current scanline y, we must - /-----------------| compute the x values of the - a /----| |---| points a, b, c, and d. - - - - * * - - - - * * - - y - - / / b c| |d - - - /---/ |---| - /---/ |---| And then turn on the spans a-b - /---/ |---| and c-d. - /---/_______|---| - /----------------| - /-----------------| - a /----| |---| - - - - ####### - - - - ##### - - y - - / / b c| |d - - - b. Decomposing Outlines into Profiles - - For each scanline during the sweep, we need the following - information: - - o The number of spans on the current scanline, given by the - number of shape points intersecting the scanline (these are - the points a, b, c, and d in the above example). - - o The x coordinates of these points. - - x coordinates are computed before the sweep, in a phase called - `decomposition' which converts the glyph into *profiles*. - - Put it simply, a `profile' is a contour's portion that can only - be either ascending or descending, i.e., it is monotonic in the - vertical direction (we also say y-monotonic). There is no such - thing as a horizontal profile, as we shall see. - - Here are a few examples: - - - this square - 1 2 - ---->---- is made of two - | | | | - | | profiles | | - ^ v ^ + v - | | | | - | | | | - ----<---- - - up down - - - this triangle - - P2 1 2 - - |\ is made of two | \ - ^ | \ \ | \ - | | \ \ profiles | \ | - | | \ v ^ | \ | - | \ | | + \ v - | \ | | \ - P1 ---___ \ ---___ \ - ---_\ ---_ \ - <--__ P3 up down - - - - A more general contour can be made of more than two profiles: - - __ ^ - / | / ___ / | - / | / | / | / | - | | / / => | v / / - | | | | | | ^ | - ^ | |___| | | ^ + | + | + v - | | | v | | - | | | up | - |___________| | down | - - <-- up down - - - Successive profiles are always joined by horizontal segments - that are not part of the profiles themselves. - - For the rasterizer, a profile is simply an *array* that - associates one horizontal *pixel* coordinate to each bitmap - *scanline* crossed by the contour's section containing the - profile. Note that profiles are *oriented* up or down along the - glyph's original flow orientation. - - In other graphics libraries, profiles are also called `edges' or - `edgelists'. - - - c. The Render Pool - - FreeType has been designed to be able to run well on _very_ - light systems, including embedded systems with very few memory. - - A render pool will be allocated once; the rasterizer uses this - pool for all its needs by managing this memory directly in it. - The algorithms that are used for profile computation make it - possible to use the pool as a simple growing heap. This means - that this memory management is actually quite easy and faster - than any kind of malloc()/free() combination. - - Moreover, we'll see later that the rasterizer is able, when - dealing with profiles too large and numerous to lie all at once - in the render pool, to immediately decompose recursively the - rendering process into independent sub-tasks, each taking less - memory to be performed (see `sub-banding' below). - - The render pool doesn't need to be large. A 4KByte pool is - enough for nearly all renditions, though nearly 100% slower than - a more comfortable 16KByte or 32KByte pool (that was tested with - complex glyphs at sizes over 500 pixels). - - - d. Computing Profiles Extents - - Remember that a profile is an array, associating a _scanline_ to - the x pixel coordinate of its intersection with a contour. - - Though it's not exactly how the FreeType rasterizer works, it is - convenient to think that we need a profile's height before - allocating it in the pool and computing its coordinates. - - The profile's height is the number of scanlines crossed by the - y-monotonic section of a contour. We thus need to compute these - sections from the vectorial description. In order to do that, - we are obliged to compute all (local and global) y extrema of - the glyph (minima and maxima). - - - P2 For instance, this triangle has only - two y-extrema, which are simply - |\ - | \ P2.y as a vertical maximum - | \ P3.y as a vertical minimum - | \ - | \ P1.y is not a vertical extremum (though - | \ it is a horizontal minimum, which we - P1 ---___ \ don't need). - ---_\ - P3 - - - Note that the extrema are expressed in pixel units, not in - scanlines. The triangle's height is certainly (P3.y-P2.y+1) - pixel units, but its profiles' heights are computed in - scanlines. The exact conversion is simple: - - - min scanline = FLOOR ( min y ) - - max scanline = CEILING( max y ) - - A problem arises with Bézier Arcs. While a segment is always - necessarily y-monotonic (i.e., flat, ascending, or descending), - which makes extrema computations easy, the ascent of an arc can - vary between its control points. - - - P2 - * - # on curve - * off curve - __-x--_ - _-- -_ - P1 _- - A non y-monotonic Bézier arc. - # \ - - The arc goes from P1 to P3. - \ - \ P3 - # - - - We first need to be able to easily detect non-monotonic arcs, - according to their control points. I will state here, without - proof, that the monotony condition can be expressed as: - - P1.y <= P2.y <= P3.y for an ever-ascending arc - - P1.y >= P2.y >= P3.y for an ever-descending arc - - with the special case of - - P1.y = P2.y = P3.y where the arc is said to be `flat'. - - As you can see, these conditions can be very easily tested. - They are, however, extremely important, as any arc that does not - satisfy them necessarily contains an extremum. - - Note also that a monotonic arc can contain an extremum too, - which is then one of its `on' points: - - - P1 P2 - #---__ * P1P2P3 is ever-descending, but P1 - -_ is an y-extremum. - - - ---_ \ - -> \ - \ P3 - # - - - Let's go back to our previous example: - - - P2 - * - # on curve - * off curve - __-x--_ - _-- -_ - P1 _- - A non-y-monotonic Bézier arc. - # \ - - Here we have - \ P2.y >= P1.y && - \ P3 P2.y >= P3.y (!) - # - - - We need to compute the vertical maximum of this arc to be able - to compute a profile's height (the point marked by an `x'). The - arc's equation indicates that a direct computation is possible, - but we rely on a different technique, which use will become - apparent soon. - - Bézier arcs have the special property of being very easily - decomposed into two sub-arcs, which are themselves Bézier arcs. - Moreover, it is easy to prove that there is at most one vertical - extremum on each Bézier arc (for second-degree curves; similar - conditions can be found for third-order arcs). - - For instance, the following arc P1P2P3 can be decomposed into - two sub-arcs Q1Q2Q3 and R1R2R3: - - - P2 - * - # on curve - * off curve - - - original Bézier arc P1P2P3. - __---__ - _-- --_ - _- -_ - - - - / \ - / \ - # # - P1 P3 - - - - P2 - * - - - - Q3 Decomposed into two subarcs - Q2 R2 Q1Q2Q3 and R1R2R3 - * __-#-__ * - _-- --_ - _- R1 -_ Q1 = P1 R3 = P3 - - - Q2 = (P1+P2)/2 R2 = (P2+P3)/2 - / \ - / \ Q3 = R1 = (Q2+R2)/2 - # # - Q1 R3 Note that Q2, R2, and Q3=R1 - are on a single line which is - tangent to the curve. - - - We have then decomposed a non-y-monotonic Bézier curve into two - smaller sub-arcs. Note that in the above drawing, both sub-arcs - are monotonic, and that the extremum is then Q3=R1. However, in - a more general case, only one sub-arc is guaranteed to be - monotonic. Getting back to our former example: - - - Q2 - * - - __-x--_ R1 - _-- #_ - Q1 _- Q3 - R2 - # \ * - - - \ - \ R3 - # - - - Here, we see that, though Q1Q2Q3 is still non-monotonic, R1R2R3 - is ever descending: We thus know that it doesn't contain the - extremum. We can then re-subdivide Q1Q2Q3 into two sub-arcs and - go on recursively, stopping when we encounter two monotonic - subarcs, or when the subarcs become simply too small. - - We will finally find the vertical extremum. Note that the - iterative process of finding an extremum is called `flattening'. - - - e. Computing Profiles Coordinates - - Once we have the height of each profile, we are able to allocate - it in the render pool. The next task is to compute coordinates - for each scanline. - - In the case of segments, the computation is straightforward, - using the Euclidean algorithm (also known as Bresenham). - However, for Bézier arcs, the job is a little more complicated. - - We assume that all Béziers that are part of a profile are the - result of flattening the curve, which means that they are all - y-monotonic (ascending or descending, and never flat). We now - have to compute the intersections of arcs with the profile's - scanlines. One way is to use a similar scheme to flattening - called `stepping'. - - - Consider this arc, going from P1 to - --------------------- P3. Suppose that we need to - compute its intersections with the - drawn scanlines. As already - --------------------- mentioned this can be done - directly, but the involved - * P2 _---# P3 algorithm is far too slow. - ------------- _-- -- - _- - _/ Instead, it is still possible to - ---------/----------- use the decomposition property in - / the same recursive way, i.e., - | subdivide the arc into subarcs - ------|-------------- until these get too small to cross - | more than one scanline! - | - -----|--------------- This is very easily done using a - | rasterizer-managed stack of - | subarcs. - # P1 - - - f. Sweeping and Sorting the Spans - - Once all our profiles have been computed, we begin the sweep to - build (and fill) the spans. - - As both the TrueType and Type 1 specifications use the winding - fill rule (but with opposite directions), we place, on each - scanline, the present profiles in two separate lists. - - One list, called the `left' one, only contains ascending - profiles, while the other `right' list contains the descending - profiles. - - As each glyph is made of closed curves, a simple geometric - property ensures that the two lists contain the same number of - elements. - - Creating spans is thus straightforward: - - 1. We sort each list in increasing horizontal order. - - 2. We pair each value of the left list with its corresponding - value in the right list. - - - / / | | For example, we have here - / / | | four profiles. Two of - >/ / | | | them are ascending (1 & - 1// / ^ | | | 2 3), while the two others - // // 3| | | v are descending (2 & 4). - / //4 | | | On the given scanline, - a / /< | | the left list is (1,3), - - - - *-----* - - - - *---* - - y - and the right one is - / / b c| |d (4,2) (sorted). - - There are then two spans, joining - 1 to 4 (i.e. a-b) and 3 to 2 - (i.e. c-d)! - - - Sorting doesn't necessarily take much time, as in 99 cases out - of 100, the lists' order is kept from one scanline to the next. - We can thus implement it with two simple singly-linked lists, - sorted by a classic bubble-sort, which takes a minimum amount of - time when the lists are already sorted. - - A previous version of the rasterizer used more elaborate - structures, like arrays to perform `faster' sorting. It turned - out that this old scheme is not faster than the one described - above. - - Once the spans have been `created', we can simply draw them in - the target bitmap. - ------------------------------------------------------------------------- - -Copyright 2003, 2007 by -David Turner, Robert Wilhelm, and Werner Lemberg. - -This file is part of the FreeType project, and may only be used, -modified, and distributed under the terms of the FreeType project -license, LICENSE.TXT. By continuing to use, modify, or distribute this -file you indicate that you have read the license and understand and -accept it fully. - - ---- end of raster.txt --- - -Local Variables: -coding: utf-8 -End: diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/README b/gtk+-mingw/share/doc/freetype-2.4.10/reference/README deleted file mode 100644 index 51b04d6..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/README +++ /dev/null @@ -1,5 +0,0 @@ -After saying `make refdoc' this directory contains the FreeType API -reference. You need python to make this target. - -This also works with Jam: Just type `jam refdoc' in the main directory. - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-base_interface.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-base_interface.html deleted file mode 100644 index 3510312..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-base_interface.html +++ /dev/null @@ -1,3610 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Base Interface -

    -

    Synopsis

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FT_LibraryFT_IS_TRICKYFT_Load_Char
    FT_FaceFT_STYLE_FLAG_XXXFT_LOAD_XXX
    FT_SizeFT_Size_InternalFT_LOAD_TARGET_XXX
    FT_GlyphSlotFT_Size_MetricsFT_LOAD_TARGET_MODE
    FT_CharMapFT_SizeRecFT_Set_Transform
    FT_EncodingFT_SubGlyphFT_Render_Mode
    FT_Glyph_MetricsFT_Slot_Internalft_render_mode_xxx
    FT_Bitmap_SizeFT_GlyphSlotRecFT_Render_Glyph
    FT_ModuleFT_Init_FreeTypeFT_Kerning_Mode
    FT_DriverFT_Done_FreeTypeft_kerning_default
    FT_RendererFT_OPEN_XXXft_kerning_unfitted
    FT_ENC_TAGFT_Parameterft_kerning_unscaled
    ft_encoding_xxxFT_Open_ArgsFT_Get_Kerning
    FT_CharMapRecFT_New_FaceFT_Get_Track_Kerning
    FT_Face_InternalFT_New_Memory_FaceFT_Get_Glyph_Name
    FT_FaceRecFT_Open_FaceFT_Get_Postscript_Name
    FT_FACE_FLAG_XXXFT_Attach_FileFT_Select_Charmap
    FT_HAS_HORIZONTALFT_Attach_StreamFT_Set_Charmap
    FT_HAS_VERTICALFT_Reference_FaceFT_Get_Charmap_Index
    FT_HAS_KERNINGFT_Done_FaceFT_Get_Char_Index
    FT_IS_SCALABLEFT_Select_SizeFT_Get_First_Char
    FT_IS_SFNTFT_Size_Request_TypeFT_Get_Next_Char
    FT_IS_FIXED_WIDTHFT_Size_RequestRecFT_Get_Name_Index
    FT_HAS_FIXED_SIZESFT_Size_RequestFT_SUBGLYPH_FLAG_XXX
    FT_HAS_FAST_GLYPHSFT_Request_SizeFT_Get_SubGlyph_Info
    FT_HAS_GLYPH_NAMESFT_Set_Char_SizeFT_FSTYPE_XXX
    FT_HAS_MULTIPLE_MASTERSFT_Set_Pixel_SizesFT_Get_FSType_Flags
    FT_IS_CID_KEYEDFT_Load_Glyph


    - -
    -

    This section describes the public high-level API of FreeType 2.

    -

    -
    -

    FT_Library

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct FT_LibraryRec_  *FT_Library;
    -
    -

    -
    -

    A handle to a FreeType library instance. Each ‘library’ is completely independent from the others; it is the ‘root’ of a set of objects like fonts, faces, sizes, etc.

    -

    It also embeds a memory manager (see FT_Memory), as well as a scan-line converter object (see FT_Raster).

    -

    For multi-threading applications each thread should have its own FT_Library object.

    -

    -
    note
    -

    Library objects are normally created by FT_Init_FreeType, and destroyed with FT_Done_FreeType.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Face

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct FT_FaceRec_*  FT_Face;
    -
    -

    -
    -

    A handle to a given typographic face object. A face object models a given typeface, in a given style.

    -

    -
    note
    -

    Each face object also owns a single FT_GlyphSlot object, as well as one or more FT_Size objects.

    -

    Use FT_New_Face or FT_Open_Face to create a new face object from a given filepathname or a custom input stream.

    -

    Use FT_Done_Face to destroy it (along with its slot and sizes).

    -
    -
    also
    -

    See FT_FaceRec for the publicly accessible fields of a given face object.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Size

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct FT_SizeRec_*  FT_Size;
    -
    -

    -
    -

    A handle to an object used to model a face scaled to a given character size.

    -

    -
    note
    -

    Each FT_Face has an active FT_Size object that is used by functions like FT_Load_Glyph to determine the scaling transformation which is used to load and hint glyphs and metrics.

    -

    You can use FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Request_Size or even FT_Select_Size to change the content (i.e., the scaling values) of the active FT_Size.

    -

    You can use FT_New_Size to create additional size objects for a given FT_Face, but they won't be used by other functions until you activate it through FT_Activate_Size. Only one size can be activated at any given time per face.

    -
    -
    also
    -

    See FT_SizeRec for the publicly accessible fields of a given size object.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_GlyphSlot

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct FT_GlyphSlotRec_*  FT_GlyphSlot;
    -
    -

    -
    -

    A handle to a given ‘glyph slot’. A slot is a container where it is possible to load any of the glyphs contained in its parent face.

    -

    In other words, each time you call FT_Load_Glyph or FT_Load_Char, the slot's content is erased by the new glyph data, i.e., the glyph's metrics, its image (bitmap or outline), and other control information.

    -

    -
    also
    -

    See FT_GlyphSlotRec for the publicly accessible glyph fields.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_CharMap

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct FT_CharMapRec_*  FT_CharMap;
    -
    -

    -
    -

    A handle to a given character map. A charmap is used to translate character codes in a given encoding into glyph indexes for its parent's face. Some font formats may provide several charmaps per font.

    -

    Each face object owns zero or more charmaps, but only one of them can be ‘active’ and used by FT_Get_Char_Index or FT_Load_Char.

    -

    The list of available charmaps in a face is available through the ‘face->num_charmaps’ and ‘face->charmaps’ fields of FT_FaceRec.

    -

    The currently active charmap is available as ‘face->charmap’. You should call FT_Set_Charmap to change it.

    -

    -
    note
    -

    When a new face is created (either through FT_New_Face or FT_Open_Face), the library looks for a Unicode charmap within the list and automatically activates it.

    -
    -
    also
    -

    See FT_CharMapRec for the publicly accessible fields of a given character map.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Encoding

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef enum  FT_Encoding_
    -  {
    -    FT_ENC_TAG( FT_ENCODING_NONE, 0, 0, 0, 0 ),
    -
    -    FT_ENC_TAG( FT_ENCODING_MS_SYMBOL, 's', 'y', 'm', 'b' ),
    -    FT_ENC_TAG( FT_ENCODING_UNICODE,   'u', 'n', 'i', 'c' ),
    -
    -    FT_ENC_TAG( FT_ENCODING_SJIS,    's', 'j', 'i', 's' ),
    -    FT_ENC_TAG( FT_ENCODING_GB2312,  'g', 'b', ' ', ' ' ),
    -    FT_ENC_TAG( FT_ENCODING_BIG5,    'b', 'i', 'g', '5' ),
    -    FT_ENC_TAG( FT_ENCODING_WANSUNG, 'w', 'a', 'n', 's' ),
    -    FT_ENC_TAG( FT_ENCODING_JOHAB,   'j', 'o', 'h', 'a' ),
    -
    -    /* for backwards compatibility */
    -    FT_ENCODING_MS_SJIS    = FT_ENCODING_SJIS,
    -    FT_ENCODING_MS_GB2312  = FT_ENCODING_GB2312,
    -    FT_ENCODING_MS_BIG5    = FT_ENCODING_BIG5,
    -    FT_ENCODING_MS_WANSUNG = FT_ENCODING_WANSUNG,
    -    FT_ENCODING_MS_JOHAB   = FT_ENCODING_JOHAB,
    -
    -    FT_ENC_TAG( FT_ENCODING_ADOBE_STANDARD, 'A', 'D', 'O', 'B' ),
    -    FT_ENC_TAG( FT_ENCODING_ADOBE_EXPERT,   'A', 'D', 'B', 'E' ),
    -    FT_ENC_TAG( FT_ENCODING_ADOBE_CUSTOM,   'A', 'D', 'B', 'C' ),
    -    FT_ENC_TAG( FT_ENCODING_ADOBE_LATIN_1,  'l', 'a', 't', '1' ),
    -
    -    FT_ENC_TAG( FT_ENCODING_OLD_LATIN_2, 'l', 'a', 't', '2' ),
    -
    -    FT_ENC_TAG( FT_ENCODING_APPLE_ROMAN, 'a', 'r', 'm', 'n' )
    -
    -  } FT_Encoding;
    -
    -

    -
    -

    An enumeration used to specify character sets supported by charmaps. Used in the FT_Select_Charmap API function.

    -

    -
    note
    -

    Despite the name, this enumeration lists specific character repertories (i.e., charsets), and not text encoding methods (e.g., UTF-8, UTF-16, etc.).

    -

    Other encodings might be defined in the future.

    -
    -
    values
    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FT_ENCODING_NONE -

    The encoding value 0 is reserved.

    -
    FT_ENCODING_UNICODE -

    Corresponds to the Unicode character set. This value covers all versions of the Unicode repertoire, including ASCII and Latin-1. Most fonts include a Unicode charmap, but not all of them.

    -

    For example, if you want to access Unicode value U+1F028 (and the font contains it), use value 0x1F028 as the input value for FT_Get_Char_Index.

    -
    FT_ENCODING_MS_SYMBOL -

    Corresponds to the Microsoft Symbol encoding, used to encode mathematical symbols in the 32..255 character code range. For more information, see ‘http://www.ceviz.net/symbol.htm’.

    -
    FT_ENCODING_SJIS -

    Corresponds to Japanese SJIS encoding. More info at at ‘http://langsupport.japanreference.com/encoding.shtml’. See note on multi-byte encodings below.

    -
    FT_ENCODING_GB2312 -

    Corresponds to an encoding system for Simplified Chinese as used used in mainland China.

    -
    FT_ENCODING_BIG5 -

    Corresponds to an encoding system for Traditional Chinese as used in Taiwan and Hong Kong.

    -
    FT_ENCODING_WANSUNG -

    Corresponds to the Korean encoding system known as Wansung. For more information see ‘http://www.microsoft.com/typography/unicode/949.txt’.

    -
    FT_ENCODING_JOHAB -

    The Korean standard character set (KS C 5601-1992), which corresponds to MS Windows code page 1361. This character set includes all possible Hangeul character combinations.

    -
    FT_ENCODING_ADOBE_LATIN_1
    -

    Corresponds to a Latin-1 encoding as defined in a Type 1 PostScript font. It is limited to 256 character codes.

    -
    FT_ENCODING_ADOBE_STANDARD
    -

    Corresponds to the Adobe Standard encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.

    -
    FT_ENCODING_ADOBE_EXPERT
    -

    Corresponds to the Adobe Expert encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.

    -
    FT_ENCODING_ADOBE_CUSTOM
    -

    Corresponds to a custom encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.

    -
    FT_ENCODING_APPLE_ROMAN
    -

    Corresponds to the 8-bit Apple roman encoding. Many TrueType and OpenType fonts contain a charmap for this encoding, since older versions of Mac OS are able to use it.

    -
    FT_ENCODING_OLD_LATIN_2
    -

    This value is deprecated and was never used nor reported by FreeType. Don't use or test for it.

    -
    FT_ENCODING_MS_SJIS -

    Same as FT_ENCODING_SJIS. Deprecated.

    -
    FT_ENCODING_MS_GB2312 -

    Same as FT_ENCODING_GB2312. Deprecated.

    -
    FT_ENCODING_MS_BIG5 -

    Same as FT_ENCODING_BIG5. Deprecated.

    -
    FT_ENCODING_MS_WANSUNG -

    Same as FT_ENCODING_WANSUNG. Deprecated.

    -
    FT_ENCODING_MS_JOHAB -

    Same as FT_ENCODING_JOHAB. Deprecated.

    -
    -
    -
    note
    -

    By default, FreeType automatically synthesizes a Unicode charmap for PostScript fonts, using their glyph names dictionaries. However, it also reports the encodings defined explicitly in the font file, for the cases when they are needed, with the Adobe values as well.

    -

    FT_ENCODING_NONE is set by the BDF and PCF drivers if the charmap is neither Unicode nor ISO-8859-1 (otherwise it is set to FT_ENCODING_UNICODE). Use FT_Get_BDF_Charset_ID to find out which encoding is really present. If, for example, the ‘cs_registry’ field is ‘KOI8’ and the ‘cs_encoding’ field is ‘R’, the font is encoded in KOI8-R.

    -

    FT_ENCODING_NONE is always set (with a single exception) by the winfonts driver. Use FT_Get_WinFNT_Header and examine the ‘charset’ field of the FT_WinFNT_HeaderRec structure to find out which encoding is really present. For example, FT_WinFNT_ID_CP1251 (204) means Windows code page 1251 (for Russian).

    -

    FT_ENCODING_NONE is set if ‘platform_id’ is TT_PLATFORM_MACINTOSH and ‘encoding_id’ is not TT_MAC_ID_ROMAN (otherwise it is set to FT_ENCODING_APPLE_ROMAN).

    -

    If ‘platform_id’ is TT_PLATFORM_MACINTOSH, use the function FT_Get_CMap_Language_ID to query the Mac language ID which may be needed to be able to distinguish Apple encoding variants. See

    -

    http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT

    -

    to get an idea how to do that. Basically, if the language ID is 0, don't use it, otherwise subtract 1 from the language ID. Then examine ‘encoding_id’. If, for example, ‘encoding_id’ is TT_MAC_ID_ROMAN and the language ID (minus 1) is ‘TT_MAC_LANGID_GREEK’, it is the Greek encoding, not Roman. TT_MAC_ID_ARABIC with ‘TT_MAC_LANGID_FARSI’ means the Farsi variant the Arabic encoding.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Glyph_Metrics

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct  FT_Glyph_Metrics_
    -  {
    -    FT_Pos  width;
    -    FT_Pos  height;
    -
    -    FT_Pos  horiBearingX;
    -    FT_Pos  horiBearingY;
    -    FT_Pos  horiAdvance;
    -
    -    FT_Pos  vertBearingX;
    -    FT_Pos  vertBearingY;
    -    FT_Pos  vertAdvance;
    -
    -  } FT_Glyph_Metrics;
    -
    -

    -
    -

    A structure used to model the metrics of a single glyph. The values are expressed in 26.6 fractional pixel format; if the flag FT_LOAD_NO_SCALE has been used while loading the glyph, values are expressed in font units instead.

    -

    -
    fields
    -

    - - - - - - - - - -
    width -

    The glyph's width.

    -
    height -

    The glyph's height.

    -
    horiBearingX -

    Left side bearing for horizontal layout.

    -
    horiBearingY -

    Top side bearing for horizontal layout.

    -
    horiAdvance -

    Advance width for horizontal layout.

    -
    vertBearingX -

    Left side bearing for vertical layout.

    -
    vertBearingY -

    Top side bearing for vertical layout. Larger positive values mean further below the vertical glyph origin.

    -
    vertAdvance -

    Advance height for vertical layout. Positive values mean the glyph has a positive advance downward.

    -
    -
    -
    note
    -

    If not disabled with FT_LOAD_NO_HINTING, the values represent dimensions of the hinted glyph (in case hinting is applicable).

    -

    Stroking a glyph with an outside border does not increase ‘horiAdvance’ or ‘vertAdvance’; you have to manually adjust these values to account for the added width and height.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Bitmap_Size

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct  FT_Bitmap_Size_
    -  {
    -    FT_Short  height;
    -    FT_Short  width;
    -
    -    FT_Pos    size;
    -
    -    FT_Pos    x_ppem;
    -    FT_Pos    y_ppem;
    -
    -  } FT_Bitmap_Size;
    -
    -

    -
    -

    This structure models the metrics of a bitmap strike (i.e., a set of glyphs for a given point size and resolution) in a bitmap font. It is used for the ‘available_sizes’ field of FT_Face.

    -

    -
    fields
    -

    - - - - - - -
    height -

    The vertical distance, in pixels, between two consecutive baselines. It is always positive.

    -
    width -

    The average width, in pixels, of all glyphs in the strike.

    -
    size -

    The nominal size of the strike in 26.6 fractional points. This field is not very useful.

    -
    x_ppem -

    The horizontal ppem (nominal width) in 26.6 fractional pixels.

    -
    y_ppem -

    The vertical ppem (nominal height) in 26.6 fractional pixels.

    -
    -
    -
    note
    -

    Windows FNT: The nominal size given in a FNT font is not reliable. Thus when the driver finds it incorrect, it sets ‘size’ to some calculated values and sets ‘x_ppem’ and ‘y_ppem’ to the pixel width and height given in the font, respectively.

    -

    TrueType embedded bitmaps: ‘size’, ‘width’, and ‘height’ values are not contained in the bitmap strike itself. They are computed from the global font parameters.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Module

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct FT_ModuleRec_*  FT_Module;
    -
    -

    -
    -

    A handle to a given FreeType module object. Each module can be a font driver, a renderer, or anything else that provides services to the formers.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Driver

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct FT_DriverRec_*  FT_Driver;
    -
    -

    -
    -

    A handle to a given FreeType font driver object. Each font driver is a special module capable of creating faces from font files.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Renderer

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct FT_RendererRec_*  FT_Renderer;
    -
    -

    -
    -

    A handle to a given FreeType renderer. A renderer is a special module in charge of converting a glyph image to a bitmap, when necessary. Each renderer supports a given glyph image format, and one or more target surface depths.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_ENC_TAG

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#ifndef FT_ENC_TAG
    -#define FT_ENC_TAG( value, a, b, c, d )         \
    -          value = ( ( (FT_UInt32)(a) << 24 ) |  \
    -                    ( (FT_UInt32)(b) << 16 ) |  \
    -                    ( (FT_UInt32)(c) <<  8 ) |  \
    -                      (FT_UInt32)(d)         )
    -
    -#endif /* FT_ENC_TAG */
    -
    -

    -
    -

    This macro converts four-letter tags into an unsigned long. It is used to define ‘encoding’ identifiers (see FT_Encoding).

    -

    -
    note
    -

    Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:

    -
    -  #define FT_ENC_TAG( value, a, b, c, d )  value                   
    -
    -

    to get a simple enumeration without assigning special numbers.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    ft_encoding_xxx

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define ft_encoding_none            FT_ENCODING_NONE
    -#define ft_encoding_unicode         FT_ENCODING_UNICODE
    -#define ft_encoding_symbol          FT_ENCODING_MS_SYMBOL
    -#define ft_encoding_latin_1         FT_ENCODING_ADOBE_LATIN_1
    -#define ft_encoding_latin_2         FT_ENCODING_OLD_LATIN_2
    -#define ft_encoding_sjis            FT_ENCODING_SJIS
    -#define ft_encoding_gb2312          FT_ENCODING_GB2312
    -#define ft_encoding_big5            FT_ENCODING_BIG5
    -#define ft_encoding_wansung         FT_ENCODING_WANSUNG
    -#define ft_encoding_johab           FT_ENCODING_JOHAB
    -
    -#define ft_encoding_adobe_standard  FT_ENCODING_ADOBE_STANDARD
    -#define ft_encoding_adobe_expert    FT_ENCODING_ADOBE_EXPERT
    -#define ft_encoding_adobe_custom    FT_ENCODING_ADOBE_CUSTOM
    -#define ft_encoding_apple_roman     FT_ENCODING_APPLE_ROMAN
    -
    -

    -
    -

    These constants are deprecated; use the corresponding FT_Encoding values instead.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_CharMapRec

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct  FT_CharMapRec_
    -  {
    -    FT_Face      face;
    -    FT_Encoding  encoding;
    -    FT_UShort    platform_id;
    -    FT_UShort    encoding_id;
    -
    -  } FT_CharMapRec;
    -
    -

    -
    -

    The base charmap structure.

    -

    -
    fields
    -

    - - - - - -
    face -

    A handle to the parent face object.

    -
    encoding -

    An FT_Encoding tag identifying the charmap. Use this with FT_Select_Charmap.

    -
    platform_id -

    An ID number describing the platform for the following encoding ID. This comes directly from the TrueType specification and should be emulated for other formats.

    -
    encoding_id -

    A platform specific encoding number. This also comes from the TrueType specification and should be emulated similarly.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Face_Internal

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct FT_Face_InternalRec_*  FT_Face_Internal;
    -
    -

    -
    -

    An opaque handle to an ‘FT_Face_InternalRec’ structure, used to model private data of a given FT_Face object.

    -

    This structure might change between releases of FreeType 2 and is not generally available to client applications.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_FaceRec

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct  FT_FaceRec_
    -  {
    -    FT_Long           num_faces;
    -    FT_Long           face_index;
    -
    -    FT_Long           face_flags;
    -    FT_Long           style_flags;
    -
    -    FT_Long           num_glyphs;
    -
    -    FT_String*        family_name;
    -    FT_String*        style_name;
    -
    -    FT_Int            num_fixed_sizes;
    -    FT_Bitmap_Size*   available_sizes;
    -
    -    FT_Int            num_charmaps;
    -    FT_CharMap*       charmaps;
    -
    -    FT_Generic        generic;
    -
    -    /*# The following member variables (down to `underline_thickness') */
    -    /*# are only relevant to scalable outlines; cf. @FT_Bitmap_Size    */
    -    /*# for bitmap fonts.                                              */
    -    FT_BBox           bbox;
    -
    -    FT_UShort         units_per_EM;
    -    FT_Short          ascender;
    -    FT_Short          descender;
    -    FT_Short          height;
    -
    -    FT_Short          max_advance_width;
    -    FT_Short          max_advance_height;
    -
    -    FT_Short          underline_position;
    -    FT_Short          underline_thickness;
    -
    -    FT_GlyphSlot      glyph;
    -    FT_Size           size;
    -    FT_CharMap        charmap;
    -
    -    /*@private begin */
    -
    -    FT_Driver         driver;
    -    FT_Memory         memory;
    -    FT_Stream         stream;
    -
    -    FT_ListRec        sizes_list;
    -
    -    FT_Generic        autohint;   /* face-specific auto-hinter data */
    -    void*             extensions; /* unused                         */
    -
    -    FT_Face_Internal  internal;
    -
    -    /*@private end */
    -
    -  } FT_FaceRec;
    -
    -

    -
    -

    FreeType root face class structure. A face object models a typeface in a font file.

    -

    -
    fields
    -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    num_faces -

    The number of faces in the font file. Some font formats can have multiple faces in a font file.

    -
    face_index -

    The index of the face in the font file. It is set to 0 if there is only one face in the font file.

    -
    face_flags -

    A set of bit flags that give important information about the face; see FT_FACE_FLAG_XXX for the details.

    -
    style_flags -

    A set of bit flags indicating the style of the face; see FT_STYLE_FLAG_XXX for the details.

    -
    num_glyphs -

    The number of glyphs in the face. If the face is scalable and has sbits (see ‘num_fixed_sizes’), it is set to the number of outline glyphs.

    -

    For CID-keyed fonts, this value gives the highest CID used in the font.

    -
    family_name -

    The face's family name. This is an ASCII string, usually in English, which describes the typeface's family (like ‘Times New Roman’, ‘Bodoni’, ‘Garamond’, etc). This is a least common denominator used to list fonts. Some formats (TrueType & OpenType) provide localized and Unicode versions of this string. Applications should use the format specific interface to access them. Can be NULL (e.g., in fonts embedded in a PDF file).

    -
    style_name -

    The face's style name. This is an ASCII string, usually in English, which describes the typeface's style (like ‘Italic’, ‘Bold’, ‘Condensed’, etc). Not all font formats provide a style name, so this field is optional, and can be set to NULL. As for ‘family_name’, some formats provide localized and Unicode versions of this string. Applications should use the format specific interface to access them.

    -
    num_fixed_sizes -

    The number of bitmap strikes in the face. Even if the face is scalable, there might still be bitmap strikes, which are called ‘sbits’ in that case.

    -
    available_sizes -

    An array of FT_Bitmap_Size for all bitmap strikes in the face. It is set to NULL if there is no bitmap strike.

    -
    num_charmaps -

    The number of charmaps in the face.

    -
    charmaps -

    An array of the charmaps of the face.

    -
    generic -

    A field reserved for client uses. See the FT_Generic type description.

    -
    bbox -

    The font bounding box. Coordinates are expressed in font units (see ‘units_per_EM’). The box is large enough to contain any glyph from the font. Thus, ‘bbox.yMax’ can be seen as the ‘maximum ascender’, and ‘bbox.yMin’ as the ‘minimum descender’. Only relevant for scalable formats.

    -

    Note that the bounding box might be off by (at least) one pixel for hinted fonts. See FT_Size_Metrics for further discussion.

    -
    units_per_EM -

    The number of font units per EM square for this face. This is typically 2048 for TrueType fonts, and 1000 for Type 1 fonts. Only relevant for scalable formats.

    -
    ascender -

    The typographic ascender of the face, expressed in font units. For font formats not having this information, it is set to ‘bbox.yMax’. Only relevant for scalable formats.

    -
    descender -

    The typographic descender of the face, expressed in font units. For font formats not having this information, it is set to ‘bbox.yMin’. Note that this field is usually negative. Only relevant for scalable formats.

    -
    height -

    The height is the vertical distance between two consecutive baselines, expressed in font units. It is always positive. Only relevant for scalable formats.

    -
    max_advance_width -

    The maximum advance width, in font units, for all glyphs in this face. This can be used to make word wrapping computations faster. Only relevant for scalable formats.

    -
    max_advance_height -

    The maximum advance height, in font units, for all glyphs in this face. This is only relevant for vertical layouts, and is set to ‘height’ for fonts that do not provide vertical metrics. Only relevant for scalable formats.

    -
    underline_position -

    The position, in font units, of the underline line for this face. It is the center of the underlining stem. Only relevant for scalable formats.

    -
    underline_thickness -

    The thickness, in font units, of the underline for this face. Only relevant for scalable formats.

    -
    glyph -

    The face's associated glyph slot(s).

    -
    size -

    The current active size for this face.

    -
    charmap -

    The current active charmap for this face.

    -
    -
    -
    note
    -

    Fields may be changed after a call to FT_Attach_File or FT_Attach_Stream.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_FACE_FLAG_XXX

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_FACE_FLAG_SCALABLE          ( 1L <<  0 )
    -#define FT_FACE_FLAG_FIXED_SIZES       ( 1L <<  1 )
    -#define FT_FACE_FLAG_FIXED_WIDTH       ( 1L <<  2 )
    -#define FT_FACE_FLAG_SFNT              ( 1L <<  3 )
    -#define FT_FACE_FLAG_HORIZONTAL        ( 1L <<  4 )
    -#define FT_FACE_FLAG_VERTICAL          ( 1L <<  5 )
    -#define FT_FACE_FLAG_KERNING           ( 1L <<  6 )
    -#define FT_FACE_FLAG_FAST_GLYPHS       ( 1L <<  7 )
    -#define FT_FACE_FLAG_MULTIPLE_MASTERS  ( 1L <<  8 )
    -#define FT_FACE_FLAG_GLYPH_NAMES       ( 1L <<  9 )
    -#define FT_FACE_FLAG_EXTERNAL_STREAM   ( 1L << 10 )
    -#define FT_FACE_FLAG_HINTER            ( 1L << 11 )
    -#define FT_FACE_FLAG_CID_KEYED         ( 1L << 12 )
    -#define FT_FACE_FLAG_TRICKY            ( 1L << 13 )
    -
    -

    -
    -

    A list of bit flags used in the ‘face_flags’ field of the FT_FaceRec structure. They inform client applications of properties of the corresponding face.

    -

    -
    values
    -

    - - - - - - - - - - - - - - - - - - - - - - -
    FT_FACE_FLAG_SCALABLE -

    Indicates that the face contains outline glyphs. This doesn't prevent bitmap strikes, i.e., a face can have both this and and FT_FACE_FLAG_FIXED_SIZES set.

    -
    FT_FACE_FLAG_FIXED_SIZES
    -

    Indicates that the face contains bitmap strikes. See also the ‘num_fixed_sizes’ and ‘available_sizes’ fields of FT_FaceRec.

    -
    FT_FACE_FLAG_FIXED_WIDTH
    -

    Indicates that the face contains fixed-width characters (like Courier, Lucido, MonoType, etc.).

    -
    FT_FACE_FLAG_SFNT -

    Indicates that the face uses the ‘sfnt’ storage scheme. For now, this means TrueType and OpenType.

    -
    FT_FACE_FLAG_HORIZONTAL
    -

    Indicates that the face contains horizontal glyph metrics. This should be set for all common formats.

    -
    FT_FACE_FLAG_VERTICAL -

    Indicates that the face contains vertical glyph metrics. This is only available in some formats, not all of them.

    -
    FT_FACE_FLAG_KERNING -

    Indicates that the face contains kerning information. If set, the kerning distance can be retrieved through the function FT_Get_Kerning. Otherwise the function always return the vector (0,0). Note that FreeType doesn't handle kerning data from the ‘GPOS’ table (as present in some OpenType fonts).

    -
    FT_FACE_FLAG_FAST_GLYPHS
    -

    THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT.

    -
    FT_FACE_FLAG_MULTIPLE_MASTERS
    -

    Indicates that the font contains multiple masters and is capable of interpolating between them. See the multiple-masters specific API for details.

    -
    FT_FACE_FLAG_GLYPH_NAMES
    -

    Indicates that the font contains glyph names that can be retrieved through FT_Get_Glyph_Name. Note that some TrueType fonts contain broken glyph name tables. Use the function FT_Has_PS_Glyph_Names when needed.

    -
    FT_FACE_FLAG_EXTERNAL_STREAM
    -

    Used internally by FreeType to indicate that a face's stream was provided by the client application and should not be destroyed when FT_Done_Face is called. Don't read or test this flag.

    -
    FT_FACE_FLAG_HINTER -

    Set if the font driver has a hinting machine of its own. For example, with TrueType fonts, it makes sense to use data from the SFNT ‘gasp’ table only if the native TrueType hinting engine (with the bytecode interpreter) is available and active.

    -
    FT_FACE_FLAG_CID_KEYED -

    Set if the font is CID-keyed. In that case, the font is not accessed by glyph indices but by CID values. For subsetted CID-keyed fonts this has the consequence that not all index values are a valid argument to FT_Load_Glyph. Only the CID values for which corresponding glyphs in the subsetted font exist make FT_Load_Glyph return successfully; in all other cases you get an ‘FT_Err_Invalid_Argument’ error.

    -

    Note that CID-keyed fonts which are in an SFNT wrapper don't have this flag set since the glyphs are accessed in the normal way (using contiguous indices); the ‘CID-ness’ isn't visible to the application.

    -
    FT_FACE_FLAG_TRICKY -

    Set if the font is ‘tricky’, this is, it always needs the font format's native hinting engine to get a reasonable result. A typical example is the Chinese font ‘mingli.ttf’ which uses TrueType bytecode instructions to move and scale all of its subglyphs.

    -

    It is not possible to autohint such fonts using FT_LOAD_FORCE_AUTOHINT; it will also ignore FT_LOAD_NO_HINTING. You have to set both FT_LOAD_NO_HINTING and FT_LOAD_NO_AUTOHINT to really disable hinting; however, you probably never want this except for demonstration purposes.

    -

    Currently, there are about a dozen TrueType fonts in the list of tricky fonts; they are hard-coded in file ‘ttobjs.c’.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_HAS_HORIZONTAL

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_HAS_HORIZONTAL( face ) \
    -          ( face->face_flags & FT_FACE_FLAG_HORIZONTAL )
    -
    -

    -
    -

    A macro that returns true whenever a face object contains horizontal metrics (this is true for all font formats though).

    -

    -
    also
    -

    FT_HAS_VERTICAL can be used to check for vertical metrics.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_HAS_VERTICAL

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_HAS_VERTICAL( face ) \
    -          ( face->face_flags & FT_FACE_FLAG_VERTICAL )
    -
    -

    -
    -

    A macro that returns true whenever a face object contains vertical metrics.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_HAS_KERNING

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_HAS_KERNING( face ) \
    -          ( face->face_flags & FT_FACE_FLAG_KERNING )
    -
    -

    -
    -

    A macro that returns true whenever a face object contains kerning data that can be accessed with FT_Get_Kerning.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_IS_SCALABLE

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_IS_SCALABLE( face ) \
    -          ( face->face_flags & FT_FACE_FLAG_SCALABLE )
    -
    -

    -
    -

    A macro that returns true whenever a face object contains a scalable font face (true for TrueType, Type 1, Type 42, CID, OpenType/CFF, and PFR font formats.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_IS_SFNT

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_IS_SFNT( face ) \
    -          ( face->face_flags & FT_FACE_FLAG_SFNT )
    -
    -

    -
    -

    A macro that returns true whenever a face object contains a font whose format is based on the SFNT storage scheme. This usually means: TrueType fonts, OpenType fonts, as well as SFNT-based embedded bitmap fonts.

    -

    If this macro is true, all functions defined in FT_SFNT_NAMES_H and FT_TRUETYPE_TABLES_H are available.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_IS_FIXED_WIDTH

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_IS_FIXED_WIDTH( face ) \
    -          ( face->face_flags & FT_FACE_FLAG_FIXED_WIDTH )
    -
    -

    -
    -

    A macro that returns true whenever a face object contains a font face that contains fixed-width (or ‘monospace’, ‘fixed-pitch’, etc.) glyphs.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_HAS_FIXED_SIZES

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_HAS_FIXED_SIZES( face ) \
    -          ( face->face_flags & FT_FACE_FLAG_FIXED_SIZES )
    -
    -

    -
    -

    A macro that returns true whenever a face object contains some embedded bitmaps. See the ‘available_sizes’ field of the FT_FaceRec structure.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_HAS_FAST_GLYPHS

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_HAS_FAST_GLYPHS( face )  0
    -
    -

    -
    -

    Deprecated.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_HAS_GLYPH_NAMES

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_HAS_GLYPH_NAMES( face ) \
    -          ( face->face_flags & FT_FACE_FLAG_GLYPH_NAMES )
    -
    -

    -
    -

    A macro that returns true whenever a face object contains some glyph names that can be accessed through FT_Get_Glyph_Name.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_HAS_MULTIPLE_MASTERS

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_HAS_MULTIPLE_MASTERS( face ) \
    -          ( face->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS )
    -
    -

    -
    -

    A macro that returns true whenever a face object contains some multiple masters. The functions provided by FT_MULTIPLE_MASTERS_H are then available to choose the exact design you want.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_IS_CID_KEYED

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_IS_CID_KEYED( face ) \
    -          ( face->face_flags & FT_FACE_FLAG_CID_KEYED )
    -
    -

    -
    -

    A macro that returns true whenever a face object contains a CID-keyed font. See the discussion of FT_FACE_FLAG_CID_KEYED for more details.

    -

    If this macro is true, all functions defined in FT_CID_H are available.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_IS_TRICKY

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_IS_TRICKY( face ) \
    -          ( face->face_flags & FT_FACE_FLAG_TRICKY )
    -
    -

    -
    -

    A macro that returns true whenever a face represents a ‘tricky’ font. See the discussion of FT_FACE_FLAG_TRICKY for more details.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_STYLE_FLAG_XXX

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_STYLE_FLAG_ITALIC  ( 1 << 0 )
    -#define FT_STYLE_FLAG_BOLD    ( 1 << 1 )
    -
    -

    -
    -

    A list of bit-flags used to indicate the style of a given face. These are used in the ‘style_flags’ field of FT_FaceRec.

    -

    -
    values
    -

    - - - -
    FT_STYLE_FLAG_ITALIC -

    Indicates that a given face style is italic or oblique.

    -
    FT_STYLE_FLAG_BOLD -

    Indicates that a given face is bold.

    -
    -
    -
    note
    -

    The style information as provided by FreeType is very basic. More details are beyond the scope and should be done on a higher level (for example, by analyzing various fields of the ‘OS/2’ table in SFNT based fonts).

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Size_Internal

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct FT_Size_InternalRec_*  FT_Size_Internal;
    -
    -

    -
    -

    An opaque handle to an ‘FT_Size_InternalRec’ structure, used to model private data of a given FT_Size object.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Size_Metrics

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct  FT_Size_Metrics_
    -  {
    -    FT_UShort  x_ppem;      /* horizontal pixels per EM               */
    -    FT_UShort  y_ppem;      /* vertical pixels per EM                 */
    -
    -    FT_Fixed   x_scale;     /* scaling values used to convert font    */
    -    FT_Fixed   y_scale;     /* units to 26.6 fractional pixels        */
    -
    -    FT_Pos     ascender;    /* ascender in 26.6 frac. pixels          */
    -    FT_Pos     descender;   /* descender in 26.6 frac. pixels         */
    -    FT_Pos     height;      /* text height in 26.6 frac. pixels       */
    -    FT_Pos     max_advance; /* max horizontal advance, in 26.6 pixels */
    -
    -  } FT_Size_Metrics;
    -
    -

    -
    -

    The size metrics structure gives the metrics of a size object.

    -

    -
    fields
    -

    - - - - - - - - - -
    x_ppem -

    The width of the scaled EM square in pixels, hence the term ‘ppem’ (pixels per EM). It is also referred to as ‘nominal width’.

    -
    y_ppem -

    The height of the scaled EM square in pixels, hence the term ‘ppem’ (pixels per EM). It is also referred to as ‘nominal height’.

    -
    x_scale -

    A 16.16 fractional scaling value used to convert horizontal metrics from font units to 26.6 fractional pixels. Only relevant for scalable font formats.

    -
    y_scale -

    A 16.16 fractional scaling value used to convert vertical metrics from font units to 26.6 fractional pixels. Only relevant for scalable font formats.

    -
    ascender -

    The ascender in 26.6 fractional pixels. See FT_FaceRec for the details.

    -
    descender -

    The descender in 26.6 fractional pixels. See FT_FaceRec for the details.

    -
    height -

    The height in 26.6 fractional pixels. See FT_FaceRec for the details.

    -
    max_advance -

    The maximum advance width in 26.6 fractional pixels. See FT_FaceRec for the details.

    -
    -
    -
    note
    -

    The scaling values, if relevant, are determined first during a size changing operation. The remaining fields are then set by the driver. For scalable formats, they are usually set to scaled values of the corresponding fields in FT_FaceRec.

    -

    Note that due to glyph hinting, these values might not be exact for certain fonts. Thus they must be treated as unreliable with an error margin of at least one pixel!

    -

    Indeed, the only way to get the exact metrics is to render all glyphs. As this would be a definite performance hit, it is up to client applications to perform such computations.

    -

    The FT_Size_Metrics structure is valid for bitmap fonts also.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_SizeRec

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct  FT_SizeRec_
    -  {
    -    FT_Face           face;      /* parent face object              */
    -    FT_Generic        generic;   /* generic pointer for client uses */
    -    FT_Size_Metrics   metrics;   /* size metrics                    */
    -    FT_Size_Internal  internal;
    -
    -  } FT_SizeRec;
    -
    -

    -
    -

    FreeType root size class structure. A size object models a face object at a given size.

    -

    -
    fields
    -

    - - - - -
    face -

    Handle to the parent face object.

    -
    generic -

    A typeless pointer, which is unused by the FreeType library or any of its drivers. It can be used by client applications to link their own data to each size object.

    -
    metrics -

    Metrics for this size object. This field is read-only.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_SubGlyph

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct FT_SubGlyphRec_*  FT_SubGlyph;
    -
    -

    -
    -

    The subglyph structure is an internal object used to describe subglyphs (for example, in the case of composites).

    -

    -
    note
    -

    The subglyph implementation is not part of the high-level API, hence the forward structure declaration.

    -

    You can however retrieve subglyph information with FT_Get_SubGlyph_Info.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Slot_Internal

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct FT_Slot_InternalRec_*  FT_Slot_Internal;
    -
    -

    -
    -

    An opaque handle to an ‘FT_Slot_InternalRec’ structure, used to model private data of a given FT_GlyphSlot object.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_GlyphSlotRec

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct  FT_GlyphSlotRec_
    -  {
    -    FT_Library        library;
    -    FT_Face           face;
    -    FT_GlyphSlot      next;
    -    FT_UInt           reserved;       /* retained for binary compatibility */
    -    FT_Generic        generic;
    -
    -    FT_Glyph_Metrics  metrics;
    -    FT_Fixed          linearHoriAdvance;
    -    FT_Fixed          linearVertAdvance;
    -    FT_Vector         advance;
    -
    -    FT_Glyph_Format   format;
    -
    -    FT_Bitmap         bitmap;
    -    FT_Int            bitmap_left;
    -    FT_Int            bitmap_top;
    -
    -    FT_Outline        outline;
    -
    -    FT_UInt           num_subglyphs;
    -    FT_SubGlyph       subglyphs;
    -
    -    void*             control_data;
    -    long              control_len;
    -
    -    FT_Pos            lsb_delta;
    -    FT_Pos            rsb_delta;
    -
    -    void*             other;
    -
    -    FT_Slot_Internal  internal;
    -
    -  } FT_GlyphSlotRec;
    -
    -

    -
    -

    FreeType root glyph slot class structure. A glyph slot is a container where individual glyphs can be loaded, be they in outline or bitmap format.

    -

    -
    fields
    -

    - - - - - - - - - - - - - - - - - - - - - -
    library -

    A handle to the FreeType library instance this slot belongs to.

    -
    face -

    A handle to the parent face object.

    -
    next -

    In some cases (like some font tools), several glyph slots per face object can be a good thing. As this is rare, the glyph slots are listed through a direct, single-linked list using its ‘next’ field.

    -
    generic -

    A typeless pointer which is unused by the FreeType library or any of its drivers. It can be used by client applications to link their own data to each glyph slot object.

    -
    metrics -

    The metrics of the last loaded glyph in the slot. The returned values depend on the last load flags (see the FT_Load_Glyph API function) and can be expressed either in 26.6 fractional pixels or font units.

    -

    Note that even when the glyph image is transformed, the metrics are not.

    -
    linearHoriAdvance -

    The advance width of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless FT_LOAD_LINEAR_DESIGN is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.

    -
    linearVertAdvance -

    The advance height of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless FT_LOAD_LINEAR_DESIGN is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.

    -
    advance -

    This shorthand is, depending on FT_LOAD_IGNORE_TRANSFORM, the transformed advance width for the glyph (in 26.6 fractional pixel format). As specified with FT_LOAD_VERTICAL_LAYOUT, it uses either the ‘horiAdvance’ or the ‘vertAdvance’ value of ‘metrics’ field.

    -
    format -

    This field indicates the format of the image contained in the glyph slot. Typically FT_GLYPH_FORMAT_BITMAP, FT_GLYPH_FORMAT_OUTLINE, or FT_GLYPH_FORMAT_COMPOSITE, but others are possible.

    -
    bitmap -

    This field is used as a bitmap descriptor when the slot format is FT_GLYPH_FORMAT_BITMAP. Note that the address and content of the bitmap buffer can change between calls of FT_Load_Glyph and a few other functions.

    -
    bitmap_left -

    This is the bitmap's left bearing expressed in integer pixels. Of course, this is only valid if the format is FT_GLYPH_FORMAT_BITMAP.

    -
    bitmap_top -

    This is the bitmap's top bearing expressed in integer pixels. Remember that this is the distance from the baseline to the top-most glyph scanline, upwards y coordinates being positive.

    -
    outline -

    The outline descriptor for the current glyph image if its format is FT_GLYPH_FORMAT_OUTLINE. Once a glyph is loaded, ‘outline’ can be transformed, distorted, embolded, etc. However, it must not be freed.

    -
    num_subglyphs -

    The number of subglyphs in a composite glyph. This field is only valid for the composite glyph format that should normally only be loaded with the FT_LOAD_NO_RECURSE flag. For now this is internal to FreeType.

    -
    subglyphs -

    An array of subglyph descriptors for composite glyphs. There are ‘num_subglyphs’ elements in there. Currently internal to FreeType.

    -
    control_data -

    Certain font drivers can also return the control data for a given glyph image (e.g. TrueType bytecode, Type 1 charstrings, etc.). This field is a pointer to such data.

    -
    control_len -

    This is the length in bytes of the control data.

    -
    other -

    Really wicked formats can use this pointer to present their own glyph image to client applications. Note that the application needs to know about the image format.

    -
    lsb_delta -

    The difference between hinted and unhinted left side bearing while autohinting is active. Zero otherwise.

    -
    rsb_delta -

    The difference between hinted and unhinted right side bearing while autohinting is active. Zero otherwise.

    -
    -
    -
    note
    -

    If FT_Load_Glyph is called with default flags (see FT_LOAD_DEFAULT) the glyph image is loaded in the glyph slot in its native format (e.g., an outline glyph for TrueType and Type 1 formats).

    -

    This image can later be converted into a bitmap by calling FT_Render_Glyph. This function finds the current renderer for the native image's format, then invokes it.

    -

    The renderer is in charge of transforming the native image through the slot's face transformation fields, then converting it into a bitmap that is returned in ‘slot->bitmap’.

    -

    Note that ‘slot->bitmap_left’ and ‘slot->bitmap_top’ are also used to specify the position of the bitmap relative to the current pen position (e.g., coordinates (0,0) on the baseline). Of course, ‘slot->format’ is also changed to FT_GLYPH_FORMAT_BITMAP.

    -
    -
    note
    -

    Here a small pseudo code fragment which shows how to use ‘lsb_delta’ and ‘rsb_delta’:

    -
    -  FT_Pos  origin_x       = 0;                                      
    -  FT_Pos  prev_rsb_delta = 0;                                      
    -                                                                   
    -                                                                   
    -  for all glyphs do                                                
    -    <compute kern between current and previous glyph and add it to 
    -     `origin_x'>                                                   
    -                                                                   
    -    <load glyph with `FT_Load_Glyph'>                              
    -                                                                   
    -    if ( prev_rsb_delta - face->glyph->lsb_delta >= 32 )           
    -      origin_x -= 64;                                              
    -    else if ( prev_rsb_delta - face->glyph->lsb_delta < -32 )      
    -      origin_x += 64;                                              
    -                                                                   
    -    prev_rsb_delta = face->glyph->rsb_delta;                       
    -                                                                   
    -    <save glyph image, or render glyph, or ...>                    
    -                                                                   
    -    origin_x += face->glyph->advance.x;                            
    -  endfor                                                           
    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Init_FreeType

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Init_FreeType( FT_Library  *alibrary );
    -
    -

    -
    -

    Initialize a new FreeType library object. The set of modules that are registered by this function is determined at build time.

    -

    -
    output
    -

    - - -
    alibrary -

    A handle to a new library object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    In case you want to provide your own memory allocating routines, use FT_New_Library instead, followed by a call to FT_Add_Default_Modules (or a series of calls to FT_Add_Module).

    -

    For multi-threading applications each thread should have its own FT_Library object.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Done_FreeType

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Done_FreeType( FT_Library  library );
    -
    -

    -
    -

    Destroy a given FreeType library object and all of its children, including resources, drivers, faces, sizes, etc.

    -

    -
    input
    -

    - - -
    library -

    A handle to the target library object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_OPEN_XXX

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_OPEN_MEMORY    0x1
    -#define FT_OPEN_STREAM    0x2
    -#define FT_OPEN_PATHNAME  0x4
    -#define FT_OPEN_DRIVER    0x8
    -#define FT_OPEN_PARAMS    0x10
    -
    -#define ft_open_memory    FT_OPEN_MEMORY     /* deprecated */
    -#define ft_open_stream    FT_OPEN_STREAM     /* deprecated */
    -#define ft_open_pathname  FT_OPEN_PATHNAME   /* deprecated */
    -#define ft_open_driver    FT_OPEN_DRIVER     /* deprecated */
    -#define ft_open_params    FT_OPEN_PARAMS     /* deprecated */
    -
    -

    -
    -

    A list of bit-field constants used within the ‘flags’ field of the FT_Open_Args structure.

    -

    -
    values
    -

    - - - - - - - - - - - -
    FT_OPEN_MEMORY -

    This is a memory-based stream.

    -
    FT_OPEN_STREAM -

    Copy the stream from the ‘stream’ field.

    -
    FT_OPEN_PATHNAME -

    Create a new input stream from a C path name.

    -
    FT_OPEN_DRIVER -

    Use the ‘driver’ field.

    -
    FT_OPEN_PARAMS -

    Use the ‘num_params’ and ‘params’ fields.

    -
    ft_open_memory -

    Deprecated; use FT_OPEN_MEMORY instead.

    -
    ft_open_stream -

    Deprecated; use FT_OPEN_STREAM instead.

    -
    ft_open_pathname -

    Deprecated; use FT_OPEN_PATHNAME instead.

    -
    ft_open_driver -

    Deprecated; use FT_OPEN_DRIVER instead.

    -
    ft_open_params -

    Deprecated; use FT_OPEN_PARAMS instead.

    -
    -
    -
    note
    -

    The ‘FT_OPEN_MEMORY’, ‘FT_OPEN_STREAM’, and ‘FT_OPEN_PATHNAME’ flags are mutually exclusive.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Parameter

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct  FT_Parameter_
    -  {
    -    FT_ULong    tag;
    -    FT_Pointer  data;
    -
    -  } FT_Parameter;
    -
    -

    -
    -

    A simple structure used to pass more or less generic parameters to FT_Open_Face.

    -

    -
    fields
    -

    - - - -
    tag -

    A four-byte identification tag.

    -
    data -

    A pointer to the parameter data.

    -
    -
    -
    note
    -

    The ID and function of parameters are driver-specific. See the various FT_PARAM_TAG_XXX flags for more information.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Open_Args

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct  FT_Open_Args_
    -  {
    -    FT_UInt         flags;
    -    const FT_Byte*  memory_base;
    -    FT_Long         memory_size;
    -    FT_String*      pathname;
    -    FT_Stream       stream;
    -    FT_Module       driver;
    -    FT_Int          num_params;
    -    FT_Parameter*   params;
    -
    -  } FT_Open_Args;
    -
    -

    -
    -

    A structure used to indicate how to open a new font file or stream. A pointer to such a structure can be used as a parameter for the functions FT_Open_Face and FT_Attach_Stream.

    -

    -
    fields
    -

    - - - - - - - - - -
    flags -

    A set of bit flags indicating how to use the structure.

    -
    memory_base -

    The first byte of the file in memory.

    -
    memory_size -

    The size in bytes of the file in memory.

    -
    pathname -

    A pointer to an 8-bit file pathname.

    -
    stream -

    A handle to a source stream object.

    -
    driver -

    This field is exclusively used by FT_Open_Face; it simply specifies the font driver to use to open the face. If set to 0, FreeType tries to load the face with each one of the drivers in its list.

    -
    num_params -

    The number of extra parameters.

    -
    params -

    Extra parameters passed to the font driver when opening a new face.

    -
    -
    -
    note
    -

    The stream type is determined by the contents of ‘flags’ which are tested in the following order by FT_Open_Face:

    -

    If the ‘FT_OPEN_MEMORY’ bit is set, assume that this is a memory file of ‘memory_size’ bytes, located at ‘memory_address’. The data are are not copied, and the client is responsible for releasing and destroying them after the corresponding call to FT_Done_Face.

    -

    Otherwise, if the ‘FT_OPEN_STREAM’ bit is set, assume that a custom input stream ‘stream’ is used.

    -

    Otherwise, if the ‘FT_OPEN_PATHNAME’ bit is set, assume that this is a normal file and use ‘pathname’ to open it.

    -

    If the ‘FT_OPEN_DRIVER’ bit is set, FT_Open_Face only tries to open the file with the driver whose handler is in ‘driver’.

    -

    If the ‘FT_OPEN_PARAMS’ bit is set, the parameters given by ‘num_params’ and ‘params’ is used. They are ignored otherwise.

    -

    Ideally, both the ‘pathname’ and ‘params’ fields should be tagged as ‘const’; this is missing for API backwards compatibility. In other words, applications should treat them as read-only.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_New_Face

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_New_Face( FT_Library   library,
    -               const char*  filepathname,
    -               FT_Long      face_index,
    -               FT_Face     *aface );
    -
    -

    -
    -

    This function calls FT_Open_Face to open a font by its pathname.

    -

    -
    inout
    -

    - - -
    library -

    A handle to the library resource.

    -
    -
    -
    input
    -

    - - - -
    pathname -

    A path to the font file.

    -
    face_index -

    The index of the face within the font. The first face has index 0.

    -
    -
    -
    output
    -

    - - -
    aface -

    A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See FT_Open_Face for more details.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_New_Memory_Face

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_New_Memory_Face( FT_Library      library,
    -                      const FT_Byte*  file_base,
    -                      FT_Long         file_size,
    -                      FT_Long         face_index,
    -                      FT_Face        *aface );
    -
    -

    -
    -

    This function calls FT_Open_Face to open a font which has been loaded into memory.

    -

    -
    inout
    -

    - - -
    library -

    A handle to the library resource.

    -
    -
    -
    input
    -

    - - - - -
    file_base -

    A pointer to the beginning of the font data.

    -
    file_size -

    The size of the memory chunk used by the font data.

    -
    face_index -

    The index of the face within the font. The first face has index 0.

    -
    -
    -
    output
    -

    - - -
    aface -

    A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See FT_Open_Face for more details.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    You must not deallocate the memory before calling FT_Done_Face.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Open_Face

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Open_Face( FT_Library           library,
    -                const FT_Open_Args*  args,
    -                FT_Long              face_index,
    -                FT_Face             *aface );
    -
    -

    -
    -

    Create a face object from a given resource described by FT_Open_Args.

    -

    -
    inout
    -

    - - -
    library -

    A handle to the library resource.

    -
    -
    -
    input
    -

    - - - -
    args -

    A pointer to an ‘FT_Open_Args’ structure which must be filled by the caller.

    -
    face_index -

    The index of the face within the font. The first face has index 0.

    -
    -
    -
    output
    -

    - - -
    aface -

    A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See note below.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    Unlike FreeType 1.x, this function automatically creates a glyph slot for the face object which can be accessed directly through ‘face->glyph’.

    -

    FT_Open_Face can be used to quickly check whether the font format of a given font resource is supported by FreeType. If the ‘face_index’ field is negative, the function's return value is 0 if the font format is recognized, or non-zero otherwise; the function returns a more or less empty face handle in ‘*aface’ (if ‘aface’ isn't NULL). The only useful field in this special case is ‘face->num_faces’ which gives the number of faces within the font file. After examination, the returned FT_Face structure should be deallocated with a call to FT_Done_Face.

    -

    Each new face object created with this function also owns a default FT_Size object, accessible as ‘face->size’.

    -

    One FT_Library instance can have multiple face objects, this is, FT_Open_Face and its siblings can be called multiple times using the same ‘library’ argument.

    -

    See the discussion of reference counters in the description of FT_Reference_Face.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Attach_File

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Attach_File( FT_Face      face,
    -                  const char*  filepathname );
    -
    -

    -
    -

    This function calls FT_Attach_Stream to attach a file.

    -

    -
    inout
    -

    - - -
    face -

    The target face object.

    -
    -
    -
    input
    -

    - - -
    filepathname -

    The pathname.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Attach_Stream

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Attach_Stream( FT_Face        face,
    -                    FT_Open_Args*  parameters );
    -
    -

    -
    -

    ‘Attach’ data to a face object. Normally, this is used to read additional information for the face object. For example, you can attach an AFM file that comes with a Type 1 font to get the kerning values and other metrics.

    -

    -
    inout
    -

    - - -
    face -

    The target face object.

    -
    -
    -
    input
    -

    - - -
    parameters -

    A pointer to FT_Open_Args which must be filled by the caller.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The meaning of the ‘attach’ (i.e., what really happens when the new file is read) is not fixed by FreeType itself. It really depends on the font format (and thus the font driver).

    -

    Client applications are expected to know what they are doing when invoking this function. Most drivers simply do not implement file attachments.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Reference_Face

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Reference_Face( FT_Face  face );
    -
    -

    -
    -

    A counter gets initialized to 1 at the time an FT_Face structure is created. This function increments the counter. FT_Done_Face then only destroys a face if the counter is 1, otherwise it simply decrements the counter.

    -

    This function helps in managing life-cycles of structures which reference FT_Face objects.

    -

    -
    input
    -

    - - -
    face -

    A handle to a target face object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    since
    -

    2.4.2

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Done_Face

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Done_Face( FT_Face  face );
    -
    -

    -
    -

    Discard a given face object, as well as all of its child slots and sizes.

    -

    -
    input
    -

    - - -
    face -

    A handle to a target face object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    See the discussion of reference counters in the description of FT_Reference_Face.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Select_Size

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Select_Size( FT_Face  face,
    -                  FT_Int   strike_index );
    -
    -

    -
    -

    Select a bitmap strike.

    -

    -
    inout
    -

    - - -
    face -

    A handle to a target face object.

    -
    -
    -
    input
    -

    - - -
    strike_index -

    The index of the bitmap strike in the ‘available_sizes’ field of FT_FaceRec structure.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Size_Request_Type

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef enum  FT_Size_Request_Type_
    -  {
    -    FT_SIZE_REQUEST_TYPE_NOMINAL,
    -    FT_SIZE_REQUEST_TYPE_REAL_DIM,
    -    FT_SIZE_REQUEST_TYPE_BBOX,
    -    FT_SIZE_REQUEST_TYPE_CELL,
    -    FT_SIZE_REQUEST_TYPE_SCALES,
    -
    -    FT_SIZE_REQUEST_TYPE_MAX
    -
    -  } FT_Size_Request_Type;
    -
    -

    -
    -

    An enumeration type that lists the supported size request types.

    -

    -
    values
    -

    - - - - - - - - - - - -
    FT_SIZE_REQUEST_TYPE_NOMINAL
    -

    The nominal size. The ‘units_per_EM’ field of FT_FaceRec is used to determine both scaling values.

    -
    FT_SIZE_REQUEST_TYPE_REAL_DIM
    -

    The real dimension. The sum of the the ‘ascender’ and (minus of) the ‘descender’ fields of FT_FaceRec are used to determine both scaling values.

    -
    FT_SIZE_REQUEST_TYPE_BBOX
    -

    The font bounding box. The width and height of the ‘bbox’ field of FT_FaceRec are used to determine the horizontal and vertical scaling value, respectively.

    -
    FT_SIZE_REQUEST_TYPE_CELL
    -

    The ‘max_advance_width’ field of FT_FaceRec is used to determine the horizontal scaling value; the vertical scaling value is determined the same way as FT_SIZE_REQUEST_TYPE_REAL_DIM does. Finally, both scaling values are set to the smaller one. This type is useful if you want to specify the font size for, say, a window of a given dimension and 80x24 cells.

    -
    FT_SIZE_REQUEST_TYPE_SCALES
    -

    Specify the scaling values directly.

    -
    -
    -
    note
    -

    The above descriptions only apply to scalable formats. For bitmap formats, the behaviour is up to the driver.

    -

    See the note section of FT_Size_Metrics if you wonder how size requesting relates to scaling values.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Size_RequestRec

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct  FT_Size_RequestRec_
    -  {
    -    FT_Size_Request_Type  type;
    -    FT_Long               width;
    -    FT_Long               height;
    -    FT_UInt               horiResolution;
    -    FT_UInt               vertResolution;
    -
    -  } FT_Size_RequestRec;
    -
    -

    -
    -

    A structure used to model a size request.

    -

    -
    fields
    -

    - - - - - - -
    type -

    See FT_Size_Request_Type.

    -
    width -

    The desired width.

    -
    height -

    The desired height.

    -
    horiResolution -

    The horizontal resolution. If set to zero, ‘width’ is treated as a 26.6 fractional pixel value.

    -
    vertResolution -

    The vertical resolution. If set to zero, ‘height’ is treated as a 26.6 fractional pixel value.

    -
    -
    -
    note
    -

    If ‘width’ is zero, then the horizontal scaling value is set equal to the vertical scaling value, and vice versa.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Size_Request

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef struct FT_Size_RequestRec_  *FT_Size_Request;
    -
    -

    -
    -

    A handle to a size request structure.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Request_Size

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Request_Size( FT_Face          face,
    -                   FT_Size_Request  req );
    -
    -

    -
    -

    Resize the scale of the active FT_Size object in a face.

    -

    -
    inout
    -

    - - -
    face -

    A handle to a target face object.

    -
    -
    -
    input
    -

    - - -
    req -

    A pointer to a FT_Size_RequestRec.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    Although drivers may select the bitmap strike matching the request, you should not rely on this if you intend to select a particular bitmap strike. Use FT_Select_Size instead in that case.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Set_Char_Size

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Set_Char_Size( FT_Face     face,
    -                    FT_F26Dot6  char_width,
    -                    FT_F26Dot6  char_height,
    -                    FT_UInt     horz_resolution,
    -                    FT_UInt     vert_resolution );
    -
    -

    -
    -

    This function calls FT_Request_Size to request the nominal size (in points).

    -

    -
    inout
    -

    - - -
    face -

    A handle to a target face object.

    -
    -
    -
    input
    -

    - - - - - -
    char_width -

    The nominal width, in 26.6 fractional points.

    -
    char_height -

    The nominal height, in 26.6 fractional points.

    -
    horz_resolution -

    The horizontal resolution in dpi.

    -
    vert_resolution -

    The vertical resolution in dpi.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    If either the character width or height is zero, it is set equal to the other value.

    -

    If either the horizontal or vertical resolution is zero, it is set equal to the other value.

    -

    A character width or height smaller than 1pt is set to 1pt; if both resolution values are zero, they are set to 72dpi.

    -

    Don't use this function if you are using the FreeType cache API.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Set_Pixel_Sizes

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Set_Pixel_Sizes( FT_Face  face,
    -                      FT_UInt  pixel_width,
    -                      FT_UInt  pixel_height );
    -
    -

    -
    -

    This function calls FT_Request_Size to request the nominal size (in pixels).

    -

    -
    inout
    -

    - - -
    face -

    A handle to the target face object.

    -
    -
    -
    input
    -

    - - - -
    pixel_width -

    The nominal width, in pixels.

    -
    pixel_height -

    The nominal height, in pixels.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Load_Glyph

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Load_Glyph( FT_Face   face,
    -                 FT_UInt   glyph_index,
    -                 FT_Int32  load_flags );
    -
    -

    -
    -

    A function used to load a single glyph into the glyph slot of a face object.

    -

    -
    inout
    -

    - - -
    face -

    A handle to the target face object where the glyph is loaded.

    -
    -
    -
    input
    -

    - - - -
    glyph_index -

    The index of the glyph in the font file. For CID-keyed fonts (either in PS or in CFF format) this argument specifies the CID value.

    -
    load_flags -

    A flag indicating what to load for this glyph. The FT_LOAD_XXX constants can be used to control the glyph loading process (e.g., whether the outline should be scaled, whether to load bitmaps or not, whether to hint the outline, etc).

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The loaded glyph may be transformed. See FT_Set_Transform for the details.

    -

    For subsetted CID-keyed fonts, ‘FT_Err_Invalid_Argument’ is returned for invalid CID values (this is, for CID values which don't have a corresponding glyph in the font). See the discussion of the FT_FACE_FLAG_CID_KEYED flag for more details.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Load_Char

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Load_Char( FT_Face   face,
    -                FT_ULong  char_code,
    -                FT_Int32  load_flags );
    -
    -

    -
    -

    A function used to load a single glyph into the glyph slot of a face object, according to its character code.

    -

    -
    inout
    -

    - - -
    face -

    A handle to a target face object where the glyph is loaded.

    -
    -
    -
    input
    -

    - - - -
    char_code -

    The glyph's character code, according to the current charmap used in the face.

    -
    load_flags -

    A flag indicating what to load for this glyph. The FT_LOAD_XXX constants can be used to control the glyph loading process (e.g., whether the outline should be scaled, whether to load bitmaps or not, whether to hint the outline, etc).

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function simply calls FT_Get_Char_Index and FT_Load_Glyph.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_LOAD_XXX

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_LOAD_DEFAULT                      0x0
    -#define FT_LOAD_NO_SCALE                     ( 1L << 0 )
    -#define FT_LOAD_NO_HINTING                   ( 1L << 1 )
    -#define FT_LOAD_RENDER                       ( 1L << 2 )
    -#define FT_LOAD_NO_BITMAP                    ( 1L << 3 )
    -#define FT_LOAD_VERTICAL_LAYOUT              ( 1L << 4 )
    -#define FT_LOAD_FORCE_AUTOHINT               ( 1L << 5 )
    -#define FT_LOAD_CROP_BITMAP                  ( 1L << 6 )
    -#define FT_LOAD_PEDANTIC                     ( 1L << 7 )
    -#define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH  ( 1L << 9 )
    -#define FT_LOAD_NO_RECURSE                   ( 1L << 10 )
    -#define FT_LOAD_IGNORE_TRANSFORM             ( 1L << 11 )
    -#define FT_LOAD_MONOCHROME                   ( 1L << 12 )
    -#define FT_LOAD_LINEAR_DESIGN                ( 1L << 13 )
    -#define FT_LOAD_NO_AUTOHINT                  ( 1L << 15 )
    -
    -

    -
    -

    A list of bit-field constants used with FT_Load_Glyph to indicate what kind of operations to perform during glyph loading.

    -

    -
    values
    -

    - - - - - - - - - - - - - - - - - - - -
    FT_LOAD_DEFAULT -

    Corresponding to 0, this value is used as the default glyph load operation. In this case, the following happens:

    -

    1. FreeType looks for a bitmap for the glyph corresponding to the face's current size. If one is found, the function returns. The bitmap data can be accessed from the glyph slot (see note below).

    -

    2. If no embedded bitmap is searched or found, FreeType looks for a scalable outline. If one is found, it is loaded from the font file, scaled to device pixels, then ‘hinted’ to the pixel grid in order to optimize it. The outline data can be accessed from the glyph slot (see note below).

    -

    Note that by default, the glyph loader doesn't render outlines into bitmaps. The following flags are used to modify this default behaviour to more specific and useful cases.

    -
    FT_LOAD_NO_SCALE -

    Don't scale the outline glyph loaded, but keep it in font units.

    -

    This flag implies FT_LOAD_NO_HINTING and FT_LOAD_NO_BITMAP, and unsets FT_LOAD_RENDER.

    -
    FT_LOAD_NO_HINTING -

    Disable hinting. This generally generates ‘blurrier’ bitmap glyph when the glyph is rendered in any of the anti-aliased modes. See also the note below.

    -

    This flag is implied by FT_LOAD_NO_SCALE.

    -
    FT_LOAD_RENDER -

    Call FT_Render_Glyph after the glyph is loaded. By default, the glyph is rendered in FT_RENDER_MODE_NORMAL mode. This can be overridden by FT_LOAD_TARGET_XXX or FT_LOAD_MONOCHROME.

    -

    This flag is unset by FT_LOAD_NO_SCALE.

    -
    FT_LOAD_NO_BITMAP -

    Ignore bitmap strikes when loading. Bitmap-only fonts ignore this flag.

    -

    FT_LOAD_NO_SCALE always sets this flag.

    -
    FT_LOAD_VERTICAL_LAYOUT
    -

    Load the glyph for vertical text layout. Don't use it as it is problematic currently.

    -
    FT_LOAD_FORCE_AUTOHINT -

    Indicates that the auto-hinter is preferred over the font's native hinter. See also the note below.

    -
    FT_LOAD_CROP_BITMAP -

    Indicates that the font driver should crop the loaded bitmap glyph (i.e., remove all space around its black bits). Not all drivers implement this.

    -
    FT_LOAD_PEDANTIC -

    Indicates that the font driver should perform pedantic verifications during glyph loading. This is mostly used to detect broken glyphs in fonts. By default, FreeType tries to handle broken fonts also.

    -

    In particular, errors from the TrueType bytecode engine are not passed to the application if this flag is not set; this might result in partially hinted or distorted glyphs in case a glyph's bytecode is buggy.

    -
    FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH
    -

    Ignored. Deprecated.

    -
    FT_LOAD_NO_RECURSE -

    This flag is only used internally. It merely indicates that the font driver should not load composite glyphs recursively. Instead, it should set the ‘num_subglyph’ and ‘subglyphs’ values of the glyph slot accordingly, and set ‘glyph->format’ to FT_GLYPH_FORMAT_COMPOSITE.

    -

    The description of sub-glyphs is not available to client applications for now.

    -

    This flag implies FT_LOAD_NO_SCALE and FT_LOAD_IGNORE_TRANSFORM.

    -
    FT_LOAD_IGNORE_TRANSFORM
    -

    Indicates that the transform matrix set by FT_Set_Transform should be ignored.

    -
    FT_LOAD_MONOCHROME -

    This flag is used with FT_LOAD_RENDER to indicate that you want to render an outline glyph to a 1-bit monochrome bitmap glyph, with 8 pixels packed into each byte of the bitmap data.

    -

    Note that this has no effect on the hinting algorithm used. You should rather use FT_LOAD_TARGET_MONO so that the monochrome-optimized hinting algorithm is used.

    -
    FT_LOAD_LINEAR_DESIGN -

    Indicates that the ‘linearHoriAdvance’ and ‘linearVertAdvance’ fields of FT_GlyphSlotRec should be kept in font units. See FT_GlyphSlotRec for details.

    -
    FT_LOAD_NO_AUTOHINT -

    Disable auto-hinter. See also the note below.

    -
    -
    -
    note
    -

    By default, hinting is enabled and the font's native hinter (see FT_FACE_FLAG_HINTER) is preferred over the auto-hinter. You can disable hinting by setting FT_LOAD_NO_HINTING or change the precedence by setting FT_LOAD_FORCE_AUTOHINT. You can also set FT_LOAD_NO_AUTOHINT in case you don't want the auto-hinter to be used at all.

    -

    See the description of FT_FACE_FLAG_TRICKY for a special exception (affecting only a handful of Asian fonts).

    -

    Besides deciding which hinter to use, you can also decide which hinting algorithm to use. See FT_LOAD_TARGET_XXX for details.

    -

    Note that the auto-hinter needs a valid Unicode cmap (either a native one or synthesized by FreeType) for producing correct results. If a font provides an incorrect mapping (for example, assigning the character code U+005A, LATIN CAPITAL LETTER Z, to a glyph depicting a mathematical integral sign), the auto-hinter might produce useless results.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_LOAD_TARGET_XXX

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_LOAD_TARGET_( x )   ( (FT_Int32)( (x) & 15 ) << 16 )
    -
    -#define FT_LOAD_TARGET_NORMAL  FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL )
    -#define FT_LOAD_TARGET_LIGHT   FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT  )
    -#define FT_LOAD_TARGET_MONO    FT_LOAD_TARGET_( FT_RENDER_MODE_MONO   )
    -#define FT_LOAD_TARGET_LCD     FT_LOAD_TARGET_( FT_RENDER_MODE_LCD    )
    -#define FT_LOAD_TARGET_LCD_V   FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V  )
    -
    -

    -
    -

    A list of values that are used to select a specific hinting algorithm to use by the hinter. You should OR one of these values to your ‘load_flags’ when calling FT_Load_Glyph.

    -

    Note that font's native hinters may ignore the hinting algorithm you have specified (e.g., the TrueType bytecode interpreter). You can set FT_LOAD_FORCE_AUTOHINT to ensure that the auto-hinter is used.

    -

    Also note that FT_LOAD_TARGET_LIGHT is an exception, in that it always implies FT_LOAD_FORCE_AUTOHINT.

    -

    -
    values
    -

    - - - - - - -
    FT_LOAD_TARGET_NORMAL -

    This corresponds to the default hinting algorithm, optimized for standard gray-level rendering. For monochrome output, use FT_LOAD_TARGET_MONO instead.

    -
    FT_LOAD_TARGET_LIGHT -

    A lighter hinting algorithm for non-monochrome modes. Many generated glyphs are more fuzzy but better resemble its original shape. A bit like rendering on Mac OS X.

    -

    As a special exception, this target implies FT_LOAD_FORCE_AUTOHINT.

    -
    FT_LOAD_TARGET_MONO -

    Strong hinting algorithm that should only be used for monochrome output. The result is probably unpleasant if the glyph is rendered in non-monochrome modes.

    -
    FT_LOAD_TARGET_LCD -

    A variant of FT_LOAD_TARGET_NORMAL optimized for horizontally decimated LCD displays.

    -
    FT_LOAD_TARGET_LCD_V -

    A variant of FT_LOAD_TARGET_NORMAL optimized for vertically decimated LCD displays.

    -
    -
    -
    note
    -

    You should use only one of the FT_LOAD_TARGET_XXX values in your ‘load_flags’. They can't be ORed.

    -

    If FT_LOAD_RENDER is also set, the glyph is rendered in the corresponding mode (i.e., the mode which matches the used algorithm best). An exeption is FT_LOAD_TARGET_MONO since it implies FT_LOAD_MONOCHROME.

    -

    You can use a hinting algorithm that doesn't correspond to the same rendering mode. As an example, it is possible to use the ‘light’ hinting algorithm and have the results rendered in horizontal LCD pixel mode, with code like

    -
    -  FT_Load_Glyph( face, glyph_index,
    -                 load_flags | FT_LOAD_TARGET_LIGHT );
    -
    -  FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD );
    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_LOAD_TARGET_MODE

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_LOAD_TARGET_MODE( x )  ( (FT_Render_Mode)( ( (x) >> 16 ) & 15 ) )
    -
    -

    -
    -

    Return the FT_Render_Mode corresponding to a given FT_LOAD_TARGET_XXX value.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Set_Transform

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Set_Transform( FT_Face     face,
    -                    FT_Matrix*  matrix,
    -                    FT_Vector*  delta );
    -
    -

    -
    -

    A function used to set the transformation that is applied to glyph images when they are loaded into a glyph slot through FT_Load_Glyph.

    -

    -
    inout
    -

    - - -
    face -

    A handle to the source face object.

    -
    -
    -
    input
    -

    - - - -
    matrix -

    A pointer to the transformation's 2x2 matrix. Use 0 for the identity matrix.

    -
    delta -

    A pointer to the translation vector. Use 0 for the null vector.

    -
    -
    -
    note
    -

    The transformation is only applied to scalable image formats after the glyph has been loaded. It means that hinting is unaltered by the transformation and is performed on the character size given in the last call to FT_Set_Char_Size or FT_Set_Pixel_Sizes.

    -

    Note that this also transforms the ‘face.glyph.advance’ field, but not the values in ‘face.glyph.metrics’.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Render_Mode

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef enum  FT_Render_Mode_
    -  {
    -    FT_RENDER_MODE_NORMAL = 0,
    -    FT_RENDER_MODE_LIGHT,
    -    FT_RENDER_MODE_MONO,
    -    FT_RENDER_MODE_LCD,
    -    FT_RENDER_MODE_LCD_V,
    -
    -    FT_RENDER_MODE_MAX
    -
    -  } FT_Render_Mode;
    -
    -

    -
    -

    An enumeration type that lists the render modes supported by FreeType 2. Each mode corresponds to a specific type of scanline conversion performed on the outline.

    -

    For bitmap fonts and embedded bitmaps the ‘bitmap->pixel_mode’ field in the FT_GlyphSlotRec structure gives the format of the returned bitmap.

    -

    All modes except FT_RENDER_MODE_MONO use 256 levels of opacity.

    -

    -
    values
    -

    - - - - - - -
    FT_RENDER_MODE_NORMAL -

    This is the default render mode; it corresponds to 8-bit anti-aliased bitmaps.

    -
    FT_RENDER_MODE_LIGHT -

    This is equivalent to FT_RENDER_MODE_NORMAL. It is only defined as a separate value because render modes are also used indirectly to define hinting algorithm selectors. See FT_LOAD_TARGET_XXX for details.

    -
    FT_RENDER_MODE_MONO -

    This mode corresponds to 1-bit bitmaps (with 2 levels of opacity).

    -
    FT_RENDER_MODE_LCD -

    This mode corresponds to horizontal RGB and BGR sub-pixel displays like LCD screens. It produces 8-bit bitmaps that are 3 times the width of the original glyph outline in pixels, and which use the FT_PIXEL_MODE_LCD mode.

    -
    FT_RENDER_MODE_LCD_V -

    This mode corresponds to vertical RGB and BGR sub-pixel displays (like PDA screens, rotated LCD displays, etc.). It produces 8-bit bitmaps that are 3 times the height of the original glyph outline in pixels and use the FT_PIXEL_MODE_LCD_V mode.

    -
    -
    -
    note
    -

    The LCD-optimized glyph bitmaps produced by FT_Render_Glyph can be filtered to reduce color-fringes by using FT_Library_SetLcdFilter (not active in the default builds). It is up to the caller to either call FT_Library_SetLcdFilter (if available) or do the filtering itself.

    -

    The selected render mode only affects vector glyphs of a font. Embedded bitmaps often have a different pixel mode like FT_PIXEL_MODE_MONO. You can use FT_Bitmap_Convert to transform them into 8-bit pixmaps.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    ft_render_mode_xxx

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define ft_render_mode_normal  FT_RENDER_MODE_NORMAL
    -#define ft_render_mode_mono    FT_RENDER_MODE_MONO
    -
    -

    -
    -

    These constants are deprecated. Use the corresponding FT_Render_Mode values instead.

    -

    -
    values
    -

    - - - -
    ft_render_mode_normal -

    see FT_RENDER_MODE_NORMAL

    -
    ft_render_mode_mono -

    see FT_RENDER_MODE_MONO

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Render_Glyph

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Render_Glyph( FT_GlyphSlot    slot,
    -                   FT_Render_Mode  render_mode );
    -
    -

    -
    -

    Convert a given glyph image to a bitmap. It does so by inspecting the glyph image format, finding the relevant renderer, and invoking it.

    -

    -
    inout
    -

    - - -
    slot -

    A handle to the glyph slot containing the image to convert.

    -
    -
    -
    input
    -

    - - -
    render_mode -

    This is the render mode used to render the glyph image into a bitmap. See FT_Render_Mode for a list of possible values.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Kerning_Mode

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  typedef enum  FT_Kerning_Mode_
    -  {
    -    FT_KERNING_DEFAULT  = 0,
    -    FT_KERNING_UNFITTED,
    -    FT_KERNING_UNSCALED
    -
    -  } FT_Kerning_Mode;
    -
    -

    -
    -

    An enumeration used to specify which kerning values to return in FT_Get_Kerning.

    -

    -
    values
    -

    - - - - -
    FT_KERNING_DEFAULT -

    Return scaled and grid-fitted kerning distances (value is 0).

    -
    FT_KERNING_UNFITTED -

    Return scaled but un-grid-fitted kerning distances.

    -
    FT_KERNING_UNSCALED -

    Return the kerning vector in original font units.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    ft_kerning_default

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define ft_kerning_default   FT_KERNING_DEFAULT
    -
    -

    -
    -

    This constant is deprecated. Please use FT_KERNING_DEFAULT instead.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    ft_kerning_unfitted

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define ft_kerning_unfitted  FT_KERNING_UNFITTED
    -
    -

    -
    -

    This constant is deprecated. Please use FT_KERNING_UNFITTED instead.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    ft_kerning_unscaled

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define ft_kerning_unscaled  FT_KERNING_UNSCALED
    -
    -

    -
    -

    This constant is deprecated. Please use FT_KERNING_UNSCALED instead.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Kerning

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_Kerning( FT_Face     face,
    -                  FT_UInt     left_glyph,
    -                  FT_UInt     right_glyph,
    -                  FT_UInt     kern_mode,
    -                  FT_Vector  *akerning );
    -
    -

    -
    -

    Return the kerning vector between two glyphs of a same face.

    -

    -
    input
    -

    - - - - - -
    face -

    A handle to a source face object.

    -
    left_glyph -

    The index of the left glyph in the kern pair.

    -
    right_glyph -

    The index of the right glyph in the kern pair.

    -
    kern_mode -

    See FT_Kerning_Mode for more information. Determines the scale and dimension of the returned kerning vector.

    -
    -
    -
    output
    -

    - - -
    akerning -

    The kerning vector. This is either in font units or in pixels (26.6 format) for scalable formats, and in pixels for fixed-sizes formats.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    Only horizontal layouts (left-to-right & right-to-left) are supported by this method. Other layouts, or more sophisticated kernings, are out of the scope of this API function -- they can be implemented through format-specific interfaces.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Track_Kerning

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_Track_Kerning( FT_Face    face,
    -                        FT_Fixed   point_size,
    -                        FT_Int     degree,
    -                        FT_Fixed*  akerning );
    -
    -

    -
    -

    Return the track kerning for a given face object at a given size.

    -

    -
    input
    -

    - - - - -
    face -

    A handle to a source face object.

    -
    point_size -

    The point size in 16.16 fractional points.

    -
    degree -

    The degree of tightness. Increasingly negative values represent tighter track kerning, while increasingly positive values represent looser track kerning. Value zero means no track kerning.

    -
    -
    -
    output
    -

    - - -
    akerning -

    The kerning in 16.16 fractional points, to be uniformly applied between all glyphs.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    Currently, only the Type 1 font driver supports track kerning, using data from AFM files (if attached with FT_Attach_File or FT_Attach_Stream).

    -

    Only very few AFM files come with track kerning data; please refer to the Adobe's AFM specification for more details.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Glyph_Name

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_Glyph_Name( FT_Face     face,
    -                     FT_UInt     glyph_index,
    -                     FT_Pointer  buffer,
    -                     FT_UInt     buffer_max );
    -
    -

    -
    -

    Retrieve the ASCII name of a given glyph in a face. This only works for those faces where FT_HAS_GLYPH_NAMES(face) returns 1.

    -

    -
    input
    -

    - - - - -
    face -

    A handle to a source face object.

    -
    glyph_index -

    The glyph index.

    -
    buffer_max -

    The maximum number of bytes available in the buffer.

    -
    -
    -
    output
    -

    - - -
    buffer -

    A pointer to a target buffer where the name is copied to.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    An error is returned if the face doesn't provide glyph names or if the glyph index is invalid. In all cases of failure, the first byte of ‘buffer’ is set to 0 to indicate an empty name.

    -

    The glyph name is truncated to fit within the buffer if it is too long. The returned string is always zero-terminated.

    -

    Be aware that FreeType reorders glyph indices internally so that glyph index 0 always corresponds to the ‘missing glyph’ (called ‘.notdef’).

    -

    This function is not compiled within the library if the config macro ‘FT_CONFIG_OPTION_NO_GLYPH_NAMES’ is defined in ‘include/freetype/config/ftoptions.h’.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Postscript_Name

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( const char* )
    -  FT_Get_Postscript_Name( FT_Face  face );
    -
    -

    -
    -

    Retrieve the ASCII PostScript name of a given face, if available. This only works with PostScript and TrueType fonts.

    -

    -
    input
    -

    - - -
    face -

    A handle to the source face object.

    -
    -
    -
    return
    -

    A pointer to the face's PostScript name. NULL if unavailable.

    -
    -
    note
    -

    The returned pointer is owned by the face and is destroyed with it.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Select_Charmap

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Select_Charmap( FT_Face      face,
    -                     FT_Encoding  encoding );
    -
    -

    -
    -

    Select a given charmap by its encoding tag (as listed in ‘freetype.h’).

    -

    -
    inout
    -

    - - -
    face -

    A handle to the source face object.

    -
    -
    -
    input
    -

    - - -
    encoding -

    A handle to the selected encoding.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function returns an error if no charmap in the face corresponds to the encoding queried here.

    -

    Because many fonts contain more than a single cmap for Unicode encoding, this function has some special code to select the one which covers Unicode best (‘best’ in the sense that a UCS-4 cmap is preferred to a UCS-2 cmap). It is thus preferable to FT_Set_Charmap in this case.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Set_Charmap

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Set_Charmap( FT_Face     face,
    -                  FT_CharMap  charmap );
    -
    -

    -
    -

    Select a given charmap for character code to glyph index mapping.

    -

    -
    inout
    -

    - - -
    face -

    A handle to the source face object.

    -
    -
    -
    input
    -

    - - -
    charmap -

    A handle to the selected charmap.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function returns an error if the charmap is not part of the face (i.e., if it is not listed in the ‘face->charmaps’ table).

    -

    It also fails if a type 14 charmap is selected.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Charmap_Index

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Int )
    -  FT_Get_Charmap_Index( FT_CharMap  charmap );
    -
    -

    -
    -

    Retrieve index of a given charmap.

    -

    -
    input
    -

    - - -
    charmap -

    A handle to a charmap.

    -
    -
    -
    return
    -

    The index into the array of character maps within the face to which ‘charmap’ belongs. If an error occurs, -1 is returned.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Char_Index

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_UInt )
    -  FT_Get_Char_Index( FT_Face   face,
    -                     FT_ULong  charcode );
    -
    -

    -
    -

    Return the glyph index of a given character code. This function uses a charmap object to do the mapping.

    -

    -
    input
    -

    - - - -
    face -

    A handle to the source face object.

    -
    charcode -

    The character code.

    -
    -
    -
    return
    -

    The glyph index. 0 means ‘undefined character code’.

    -
    -
    note
    -

    If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value 0 always corresponds to the ‘missing glyph’. If the first glyph is not named ‘.notdef’, then for Type 1 and Type 42 fonts, ‘.notdef’ will be moved into the glyph ID 0 position, and whatever was there will be moved to the position ‘.notdef’ had. For Type 1 fonts, if there is no ‘.notdef’ glyph at all, then one will be created at index 0 and whatever was there will be moved to the last index -- Type 42 fonts are considered invalid under this condition.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_First_Char

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_ULong )
    -  FT_Get_First_Char( FT_Face   face,
    -                     FT_UInt  *agindex );
    -
    -

    -
    -

    This function is used to return the first character code in the current charmap of a given face. It also returns the corresponding glyph index.

    -

    -
    input
    -

    - - -
    face -

    A handle to the source face object.

    -
    -
    -
    output
    -

    - - -
    agindex -

    Glyph index of first character code. 0 if charmap is empty.

    -
    -
    -
    return
    -

    The charmap's first character code.

    -
    -
    note
    -

    You should use this function with FT_Get_Next_Char to be able to parse all character codes available in a given charmap. The code should look like this:

    -
    -  FT_ULong  charcode;                                              
    -  FT_UInt   gindex;                                                
    -                                                                   
    -                                                                   
    -  charcode = FT_Get_First_Char( face, &gindex );                   
    -  while ( gindex != 0 )                                            
    -  {                                                                
    -    ... do something with (charcode,gindex) pair ...               
    -                                                                   
    -    charcode = FT_Get_Next_Char( face, charcode, &gindex );        
    -  }                                                                
    -
    -

    Note that ‘*agindex’ is set to 0 if the charmap is empty. The result itself can be 0 in two cases: if the charmap is empty or if the value 0 is the first valid character code.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Next_Char

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_ULong )
    -  FT_Get_Next_Char( FT_Face    face,
    -                    FT_ULong   char_code,
    -                    FT_UInt   *agindex );
    -
    -

    -
    -

    This function is used to return the next character code in the current charmap of a given face following the value ‘char_code’, as well as the corresponding glyph index.

    -

    -
    input
    -

    - - - -
    face -

    A handle to the source face object.

    -
    char_code -

    The starting character code.

    -
    -
    -
    output
    -

    - - -
    agindex -

    Glyph index of next character code. 0 if charmap is empty.

    -
    -
    -
    return
    -

    The charmap's next character code.

    -
    -
    note
    -

    You should use this function with FT_Get_First_Char to walk over all character codes available in a given charmap. See the note for this function for a simple code example.

    -

    Note that ‘*agindex’ is set to 0 when there are no more codes in the charmap.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Name_Index

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_UInt )
    -  FT_Get_Name_Index( FT_Face     face,
    -                     FT_String*  glyph_name );
    -
    -

    -
    -

    Return the glyph index of a given glyph name. This function uses driver specific objects to do the translation.

    -

    -
    input
    -

    - - - -
    face -

    A handle to the source face object.

    -
    glyph_name -

    The glyph name.

    -
    -
    -
    return
    -

    The glyph index. 0 means ‘undefined character code’.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_SUBGLYPH_FLAG_XXX

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS          1
    -#define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES      2
    -#define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID        4
    -#define FT_SUBGLYPH_FLAG_SCALE                   8
    -#define FT_SUBGLYPH_FLAG_XY_SCALE             0x40
    -#define FT_SUBGLYPH_FLAG_2X2                  0x80
    -#define FT_SUBGLYPH_FLAG_USE_MY_METRICS      0x200
    -
    -

    -
    -

    A list of constants used to describe subglyphs. Please refer to the TrueType specification for the meaning of the various flags.

    -

    -
    values
    -

    - - - - - - - - - - - - - -
    FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS
    -

    -
    FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES
    -

    -
    FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID
    -

    -
    FT_SUBGLYPH_FLAG_SCALE -

    -
    FT_SUBGLYPH_FLAG_XY_SCALE
    -

    -
    FT_SUBGLYPH_FLAG_2X2 -

    -
    FT_SUBGLYPH_FLAG_USE_MY_METRICS
    -

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_SubGlyph_Info

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_SubGlyph_Info( FT_GlyphSlot  glyph,
    -                        FT_UInt       sub_index,
    -                        FT_Int       *p_index,
    -                        FT_UInt      *p_flags,
    -                        FT_Int       *p_arg1,
    -                        FT_Int       *p_arg2,
    -                        FT_Matrix    *p_transform );
    -
    -

    -
    -

    Retrieve a description of a given subglyph. Only use it if ‘glyph->format’ is FT_GLYPH_FORMAT_COMPOSITE; an error is returned otherwise.

    -

    -
    input
    -

    - - - -
    glyph -

    The source glyph slot.

    -
    sub_index -

    The index of the subglyph. Must be less than ‘glyph->num_subglyphs’.

    -
    -
    -
    output
    -

    - - - - - - -
    p_index -

    The glyph index of the subglyph.

    -
    p_flags -

    The subglyph flags, see FT_SUBGLYPH_FLAG_XXX.

    -
    p_arg1 -

    The subglyph's first argument (if any).

    -
    p_arg2 -

    The subglyph's second argument (if any).

    -
    p_transform -

    The subglyph transformation (if any).

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The values of ‘*p_arg1’, ‘*p_arg2’, and ‘*p_transform’ must be interpreted depending on the flags returned in ‘*p_flags’. See the TrueType specification for details.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_FSTYPE_XXX

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FT_FSTYPE_INSTALLABLE_EMBEDDING         0x0000
    -#define FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING  0x0002
    -#define FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING   0x0004
    -#define FT_FSTYPE_EDITABLE_EMBEDDING            0x0008
    -#define FT_FSTYPE_NO_SUBSETTING                 0x0100
    -#define FT_FSTYPE_BITMAP_EMBEDDING_ONLY         0x0200
    -
    -

    -
    -

    A list of bit flags used in the ‘fsType’ field of the OS/2 table in a TrueType or OpenType font and the ‘FSType’ entry in a PostScript font. These bit flags are returned by FT_Get_FSType_Flags; they inform client applications of embedding and subsetting restrictions associated with a font.

    -

    See http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf for more details.

    -

    -
    values
    -

    - - - - - - - - - - - - - -
    FT_FSTYPE_INSTALLABLE_EMBEDDING
    -

    Fonts with no fsType bit set may be embedded and permanently installed on the remote system by an application.

    -
    FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING
    -

    Fonts that have only this bit set must not be modified, embedded or exchanged in any manner without first obtaining permission of the font software copyright owner.

    -
    FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING
    -

    If this bit is set, the font may be embedded and temporarily loaded on the remote system. Documents containing Preview & Print fonts must be opened ‘read-only’; no edits can be applied to the document.

    -
    FT_FSTYPE_EDITABLE_EMBEDDING
    -

    If this bit is set, the font may be embedded but must only be installed temporarily on other systems. In contrast to Preview & Print fonts, documents containing editable fonts may be opened for reading, editing is permitted, and changes may be saved.

    -
    FT_FSTYPE_NO_SUBSETTING
    -

    If this bit is set, the font may not be subsetted prior to embedding.

    -
    FT_FSTYPE_BITMAP_EMBEDDING_ONLY
    -

    If this bit is set, only bitmaps contained in the font may be embedded; no outline data may be embedded. If there are no bitmaps available in the font, then the font is unembeddable.

    -
    -
    -
    note
    -

    While the fsType flags can indicate that a font may be embedded, a license with the font vendor may be separately required to use the font in this way.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_FSType_Flags

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_UShort )
    -  FT_Get_FSType_Flags( FT_Face  face );
    -
    -

    -
    -

    Return the fsType flags for a font.

    -

    -
    input
    -

    - - -
    face -

    A handle to the source face object.

    -
    -
    -
    return
    -

    The fsType flags, FT_FSTYPE_XXX.

    -
    -
    note
    -

    Use this function rather than directly reading the ‘fs_type’ field in the PS_FontInfoRec structure which is only guaranteed to return the correct results for Type 1 fonts.

    -
    -
    since
    -

    2.3.8

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-basic_types.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-basic_types.html deleted file mode 100644 index 7047c7e..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-basic_types.html +++ /dev/null @@ -1,1173 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Basic Data Types -

    -

    Synopsis

    - - - - - - - - - - - - - - - -
    FT_ByteFT_OffsetFT_UnitVector
    FT_BytesFT_PtrDistFT_F26Dot6
    FT_CharFT_StringFT_Pixel_Mode
    FT_IntFT_Tagft_pixel_mode_xxx
    FT_UIntFT_ErrorFT_Palette_Mode
    FT_Int16FT_FixedFT_Bitmap
    FT_UInt16FT_PointerFT_IMAGE_TAG
    FT_Int32FT_PosFT_Glyph_Format
    FT_UInt32FT_Vectorft_glyph_format_xxx
    FT_ShortFT_BBoxFT_Data
    FT_UShortFT_MatrixFT_Generic_Finalizer
    FT_LongFT_FWordFT_Generic
    FT_ULongFT_UFWordFT_MAKE_TAG
    FT_BoolFT_F2Dot14


    - -
    -

    This section contains the basic data types defined by FreeType 2, ranging from simple scalar types to bitmap descriptors. More font-specific structures are defined in a different section.

    -

    -
    -

    FT_Byte

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef unsigned char  FT_Byte;
    -
    -

    -
    -

    A simple typedef for the unsigned char type.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Bytes

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef const FT_Byte*  FT_Bytes;
    -
    -

    -
    -

    A typedef for constant memory areas.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Char

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef signed char  FT_Char;
    -
    -

    -
    -

    A simple typedef for the signed char type.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Int

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef signed int  FT_Int;
    -
    -

    -
    -

    A typedef for the int type.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_UInt

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef unsigned int  FT_UInt;
    -
    -

    -
    -

    A typedef for the unsigned int type.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Int16

    -
    -Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h). -

    -
    -
    -  typedef signed short  FT_Int16;
    -
    -

    -
    -

    A typedef for a 16bit signed integer type.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_UInt16

    -
    -Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h). -

    -
    -
    -  typedef unsigned short  FT_UInt16;
    -
    -

    -
    -

    A typedef for a 16bit unsigned integer type.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Int32

    -
    -Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h). -

    -
    -
    -  typedef signed XXX  FT_Int32;
    -
    -

    -
    -

    A typedef for a 32bit signed integer type. The size depends on the configuration.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_UInt32

    -
    -Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h). -

    -
    -
    -  typedef unsigned XXX  FT_UInt32;
    -
    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Short

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef signed short  FT_Short;
    -
    -

    -
    -

    A typedef for signed short.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_UShort

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef unsigned short  FT_UShort;
    -
    -

    -
    -

    A typedef for unsigned short.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Long

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef signed long  FT_Long;
    -
    -

    -
    -

    A typedef for signed long.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_ULong

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef unsigned long  FT_ULong;
    -
    -

    -
    -

    A typedef for unsigned long.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Bool

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef unsigned char  FT_Bool;
    -
    -

    -
    -

    A typedef of unsigned char, used for simple booleans. As usual, values 1 and 0 represent true and false, respectively.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Offset

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef size_t  FT_Offset;
    -
    -

    -
    -

    This is equivalent to the ANSI C ‘size_t’ type, i.e., the largest unsigned integer type used to express a file size or position, or a memory block size.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_PtrDist

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef ft_ptrdiff_t  FT_PtrDist;
    -
    -

    -
    -

    This is equivalent to the ANSI C ‘ptrdiff_t’ type, i.e., the largest signed integer type used to express the distance between two pointers.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_String

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef char  FT_String;
    -
    -

    -
    -

    A simple typedef for the char type, usually used for strings.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Tag

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef FT_UInt32  FT_Tag;
    -
    -

    -
    -

    A typedef for 32-bit tags (as used in the SFNT format).

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Error

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef int  FT_Error;
    -
    -

    -
    -

    The FreeType error code type. A value of 0 is always interpreted as a successful operation.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Fixed

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef signed long  FT_Fixed;
    -
    -

    -
    -

    This type is used to store 16.16 fixed float values, like scaling values or matrix coefficients.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Pointer

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef void*  FT_Pointer;
    -
    -

    -
    -

    A simple typedef for a typeless pointer.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Pos

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef signed long  FT_Pos;
    -
    -

    -
    -

    The type FT_Pos is used to store vectorial coordinates. Depending on the context, these can represent distances in integer font units, or 16.16, or 26.6 fixed float pixel coordinates.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Vector

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef struct  FT_Vector_
    -  {
    -    FT_Pos  x;
    -    FT_Pos  y;
    -
    -  } FT_Vector;
    -
    -

    -
    -

    A simple structure used to store a 2D vector; coordinates are of the FT_Pos type.

    -

    -
    fields
    -

    - - - -
    x -

    The horizontal coordinate.

    -
    y -

    The vertical coordinate.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_BBox

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef struct  FT_BBox_
    -  {
    -    FT_Pos  xMin, yMin;
    -    FT_Pos  xMax, yMax;
    -
    -  } FT_BBox;
    -
    -

    -
    -

    A structure used to hold an outline's bounding box, i.e., the coordinates of its extrema in the horizontal and vertical directions.

    -

    -
    fields
    -

    - - - - - -
    xMin -

    The horizontal minimum (left-most).

    -
    yMin -

    The vertical minimum (bottom-most).

    -
    xMax -

    The horizontal maximum (right-most).

    -
    yMax -

    The vertical maximum (top-most).

    -
    -
    -
    note
    -

    The bounding box is specified with the coordinates of the lower left and the upper right corner. In PostScript, those values are often called (llx,lly) and (urx,ury), respectively.

    -

    If ‘yMin’ is negative, this value gives the glyph's descender. Otherwise, the glyph doesn't descend below the baseline. Similarly, if ‘ymax’ is positive, this value gives the glyph's ascender.

    -

    ‘xMin’ gives the horizontal distance from the glyph's origin to the left edge of the glyph's bounding box. If ‘xMin’ is negative, the glyph extends to the left of the origin.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Matrix

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef struct  FT_Matrix_
    -  {
    -    FT_Fixed  xx, xy;
    -    FT_Fixed  yx, yy;
    -
    -  } FT_Matrix;
    -
    -

    -
    -

    A simple structure used to store a 2x2 matrix. Coefficients are in 16.16 fixed float format. The computation performed is:

    -
    -   x' = x*xx + y*xy                                             
    -   y' = x*yx + y*yy                                             
    -
    -

    -
    fields
    -

    - - - - - -
    xx -

    Matrix coefficient.

    -
    xy -

    Matrix coefficient.

    -
    yx -

    Matrix coefficient.

    -
    yy -

    Matrix coefficient.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_FWord

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef signed short  FT_FWord;   /* distance in FUnits */
    -
    -

    -
    -

    A signed 16-bit integer used to store a distance in original font units.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_UFWord

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef unsigned short  FT_UFWord;  /* unsigned distance */
    -
    -

    -
    -

    An unsigned 16-bit integer used to store a distance in original font units.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_F2Dot14

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef signed short  FT_F2Dot14;
    -
    -

    -
    -

    A signed 2.14 fixed float type used for unit vectors.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_UnitVector

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef struct  FT_UnitVector_
    -  {
    -    FT_F2Dot14  x;
    -    FT_F2Dot14  y;
    -
    -  } FT_UnitVector;
    -
    -

    -
    -

    A simple structure used to store a 2D vector unit vector. Uses FT_F2Dot14 types.

    -

    -
    fields
    -

    - - - -
    x -

    Horizontal coordinate.

    -
    y -

    Vertical coordinate.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_F26Dot6

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef signed long  FT_F26Dot6;
    -
    -

    -
    -

    A signed 26.6 fixed float type used for vectorial pixel coordinates.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Pixel_Mode

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef enum  FT_Pixel_Mode_
    -  {
    -    FT_PIXEL_MODE_NONE = 0,
    -    FT_PIXEL_MODE_MONO,
    -    FT_PIXEL_MODE_GRAY,
    -    FT_PIXEL_MODE_GRAY2,
    -    FT_PIXEL_MODE_GRAY4,
    -    FT_PIXEL_MODE_LCD,
    -    FT_PIXEL_MODE_LCD_V,
    -
    -    FT_PIXEL_MODE_MAX      /* do not remove */
    -
    -  } FT_Pixel_Mode;
    -
    -

    -
    -

    An enumeration type used to describe the format of pixels in a given bitmap. Note that additional formats may be added in the future.

    -

    -
    values
    -

    - - - - - - - - -
    FT_PIXEL_MODE_NONE -

    Value 0 is reserved.

    -
    FT_PIXEL_MODE_MONO -

    A monochrome bitmap, using 1 bit per pixel. Note that pixels are stored in most-significant order (MSB), which means that the left-most pixel in a byte has value 128.

    -
    FT_PIXEL_MODE_GRAY -

    An 8-bit bitmap, generally used to represent anti-aliased glyph images. Each pixel is stored in one byte. Note that the number of ‘gray’ levels is stored in the ‘num_grays’ field of the FT_Bitmap structure (it generally is 256).

    -
    FT_PIXEL_MODE_GRAY2 -

    A 2-bit per pixel bitmap, used to represent embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.

    -
    FT_PIXEL_MODE_GRAY4 -

    A 4-bit per pixel bitmap, representing embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.

    -
    FT_PIXEL_MODE_LCD -

    An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on LCD displays; the bitmap is three times wider than the original glyph image. See also FT_RENDER_MODE_LCD.

    -
    FT_PIXEL_MODE_LCD_V -

    An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on rotated LCD displays; the bitmap is three times taller than the original glyph image. See also FT_RENDER_MODE_LCD_V.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    ft_pixel_mode_xxx

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -#define ft_pixel_mode_none   FT_PIXEL_MODE_NONE
    -#define ft_pixel_mode_mono   FT_PIXEL_MODE_MONO
    -#define ft_pixel_mode_grays  FT_PIXEL_MODE_GRAY
    -#define ft_pixel_mode_pal2   FT_PIXEL_MODE_GRAY2
    -#define ft_pixel_mode_pal4   FT_PIXEL_MODE_GRAY4
    -
    -

    -
    -

    A list of deprecated constants. Use the corresponding FT_Pixel_Mode values instead.

    -

    -
    values
    -

    - - - - - - -
    ft_pixel_mode_none -

    See FT_PIXEL_MODE_NONE.

    -
    ft_pixel_mode_mono -

    See FT_PIXEL_MODE_MONO.

    -
    ft_pixel_mode_grays -

    See FT_PIXEL_MODE_GRAY.

    -
    ft_pixel_mode_pal2 -

    See FT_PIXEL_MODE_GRAY2.

    -
    ft_pixel_mode_pal4 -

    See FT_PIXEL_MODE_GRAY4.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Palette_Mode

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef enum  FT_Palette_Mode_
    -  {
    -    ft_palette_mode_rgb = 0,
    -    ft_palette_mode_rgba,
    -
    -    ft_palette_mode_max   /* do not remove */
    -
    -  } FT_Palette_Mode;
    -
    -

    -
    -

    THIS TYPE IS DEPRECATED. DO NOT USE IT!

    -

    An enumeration type to describe the format of a bitmap palette, used with ft_pixel_mode_pal4 and ft_pixel_mode_pal8.

    -

    -
    values
    -

    - - - -
    ft_palette_mode_rgb -

    The palette is an array of 3-byte RGB records.

    -
    ft_palette_mode_rgba -

    The palette is an array of 4-byte RGBA records.

    -
    -
    -
    note
    -

    As ft_pixel_mode_pal2, pal4 and pal8 are currently unused by FreeType, these types are not handled by the library itself.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Bitmap

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef struct  FT_Bitmap_
    -  {
    -    int             rows;
    -    int             width;
    -    int             pitch;
    -    unsigned char*  buffer;
    -    short           num_grays;
    -    char            pixel_mode;
    -    char            palette_mode;
    -    void*           palette;
    -
    -  } FT_Bitmap;
    -
    -

    -
    -

    A structure used to describe a bitmap or pixmap to the raster. Note that we now manage pixmaps of various depths through the ‘pixel_mode’ field.

    -

    -
    fields
    -

    - - - - - - - - - -
    rows -

    The number of bitmap rows.

    -
    width -

    The number of pixels in bitmap row.

    -
    pitch -

    The pitch's absolute value is the number of bytes taken by one bitmap row, including padding. However, the pitch is positive when the bitmap has a ‘down’ flow, and negative when it has an ‘up’ flow. In all cases, the pitch is an offset to add to a bitmap pointer in order to go down one row.

    -

    Note that ‘padding’ means the alignment of a bitmap to a byte border, and FreeType functions normally align to the smallest possible integer value.

    -

    For the B/W rasterizer, ‘pitch’ is always an even number.

    -

    To change the pitch of a bitmap (say, to make it a multiple of 4), use FT_Bitmap_Convert. Alternatively, you might use callback functions to directly render to the application's surface; see the file ‘example2.cpp’ in the tutorial for a demonstration.

    -
    buffer -

    A typeless pointer to the bitmap buffer. This value should be aligned on 32-bit boundaries in most cases.

    -
    num_grays -

    This field is only used with FT_PIXEL_MODE_GRAY; it gives the number of gray levels used in the bitmap.

    -
    pixel_mode -

    The pixel mode, i.e., how pixel bits are stored. See FT_Pixel_Mode for possible values.

    -
    palette_mode -

    This field is intended for paletted pixel modes; it indicates how the palette is stored. Not used currently.

    -
    palette -

    A typeless pointer to the bitmap palette; this field is intended for paletted pixel modes. Not used currently.

    -
    -
    -
    note
    -

    For now, the only pixel modes supported by FreeType are mono and grays. However, drivers might be added in the future to support more ‘colorful’ options.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_IMAGE_TAG

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -#ifndef FT_IMAGE_TAG
    -#define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 )  \
    -          value = ( ( (unsigned long)_x1 << 24 ) | \
    -                    ( (unsigned long)_x2 << 16 ) | \
    -                    ( (unsigned long)_x3 << 8  ) | \
    -                      (unsigned long)_x4         )
    -#endif /* FT_IMAGE_TAG */
    -
    -

    -
    -

    This macro converts four-letter tags to an unsigned long type.

    -

    -
    note
    -

    Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:

    -
    -  #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 )  value         
    -
    -

    to get a simple enumeration without assigning special numbers.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Glyph_Format

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef enum  FT_Glyph_Format_
    -  {
    -    FT_IMAGE_TAG( FT_GLYPH_FORMAT_NONE, 0, 0, 0, 0 ),
    -
    -    FT_IMAGE_TAG( FT_GLYPH_FORMAT_COMPOSITE, 'c', 'o', 'm', 'p' ),
    -    FT_IMAGE_TAG( FT_GLYPH_FORMAT_BITMAP,    'b', 'i', 't', 's' ),
    -    FT_IMAGE_TAG( FT_GLYPH_FORMAT_OUTLINE,   'o', 'u', 't', 'l' ),
    -    FT_IMAGE_TAG( FT_GLYPH_FORMAT_PLOTTER,   'p', 'l', 'o', 't' )
    -
    -  } FT_Glyph_Format;
    -
    -

    -
    -

    An enumeration type used to describe the format of a given glyph image. Note that this version of FreeType only supports two image formats, even though future font drivers will be able to register their own format.

    -

    -
    values
    -

    - - - - - - - - - -
    FT_GLYPH_FORMAT_NONE -

    The value 0 is reserved.

    -
    FT_GLYPH_FORMAT_COMPOSITE
    -

    The glyph image is a composite of several other images. This format is only used with FT_LOAD_NO_RECURSE, and is used to report compound glyphs (like accented characters).

    -
    FT_GLYPH_FORMAT_BITMAP -

    The glyph image is a bitmap, and can be described as an FT_Bitmap. You generally need to access the ‘bitmap’ field of the FT_GlyphSlotRec structure to read it.

    -
    FT_GLYPH_FORMAT_OUTLINE
    -

    The glyph image is a vectorial outline made of line segments and Bézier arcs; it can be described as an FT_Outline; you generally want to access the ‘outline’ field of the FT_GlyphSlotRec structure to read it.

    -
    FT_GLYPH_FORMAT_PLOTTER
    -

    The glyph image is a vectorial path with no inside and outside contours. Some Type 1 fonts, like those in the Hershey family, contain glyphs in this format. These are described as FT_Outline, but FreeType isn't currently capable of rendering them correctly.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    ft_glyph_format_xxx

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -#define ft_glyph_format_none       FT_GLYPH_FORMAT_NONE
    -#define ft_glyph_format_composite  FT_GLYPH_FORMAT_COMPOSITE
    -#define ft_glyph_format_bitmap     FT_GLYPH_FORMAT_BITMAP
    -#define ft_glyph_format_outline    FT_GLYPH_FORMAT_OUTLINE
    -#define ft_glyph_format_plotter    FT_GLYPH_FORMAT_PLOTTER
    -
    -

    -
    -

    A list of deprecated constants. Use the corresponding FT_Glyph_Format values instead.

    -

    -
    values
    -

    - - - - - - - - - -
    ft_glyph_format_none -

    See FT_GLYPH_FORMAT_NONE.

    -
    ft_glyph_format_composite
    -

    See FT_GLYPH_FORMAT_COMPOSITE.

    -
    ft_glyph_format_bitmap -

    See FT_GLYPH_FORMAT_BITMAP.

    -
    ft_glyph_format_outline
    -

    See FT_GLYPH_FORMAT_OUTLINE.

    -
    ft_glyph_format_plotter
    -

    See FT_GLYPH_FORMAT_PLOTTER.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Data

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef struct  FT_Data_
    -  {
    -    const FT_Byte*  pointer;
    -    FT_Int          length;
    -
    -  } FT_Data;
    -
    -

    -
    -

    Read-only binary data represented as a pointer and a length.

    -

    -
    fields
    -

    - - - -
    pointer -

    The data.

    -
    length -

    The length of the data in bytes.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Generic_Finalizer

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef void  (*FT_Generic_Finalizer)(void*  object);
    -
    -

    -
    -

    Describe a function used to destroy the ‘client’ data of any FreeType object. See the description of the FT_Generic type for details of usage.

    -

    -
    input
    -

    The address of the FreeType object which is under finalization. Its client data is accessed through its ‘generic’ field.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Generic

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef struct  FT_Generic_
    -  {
    -    void*                 data;
    -    FT_Generic_Finalizer  finalizer;
    -
    -  } FT_Generic;
    -
    -

    -
    -

    Client applications often need to associate their own data to a variety of FreeType core objects. For example, a text layout API might want to associate a glyph cache to a given size object.

    -

    Some FreeType object contains a ‘generic’ field, of type FT_Generic, which usage is left to client applications and font servers.

    -

    It can be used to store a pointer to client-specific data, as well as the address of a ‘finalizer’ function, which will be called by FreeType when the object is destroyed (for example, the previous client example would put the address of the glyph cache destructor in the ‘finalizer’ field).

    -

    -
    fields
    -

    - - - -
    data -

    A typeless pointer to any client-specified data. This field is completely ignored by the FreeType library.

    -
    finalizer -

    A pointer to a ‘generic finalizer’ function, which will be called when the object is destroyed. If this field is set to NULL, no code will be called.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_MAKE_TAG

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -#define FT_MAKE_TAG( _x1, _x2, _x3, _x4 ) \
    -          (FT_Tag)                        \
    -          ( ( (FT_ULong)_x1 << 24 ) |     \
    -            ( (FT_ULong)_x2 << 16 ) |     \
    -            ( (FT_ULong)_x3 <<  8 ) |     \
    -              (FT_ULong)_x4         )
    -
    -

    -
    -

    This macro converts four-letter tags which are used to label TrueType tables into an unsigned long to be used within FreeType.

    -

    -
    note
    -

    The produced values must be 32-bit integers. Don't redefine this macro.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-bdf_fonts.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-bdf_fonts.html deleted file mode 100644 index c8ece40..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-bdf_fonts.html +++ /dev/null @@ -1,260 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -BDF and PCF Files -

    -

    Synopsis

    - - - -
    FT_PropertyTypeBDF_PropertyRecFT_Get_BDF_Property
    BDF_PropertyFT_Get_BDF_Charset_ID


    - -
    -

    This section contains the declaration of functions specific to BDF and PCF fonts.

    -

    -
    -

    FT_PropertyType

    -
    -Defined in FT_BDF_H (freetype/ftbdf.h). -

    -
    -
    -  typedef enum  BDF_PropertyType_
    -  {
    -    BDF_PROPERTY_TYPE_NONE     = 0,
    -    BDF_PROPERTY_TYPE_ATOM     = 1,
    -    BDF_PROPERTY_TYPE_INTEGER  = 2,
    -    BDF_PROPERTY_TYPE_CARDINAL = 3
    -
    -  } BDF_PropertyType;
    -
    -

    -
    -

    A list of BDF property types.

    -

    -
    values
    -

    - - - - - - - -
    BDF_PROPERTY_TYPE_NONE -

    Value 0 is used to indicate a missing property.

    -
    BDF_PROPERTY_TYPE_ATOM -

    Property is a string atom.

    -
    BDF_PROPERTY_TYPE_INTEGER
    -

    Property is a 32-bit signed integer.

    -
    BDF_PROPERTY_TYPE_CARDINAL
    -

    Property is a 32-bit unsigned integer.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    BDF_Property

    -
    -Defined in FT_BDF_H (freetype/ftbdf.h). -

    -
    -
    -  typedef struct BDF_PropertyRec_*  BDF_Property;
    -
    -

    -
    -

    A handle to a BDF_PropertyRec structure to model a given BDF/PCF property.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    BDF_PropertyRec

    -
    -Defined in FT_BDF_H (freetype/ftbdf.h). -

    -
    -
    -  typedef struct  BDF_PropertyRec_
    -  {
    -    BDF_PropertyType  type;
    -    union {
    -      const char*     atom;
    -      FT_Int32        integer;
    -      FT_UInt32       cardinal;
    -
    -    } u;
    -
    -  } BDF_PropertyRec;
    -
    -

    -
    -

    This structure models a given BDF/PCF property.

    -

    -
    fields
    -

    - - - - - -
    type -

    The property type.

    -
    u.atom -

    The atom string, if type is BDF_PROPERTY_TYPE_ATOM.

    -
    u.integer -

    A signed integer, if type is BDF_PROPERTY_TYPE_INTEGER.

    -
    u.cardinal -

    An unsigned integer, if type is BDF_PROPERTY_TYPE_CARDINAL.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_BDF_Charset_ID

    -
    -Defined in FT_BDF_H (freetype/ftbdf.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_BDF_Charset_ID( FT_Face       face,
    -                         const char*  *acharset_encoding,
    -                         const char*  *acharset_registry );
    -
    -

    -
    -

    Retrieve a BDF font character set identity, according to the BDF specification.

    -

    -
    input
    -

    - - -
    face -

    A handle to the input face.

    -
    -
    -
    output
    -

    - - - -
    acharset_encoding -

    Charset encoding, as a C string, owned by the face.

    -
    acharset_registry -

    Charset registry, as a C string, owned by the face.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function only works with BDF faces, returning an error otherwise.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_BDF_Property

    -
    -Defined in FT_BDF_H (freetype/ftbdf.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_BDF_Property( FT_Face           face,
    -                       const char*       prop_name,
    -                       BDF_PropertyRec  *aproperty );
    -
    -

    -
    -

    Retrieve a BDF property from a BDF or PCF font file.

    -

    -
    input
    -

    - - - -
    face -

    A handle to the input face.

    -
    name -

    The property name.

    -
    -
    -
    output
    -

    - - -
    aproperty -

    The property.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function works with BDF and PCF fonts. It returns an error otherwise. It also returns an error if the property is not in the font.

    -

    A ‘property’ is a either key-value pair within the STARTPROPERTIES ... ENDPROPERTIES block of a BDF font or a key-value pair from the ‘info->props’ array within a ‘FontRec’ structure of a PCF font.

    -

    Integer properties are always stored as ‘signed’ within PCF fonts; consequently, BDF_PROPERTY_TYPE_CARDINAL is a possible return value for BDF fonts only.

    -

    In case of error, ‘aproperty->type’ is always set to BDF_PROPERTY_TYPE_NONE.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-bitmap_handling.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-bitmap_handling.html deleted file mode 100644 index cba8bd0..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-bitmap_handling.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Bitmap Handling -

    -

    Synopsis

    - - - -
    FT_Bitmap_NewFT_Bitmap_EmboldenFT_GlyphSlot_Own_Bitmap
    FT_Bitmap_CopyFT_Bitmap_ConvertFT_Bitmap_Done


    - -
    -

    This section contains functions for converting FT_Bitmap objects.

    -

    -
    -

    FT_Bitmap_New

    -
    -Defined in FT_BITMAP_H (freetype/ftbitmap.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Bitmap_New( FT_Bitmap  *abitmap );
    -
    -

    -
    -

    Initialize a pointer to an FT_Bitmap structure.

    -

    -
    inout
    -

    - - -
    abitmap -

    A pointer to the bitmap structure.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Bitmap_Copy

    -
    -Defined in FT_BITMAP_H (freetype/ftbitmap.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Bitmap_Copy( FT_Library        library,
    -                  const FT_Bitmap  *source,
    -                  FT_Bitmap        *target);
    -
    -

    -
    -

    Copy a bitmap into another one.

    -

    -
    input
    -

    - - - -
    library -

    A handle to a library object.

    -
    source -

    A handle to the source bitmap.

    -
    -
    -
    output
    -

    - - -
    target -

    A handle to the target bitmap.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Bitmap_Embolden

    -
    -Defined in FT_BITMAP_H (freetype/ftbitmap.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Bitmap_Embolden( FT_Library  library,
    -                      FT_Bitmap*  bitmap,
    -                      FT_Pos      xStrength,
    -                      FT_Pos      yStrength );
    -
    -

    -
    -

    Embolden a bitmap. The new bitmap will be about ‘xStrength’ pixels wider and ‘yStrength’ pixels higher. The left and bottom borders are kept unchanged.

    -

    -
    input
    -

    - - - - -
    library -

    A handle to a library object.

    -
    xStrength -

    How strong the glyph is emboldened horizontally. Expressed in 26.6 pixel format.

    -
    yStrength -

    How strong the glyph is emboldened vertically. Expressed in 26.6 pixel format.

    -
    -
    -
    inout
    -

    - - -
    bitmap -

    A handle to the target bitmap.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The current implementation restricts ‘xStrength’ to be less than or equal to 8 if bitmap is of pixel_mode FT_PIXEL_MODE_MONO.

    -

    If you want to embolden the bitmap owned by a FT_GlyphSlotRec, you should call FT_GlyphSlot_Own_Bitmap on the slot first.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Bitmap_Convert

    -
    -Defined in FT_BITMAP_H (freetype/ftbitmap.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Bitmap_Convert( FT_Library        library,
    -                     const FT_Bitmap  *source,
    -                     FT_Bitmap        *target,
    -                     FT_Int            alignment );
    -
    -

    -
    -

    Convert a bitmap object with depth 1bpp, 2bpp, 4bpp, or 8bpp to a bitmap object with depth 8bpp, making the number of used bytes per line (a.k.a. the ‘pitch’) a multiple of ‘alignment’.

    -

    -
    input
    -

    - - - - -
    library -

    A handle to a library object.

    -
    source -

    The source bitmap.

    -
    alignment -

    The pitch of the bitmap is a multiple of this parameter. Common values are 1, 2, or 4.

    -
    -
    -
    output
    -

    - - -
    target -

    The target bitmap.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    It is possible to call FT_Bitmap_Convert multiple times without calling FT_Bitmap_Done (the memory is simply reallocated).

    -

    Use FT_Bitmap_Done to finally remove the bitmap object.

    -

    The ‘library’ argument is taken to have access to FreeType's memory handling functions.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_GlyphSlot_Own_Bitmap

    -
    -Defined in FT_BITMAP_H (freetype/ftbitmap.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot  slot );
    -
    -

    -
    -

    Make sure that a glyph slot owns ‘slot->bitmap’.

    -

    -
    input
    -

    - - -
    slot -

    The glyph slot.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function is to be used in combination with FT_Bitmap_Embolden.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Bitmap_Done

    -
    -Defined in FT_BITMAP_H (freetype/ftbitmap.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Bitmap_Done( FT_Library  library,
    -                  FT_Bitmap  *bitmap );
    -
    -

    -
    -

    Destroy a bitmap object created with FT_Bitmap_New.

    -

    -
    input
    -

    - - - -
    library -

    A handle to a library object.

    -
    bitmap -

    The bitmap object to be freed.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The ‘library’ argument is taken to have access to FreeType's memory handling functions.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-bzip2.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-bzip2.html deleted file mode 100644 index 6e1e3a5..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-bzip2.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -BZIP2 Streams -

    -

    Synopsis

    - - -
    FT_Stream_OpenBzip2


    - -
    -

    This section contains the declaration of Bzip2-specific functions.

    -

    -
    -

    FT_Stream_OpenBzip2

    -
    -Defined in FT_BZIP2_H (freetype/ftbzip2.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Stream_OpenBzip2( FT_Stream  stream,
    -                       FT_Stream  source );
    -
    -

    -
    -

    Open a new stream to parse bzip2-compressed font files. This is mainly used to support the compressed ‘*.pcf.bz2’ fonts that come with XFree86.

    -

    -
    input
    -

    - - - -
    stream -

    The target embedding stream.

    -
    source -

    The source stream.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The source stream must be opened before calling this function.

    -

    Calling the internal function ‘FT_Stream_Close’ on the new stream will not call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.

    -

    The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream.

    -

    In certain builds of the library, bzip2 compression recognition is automatically handled when calling FT_New_Face or FT_Open_Face. This means that if no font driver is capable of handling the raw compressed file, the library will try to open a bzip2 compressed stream from it and re-open the face with it.

    -

    This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with bzip2 support.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-cache_subsystem.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-cache_subsystem.html deleted file mode 100644 index f561c80..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-cache_subsystem.html +++ /dev/null @@ -1,1170 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Cache Sub-System -

    -

    Synopsis

    - - - - - - - - - - - - - - - -
    FTC_ManagerFTC_CMapCache_New
    FTC_FaceIDFTC_CMapCache_Lookup
    FTC_Face_RequesterFTC_ImageTypeRec
    FTC_NodeFTC_ImageType
    FTC_Manager_NewFTC_ImageCache
    FTC_Manager_ResetFTC_ImageCache_New
    FTC_Manager_DoneFTC_ImageCache_Lookup
    FTC_Manager_LookupFaceFTC_ImageCache_LookupScaler
    FTC_ScalerRecFTC_SBit
    FTC_ScalerFTC_SBitRec
    FTC_Manager_LookupSizeFTC_SBitCache
    FTC_Node_UnrefFTC_SBitCache_New
    FTC_Manager_RemoveFaceIDFTC_SBitCache_Lookup
    FTC_CMapCacheFTC_SBitCache_LookupScaler


    - -
    -

    This section describes the FreeType 2 cache sub-system, which is used to limit the number of concurrently opened FT_Face and FT_Size objects, as well as caching information like character maps and glyph images while limiting their maximum memory usage.

    -

    Note that all types and functions begin with the ‘FTC_’ prefix.

    -

    The cache is highly portable and thus doesn't know anything about the fonts installed on your system, or how to access them. This implies the following scheme:

    -

    First, available or installed font faces are uniquely identified by FTC_FaceID values, provided to the cache by the client. Note that the cache only stores and compares these values, and doesn't try to interpret them in any way.

    -

    Second, the cache calls, only when needed, a client-provided function to convert an FTC_FaceID into a new FT_Face object. The latter is then completely managed by the cache, including its termination through FT_Done_Face. To monitor termination of face objects, the finalizer callback in the ‘generic’ field of the FT_Face object can be used, which might also be used to store the FTC_FaceID of the face.

    -

    Clients are free to map face IDs to anything else. The most simple usage is to associate them to a (pathname,face_index) pair that is used to call FT_New_Face. However, more complex schemes are also possible.

    -

    Note that for the cache to work correctly, the face ID values must be persistent, which means that the contents they point to should not change at runtime, or that their value should not become invalid.

    -

    If this is unavoidable (e.g., when a font is uninstalled at runtime), you should call FTC_Manager_RemoveFaceID as soon as possible, to let the cache get rid of any references to the old FTC_FaceID it may keep internally. Failure to do so will lead to incorrect behaviour or even crashes.

    -

    To use the cache, start with calling FTC_Manager_New to create a new FTC_Manager object, which models a single cache instance. You can then look up FT_Face and FT_Size objects with FTC_Manager_LookupFace and FTC_Manager_LookupSize, respectively.

    -

    If you want to use the charmap caching, call FTC_CMapCache_New, then later use FTC_CMapCache_Lookup to perform the equivalent of FT_Get_Char_Index, only much faster.

    -

    If you want to use the FT_Glyph caching, call FTC_ImageCache, then later use FTC_ImageCache_Lookup to retrieve the corresponding FT_Glyph objects from the cache.

    -

    If you need lots of small bitmaps, it is much more memory efficient to call FTC_SBitCache_New followed by FTC_SBitCache_Lookup. This returns FTC_SBitRec structures, which are used to store small bitmaps directly. (A small bitmap is one whose metrics and dimensions all fit into 8-bit integers).

    -

    We hope to also provide a kerning cache in the near future.

    -

    -
    -

    FTC_Manager

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  typedef struct FTC_ManagerRec_*  FTC_Manager;
    -
    -

    -
    -

    This object corresponds to one instance of the cache-subsystem. It is used to cache one or more FT_Face objects, along with corresponding FT_Size objects.

    -

    The manager intentionally limits the total number of opened FT_Face and FT_Size objects to control memory usage. See the ‘max_faces’ and ‘max_sizes’ parameters of FTC_Manager_New.

    -

    The manager is also used to cache ‘nodes’ of various types while limiting their total memory usage.

    -

    All limitations are enforced by keeping lists of managed objects in most-recently-used order, and flushing old nodes to make room for new ones.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_FaceID

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  typedef FT_Pointer  FTC_FaceID;
    -
    -

    -
    -

    An opaque pointer type that is used to identity face objects. The contents of such objects is application-dependent.

    -

    These pointers are typically used to point to a user-defined structure containing a font file path, and face index.

    -

    -
    note
    -

    Never use NULL as a valid FTC_FaceID.

    -

    Face IDs are passed by the client to the cache manager, which calls, when needed, the FTC_Face_Requester to translate them into new FT_Face objects.

    -

    If the content of a given face ID changes at runtime, or if the value becomes invalid (e.g., when uninstalling a font), you should immediately call FTC_Manager_RemoveFaceID before any other cache function.

    -

    Failure to do so will result in incorrect behaviour or even memory leaks and crashes.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_Face_Requester

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  typedef FT_Error
    -  (*FTC_Face_Requester)( FTC_FaceID  face_id,
    -                         FT_Library  library,
    -                         FT_Pointer  request_data,
    -                         FT_Face*    aface );
    -
    -

    -
    -

    A callback function provided by client applications. It is used by the cache manager to translate a given FTC_FaceID into a new valid FT_Face object, on demand.

    -

    -
    input
    -

    - - - - -
    face_id -

    The face ID to resolve.

    -
    library -

    A handle to a FreeType library object.

    -
    req_data -

    Application-provided request data (see note below).

    -
    -
    -
    output
    -

    - - -
    aface -

    A new FT_Face handle.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The third parameter ‘req_data’ is the same as the one passed by the client when FTC_Manager_New is called.

    -

    The face requester should not perform funny things on the returned face object, like creating a new FT_Size for it, or setting a transformation through FT_Set_Transform!

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_Node

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  typedef struct FTC_NodeRec_*  FTC_Node;
    -
    -

    -
    -

    An opaque handle to a cache node object. Each cache node is reference-counted. A node with a count of 0 might be flushed out of a full cache whenever a lookup request is performed.

    -

    If you look up nodes, you have the ability to ‘acquire’ them, i.e., to increment their reference count. This will prevent the node from being flushed out of the cache until you explicitly ‘release’ it (see FTC_Node_Unref).

    -

    See also FTC_SBitCache_Lookup and FTC_ImageCache_Lookup.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_Manager_New

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FTC_Manager_New( FT_Library          library,
    -                   FT_UInt             max_faces,
    -                   FT_UInt             max_sizes,
    -                   FT_ULong            max_bytes,
    -                   FTC_Face_Requester  requester,
    -                   FT_Pointer          req_data,
    -                   FTC_Manager        *amanager );
    -
    -

    -
    -

    Create a new cache manager.

    -

    -
    input
    -

    - - - - - - - -
    library -

    The parent FreeType library handle to use.

    -
    max_faces -

    Maximum number of opened FT_Face objects managed by this cache instance. Use 0 for defaults.

    -
    max_sizes -

    Maximum number of opened FT_Size objects managed by this cache instance. Use 0 for defaults.

    -
    max_bytes -

    Maximum number of bytes to use for cached data nodes. Use 0 for defaults. Note that this value does not account for managed FT_Face and FT_Size objects.

    -
    requester -

    An application-provided callback used to translate face IDs into real FT_Face objects.

    -
    req_data -

    A generic pointer that is passed to the requester each time it is called (see FTC_Face_Requester).

    -
    -
    -
    output
    -

    - - -
    amanager -

    A handle to a new manager object. 0 in case of failure.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_Manager_Reset

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FTC_Manager_Reset( FTC_Manager  manager );
    -
    -

    -
    -

    Empty a given cache manager. This simply gets rid of all the currently cached FT_Face and FT_Size objects within the manager.

    -

    -
    inout
    -

    - - -
    manager -

    A handle to the manager.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_Manager_Done

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FTC_Manager_Done( FTC_Manager  manager );
    -
    -

    -
    -

    Destroy a given manager after emptying it.

    -

    -
    input
    -

    - - -
    manager -

    A handle to the target cache manager object.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_Manager_LookupFace

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FTC_Manager_LookupFace( FTC_Manager  manager,
    -                          FTC_FaceID   face_id,
    -                          FT_Face     *aface );
    -
    -

    -
    -

    Retrieve the FT_Face object that corresponds to a given face ID through a cache manager.

    -

    -
    input
    -

    - - - -
    manager -

    A handle to the cache manager.

    -
    face_id -

    The ID of the face object.

    -
    -
    -
    output
    -

    - - -
    aface -

    A handle to the face object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The returned FT_Face object is always owned by the manager. You should never try to discard it yourself.

    -

    The FT_Face object doesn't necessarily have a current size object (i.e., face->size can be 0). If you need a specific ‘font size’, use FTC_Manager_LookupSize instead.

    -

    Never change the face's transformation matrix (i.e., never call the FT_Set_Transform function) on a returned face! If you need to transform glyphs, do it yourself after glyph loading.

    -

    When you perform a lookup, out-of-memory errors are detected within the lookup and force incremental flushes of the cache until enough memory is released for the lookup to succeed.

    -

    If a lookup fails with ‘FT_Err_Out_Of_Memory’ the cache has already been completely flushed, and still no memory was available for the operation.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_ScalerRec

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  typedef struct  FTC_ScalerRec_
    -  {
    -    FTC_FaceID  face_id;
    -    FT_UInt     width;
    -    FT_UInt     height;
    -    FT_Int      pixel;
    -    FT_UInt     x_res;
    -    FT_UInt     y_res;
    -
    -  } FTC_ScalerRec;
    -
    -

    -
    -

    A structure used to describe a given character size in either pixels or points to the cache manager. See FTC_Manager_LookupSize.

    -

    -
    fields
    -

    - - - - - - - -
    face_id -

    The source face ID.

    -
    width -

    The character width.

    -
    height -

    The character height.

    -
    pixel -

    A Boolean. If 1, the ‘width’ and ‘height’ fields are interpreted as integer pixel character sizes. Otherwise, they are expressed as 1/64th of points.

    -
    x_res -

    Only used when ‘pixel’ is value 0 to indicate the horizontal resolution in dpi.

    -
    y_res -

    Only used when ‘pixel’ is value 0 to indicate the vertical resolution in dpi.

    -
    -
    -
    note
    -

    This type is mainly used to retrieve FT_Size objects through the cache manager.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_Scaler

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  typedef struct FTC_ScalerRec_*  FTC_Scaler;
    -
    -

    -
    -

    A handle to an FTC_ScalerRec structure.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_Manager_LookupSize

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FTC_Manager_LookupSize( FTC_Manager  manager,
    -                          FTC_Scaler   scaler,
    -                          FT_Size     *asize );
    -
    -

    -
    -

    Retrieve the FT_Size object that corresponds to a given FTC_ScalerRec pointer through a cache manager.

    -

    -
    input
    -

    - - - -
    manager -

    A handle to the cache manager.

    -
    scaler -

    A scaler handle.

    -
    -
    -
    output
    -

    - - -
    asize -

    A handle to the size object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The returned FT_Size object is always owned by the manager. You should never try to discard it by yourself.

    -

    You can access the parent FT_Face object simply as ‘size->face’ if you need it. Note that this object is also owned by the manager.

    -
    -
    note
    -

    When you perform a lookup, out-of-memory errors are detected within the lookup and force incremental flushes of the cache until enough memory is released for the lookup to succeed.

    -

    If a lookup fails with ‘FT_Err_Out_Of_Memory’ the cache has already been completely flushed, and still no memory is available for the operation.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_Node_Unref

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FTC_Node_Unref( FTC_Node     node,
    -                  FTC_Manager  manager );
    -
    -

    -
    -

    Decrement a cache node's internal reference count. When the count reaches 0, it is not destroyed but becomes eligible for subsequent cache flushes.

    -

    -
    input
    -

    - - - -
    node -

    The cache node handle.

    -
    manager -

    The cache manager handle.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_Manager_RemoveFaceID

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FTC_Manager_RemoveFaceID( FTC_Manager  manager,
    -                            FTC_FaceID   face_id );
    -
    -

    -
    -

    A special function used to indicate to the cache manager that a given FTC_FaceID is no longer valid, either because its content changed, or because it was deallocated or uninstalled.

    -

    -
    input
    -

    - - - -
    manager -

    The cache manager handle.

    -
    face_id -

    The FTC_FaceID to be removed.

    -
    -
    -
    note
    -

    This function flushes all nodes from the cache corresponding to this ‘face_id’, with the exception of nodes with a non-null reference count.

    -

    Such nodes are however modified internally so as to never appear in later lookups with the same ‘face_id’ value, and to be immediately destroyed when released by all their users.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_CMapCache

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  typedef struct FTC_CMapCacheRec_*  FTC_CMapCache;
    -
    -

    -
    -

    An opaque handle used to model a charmap cache. This cache is to hold character codes -> glyph indices mappings.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_CMapCache_New

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FTC_CMapCache_New( FTC_Manager     manager,
    -                     FTC_CMapCache  *acache );
    -
    -

    -
    -

    Create a new charmap cache.

    -

    -
    input
    -

    - - -
    manager -

    A handle to the cache manager.

    -
    -
    -
    output
    -

    - - -
    acache -

    A new cache handle. NULL in case of error.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    Like all other caches, this one will be destroyed with the cache manager.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_CMapCache_Lookup

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  FT_EXPORT( FT_UInt )
    -  FTC_CMapCache_Lookup( FTC_CMapCache  cache,
    -                        FTC_FaceID     face_id,
    -                        FT_Int         cmap_index,
    -                        FT_UInt32      char_code );
    -
    -

    -
    -

    Translate a character code into a glyph index, using the charmap cache.

    -

    -
    input
    -

    - - - - - -
    cache -

    A charmap cache handle.

    -
    face_id -

    The source face ID.

    -
    cmap_index -

    The index of the charmap in the source face. Any negative value means to use the cache FT_Face's default charmap.

    -
    char_code -

    The character code (in the corresponding charmap).

    -
    -
    -
    return
    -

    Glyph index. 0 means ‘no glyph’.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_ImageTypeRec

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  typedef struct  FTC_ImageTypeRec_
    -  {
    -    FTC_FaceID  face_id;
    -    FT_Int      width;
    -    FT_Int      height;
    -    FT_Int32    flags;
    -
    -  } FTC_ImageTypeRec;
    -
    -

    -
    -

    A structure used to model the type of images in a glyph cache.

    -

    -
    fields
    -

    - - - - - -
    face_id -

    The face ID.

    -
    width -

    The width in pixels.

    -
    height -

    The height in pixels.

    -
    flags -

    The load flags, as in FT_Load_Glyph.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_ImageType

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  typedef struct FTC_ImageTypeRec_*  FTC_ImageType;
    -
    -

    -
    -

    A handle to an FTC_ImageTypeRec structure.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_ImageCache

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  typedef struct FTC_ImageCacheRec_*  FTC_ImageCache;
    -
    -

    -
    -

    A handle to an glyph image cache object. They are designed to hold many distinct glyph images while not exceeding a certain memory threshold.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_ImageCache_New

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FTC_ImageCache_New( FTC_Manager      manager,
    -                      FTC_ImageCache  *acache );
    -
    -

    -
    -

    Create a new glyph image cache.

    -

    -
    input
    -

    - - -
    manager -

    The parent manager for the image cache.

    -
    -
    -
    output
    -

    - - -
    acache -

    A handle to the new glyph image cache object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_ImageCache_Lookup

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FTC_ImageCache_Lookup( FTC_ImageCache  cache,
    -                         FTC_ImageType   type,
    -                         FT_UInt         gindex,
    -                         FT_Glyph       *aglyph,
    -                         FTC_Node       *anode );
    -
    -

    -
    -

    Retrieve a given glyph image from a glyph image cache.

    -

    -
    input
    -

    - - - - -
    cache -

    A handle to the source glyph image cache.

    -
    type -

    A pointer to a glyph image type descriptor.

    -
    gindex -

    The glyph index to retrieve.

    -
    -
    -
    output
    -

    - - - -
    aglyph -

    The corresponding FT_Glyph object. 0 in case of failure.

    -
    anode -

    Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The returned glyph is owned and managed by the glyph image cache. Never try to transform or discard it manually! You can however create a copy with FT_Glyph_Copy and modify the new one.

    -

    If ‘anode’ is not NULL, it receives the address of the cache node containing the glyph image, after increasing its reference count. This ensures that the node (as well as the FT_Glyph) will always be kept in the cache until you call FTC_Node_Unref to ‘release’ it.

    -

    If ‘anode’ is NULL, the cache node is left unchanged, which means that the FT_Glyph could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_ImageCache_LookupScaler

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FTC_ImageCache_LookupScaler( FTC_ImageCache  cache,
    -                               FTC_Scaler      scaler,
    -                               FT_ULong        load_flags,
    -                               FT_UInt         gindex,
    -                               FT_Glyph       *aglyph,
    -                               FTC_Node       *anode );
    -
    -

    -
    -

    A variant of FTC_ImageCache_Lookup that uses an FTC_ScalerRec to specify the face ID and its size.

    -

    -
    input
    -

    - - - - - -
    cache -

    A handle to the source glyph image cache.

    -
    scaler -

    A pointer to a scaler descriptor.

    -
    load_flags -

    The corresponding load flags.

    -
    gindex -

    The glyph index to retrieve.

    -
    -
    -
    output
    -

    - - - -
    aglyph -

    The corresponding FT_Glyph object. 0 in case of failure.

    -
    anode -

    Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The returned glyph is owned and managed by the glyph image cache. Never try to transform or discard it manually! You can however create a copy with FT_Glyph_Copy and modify the new one.

    -

    If ‘anode’ is not NULL, it receives the address of the cache node containing the glyph image, after increasing its reference count. This ensures that the node (as well as the FT_Glyph) will always be kept in the cache until you call FTC_Node_Unref to ‘release’ it.

    -

    If ‘anode’ is NULL, the cache node is left unchanged, which means that the FT_Glyph could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!

    -

    Calls to FT_Set_Char_Size and friends have no effect on cached glyphs; you should always use the FreeType cache API instead.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_SBit

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  typedef struct FTC_SBitRec_*  FTC_SBit;
    -
    -

    -
    -

    A handle to a small bitmap descriptor. See the FTC_SBitRec structure for details.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_SBitRec

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  typedef struct  FTC_SBitRec_
    -  {
    -    FT_Byte   width;
    -    FT_Byte   height;
    -    FT_Char   left;
    -    FT_Char   top;
    -
    -    FT_Byte   format;
    -    FT_Byte   max_grays;
    -    FT_Short  pitch;
    -    FT_Char   xadvance;
    -    FT_Char   yadvance;
    -
    -    FT_Byte*  buffer;
    -
    -  } FTC_SBitRec;
    -
    -

    -
    -

    A very compact structure used to describe a small glyph bitmap.

    -

    -
    fields
    -

    - - - - - - - - - - - -
    width -

    The bitmap width in pixels.

    -
    height -

    The bitmap height in pixels.

    -
    left -

    The horizontal distance from the pen position to the left bitmap border (a.k.a. ‘left side bearing’, or ‘lsb’).

    -
    top -

    The vertical distance from the pen position (on the baseline) to the upper bitmap border (a.k.a. ‘top side bearing’). The distance is positive for upwards y coordinates.

    -
    format -

    The format of the glyph bitmap (monochrome or gray).

    -
    max_grays -

    Maximum gray level value (in the range 1 to 255).

    -
    pitch -

    The number of bytes per bitmap line. May be positive or negative.

    -
    xadvance -

    The horizontal advance width in pixels.

    -
    yadvance -

    The vertical advance height in pixels.

    -
    buffer -

    A pointer to the bitmap pixels.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_SBitCache

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  typedef struct FTC_SBitCacheRec_*  FTC_SBitCache;
    -
    -

    -
    -

    A handle to a small bitmap cache. These are special cache objects used to store small glyph bitmaps (and anti-aliased pixmaps) in a much more efficient way than the traditional glyph image cache implemented by FTC_ImageCache.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_SBitCache_New

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FTC_SBitCache_New( FTC_Manager     manager,
    -                     FTC_SBitCache  *acache );
    -
    -

    -
    -

    Create a new cache to store small glyph bitmaps.

    -

    -
    input
    -

    - - -
    manager -

    A handle to the source cache manager.

    -
    -
    -
    output
    -

    - - -
    acache -

    A handle to the new sbit cache. NULL in case of error.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_SBitCache_Lookup

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FTC_SBitCache_Lookup( FTC_SBitCache    cache,
    -                        FTC_ImageType    type,
    -                        FT_UInt          gindex,
    -                        FTC_SBit        *sbit,
    -                        FTC_Node        *anode );
    -
    -

    -
    -

    Look up a given small glyph bitmap in a given sbit cache and ‘lock’ it to prevent its flushing from the cache until needed.

    -

    -
    input
    -

    - - - - -
    cache -

    A handle to the source sbit cache.

    -
    type -

    A pointer to the glyph image type descriptor.

    -
    gindex -

    The glyph index.

    -
    -
    -
    output
    -

    - - - -
    sbit -

    A handle to a small bitmap descriptor.

    -
    anode -

    Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The small bitmap descriptor and its bit buffer are owned by the cache and should never be freed by the application. They might as well disappear from memory on the next cache lookup, so don't treat them as persistent data.

    -

    The descriptor's ‘buffer’ field is set to 0 to indicate a missing glyph bitmap.

    -

    If ‘anode’ is not NULL, it receives the address of the cache node containing the bitmap, after increasing its reference count. This ensures that the node (as well as the image) will always be kept in the cache until you call FTC_Node_Unref to ‘release’ it.

    -

    If ‘anode’ is NULL, the cache node is left unchanged, which means that the bitmap could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FTC_SBitCache_LookupScaler

    -
    -Defined in FT_CACHE_H (freetype/ftcache.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FTC_SBitCache_LookupScaler( FTC_SBitCache  cache,
    -                              FTC_Scaler     scaler,
    -                              FT_ULong       load_flags,
    -                              FT_UInt        gindex,
    -                              FTC_SBit      *sbit,
    -                              FTC_Node      *anode );
    -
    -

    -
    -

    A variant of FTC_SBitCache_Lookup that uses an FTC_ScalerRec to specify the face ID and its size.

    -

    -
    input
    -

    - - - - - -
    cache -

    A handle to the source sbit cache.

    -
    scaler -

    A pointer to the scaler descriptor.

    -
    load_flags -

    The corresponding load flags.

    -
    gindex -

    The glyph index.

    -
    -
    -
    output
    -

    - - - -
    sbit -

    A handle to a small bitmap descriptor.

    -
    anode -

    Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The small bitmap descriptor and its bit buffer are owned by the cache and should never be freed by the application. They might as well disappear from memory on the next cache lookup, so don't treat them as persistent data.

    -

    The descriptor's ‘buffer’ field is set to 0 to indicate a missing glyph bitmap.

    -

    If ‘anode’ is not NULL, it receives the address of the cache node containing the bitmap, after increasing its reference count. This ensures that the node (as well as the image) will always be kept in the cache until you call FTC_Node_Unref to ‘release’ it.

    -

    If ‘anode’ is NULL, the cache node is left unchanged, which means that the bitmap could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-cid_fonts.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-cid_fonts.html deleted file mode 100644 index 51bdbce..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-cid_fonts.html +++ /dev/null @@ -1,204 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -CID Fonts -

    -

    Synopsis

    - - - - -
    FT_Get_CID_Registry_Ordering_Supplement
    FT_Get_CID_Is_Internally_CID_Keyed
    FT_Get_CID_From_Glyph_Index


    - -
    -

    This section contains the declaration of CID-keyed font specific functions.

    -

    -
    -

    FT_Get_CID_Registry_Ordering_Supplement

    -
    -Defined in FT_CID_H (freetype/ftcid.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_CID_Registry_Ordering_Supplement( FT_Face       face,
    -                                           const char*  *registry,
    -                                           const char*  *ordering,
    -                                           FT_Int       *supplement);
    -
    -

    -
    -

    Retrieve the Registry/Ordering/Supplement triple (also known as the "R/O/S") from a CID-keyed font.

    -

    -
    input
    -

    - - -
    face -

    A handle to the input face.

    -
    -
    -
    output
    -

    - - - - -
    registry -

    The registry, as a C string, owned by the face.

    -
    ordering -

    The ordering, as a C string, owned by the face.

    -
    supplement -

    The supplement.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function only works with CID faces, returning an error otherwise.

    -
    -
    since
    -

    2.3.6

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_CID_Is_Internally_CID_Keyed

    -
    -Defined in FT_CID_H (freetype/ftcid.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_CID_Is_Internally_CID_Keyed( FT_Face   face,
    -                                      FT_Bool  *is_cid );
    -
    -

    -
    -

    Retrieve the type of the input face, CID keyed or not. In constrast to the FT_IS_CID_KEYED macro this function returns successfully also for CID-keyed fonts in an SNFT wrapper.

    -

    -
    input
    -

    - - -
    face -

    A handle to the input face.

    -
    -
    -
    output
    -

    - - -
    is_cid -

    The type of the face as an FT_Bool.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function only works with CID faces and OpenType fonts, returning an error otherwise.

    -
    -
    since
    -

    2.3.9

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_CID_From_Glyph_Index

    -
    -Defined in FT_CID_H (freetype/ftcid.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_CID_From_Glyph_Index( FT_Face   face,
    -                               FT_UInt   glyph_index,
    -                               FT_UInt  *cid );
    -
    -

    -
    -

    Retrieve the CID of the input glyph index.

    -

    -
    input
    -

    - - - -
    face -

    A handle to the input face.

    -
    glyph_index -

    The input glyph index.

    -
    -
    -
    output
    -

    - - -
    cid -

    The CID as an FT_UInt.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function only works with CID faces and OpenType fonts, returning an error otherwise.

    -
    -
    since
    -

    2.3.9

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-computations.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-computations.html deleted file mode 100644 index 6c708d4..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-computations.html +++ /dev/null @@ -1,832 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Computations -

    -

    Synopsis

    - - - - - - - - - -
    FT_MulDivFT_Matrix_InvertFT_Tan
    FT_MulFixFT_AngleFT_Atan2
    FT_DivFixFT_ANGLE_PIFT_Angle_Diff
    FT_RoundFixFT_ANGLE_2PIFT_Vector_Unit
    FT_CeilFixFT_ANGLE_PI2FT_Vector_Rotate
    FT_FloorFixFT_ANGLE_PI4FT_Vector_Length
    FT_Vector_TransformFT_SinFT_Vector_Polarize
    FT_Matrix_MultiplyFT_CosFT_Vector_From_Polar


    - -
    -

    This section contains various functions used to perform computations on 16.16 fixed-float numbers or 2d vectors.

    -

    -
    -

    FT_MulDiv

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Long )
    -  FT_MulDiv( FT_Long  a,
    -             FT_Long  b,
    -             FT_Long  c );
    -
    -

    -
    -

    A very simple function used to perform the computation ‘(a*b)/c’ with maximum accuracy (it uses a 64-bit intermediate integer whenever necessary).

    -

    This function isn't necessarily as fast as some processor specific operations, but is at least completely portable.

    -

    -
    input
    -

    - - - - -
    a -

    The first multiplier.

    -
    b -

    The second multiplier.

    -
    c -

    The divisor.

    -
    -
    -
    return
    -

    The result of ‘(a*b)/c’. This function never traps when trying to divide by zero; it simply returns ‘MaxInt’ or ‘MinInt’ depending on the signs of ‘a’ and ‘b’.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_MulFix

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Long )
    -  FT_MulFix( FT_Long  a,
    -             FT_Long  b );
    -
    -

    -
    -

    A very simple function used to perform the computation ‘(a*b)/0x10000’ with maximum accuracy. Most of the time this is used to multiply a given value by a 16.16 fixed float factor.

    -

    -
    input
    -

    - - - -
    a -

    The first multiplier.

    -
    b -

    The second multiplier. Use a 16.16 factor here whenever possible (see note below).

    -
    -
    -
    return
    -

    The result of ‘(a*b)/0x10000’.

    -
    -
    note
    -

    This function has been optimized for the case where the absolute value of ‘a’ is less than 2048, and ‘b’ is a 16.16 scaling factor. As this happens mainly when scaling from notional units to fractional pixels in FreeType, it resulted in noticeable speed improvements between versions 2.x and 1.x.

    -

    As a conclusion, always try to place a 16.16 factor as the second argument of this function; this can make a great difference.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_DivFix

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Long )
    -  FT_DivFix( FT_Long  a,
    -             FT_Long  b );
    -
    -

    -
    -

    A very simple function used to perform the computation ‘(a*0x10000)/b’ with maximum accuracy. Most of the time, this is used to divide a given value by a 16.16 fixed float factor.

    -

    -
    input
    -

    - - - -
    a -

    The first multiplier.

    -
    b -

    The second multiplier. Use a 16.16 factor here whenever possible (see note below).

    -
    -
    -
    return
    -

    The result of ‘(a*0x10000)/b’.

    -
    -
    note
    -

    The optimization for FT_DivFix() is simple: If (a << 16) fits in 32 bits, then the division is computed directly. Otherwise, we use a specialized version of FT_MulDiv.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_RoundFix

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Fixed )
    -  FT_RoundFix( FT_Fixed  a );
    -
    -

    -
    -

    A very simple function used to round a 16.16 fixed number.

    -

    -
    input
    -

    - - -
    a -

    The number to be rounded.

    -
    -
    -
    return
    -

    The result of ‘(a + 0x8000) & -0x10000’.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_CeilFix

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Fixed )
    -  FT_CeilFix( FT_Fixed  a );
    -
    -

    -
    -

    A very simple function used to compute the ceiling function of a 16.16 fixed number.

    -

    -
    input
    -

    - - -
    a -

    The number for which the ceiling function is to be computed.

    -
    -
    -
    return
    -

    The result of ‘(a + 0x10000 - 1) & -0x10000’.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_FloorFix

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Fixed )
    -  FT_FloorFix( FT_Fixed  a );
    -
    -

    -
    -

    A very simple function used to compute the floor function of a 16.16 fixed number.

    -

    -
    input
    -

    - - -
    a -

    The number for which the floor function is to be computed.

    -
    -
    -
    return
    -

    The result of ‘a & -0x10000’.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Vector_Transform

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Vector_Transform( FT_Vector*        vec,
    -                       const FT_Matrix*  matrix );
    -
    -

    -
    -

    Transform a single vector through a 2x2 matrix.

    -

    -
    inout
    -

    - - -
    vector -

    The target vector to transform.

    -
    -
    -
    input
    -

    - - -
    matrix -

    A pointer to the source 2x2 matrix.

    -
    -
    -
    note
    -

    The result is undefined if either ‘vector’ or ‘matrix’ is invalid.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Matrix_Multiply

    -
    -Defined in FT_GLYPH_H (freetype/ftglyph.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Matrix_Multiply( const FT_Matrix*  a,
    -                      FT_Matrix*        b );
    -
    -

    -
    -

    Perform the matrix operation ‘b = a*b’.

    -

    -
    input
    -

    - - -
    a -

    A pointer to matrix ‘a’.

    -
    -
    -
    inout
    -

    - - -
    b -

    A pointer to matrix ‘b’.

    -
    -
    -
    note
    -

    The result is undefined if either ‘a’ or ‘b’ is zero.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Matrix_Invert

    -
    -Defined in FT_GLYPH_H (freetype/ftglyph.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Matrix_Invert( FT_Matrix*  matrix );
    -
    -

    -
    -

    Invert a 2x2 matrix. Return an error if it can't be inverted.

    -

    -
    inout
    -

    - - -
    matrix -

    A pointer to the target matrix. Remains untouched in case of error.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Angle

    -
    -Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

    -
    -
    -  typedef FT_Fixed  FT_Angle;
    -
    -

    -
    -

    This type is used to model angle values in FreeType. Note that the angle is a 16.16 fixed float value expressed in degrees.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_ANGLE_PI

    -
    -Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

    -
    -
    -#define FT_ANGLE_PI  ( 180L << 16 )
    -
    -

    -
    -

    The angle pi expressed in FT_Angle units.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_ANGLE_2PI

    -
    -Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

    -
    -
    -#define FT_ANGLE_2PI  ( FT_ANGLE_PI * 2 )
    -
    -

    -
    -

    The angle 2*pi expressed in FT_Angle units.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_ANGLE_PI2

    -
    -Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

    -
    -
    -#define FT_ANGLE_PI2  ( FT_ANGLE_PI / 2 )
    -
    -

    -
    -

    The angle pi/2 expressed in FT_Angle units.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_ANGLE_PI4

    -
    -Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

    -
    -
    -#define FT_ANGLE_PI4  ( FT_ANGLE_PI / 4 )
    -
    -

    -
    -

    The angle pi/4 expressed in FT_Angle units.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Sin

    -
    -Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

    -
    -
    -  FT_EXPORT( FT_Fixed )
    -  FT_Sin( FT_Angle  angle );
    -
    -

    -
    -

    Return the sinus of a given angle in fixed point format.

    -

    -
    input
    -

    - - -
    angle -

    The input angle.

    -
    -
    -
    return
    -

    The sinus value.

    -
    -
    note
    -

    If you need both the sinus and cosinus for a given angle, use the function FT_Vector_Unit.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Cos

    -
    -Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

    -
    -
    -  FT_EXPORT( FT_Fixed )
    -  FT_Cos( FT_Angle  angle );
    -
    -

    -
    -

    Return the cosinus of a given angle in fixed point format.

    -

    -
    input
    -

    - - -
    angle -

    The input angle.

    -
    -
    -
    return
    -

    The cosinus value.

    -
    -
    note
    -

    If you need both the sinus and cosinus for a given angle, use the function FT_Vector_Unit.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Tan

    -
    -Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

    -
    -
    -  FT_EXPORT( FT_Fixed )
    -  FT_Tan( FT_Angle  angle );
    -
    -

    -
    -

    Return the tangent of a given angle in fixed point format.

    -

    -
    input
    -

    - - -
    angle -

    The input angle.

    -
    -
    -
    return
    -

    The tangent value.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Atan2

    -
    -Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

    -
    -
    -  FT_EXPORT( FT_Angle )
    -  FT_Atan2( FT_Fixed  x,
    -            FT_Fixed  y );
    -
    -

    -
    -

    Return the arc-tangent corresponding to a given vector (x,y) in the 2d plane.

    -

    -
    input
    -

    - - - -
    x -

    The horizontal vector coordinate.

    -
    y -

    The vertical vector coordinate.

    -
    -
    -
    return
    -

    The arc-tangent value (i.e. angle).

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Angle_Diff

    -
    -Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

    -
    -
    -  FT_EXPORT( FT_Angle )
    -  FT_Angle_Diff( FT_Angle  angle1,
    -                 FT_Angle  angle2 );
    -
    -

    -
    -

    Return the difference between two angles. The result is always constrained to the ]-PI..PI] interval.

    -

    -
    input
    -

    - - - -
    angle1 -

    First angle.

    -
    angle2 -

    Second angle.

    -
    -
    -
    return
    -

    Constrained value of ‘value2-value1’.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Vector_Unit

    -
    -Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Vector_Unit( FT_Vector*  vec,
    -                  FT_Angle    angle );
    -
    -

    -
    -

    Return the unit vector corresponding to a given angle. After the call, the value of ‘vec.x’ will be ‘sin(angle)’, and the value of ‘vec.y’ will be ‘cos(angle)’.

    -

    This function is useful to retrieve both the sinus and cosinus of a given angle quickly.

    -

    -
    output
    -

    - - -
    vec -

    The address of target vector.

    -
    -
    -
    input
    -

    - - -
    angle -

    The address of angle.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Vector_Rotate

    -
    -Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Vector_Rotate( FT_Vector*  vec,
    -                    FT_Angle    angle );
    -
    -

    -
    -

    Rotate a vector by a given angle.

    -

    -
    inout
    -

    - - -
    vec -

    The address of target vector.

    -
    -
    -
    input
    -

    - - -
    angle -

    The address of angle.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Vector_Length

    -
    -Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

    -
    -
    -  FT_EXPORT( FT_Fixed )
    -  FT_Vector_Length( FT_Vector*  vec );
    -
    -

    -
    -

    Return the length of a given vector.

    -

    -
    input
    -

    - - -
    vec -

    The address of target vector.

    -
    -
    -
    return
    -

    The vector length, expressed in the same units that the original vector coordinates.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Vector_Polarize

    -
    -Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Vector_Polarize( FT_Vector*  vec,
    -                      FT_Fixed   *length,
    -                      FT_Angle   *angle );
    -
    -

    -
    -

    Compute both the length and angle of a given vector.

    -

    -
    input
    -

    - - -
    vec -

    The address of source vector.

    -
    -
    -
    output
    -

    - - - -
    length -

    The vector length.

    -
    angle -

    The vector angle.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Vector_From_Polar

    -
    -Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Vector_From_Polar( FT_Vector*  vec,
    -                        FT_Fixed    length,
    -                        FT_Angle    angle );
    -
    -

    -
    -

    Compute vector coordinates from a length and angle.

    -

    -
    output
    -

    - - -
    vec -

    The address of source vector.

    -
    -
    -
    input
    -

    - - - -
    length -

    The vector length.

    -
    angle -

    The vector angle.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-font_formats.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-font_formats.html deleted file mode 100644 index 75e8bbb..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-font_formats.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Font Formats -

    -

    Synopsis

    - - -
    FT_Get_X11_Font_Format


    - -
    -

    The single function in this section can be used to get the font format. Note that this information is not needed normally; however, there are special cases (like in PDF devices) where it is important to differentiate, in spite of FreeType's uniform API.

    -

    This function is in the X11/xf86 namespace for historical reasons and in no way depends on that windowing system.

    -

    -
    -

    FT_Get_X11_Font_Format

    -
    -Defined in FT_XFREE86_H (freetype/ftxf86.h). -

    -
    -
    -  FT_EXPORT( const char* )
    -  FT_Get_X11_Font_Format( FT_Face  face );
    -
    -

    -
    -

    Return a string describing the format of a given face, using values which can be used as an X11 FONT_PROPERTY. Possible values are ‘TrueType’, ‘Type 1’, ‘BDF’, ‘PCF’, ‘Type 42’, ‘CID Type 1’, ‘CFF’, ‘PFR’, and ‘Windows FNT’.

    -

    -
    input
    -

    - - -
    face -

    Input face handle.

    -
    -
    -
    return
    -

    Font format string. NULL in case of error.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-gasp_table.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-gasp_table.html deleted file mode 100644 index ffa8bad..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-gasp_table.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Gasp Table -

    -

    Synopsis

    - - -
    FT_GASP_XXXFT_Get_Gasp


    - -
    -

    The function FT_Get_Gasp can be used to query a TrueType or OpenType font for specific entries in its ‘gasp’ table, if any. This is mainly useful when implementing native TrueType hinting with the bytecode interpreter to duplicate the Windows text rendering results.

    -

    -
    -

    FT_GASP_XXX

    -
    -Defined in FT_GASP_H (freetype/ftgasp.h). -

    -
    -
    -#define FT_GASP_NO_TABLE               -1
    -#define FT_GASP_DO_GRIDFIT           0x01
    -#define FT_GASP_DO_GRAY              0x02
    -#define FT_GASP_SYMMETRIC_SMOOTHING  0x08
    -#define FT_GASP_SYMMETRIC_GRIDFIT    0x10
    -
    -

    -
    -

    A list of values and/or bit-flags returned by the FT_Get_Gasp function.

    -

    -
    values
    -

    - - - - - - - - -
    FT_GASP_NO_TABLE -

    This special value means that there is no GASP table in this face. It is up to the client to decide what to do.

    -
    FT_GASP_DO_GRIDFIT -

    Grid-fitting and hinting should be performed at the specified ppem. This really means TrueType bytecode interpretation. If this bit is not set, no hinting gets applied.

    -
    FT_GASP_DO_GRAY -

    Anti-aliased rendering should be performed at the specified ppem. If not set, do monochrome rendering.

    -
    FT_GASP_SYMMETRIC_SMOOTHING
    -

    If set, smoothing along multiple axes must be used with ClearType.

    -
    FT_GASP_SYMMETRIC_GRIDFIT
    -

    Grid-fitting must be used with ClearType's symmetric smoothing.

    -
    -
    -
    note
    -

    The bit-flags ‘FT_GASP_DO_GRIDFIT’ and ‘FT_GASP_DO_GRAY’ are to be used for standard font rasterization only. Independently of that, ‘FT_GASP_SYMMETRIC_SMOOTHING’ and ‘FT_GASP_SYMMETRIC_GRIDFIT’ are to be used if ClearType is enabled (and ‘FT_GASP_DO_GRIDFIT’ and ‘FT_GASP_DO_GRAY’ are consequently ignored).

    -

    ‘ClearType’ is Microsoft's implementation of LCD rendering, partly protected by patents.

    -
    -
    since
    -

    2.3.0

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Gasp

    -
    -Defined in FT_GASP_H (freetype/ftgasp.h). -

    -
    -
    -  FT_EXPORT( FT_Int )
    -  FT_Get_Gasp( FT_Face  face,
    -               FT_UInt  ppem );
    -
    -

    -
    -

    Read the ‘gasp’ table from a TrueType or OpenType font file and return the entry corresponding to a given character pixel size.

    -

    -
    input
    -

    - - - -
    face -

    The source face handle.

    -
    ppem -

    The vertical character pixel size.

    -
    -
    -
    return
    -

    Bit flags (see FT_GASP_XXX), or FT_GASP_NO_TABLE if there is no ‘gasp’ table in the face.

    -
    -
    since
    -

    2.3.0

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-glyph_management.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-glyph_management.html deleted file mode 100644 index d76627b..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-glyph_management.html +++ /dev/null @@ -1,673 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Glyph Management -

    -

    Synopsis

    - - - - - - -
    FT_GlyphFT_OutlineGlyphRecft_glyph_bbox_xxx
    FT_GlyphRecFT_Get_GlyphFT_Glyph_Get_CBox
    FT_BitmapGlyphFT_Glyph_CopyFT_Glyph_To_Bitmap
    FT_BitmapGlyphRecFT_Glyph_TransformFT_Done_Glyph
    FT_OutlineGlyphFT_Glyph_BBox_Mode


    - -
    -

    This section contains definitions used to manage glyph data through generic FT_Glyph objects. Each of them can contain a bitmap, a vector outline, or even images in other formats.

    -

    -
    -

    FT_Glyph

    -
    -Defined in FT_GLYPH_H (freetype/ftglyph.h). -

    -
    -
    -  typedef struct FT_GlyphRec_*  FT_Glyph;
    -
    -

    -
    -

    Handle to an object used to model generic glyph images. It is a pointer to the FT_GlyphRec structure and can contain a glyph bitmap or pointer.

    -

    -
    note
    -

    Glyph objects are not owned by the library. You must thus release them manually (through FT_Done_Glyph) before calling FT_Done_FreeType.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_GlyphRec

    -
    -Defined in FT_GLYPH_H (freetype/ftglyph.h). -

    -
    -
    -  typedef struct  FT_GlyphRec_
    -  {
    -    FT_Library             library;
    -    const FT_Glyph_Class*  clazz;
    -    FT_Glyph_Format        format;
    -    FT_Vector              advance;
    -
    -  } FT_GlyphRec;
    -
    -

    -
    -

    The root glyph structure contains a given glyph image plus its advance width in 16.16 fixed float format.

    -

    -
    fields
    -

    - - - - - -
    library -

    A handle to the FreeType library object.

    -
    clazz -

    A pointer to the glyph's class. Private.

    -
    format -

    The format of the glyph's image.

    -
    advance -

    A 16.16 vector that gives the glyph's advance width.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_BitmapGlyph

    -
    -Defined in FT_GLYPH_H (freetype/ftglyph.h). -

    -
    -
    -  typedef struct FT_BitmapGlyphRec_*  FT_BitmapGlyph;
    -
    -

    -
    -

    A handle to an object used to model a bitmap glyph image. This is a sub-class of FT_Glyph, and a pointer to FT_BitmapGlyphRec.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_BitmapGlyphRec

    -
    -Defined in FT_GLYPH_H (freetype/ftglyph.h). -

    -
    -
    -  typedef struct  FT_BitmapGlyphRec_
    -  {
    -    FT_GlyphRec  root;
    -    FT_Int       left;
    -    FT_Int       top;
    -    FT_Bitmap    bitmap;
    -
    -  } FT_BitmapGlyphRec;
    -
    -

    -
    -

    A structure used for bitmap glyph images. This really is a ‘sub-class’ of FT_GlyphRec.

    -

    -
    fields
    -

    - - - - - -
    root -

    The root FT_Glyph fields.

    -
    left -

    The left-side bearing, i.e., the horizontal distance from the current pen position to the left border of the glyph bitmap.

    -
    top -

    The top-side bearing, i.e., the vertical distance from the current pen position to the top border of the glyph bitmap. This distance is positive for upwards y!

    -
    bitmap -

    A descriptor for the bitmap.

    -
    -
    -
    note
    -

    You can typecast an FT_Glyph to FT_BitmapGlyph if you have ‘glyph->format == FT_GLYPH_FORMAT_BITMAP’. This lets you access the bitmap's contents easily.

    -

    The corresponding pixel buffer is always owned by FT_BitmapGlyph and is thus created and destroyed with it.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_OutlineGlyph

    -
    -Defined in FT_GLYPH_H (freetype/ftglyph.h). -

    -
    -
    -  typedef struct FT_OutlineGlyphRec_*  FT_OutlineGlyph;
    -
    -

    -
    -

    A handle to an object used to model an outline glyph image. This is a sub-class of FT_Glyph, and a pointer to FT_OutlineGlyphRec.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_OutlineGlyphRec

    -
    -Defined in FT_GLYPH_H (freetype/ftglyph.h). -

    -
    -
    -  typedef struct  FT_OutlineGlyphRec_
    -  {
    -    FT_GlyphRec  root;
    -    FT_Outline   outline;
    -
    -  } FT_OutlineGlyphRec;
    -
    -

    -
    -

    A structure used for outline (vectorial) glyph images. This really is a ‘sub-class’ of FT_GlyphRec.

    -

    -
    fields
    -

    - - - -
    root -

    The root FT_Glyph fields.

    -
    outline -

    A descriptor for the outline.

    -
    -
    -
    note
    -

    You can typecast an FT_Glyph to FT_OutlineGlyph if you have ‘glyph->format == FT_GLYPH_FORMAT_OUTLINE’. This lets you access the outline's content easily.

    -

    As the outline is extracted from a glyph slot, its coordinates are expressed normally in 26.6 pixels, unless the flag FT_LOAD_NO_SCALE was used in FT_Load_Glyph() or FT_Load_Char().

    -

    The outline's tables are always owned by the object and are destroyed with it.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Glyph

    -
    -Defined in FT_GLYPH_H (freetype/ftglyph.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_Glyph( FT_GlyphSlot  slot,
    -                FT_Glyph     *aglyph );
    -
    -

    -
    -

    A function used to extract a glyph image from a slot. Note that the created FT_Glyph object must be released with FT_Done_Glyph.

    -

    -
    input
    -

    - - -
    slot -

    A handle to the source glyph slot.

    -
    -
    -
    output
    -

    - - -
    aglyph -

    A handle to the glyph object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Glyph_Copy

    -
    -Defined in FT_GLYPH_H (freetype/ftglyph.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Glyph_Copy( FT_Glyph   source,
    -                 FT_Glyph  *target );
    -
    -

    -
    -

    A function used to copy a glyph image. Note that the created FT_Glyph object must be released with FT_Done_Glyph.

    -

    -
    input
    -

    - - -
    source -

    A handle to the source glyph object.

    -
    -
    -
    output
    -

    - - -
    target -

    A handle to the target glyph object. 0 in case of error.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Glyph_Transform

    -
    -Defined in FT_GLYPH_H (freetype/ftglyph.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Glyph_Transform( FT_Glyph    glyph,
    -                      FT_Matrix*  matrix,
    -                      FT_Vector*  delta );
    -
    -

    -
    -

    Transform a glyph image if its format is scalable.

    -

    -
    inout
    -

    - - -
    glyph -

    A handle to the target glyph object.

    -
    -
    -
    input
    -

    - - - -
    matrix -

    A pointer to a 2x2 matrix to apply.

    -
    delta -

    A pointer to a 2d vector to apply. Coordinates are expressed in 1/64th of a pixel.

    -
    -
    -
    return
    -

    FreeType error code (if not 0, the glyph format is not scalable).

    -
    -
    note
    -

    The 2x2 transformation matrix is also applied to the glyph's advance vector.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Glyph_BBox_Mode

    -
    -Defined in FT_GLYPH_H (freetype/ftglyph.h). -

    -
    -
    -  typedef enum  FT_Glyph_BBox_Mode_
    -  {
    -    FT_GLYPH_BBOX_UNSCALED  = 0,
    -    FT_GLYPH_BBOX_SUBPIXELS = 0,
    -    FT_GLYPH_BBOX_GRIDFIT   = 1,
    -    FT_GLYPH_BBOX_TRUNCATE  = 2,
    -    FT_GLYPH_BBOX_PIXELS    = 3
    -
    -  } FT_Glyph_BBox_Mode;
    -
    -

    -
    -

    The mode how the values of FT_Glyph_Get_CBox are returned.

    -

    -
    values
    -

    - - - - - - - -
    FT_GLYPH_BBOX_UNSCALED -

    Return unscaled font units.

    -
    FT_GLYPH_BBOX_SUBPIXELS
    -

    Return unfitted 26.6 coordinates.

    -
    FT_GLYPH_BBOX_GRIDFIT -

    Return grid-fitted 26.6 coordinates.

    -
    FT_GLYPH_BBOX_TRUNCATE -

    Return coordinates in integer pixels.

    -
    FT_GLYPH_BBOX_PIXELS -

    Return grid-fitted pixel coordinates.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    ft_glyph_bbox_xxx

    -
    -Defined in FT_GLYPH_H (freetype/ftglyph.h). -

    -
    -
    -#define ft_glyph_bbox_unscaled   FT_GLYPH_BBOX_UNSCALED
    -#define ft_glyph_bbox_subpixels  FT_GLYPH_BBOX_SUBPIXELS
    -#define ft_glyph_bbox_gridfit    FT_GLYPH_BBOX_GRIDFIT
    -#define ft_glyph_bbox_truncate   FT_GLYPH_BBOX_TRUNCATE
    -#define ft_glyph_bbox_pixels     FT_GLYPH_BBOX_PIXELS
    -
    -

    -
    -

    These constants are deprecated. Use the corresponding FT_Glyph_BBox_Mode values instead.

    -

    -
    values
    -

    - - - - - - - -
    ft_glyph_bbox_unscaled -

    See FT_GLYPH_BBOX_UNSCALED.

    -
    ft_glyph_bbox_subpixels
    -

    See FT_GLYPH_BBOX_SUBPIXELS.

    -
    ft_glyph_bbox_gridfit -

    See FT_GLYPH_BBOX_GRIDFIT.

    -
    ft_glyph_bbox_truncate -

    See FT_GLYPH_BBOX_TRUNCATE.

    -
    ft_glyph_bbox_pixels -

    See FT_GLYPH_BBOX_PIXELS.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Glyph_Get_CBox

    -
    -Defined in FT_GLYPH_H (freetype/ftglyph.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Glyph_Get_CBox( FT_Glyph  glyph,
    -                     FT_UInt   bbox_mode,
    -                     FT_BBox  *acbox );
    -
    -

    -
    -

    Return a glyph's ‘control box’. The control box encloses all the outline's points, including Bézier control points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger in some situations (like when rotating an outline which contains Bézier outside arcs).

    -

    Computing the control box is very fast, while getting the bounding box can take much more time as it needs to walk over all segments and arcs in the outline. To get the latter, you can use the ‘ftbbox’ component which is dedicated to this single task.

    -

    -
    input
    -

    - - - -
    glyph -

    A handle to the source glyph object.

    -
    mode -

    The mode which indicates how to interpret the returned bounding box values.

    -
    -
    -
    output
    -

    - - -
    acbox -

    The glyph coordinate bounding box. Coordinates are expressed in 1/64th of pixels if it is grid-fitted.

    -
    -
    -
    note
    -

    Coordinates are relative to the glyph origin, using the y upwards convention.

    -

    If the glyph has been loaded with FT_LOAD_NO_SCALE, ‘bbox_mode’ must be set to FT_GLYPH_BBOX_UNSCALED to get unscaled font units in 26.6 pixel format. The value FT_GLYPH_BBOX_SUBPIXELS is another name for this constant.

    -

    If the font is tricky and the glyph has been loaded with FT_LOAD_NO_SCALE, the resulting CBox is meaningless. To get reasonable values for the CBox it is necessary to load the glyph at a large ppem value (so that the hinting instructions can properly shift and scale the subglyphs), then extracting the CBox which can be eventually converted back to font units.

    -

    Note that the maximum coordinates are exclusive, which means that one can compute the width and height of the glyph image (be it in integer or 26.6 pixels) as:

    -
    -  width  = bbox.xMax - bbox.xMin;                                  
    -  height = bbox.yMax - bbox.yMin;                                  
    -
    -

    Note also that for 26.6 coordinates, if ‘bbox_mode’ is set to FT_GLYPH_BBOX_GRIDFIT, the coordinates will also be grid-fitted, which corresponds to:

    -
    -  bbox.xMin = FLOOR(bbox.xMin);                                    
    -  bbox.yMin = FLOOR(bbox.yMin);                                    
    -  bbox.xMax = CEILING(bbox.xMax);                                  
    -  bbox.yMax = CEILING(bbox.yMax);                                  
    -
    -

    To get the bbox in pixel coordinates, set ‘bbox_mode’ to FT_GLYPH_BBOX_TRUNCATE.

    -

    To get the bbox in grid-fitted pixel coordinates, set ‘bbox_mode’ to FT_GLYPH_BBOX_PIXELS.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Glyph_To_Bitmap

    -
    -Defined in FT_GLYPH_H (freetype/ftglyph.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Glyph_To_Bitmap( FT_Glyph*       the_glyph,
    -                      FT_Render_Mode  render_mode,
    -                      FT_Vector*      origin,
    -                      FT_Bool         destroy );
    -
    -

    -
    -

    Convert a given glyph object to a bitmap glyph object.

    -

    -
    inout
    -

    - - -
    the_glyph -

    A pointer to a handle to the target glyph.

    -
    -
    -
    input
    -

    - - - - -
    render_mode -

    An enumeration that describes how the data is rendered.

    -
    origin -

    A pointer to a vector used to translate the glyph image before rendering. Can be 0 (if no translation). The origin is expressed in 26.6 pixels.

    -
    destroy -

    A boolean that indicates that the original glyph image should be destroyed by this function. It is never destroyed in case of error.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function does nothing if the glyph format isn't scalable.

    -

    The glyph image is translated with the ‘origin’ vector before rendering.

    -

    The first parameter is a pointer to an FT_Glyph handle, that will be replaced by this function (with newly allocated data). Typically, you would use (omitting error handling):

    -

    -
    -  FT_Glyph        glyph;                                         
    -  FT_BitmapGlyph  glyph_bitmap;                                  
    -                                                                 
    -                                                                 
    -  // load glyph                                                  
    -  error = FT_Load_Char( face, glyph_index, FT_LOAD_DEFAUT );     
    -                                                                 
    -  // extract glyph image                                         
    -  error = FT_Get_Glyph( face->glyph, &glyph );                   
    -                                                                 
    -  // convert to a bitmap (default render mode + destroying old)  
    -  if ( glyph->format != FT_GLYPH_FORMAT_BITMAP )                 
    -  {                                                              
    -    error = FT_Glyph_To_Bitmap( &glyph, FT_RENDER_MODE_NORMAL,   
    -                                0, 1 );                          
    -    if ( error ) // `glyph' unchanged                            
    -      ...                                                        
    -  }                                                              
    -                                                                 
    -  // access bitmap content by typecasting                        
    -  glyph_bitmap = (FT_BitmapGlyph)glyph;                          
    -                                                                 
    -  // do funny stuff with it, like blitting/drawing               
    -  ...                                                            
    -                                                                 
    -  // discard glyph image (bitmap or not)                         
    -  FT_Done_Glyph( glyph );                                        
    -
    -

    -

    Here another example, again without error handling:

    -

    -
    -  FT_Glyph  glyphs[MAX_GLYPHS]                                   
    -                                                                 
    -                                                                 
    -  ...                                                            
    -                                                                 
    -  for ( idx = 0; i < MAX_GLYPHS; i++ )                           
    -    error = FT_Load_Glyph( face, idx, FT_LOAD_DEFAULT ) ||       
    -            FT_Get_Glyph ( face->glyph, &glyph[idx] );           
    -                                                                 
    -  ...                                                            
    -                                                                 
    -  for ( idx = 0; i < MAX_GLYPHS; i++ )                           
    -  {                                                              
    -    FT_Glyph  bitmap = glyphs[idx];                              
    -                                                                 
    -                                                                 
    -    ...                                                          
    -                                                                 
    -    // after this call, `bitmap' no longer points into           
    -    // the `glyphs' array (and the old value isn't destroyed)    
    -    FT_Glyph_To_Bitmap( &bitmap, FT_RENDER_MODE_MONO, 0, 0 );    
    -                                                                 
    -    ...                                                          
    -                                                                 
    -    FT_Done_Glyph( bitmap );                                     
    -  }                                                              
    -                                                                 
    -  ...                                                            
    -                                                                 
    -  for ( idx = 0; i < MAX_GLYPHS; i++ )                           
    -    FT_Done_Glyph( glyphs[idx] );                                
    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Done_Glyph

    -
    -Defined in FT_GLYPH_H (freetype/ftglyph.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Done_Glyph( FT_Glyph  glyph );
    -
    -

    -
    -

    Destroy a given glyph.

    -

    -
    input
    -

    - - -
    glyph -

    A handle to the target glyph object.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-glyph_stroker.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-glyph_stroker.html deleted file mode 100644 index ce88ed0..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-glyph_stroker.html +++ /dev/null @@ -1,940 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Glyph Stroker -

    -

    Synopsis

    - - - - - - - - - - - - -
    FT_StrokerFT_Stroker_EndSubPath
    FT_Stroker_LineJoinFT_Stroker_LineTo
    FT_Stroker_LineCapFT_Stroker_ConicTo
    FT_StrokerBorderFT_Stroker_CubicTo
    FT_Outline_GetInsideBorderFT_Stroker_GetBorderCounts
    FT_Outline_GetOutsideBorderFT_Stroker_ExportBorder
    FT_Stroker_NewFT_Stroker_GetCounts
    FT_Stroker_SetFT_Stroker_Export
    FT_Stroker_RewindFT_Stroker_Done
    FT_Stroker_ParseOutlineFT_Glyph_Stroke
    FT_Stroker_BeginSubPathFT_Glyph_StrokeBorder


    - -
    -

    This component generates stroked outlines of a given vectorial glyph. It also allows you to retrieve the ‘outside’ and/or the ‘inside’ borders of the stroke.

    -

    This can be useful to generate ‘bordered’ glyph, i.e., glyphs displayed with a coloured (and anti-aliased) border around their shape.

    -

    -
    -

    FT_Stroker

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  typedef struct FT_StrokerRec_*  FT_Stroker;
    -
    -

    -
    -

    Opaque handler to a path stroker object.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stroker_LineJoin

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  typedef enum  FT_Stroker_LineJoin_
    -  {
    -    FT_STROKER_LINEJOIN_ROUND          = 0,
    -    FT_STROKER_LINEJOIN_BEVEL          = 1,
    -    FT_STROKER_LINEJOIN_MITER_VARIABLE = 2,
    -    FT_STROKER_LINEJOIN_MITER          = FT_STROKER_LINEJOIN_MITER_VARIABLE,
    -    FT_STROKER_LINEJOIN_MITER_FIXED    = 3
    -
    -  } FT_Stroker_LineJoin;
    -
    -

    -
    -

    These values determine how two joining lines are rendered in a stroker.

    -

    -
    values
    -

    - - - - - - - - - - - -
    FT_STROKER_LINEJOIN_ROUND
    -

    Used to render rounded line joins. Circular arcs are used to join two lines smoothly.

    -
    FT_STROKER_LINEJOIN_BEVEL
    -

    Used to render beveled line joins. The outer corner of the joined lines is filled by enclosing the triangular region of the corner with a straight line between the outer corners of each stroke.

    -
    FT_STROKER_LINEJOIN_MITER_FIXED
    -

    Used to render mitered line joins, with fixed bevels if the miter limit is exceeded. The outer edges of the strokes for the two segments are extended until they meet at an angle. If the segments meet at too sharp an angle (such that the miter would extend from the intersection of the segments a distance greater than the product of the miter limit value and the border radius), then a bevel join (see above) is used instead. This prevents long spikes being created. FT_STROKER_LINEJOIN_MITER_FIXED generates a miter line join as used in PostScript and PDF.

    -
    FT_STROKER_LINEJOIN_MITER_VARIABLE
    -

    -
    FT_STROKER_LINEJOIN_MITER
    -

    Used to render mitered line joins, with variable bevels if the miter limit is exceeded. The intersection of the strokes is clipped at a line perpendicular to the bisector of the angle between the strokes, at the distance from the intersection of the segments equal to the product of the miter limit value and the border radius. This prevents long spikes being created. FT_STROKER_LINEJOIN_MITER_VARIABLE generates a mitered line join as used in XPS. FT_STROKER_LINEJOIN_MITER is an alias for FT_STROKER_LINEJOIN_MITER_VARIABLE, retained for backwards compatibility.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stroker_LineCap

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  typedef enum  FT_Stroker_LineCap_
    -  {
    -    FT_STROKER_LINECAP_BUTT = 0,
    -    FT_STROKER_LINECAP_ROUND,
    -    FT_STROKER_LINECAP_SQUARE
    -
    -  } FT_Stroker_LineCap;
    -
    -

    -
    -

    These values determine how the end of opened sub-paths are rendered in a stroke.

    -

    -
    values
    -

    - - - - - - - -
    FT_STROKER_LINECAP_BUTT
    -

    The end of lines is rendered as a full stop on the last point itself.

    -
    FT_STROKER_LINECAP_ROUND
    -

    The end of lines is rendered as a half-circle around the last point.

    -
    FT_STROKER_LINECAP_SQUARE
    -

    The end of lines is rendered as a square around the last point.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_StrokerBorder

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  typedef enum  FT_StrokerBorder_
    -  {
    -    FT_STROKER_BORDER_LEFT = 0,
    -    FT_STROKER_BORDER_RIGHT
    -
    -  } FT_StrokerBorder;
    -
    -

    -
    -

    These values are used to select a given stroke border in FT_Stroker_GetBorderCounts and FT_Stroker_ExportBorder.

    -

    -
    values
    -

    - - - - -
    FT_STROKER_BORDER_LEFT -

    Select the left border, relative to the drawing direction.

    -
    FT_STROKER_BORDER_RIGHT
    -

    Select the right border, relative to the drawing direction.

    -
    -
    -
    note
    -

    Applications are generally interested in the ‘inside’ and ‘outside’ borders. However, there is no direct mapping between these and the ‘left’ and ‘right’ ones, since this really depends on the glyph's drawing orientation, which varies between font formats.

    -

    You can however use FT_Outline_GetInsideBorder and FT_Outline_GetOutsideBorder to get these.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_GetInsideBorder

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( FT_StrokerBorder )
    -  FT_Outline_GetInsideBorder( FT_Outline*  outline );
    -
    -

    -
    -

    Retrieve the FT_StrokerBorder value corresponding to the ‘inside’ borders of a given outline.

    -

    -
    input
    -

    - - -
    outline -

    The source outline handle.

    -
    -
    -
    return
    -

    The border index. FT_STROKER_BORDER_RIGHT for empty or invalid outlines.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_GetOutsideBorder

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( FT_StrokerBorder )
    -  FT_Outline_GetOutsideBorder( FT_Outline*  outline );
    -
    -

    -
    -

    Retrieve the FT_StrokerBorder value corresponding to the ‘outside’ borders of a given outline.

    -

    -
    input
    -

    - - -
    outline -

    The source outline handle.

    -
    -
    -
    return
    -

    The border index. FT_STROKER_BORDER_LEFT for empty or invalid outlines.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stroker_New

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Stroker_New( FT_Library   library,
    -                  FT_Stroker  *astroker );
    -
    -

    -
    -

    Create a new stroker object.

    -

    -
    input
    -

    - - -
    library -

    FreeType library handle.

    -
    -
    -
    output
    -

    - - -
    astroker -

    A new stroker object handle. NULL in case of error.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stroker_Set

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Stroker_Set( FT_Stroker           stroker,
    -                  FT_Fixed             radius,
    -                  FT_Stroker_LineCap   line_cap,
    -                  FT_Stroker_LineJoin  line_join,
    -                  FT_Fixed             miter_limit );
    -
    -

    -
    -

    Reset a stroker object's attributes.

    -

    -
    input
    -

    - - - - - - -
    stroker -

    The target stroker handle.

    -
    radius -

    The border radius.

    -
    line_cap -

    The line cap style.

    -
    line_join -

    The line join style.

    -
    miter_limit -

    The miter limit for the FT_STROKER_LINEJOIN_MITER_FIXED and FT_STROKER_LINEJOIN_MITER_VARIABLE line join styles, expressed as 16.16 fixed point value.

    -
    -
    -
    note
    -

    The radius is expressed in the same units as the outline coordinates.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stroker_Rewind

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Stroker_Rewind( FT_Stroker  stroker );
    -
    -

    -
    -

    Reset a stroker object without changing its attributes. You should call this function before beginning a new series of calls to FT_Stroker_BeginSubPath or FT_Stroker_EndSubPath.

    -

    -
    input
    -

    - - -
    stroker -

    The target stroker handle.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stroker_ParseOutline

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Stroker_ParseOutline( FT_Stroker   stroker,
    -                           FT_Outline*  outline,
    -                           FT_Bool      opened );
    -
    -

    -
    -

    A convenience function used to parse a whole outline with the stroker. The resulting outline(s) can be retrieved later by functions like FT_Stroker_GetCounts and FT_Stroker_Export.

    -

    -
    input
    -

    - - - - -
    stroker -

    The target stroker handle.

    -
    outline -

    The source outline.

    -
    opened -

    A boolean. If 1, the outline is treated as an open path instead of a closed one.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    If ‘opened’ is 0 (the default), the outline is treated as a closed path, and the stroker generates two distinct ‘border’ outlines.

    -

    If ‘opened’ is 1, the outline is processed as an open path, and the stroker generates a single ‘stroke’ outline.

    -

    This function calls FT_Stroker_Rewind automatically.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stroker_BeginSubPath

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Stroker_BeginSubPath( FT_Stroker  stroker,
    -                           FT_Vector*  to,
    -                           FT_Bool     open );
    -
    -

    -
    -

    Start a new sub-path in the stroker.

    -

    -
    input
    -

    - - - - -
    stroker -

    The target stroker handle.

    -
    to -

    A pointer to the start vector.

    -
    open -

    A boolean. If 1, the sub-path is treated as an open one.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function is useful when you need to stroke a path that is not stored as an FT_Outline object.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stroker_EndSubPath

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Stroker_EndSubPath( FT_Stroker  stroker );
    -
    -

    -
    -

    Close the current sub-path in the stroker.

    -

    -
    input
    -

    - - -
    stroker -

    The target stroker handle.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    You should call this function after FT_Stroker_BeginSubPath. If the subpath was not ‘opened’, this function ‘draws’ a single line segment to the start position when needed.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stroker_LineTo

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Stroker_LineTo( FT_Stroker  stroker,
    -                     FT_Vector*  to );
    -
    -

    -
    -

    ‘Draw’ a single line segment in the stroker's current sub-path, from the last position.

    -

    -
    input
    -

    - - - -
    stroker -

    The target stroker handle.

    -
    to -

    A pointer to the destination point.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    You should call this function between FT_Stroker_BeginSubPath and FT_Stroker_EndSubPath.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stroker_ConicTo

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Stroker_ConicTo( FT_Stroker  stroker,
    -                      FT_Vector*  control,
    -                      FT_Vector*  to );
    -
    -

    -
    -

    ‘Draw’ a single quadratic Bézier in the stroker's current sub-path, from the last position.

    -

    -
    input
    -

    - - - - -
    stroker -

    The target stroker handle.

    -
    control -

    A pointer to a Bézier control point.

    -
    to -

    A pointer to the destination point.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    You should call this function between FT_Stroker_BeginSubPath and FT_Stroker_EndSubPath.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stroker_CubicTo

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Stroker_CubicTo( FT_Stroker  stroker,
    -                      FT_Vector*  control1,
    -                      FT_Vector*  control2,
    -                      FT_Vector*  to );
    -
    -

    -
    -

    ‘Draw’ a single cubic Bézier in the stroker's current sub-path, from the last position.

    -

    -
    input
    -

    - - - - - -
    stroker -

    The target stroker handle.

    -
    control1 -

    A pointer to the first Bézier control point.

    -
    control2 -

    A pointer to second Bézier control point.

    -
    to -

    A pointer to the destination point.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    You should call this function between FT_Stroker_BeginSubPath and FT_Stroker_EndSubPath.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stroker_GetBorderCounts

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Stroker_GetBorderCounts( FT_Stroker        stroker,
    -                              FT_StrokerBorder  border,
    -                              FT_UInt          *anum_points,
    -                              FT_UInt          *anum_contours );
    -
    -

    -
    -

    Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export one of the ‘border’ or ‘stroke’ outlines generated by the stroker.

    -

    -
    input
    -

    - - - -
    stroker -

    The target stroker handle.

    -
    border -

    The border index.

    -
    -
    -
    output
    -

    - - - -
    anum_points -

    The number of points.

    -
    anum_contours -

    The number of contours.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    When an outline, or a sub-path, is ‘closed’, the stroker generates two independent ‘border’ outlines, named ‘left’ and ‘right’.

    -

    When the outline, or a sub-path, is ‘opened’, the stroker merges the ‘border’ outlines with caps. The ‘left’ border receives all points, while the ‘right’ border becomes empty.

    -

    Use the function FT_Stroker_GetCounts instead if you want to retrieve the counts associated to both borders.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stroker_ExportBorder

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Stroker_ExportBorder( FT_Stroker        stroker,
    -                           FT_StrokerBorder  border,
    -                           FT_Outline*       outline );
    -
    -

    -
    -

    Call this function after FT_Stroker_GetBorderCounts to export the corresponding border to your own FT_Outline structure.

    -

    Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.

    -

    -
    input
    -

    - - - - -
    stroker -

    The target stroker handle.

    -
    border -

    The border index.

    -
    outline -

    The target outline handle.

    -
    -
    -
    note
    -

    Always call this function after FT_Stroker_GetBorderCounts to get sure that there is enough room in your FT_Outline object to receive all new data.

    -

    When an outline, or a sub-path, is ‘closed’, the stroker generates two independent ‘border’ outlines, named ‘left’ and ‘right’

    -

    When the outline, or a sub-path, is ‘opened’, the stroker merges the ‘border’ outlines with caps. The ‘left’ border receives all points, while the ‘right’ border becomes empty.

    -

    Use the function FT_Stroker_Export instead if you want to retrieve all borders at once.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stroker_GetCounts

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Stroker_GetCounts( FT_Stroker  stroker,
    -                        FT_UInt    *anum_points,
    -                        FT_UInt    *anum_contours );
    -
    -

    -
    -

    Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export all points/borders from the stroked outline/path.

    -

    -
    input
    -

    - - -
    stroker -

    The target stroker handle.

    -
    -
    -
    output
    -

    - - - -
    anum_points -

    The number of points.

    -
    anum_contours -

    The number of contours.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stroker_Export

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Stroker_Export( FT_Stroker   stroker,
    -                     FT_Outline*  outline );
    -
    -

    -
    -

    Call this function after FT_Stroker_GetBorderCounts to export all borders to your own FT_Outline structure.

    -

    Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.

    -

    -
    input
    -

    - - - -
    stroker -

    The target stroker handle.

    -
    outline -

    The target outline handle.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stroker_Done

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Stroker_Done( FT_Stroker  stroker );
    -
    -

    -
    -

    Destroy a stroker object.

    -

    -
    input
    -

    - - -
    stroker -

    A stroker handle. Can be NULL.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Glyph_Stroke

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Glyph_Stroke( FT_Glyph    *pglyph,
    -                   FT_Stroker   stroker,
    -                   FT_Bool      destroy );
    -
    -

    -
    -

    Stroke a given outline glyph object with a given stroker.

    -

    -
    inout
    -

    - - -
    pglyph -

    Source glyph handle on input, new glyph handle on output.

    -
    -
    -
    input
    -

    - - - -
    stroker -

    A stroker handle.

    -
    destroy -

    A Boolean. If 1, the source glyph object is destroyed on success.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The source glyph is untouched in case of error.

    -

    Adding stroke may yield a significantly wider and taller glyph depending on how large of a radius was used to stroke the glyph. You may need to manually adjust horizontal and vertical advance amounts to account for this added size.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Glyph_StrokeBorder

    -
    -Defined in FT_STROKER_H (freetype/ftstroke.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Glyph_StrokeBorder( FT_Glyph    *pglyph,
    -                         FT_Stroker   stroker,
    -                         FT_Bool      inside,
    -                         FT_Bool      destroy );
    -
    -

    -
    -

    Stroke a given outline glyph object with a given stroker, but only return either its inside or outside border.

    -

    -
    inout
    -

    - - -
    pglyph -

    Source glyph handle on input, new glyph handle on output.

    -
    -
    -
    input
    -

    - - - - -
    stroker -

    A stroker handle.

    -
    inside -

    A Boolean. If 1, return the inside border, otherwise the outside border.

    -
    destroy -

    A Boolean. If 1, the source glyph object is destroyed on success.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The source glyph is untouched in case of error.

    -

    Adding stroke may yield a significantly wider and taller glyph depending on how large of a radius was used to stroke the glyph. You may need to manually adjust horizontal and vertical advance amounts to account for this added size.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-glyph_variants.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-glyph_variants.html deleted file mode 100644 index 1b7b3fe..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-glyph_variants.html +++ /dev/null @@ -1,267 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Glyph Variants -

    -

    Synopsis

    - - - - -
    FT_Face_GetCharVariantIndexFT_Face_GetVariantsOfChar
    FT_Face_GetCharVariantIsDefaultFT_Face_GetCharsOfVariant
    FT_Face_GetVariantSelectors


    - -
    -

    Many CJK characters have variant forms. They are a sort of grey area somewhere between being totally irrelevant and semantically distinct; for this reason, the Unicode consortium decided to introduce Ideographic Variation Sequences (IVS), consisting of a Unicode base character and one of 240 variant selectors (U+E0100-U+E01EF), instead of further extending the already huge code range for CJK characters.

    -

    An IVS is registered and unique; for further details please refer to Unicode Technical Report #37, the Ideographic Variation Database. To date (October 2007), the character with the most variants is U+908A, having 8 such IVS.

    -

    Adobe and MS decided to support IVS with a new cmap subtable (format 14). It is an odd subtable because it is not a mapping of input code points to glyphs, but contains lists of all variants supported by the font.

    -

    A variant may be either ‘default’ or ‘non-default’. A default variant is the one you will get for that code point if you look it up in the standard Unicode cmap. A non-default variant is a different glyph.

    -

    -
    -

    FT_Face_GetCharVariantIndex

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_UInt )
    -  FT_Face_GetCharVariantIndex( FT_Face   face,
    -                               FT_ULong  charcode,
    -                               FT_ULong  variantSelector );
    -
    -

    -
    -

    Return the glyph index of a given character code as modified by the variation selector.

    -

    -
    input
    -

    - - - - -
    face -

    A handle to the source face object.

    -
    charcode -

    The character code point in Unicode.

    -
    variantSelector -

    The Unicode code point of the variation selector.

    -
    -
    -
    return
    -

    The glyph index. 0 means either ‘undefined character code’, or ‘undefined selector code’, or ‘no variation selector cmap subtable’, or ‘current CharMap is not Unicode’.

    -
    -
    note
    -

    If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value 0 always corresponds to the ‘missing glyph’.

    -

    This function is only meaningful if a) the font has a variation selector cmap sub table, and b) the current charmap has a Unicode encoding.

    -
    -
    since
    -

    2.3.6

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Face_GetCharVariantIsDefault

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Int )
    -  FT_Face_GetCharVariantIsDefault( FT_Face   face,
    -                                   FT_ULong  charcode,
    -                                   FT_ULong  variantSelector );
    -
    -

    -
    -

    Check whether this variant of this Unicode character is the one to be found in the ‘cmap’.

    -

    -
    input
    -

    - - - - -
    face -

    A handle to the source face object.

    -
    charcode -

    The character codepoint in Unicode.

    -
    variantSelector -

    The Unicode codepoint of the variation selector.

    -
    -
    -
    return
    -

    1 if found in the standard (Unicode) cmap, 0 if found in the variation selector cmap, or -1 if it is not a variant.

    -
    -
    note
    -

    This function is only meaningful if the font has a variation selector cmap subtable.

    -
    -
    since
    -

    2.3.6

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Face_GetVariantSelectors

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_UInt32* )
    -  FT_Face_GetVariantSelectors( FT_Face  face );
    -
    -

    -
    -

    Return a zero-terminated list of Unicode variant selectors found in the font.

    -

    -
    input
    -

    - - -
    face -

    A handle to the source face object.

    -
    -
    -
    return
    -

    A pointer to an array of selector code points, or NULL if there is no valid variant selector cmap subtable.

    -
    -
    note
    -

    The last item in the array is 0; the array is owned by the FT_Face object but can be overwritten or released on the next call to a FreeType function.

    -
    -
    since
    -

    2.3.6

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Face_GetVariantsOfChar

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_UInt32* )
    -  FT_Face_GetVariantsOfChar( FT_Face   face,
    -                             FT_ULong  charcode );
    -
    -

    -
    -

    Return a zero-terminated list of Unicode variant selectors found for the specified character code.

    -

    -
    input
    -

    - - - -
    face -

    A handle to the source face object.

    -
    charcode -

    The character codepoint in Unicode.

    -
    -
    -
    return
    -

    A pointer to an array of variant selector code points which are active for the given character, or NULL if the corresponding list is empty.

    -
    -
    note
    -

    The last item in the array is 0; the array is owned by the FT_Face object but can be overwritten or released on the next call to a FreeType function.

    -
    -
    since
    -

    2.3.6

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Face_GetCharsOfVariant

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_UInt32* )
    -  FT_Face_GetCharsOfVariant( FT_Face   face,
    -                             FT_ULong  variantSelector );
    -
    -

    -
    -

    Return a zero-terminated list of Unicode character codes found for the specified variant selector.

    -

    -
    input
    -

    - - - -
    face -

    A handle to the source face object.

    -
    variantSelector -

    The variant selector code point in Unicode.

    -
    -
    -
    return
    -

    A list of all the code points which are specified by this selector (both default and non-default codes are returned) or NULL if there is no valid cmap or the variant selector is invalid.

    -
    -
    note
    -

    The last item in the array is 0; the array is owned by the FT_Face object but can be overwritten or released on the next call to a FreeType function.

    -
    -
    since
    -

    2.3.6

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-gx_validation.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-gx_validation.html deleted file mode 100644 index 7d5f775..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-gx_validation.html +++ /dev/null @@ -1,356 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -TrueTypeGX/AAT Validation -

    -

    Synopsis

    - - - - -
    FT_VALIDATE_GX_LENGTHFT_TrueTypeGX_FreeFT_ClassicKern_Free
    FT_VALIDATE_GXXXXFT_VALIDATE_CKERNXXX
    FT_TrueTypeGX_ValidateFT_ClassicKern_Validate


    - -
    -

    This section contains the declaration of functions to validate some TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop, lcar).

    -

    -
    -

    FT_VALIDATE_GX_LENGTH

    -
    -Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). -

    -
    -
    -#define FT_VALIDATE_GX_LENGTH     (FT_VALIDATE_GX_LAST_INDEX + 1)
    -
    -

    -
    -

    The number of tables checked in this module. Use it as a parameter for the ‘table-length’ argument of function FT_TrueTypeGX_Validate.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_VALIDATE_GXXXX

    -
    -Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). -

    -
    -
    -#define FT_VALIDATE_feat  FT_VALIDATE_GX_BITFIELD( feat )
    -#define FT_VALIDATE_mort  FT_VALIDATE_GX_BITFIELD( mort )
    -#define FT_VALIDATE_morx  FT_VALIDATE_GX_BITFIELD( morx )
    -#define FT_VALIDATE_bsln  FT_VALIDATE_GX_BITFIELD( bsln )
    -#define FT_VALIDATE_just  FT_VALIDATE_GX_BITFIELD( just )
    -#define FT_VALIDATE_kern  FT_VALIDATE_GX_BITFIELD( kern )
    -#define FT_VALIDATE_opbd  FT_VALIDATE_GX_BITFIELD( opbd )
    -#define FT_VALIDATE_trak  FT_VALIDATE_GX_BITFIELD( trak )
    -#define FT_VALIDATE_prop  FT_VALIDATE_GX_BITFIELD( prop )
    -#define FT_VALIDATE_lcar  FT_VALIDATE_GX_BITFIELD( lcar )
    -
    -#define FT_VALIDATE_GX  ( FT_VALIDATE_feat | \
    -                          FT_VALIDATE_mort | \
    -                          FT_VALIDATE_morx | \
    -                          FT_VALIDATE_bsln | \
    -                          FT_VALIDATE_just | \
    -                          FT_VALIDATE_kern | \
    -                          FT_VALIDATE_opbd | \
    -                          FT_VALIDATE_trak | \
    -                          FT_VALIDATE_prop | \
    -                          FT_VALIDATE_lcar )
    -
    -

    -
    -

    A list of bit-field constants used with FT_TrueTypeGX_Validate to indicate which TrueTypeGX/AAT Type tables should be validated.

    -

    -
    values
    -

    - - - - - - - - - - - - -
    FT_VALIDATE_feat -

    Validate ‘feat’ table.

    -
    FT_VALIDATE_mort -

    Validate ‘mort’ table.

    -
    FT_VALIDATE_morx -

    Validate ‘morx’ table.

    -
    FT_VALIDATE_bsln -

    Validate ‘bsln’ table.

    -
    FT_VALIDATE_just -

    Validate ‘just’ table.

    -
    FT_VALIDATE_kern -

    Validate ‘kern’ table.

    -
    FT_VALIDATE_opbd -

    Validate ‘opbd’ table.

    -
    FT_VALIDATE_trak -

    Validate ‘trak’ table.

    -
    FT_VALIDATE_prop -

    Validate ‘prop’ table.

    -
    FT_VALIDATE_lcar -

    Validate ‘lcar’ table.

    -
    FT_VALIDATE_GX -

    Validate all TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop and lcar).

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_TrueTypeGX_Validate

    -
    -Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_TrueTypeGX_Validate( FT_Face   face,
    -                          FT_UInt   validation_flags,
    -                          FT_Bytes  tables[FT_VALIDATE_GX_LENGTH],
    -                          FT_UInt   table_length );
    -
    -

    -
    -

    Validate various TrueTypeGX tables to assure that all offsets and indices are valid. The idea is that a higher-level library which actually does the text layout can access those tables without error checking (which can be quite time consuming).

    -

    -
    input
    -

    - - - - -
    face -

    A handle to the input face.

    -
    validation_flags -

    A bit field which specifies the tables to be validated. See FT_VALIDATE_GXXXX for possible values.

    -
    table_length -

    The size of the ‘tables’ array. Normally, FT_VALIDATE_GX_LENGTH should be passed.

    -
    -
    -
    output
    -

    - - -
    tables -

    The array where all validated sfnt tables are stored. The array itself must be allocated by a client.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function only works with TrueTypeGX fonts, returning an error otherwise.

    -

    After use, the application should deallocate the buffers pointed to by each ‘tables’ element, by calling FT_TrueTypeGX_Free. A NULL value indicates that the table either doesn't exist in the font, the application hasn't asked for validation, or the validator doesn't have the ability to validate the sfnt table.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_TrueTypeGX_Free

    -
    -Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_TrueTypeGX_Free( FT_Face   face,
    -                      FT_Bytes  table );
    -
    -

    -
    -

    Free the buffer allocated by TrueTypeGX validator.

    -

    -
    input
    -

    - - - -
    face -

    A handle to the input face.

    -
    table -

    The pointer to the buffer allocated by FT_TrueTypeGX_Validate.

    -
    -
    -
    note
    -

    This function must be used to free the buffer allocated by FT_TrueTypeGX_Validate only.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_VALIDATE_CKERNXXX

    -
    -Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). -

    -
    -
    -#define FT_VALIDATE_MS     ( FT_VALIDATE_GX_START << 0 )
    -#define FT_VALIDATE_APPLE  ( FT_VALIDATE_GX_START << 1 )
    -
    -#define FT_VALIDATE_CKERN  ( FT_VALIDATE_MS | FT_VALIDATE_APPLE )
    -
    -

    -
    -

    A list of bit-field constants used with FT_ClassicKern_Validate to indicate the classic kern dialect or dialects. If the selected type doesn't fit, FT_ClassicKern_Validate regards the table as invalid.

    -

    -
    values
    -

    - - - - -
    FT_VALIDATE_MS -

    Handle the ‘kern’ table as a classic Microsoft kern table.

    -
    FT_VALIDATE_APPLE -

    Handle the ‘kern’ table as a classic Apple kern table.

    -
    FT_VALIDATE_CKERN -

    Handle the ‘kern’ as either classic Apple or Microsoft kern table.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_ClassicKern_Validate

    -
    -Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_ClassicKern_Validate( FT_Face    face,
    -                           FT_UInt    validation_flags,
    -                           FT_Bytes  *ckern_table );
    -
    -

    -
    -

    Validate classic (16-bit format) kern table to assure that the offsets and indices are valid. The idea is that a higher-level library which actually does the text layout can access those tables without error checking (which can be quite time consuming).

    -

    The ‘kern’ table validator in FT_TrueTypeGX_Validate deals with both the new 32-bit format and the classic 16-bit format, while FT_ClassicKern_Validate only supports the classic 16-bit format.

    -

    -
    input
    -

    - - - -
    face -

    A handle to the input face.

    -
    validation_flags -

    A bit field which specifies the dialect to be validated. See FT_VALIDATE_CKERNXXX for possible values.

    -
    -
    -
    output
    -

    - - -
    ckern_table -

    A pointer to the kern table.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    After use, the application should deallocate the buffers pointed to by ‘ckern_table’, by calling FT_ClassicKern_Free. A NULL value indicates that the table doesn't exist in the font.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_ClassicKern_Free

    -
    -Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_ClassicKern_Free( FT_Face   face,
    -                       FT_Bytes  table );
    -
    -

    -
    -

    Free the buffer allocated by classic Kern validator.

    -

    -
    input
    -

    - - - -
    face -

    A handle to the input face.

    -
    table -

    The pointer to the buffer that is allocated by FT_ClassicKern_Validate.

    -
    -
    -
    note
    -

    This function must be used to free the buffer allocated by FT_ClassicKern_Validate only.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-gzip.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-gzip.html deleted file mode 100644 index d74c93f..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-gzip.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -GZIP Streams -

    -

    Synopsis

    - - -
    FT_Stream_OpenGzip


    - -
    -

    This section contains the declaration of Gzip-specific functions.

    -

    -
    -

    FT_Stream_OpenGzip

    -
    -Defined in FT_GZIP_H (freetype/ftgzip.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Stream_OpenGzip( FT_Stream  stream,
    -                      FT_Stream  source );
    -
    -

    -
    -

    Open a new stream to parse gzip-compressed font files. This is mainly used to support the compressed ‘*.pcf.gz’ fonts that come with XFree86.

    -

    -
    input
    -

    - - - -
    stream -

    The target embedding stream.

    -
    source -

    The source stream.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The source stream must be opened before calling this function.

    -

    Calling the internal function ‘FT_Stream_Close’ on the new stream will not call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.

    -

    The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream.

    -

    In certain builds of the library, gzip compression recognition is automatically handled when calling FT_New_Face or FT_Open_Face. This means that if no font driver is capable of handling the raw compressed file, the library will try to open a gzipped stream from it and re-open the face with it.

    -

    This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with zlib support.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-header_file_macros.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-header_file_macros.html deleted file mode 100644 index 9e43207..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-header_file_macros.html +++ /dev/null @@ -1,853 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Header File Macros -

    -

    Synopsis

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    FT_CONFIG_CONFIG_HFT_WINFONTS_H
    FT_CONFIG_STANDARD_LIBRARY_HFT_GLYPH_H
    FT_CONFIG_OPTIONS_HFT_BITMAP_H
    FT_CONFIG_MODULES_HFT_BBOX_H
    FT_FREETYPE_HFT_CACHE_H
    FT_ERRORS_HFT_CACHE_IMAGE_H
    FT_MODULE_ERRORS_HFT_CACHE_SMALL_BITMAPS_H
    FT_SYSTEM_HFT_CACHE_CHARMAP_H
    FT_IMAGE_HFT_MAC_H
    FT_TYPES_HFT_MULTIPLE_MASTERS_H
    FT_LIST_HFT_SFNT_NAMES_H
    FT_OUTLINE_HFT_OPENTYPE_VALIDATE_H
    FT_SIZES_HFT_GX_VALIDATE_H
    FT_MODULE_HFT_PFR_H
    FT_RENDER_HFT_STROKER_H
    FT_TYPE1_TABLES_HFT_SYNTHESIS_H
    FT_TRUETYPE_IDS_HFT_XFREE86_H
    FT_TRUETYPE_TABLES_HFT_TRIGONOMETRY_H
    FT_TRUETYPE_TAGS_HFT_LCD_FILTER_H
    FT_BDF_HFT_UNPATENTED_HINTING_H
    FT_CID_HFT_INCREMENTAL_H
    FT_GZIP_HFT_GASP_H
    FT_LZW_HFT_ADVANCES_H
    FT_BZIP2_H


    - -
    -

    The following macros are defined to the name of specific FreeType 2 header files. They can be used directly in #include statements as in:

    -
    -  #include FT_FREETYPE_H                                           
    -  #include FT_MULTIPLE_MASTERS_H                                   
    -  #include FT_GLYPH_H                                              
    -
    -

    There are several reasons why we are now using macros to name public header files. The first one is that such macros are not limited to the infamous 8.3 naming rule required by DOS (and ‘FT_MULTIPLE_MASTERS_H’ is a lot more meaningful than ‘ftmm.h’).

    -

    The second reason is that it allows for more flexibility in the way FreeType 2 is installed on a given system.

    -

    -
    -

    FT_CONFIG_CONFIG_H

    -
    -
    -#ifndef FT_CONFIG_CONFIG_H
    -#define FT_CONFIG_CONFIG_H  <freetype/config/ftconfig.h>
    -#endif
    -
    -

    -
    -

    A macro used in #include statements to name the file containing FreeType 2 configuration data.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_CONFIG_STANDARD_LIBRARY_H

    -
    -
    -#ifndef FT_CONFIG_STANDARD_LIBRARY_H
    -#define FT_CONFIG_STANDARD_LIBRARY_H  <freetype/config/ftstdlib.h>
    -#endif
    -
    -

    -
    -

    A macro used in #include statements to name the file containing FreeType 2 interface to the standard C library functions.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_CONFIG_OPTIONS_H

    -
    -
    -#ifndef FT_CONFIG_OPTIONS_H
    -#define FT_CONFIG_OPTIONS_H  <freetype/config/ftoption.h>
    -#endif
    -
    -

    -
    -

    A macro used in #include statements to name the file containing FreeType 2 project-specific configuration options.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_CONFIG_MODULES_H

    -
    -
    -#ifndef FT_CONFIG_MODULES_H
    -#define FT_CONFIG_MODULES_H  <freetype/config/ftmodule.h>
    -#endif
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the list of FreeType 2 modules that are statically linked to new library instances in FT_Init_FreeType.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_FREETYPE_H

    -
    -
    -#define FT_FREETYPE_H  <freetype/freetype.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the base FreeType 2 API.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_ERRORS_H

    -
    -
    -#define FT_ERRORS_H  <freetype/fterrors.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the list of FreeType 2 error codes (and messages).

    -

    It is included by FT_FREETYPE_H.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_MODULE_ERRORS_H

    -
    -
    -#define FT_MODULE_ERRORS_H  <freetype/ftmoderr.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the list of FreeType 2 module error offsets (and messages).

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_SYSTEM_H

    -
    -
    -#define FT_SYSTEM_H  <freetype/ftsystem.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the FreeType 2 interface to low-level operations (i.e., memory management and stream i/o).

    -

    It is included by FT_FREETYPE_H.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_IMAGE_H

    -
    -
    -#define FT_IMAGE_H  <freetype/ftimage.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing type definitions related to glyph images (i.e., bitmaps, outlines, scan-converter parameters).

    -

    It is included by FT_FREETYPE_H.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_TYPES_H

    -
    -
    -#define FT_TYPES_H  <freetype/fttypes.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the basic data types defined by FreeType 2.

    -

    It is included by FT_FREETYPE_H.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_LIST_H

    -
    -
    -#define FT_LIST_H  <freetype/ftlist.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the list management API of FreeType 2.

    -

    (Most applications will never need to include this file.)

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_OUTLINE_H

    -
    -
    -#define FT_OUTLINE_H  <freetype/ftoutln.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the scalable outline management API of FreeType 2.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_SIZES_H

    -
    -
    -#define FT_SIZES_H  <freetype/ftsizes.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the API which manages multiple FT_Size objects per face.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_MODULE_H

    -
    -
    -#define FT_MODULE_H  <freetype/ftmodapi.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the module management API of FreeType 2.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_RENDER_H

    -
    -
    -#define FT_RENDER_H  <freetype/ftrender.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the renderer module management API of FreeType 2.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_TYPE1_TABLES_H

    -
    -
    -#define FT_TYPE1_TABLES_H  <freetype/t1tables.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the types and API specific to the Type 1 format.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_TRUETYPE_IDS_H

    -
    -
    -#define FT_TRUETYPE_IDS_H  <freetype/ttnameid.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the enumeration values which identify name strings, languages, encodings, etc. This file really contains a large set of constant macro definitions, taken from the TrueType and OpenType specifications.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_TRUETYPE_TABLES_H

    -
    -
    -#define FT_TRUETYPE_TABLES_H  <freetype/tttables.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the types and API specific to the TrueType (as well as OpenType) format.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_TRUETYPE_TAGS_H

    -
    -
    -#define FT_TRUETYPE_TAGS_H  <freetype/tttags.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the definitions of TrueType four-byte ‘tags’ which identify blocks in SFNT-based font formats (i.e., TrueType and OpenType).

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_BDF_H

    -
    -
    -#define FT_BDF_H  <freetype/ftbdf.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the definitions of an API which accesses BDF-specific strings from a face.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_CID_H

    -
    -
    -#define FT_CID_H  <freetype/ftcid.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the definitions of an API which access CID font information from a face.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_GZIP_H

    -
    -
    -#define FT_GZIP_H  <freetype/ftgzip.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the definitions of an API which supports gzip-compressed files.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_LZW_H

    -
    -
    -#define FT_LZW_H  <freetype/ftlzw.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the definitions of an API which supports LZW-compressed files.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_BZIP2_H

    -
    -
    -#define FT_BZIP2_H  <freetype/ftbzip2.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the definitions of an API which supports bzip2-compressed files.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_WINFONTS_H

    -
    -
    -#define FT_WINFONTS_H   <freetype/ftwinfnt.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the definitions of an API which supports Windows FNT files.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_GLYPH_H

    -
    -
    -#define FT_GLYPH_H  <freetype/ftglyph.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the API of the optional glyph management component.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_BITMAP_H

    -
    -
    -#define FT_BITMAP_H  <freetype/ftbitmap.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the API of the optional bitmap conversion component.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_BBOX_H

    -
    -
    -#define FT_BBOX_H  <freetype/ftbbox.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the API of the optional exact bounding box computation routines.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_CACHE_H

    -
    -
    -#define FT_CACHE_H  <freetype/ftcache.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the API of the optional FreeType 2 cache sub-system.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_CACHE_IMAGE_H

    -
    -
    -#define FT_CACHE_IMAGE_H  FT_CACHE_H
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the ‘glyph image’ API of the FreeType 2 cache sub-system.

    -

    It is used to define a cache for FT_Glyph elements. You can also use the API defined in FT_CACHE_SMALL_BITMAPS_H if you only need to store small glyph bitmaps, as it will use less memory.

    -

    This macro is deprecated. Simply include FT_CACHE_H to have all glyph image-related cache declarations.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_CACHE_SMALL_BITMAPS_H

    -
    -
    -#define FT_CACHE_SMALL_BITMAPS_H  FT_CACHE_H
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the ‘small bitmaps’ API of the FreeType 2 cache sub-system.

    -

    It is used to define a cache for small glyph bitmaps in a relatively memory-efficient way. You can also use the API defined in FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images, including scalable outlines.

    -

    This macro is deprecated. Simply include FT_CACHE_H to have all small bitmaps-related cache declarations.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_CACHE_CHARMAP_H

    -
    -
    -#define FT_CACHE_CHARMAP_H  FT_CACHE_H
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the ‘charmap’ API of the FreeType 2 cache sub-system.

    -

    This macro is deprecated. Simply include FT_CACHE_H to have all charmap-based cache declarations.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_MAC_H

    -
    -
    -#define FT_MAC_H  <freetype/ftmac.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the Macintosh-specific FreeType 2 API. The latter is used to access fonts embedded in resource forks.

    -

    This header file must be explicitly included by client applications compiled on the Mac (note that the base API still works though).

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_MULTIPLE_MASTERS_H

    -
    -
    -#define FT_MULTIPLE_MASTERS_H  <freetype/ftmm.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the optional multiple-masters management API of FreeType 2.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_SFNT_NAMES_H

    -
    -
    -#define FT_SFNT_NAMES_H  <freetype/ftsnames.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the optional FreeType 2 API which accesses embedded ‘name’ strings in SFNT-based font formats (i.e., TrueType and OpenType).

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_OPENTYPE_VALIDATE_H

    -
    -
    -#define FT_OPENTYPE_VALIDATE_H  <freetype/ftotval.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the optional FreeType 2 API which validates OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF).

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_GX_VALIDATE_H

    -
    -
    -#define FT_GX_VALIDATE_H  <freetype/ftgxval.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the optional FreeType 2 API which validates TrueTypeGX/AAT tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop).

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_PFR_H

    -
    -
    -#define FT_PFR_H  <freetype/ftpfr.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the FreeType 2 API which accesses PFR-specific data.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_STROKER_H

    -
    -
    -#define FT_STROKER_H  <freetype/ftstroke.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the FreeType 2 API which provides functions to stroke outline paths.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_SYNTHESIS_H

    -
    -
    -#define FT_SYNTHESIS_H  <freetype/ftsynth.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the FreeType 2 API which performs artificial obliquing and emboldening.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_XFREE86_H

    -
    -
    -#define FT_XFREE86_H  <freetype/ftxf86.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the FreeType 2 API which provides functions specific to the XFree86 and X.Org X11 servers.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_TRIGONOMETRY_H

    -
    -
    -#define FT_TRIGONOMETRY_H  <freetype/fttrigon.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the FreeType 2 API which performs trigonometric computations (e.g., cosines and arc tangents).

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_LCD_FILTER_H

    -
    -
    -#define FT_LCD_FILTER_H  <freetype/ftlcdfil.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_UNPATENTED_HINTING_H

    -
    -
    -#define FT_UNPATENTED_HINTING_H  <freetype/ttunpat.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_INCREMENTAL_H

    -
    -
    -#define FT_INCREMENTAL_H  <freetype/ftincrem.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_GASP_H

    -
    -
    -#define FT_GASP_H  <freetype/ftgasp.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the FreeType 2 API which returns entries from the TrueType GASP table.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_ADVANCES_H

    -
    -
    -#define FT_ADVANCES_H  <freetype/ftadvanc.h>
    -
    -

    -
    -

    A macro used in #include statements to name the file containing the FreeType 2 API which returns individual and ranged glyph advances.

    -

    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-incremental.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-incremental.html deleted file mode 100644 index 689ffc8..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-incremental.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Incremental Loading -

    -

    Synopsis

    - - - - - - -
    FT_IncrementalFT_Incremental_GetGlyphMetricsFunc
    FT_Incremental_MetricsRecFT_Incremental_FuncsRec
    FT_Incremental_MetricsFT_Incremental_InterfaceRec
    FT_Incremental_GetGlyphDataFuncFT_Incremental_Interface
    FT_Incremental_FreeGlyphDataFuncFT_PARAM_TAG_INCREMENTAL


    - -
    -

    This section contains various functions used to perform so-called ‘incremental’ glyph loading. This is a mode where all glyphs loaded from a given FT_Face are provided by the client application,

    -

    Apart from that, all other tables are loaded normally from the font file. This mode is useful when FreeType is used within another engine, e.g., a PostScript Imaging Processor.

    -

    To enable this mode, you must use FT_Open_Face, passing an FT_Parameter with the FT_PARAM_TAG_INCREMENTAL tag and an FT_Incremental_Interface value. See the comments for FT_Incremental_InterfaceRec for an example.

    -

    -
    -

    FT_Incremental

    -
    -Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). -

    -
    -
    -  typedef struct FT_IncrementalRec_*  FT_Incremental;
    -
    -

    -
    -

    An opaque type describing a user-provided object used to implement ‘incremental’ glyph loading within FreeType. This is used to support embedded fonts in certain environments (e.g., PostScript interpreters), where the glyph data isn't in the font file, or must be overridden by different values.

    -

    -
    note
    -

    It is up to client applications to create and implement FT_Incremental objects, as long as they provide implementations for the methods FT_Incremental_GetGlyphDataFunc, FT_Incremental_FreeGlyphDataFunc and FT_Incremental_GetGlyphMetricsFunc.

    -

    See the description of FT_Incremental_InterfaceRec to understand how to use incremental objects with FreeType.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Incremental_MetricsRec

    -
    -Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). -

    -
    -
    -  typedef struct  FT_Incremental_MetricsRec_
    -  {
    -    FT_Long  bearing_x;
    -    FT_Long  bearing_y;
    -    FT_Long  advance;
    -    FT_Long  advance_v;     /* since 2.3.12 */
    -
    -  } FT_Incremental_MetricsRec;
    -
    -

    -
    -

    A small structure used to contain the basic glyph metrics returned by the FT_Incremental_GetGlyphMetricsFunc method.

    -

    -
    fields
    -

    - - - - - -
    bearing_x -

    Left bearing, in font units.

    -
    bearing_y -

    Top bearing, in font units.

    -
    advance -

    Horizontal component of glyph advance, in font units.

    -
    advance_v -

    Vertical component of glyph advance, in font units.

    -
    -
    -
    note
    -

    These correspond to horizontal or vertical metrics depending on the value of the ‘vertical’ argument to the function FT_Incremental_GetGlyphMetricsFunc.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Incremental_Metrics

    -
    -Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). -

    -
    -
    -   typedef struct FT_Incremental_MetricsRec_*  FT_Incremental_Metrics;
    -
    -

    -
    -

    A handle to an FT_Incremental_MetricsRec structure.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Incremental_GetGlyphDataFunc

    -
    -Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). -

    -
    -
    -  typedef FT_Error
    -  (*FT_Incremental_GetGlyphDataFunc)( FT_Incremental  incremental,
    -                                      FT_UInt         glyph_index,
    -                                      FT_Data*        adata );
    -
    -

    -
    -

    A function called by FreeType to access a given glyph's data bytes during FT_Load_Glyph or FT_Load_Char if incremental loading is enabled.

    -

    Note that the format of the glyph's data bytes depends on the font file format. For TrueType, it must correspond to the raw bytes within the ‘glyf’ table. For PostScript formats, it must correspond to the unencrypted charstring bytes, without any ‘lenIV’ header. It is undefined for any other format.

    -

    -
    input
    -

    - - - -
    incremental -

    Handle to an opaque FT_Incremental handle provided by the client application.

    -
    glyph_index -

    Index of relevant glyph.

    -
    -
    -
    output
    -

    - - -
    adata -

    A structure describing the returned glyph data bytes (which will be accessed as a read-only byte block).

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    If this function returns successfully the method FT_Incremental_FreeGlyphDataFunc will be called later to release the data bytes.

    -

    Nested calls to FT_Incremental_GetGlyphDataFunc can happen for compound glyphs.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Incremental_FreeGlyphDataFunc

    -
    -Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). -

    -
    -
    -  typedef void
    -  (*FT_Incremental_FreeGlyphDataFunc)( FT_Incremental  incremental,
    -                                       FT_Data*        data );
    -
    -

    -
    -

    A function used to release the glyph data bytes returned by a successful call to FT_Incremental_GetGlyphDataFunc.

    -

    -
    input
    -

    - - - -
    incremental -

    A handle to an opaque FT_Incremental handle provided by the client application.

    -
    data -

    A structure describing the glyph data bytes (which will be accessed as a read-only byte block).

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Incremental_GetGlyphMetricsFunc

    -
    -Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). -

    -
    -
    -  typedef FT_Error
    -  (*FT_Incremental_GetGlyphMetricsFunc)
    -                      ( FT_Incremental              incremental,
    -                        FT_UInt                     glyph_index,
    -                        FT_Bool                     vertical,
    -                        FT_Incremental_MetricsRec  *ametrics );
    -
    -

    -
    -

    A function used to retrieve the basic metrics of a given glyph index before accessing its data. This is necessary because, in certain formats like TrueType, the metrics are stored in a different place from the glyph images proper.

    -

    -
    input
    -

    - - - - - -
    incremental -

    A handle to an opaque FT_Incremental handle provided by the client application.

    -
    glyph_index -

    Index of relevant glyph.

    -
    vertical -

    If true, return vertical metrics.

    -
    ametrics -

    This parameter is used for both input and output. The original glyph metrics, if any, in font units. If metrics are not available all the values must be set to zero.

    -
    -
    -
    output
    -

    - - -
    ametrics -

    The replacement glyph metrics in font units.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Incremental_FuncsRec

    -
    -Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). -

    -
    -
    -  typedef struct  FT_Incremental_FuncsRec_
    -  {
    -    FT_Incremental_GetGlyphDataFunc     get_glyph_data;
    -    FT_Incremental_FreeGlyphDataFunc    free_glyph_data;
    -    FT_Incremental_GetGlyphMetricsFunc  get_glyph_metrics;
    -
    -  } FT_Incremental_FuncsRec;
    -
    -

    -
    -

    A table of functions for accessing fonts that load data incrementally. Used in FT_Incremental_InterfaceRec.

    -

    -
    fields
    -

    - - - - -
    get_glyph_data -

    The function to get glyph data. Must not be null.

    -
    free_glyph_data -

    The function to release glyph data. Must not be null.

    -
    get_glyph_metrics -

    The function to get glyph metrics. May be null if the font does not provide overriding glyph metrics.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Incremental_InterfaceRec

    -
    -Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). -

    -
    -
    -  typedef struct  FT_Incremental_InterfaceRec_
    -  {
    -    const FT_Incremental_FuncsRec*  funcs;
    -    FT_Incremental                  object;
    -
    -  } FT_Incremental_InterfaceRec;
    -
    -

    -
    -

    A structure to be used with FT_Open_Face to indicate that the user wants to support incremental glyph loading. You should use it with FT_PARAM_TAG_INCREMENTAL as in the following example:

    -
    -  FT_Incremental_InterfaceRec  inc_int;
    -  FT_Parameter                 parameter;
    -  FT_Open_Args                 open_args;
    -
    -
    -  // set up incremental descriptor
    -  inc_int.funcs  = my_funcs;
    -  inc_int.object = my_object;
    -
    -  // set up optional parameter
    -  parameter.tag  = FT_PARAM_TAG_INCREMENTAL;
    -  parameter.data = &inc_int;
    -
    -  // set up FT_Open_Args structure
    -  open_args.flags      = FT_OPEN_PATHNAME | FT_OPEN_PARAMS;
    -  open_args.pathname   = my_font_pathname;
    -  open_args.num_params = 1;
    -  open_args.params     = &parameter; // we use one optional argument
    -
    -  // open the font
    -  error = FT_Open_Face( library, &open_args, index, &face );
    -  ...
    -
    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Incremental_Interface

    -
    -Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). -

    -
    -
    -  typedef FT_Incremental_InterfaceRec*   FT_Incremental_Interface;
    -
    -

    -
    -

    A pointer to an FT_Incremental_InterfaceRec structure.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_PARAM_TAG_INCREMENTAL

    -
    -Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). -

    -
    -
    -#define FT_PARAM_TAG_INCREMENTAL  FT_MAKE_TAG( 'i', 'n', 'c', 'r' )
    -
    -

    -
    -

    A constant used as the tag of FT_Parameter structures to indicate an incremental loading object to be used by FreeType.

    -

    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-index.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-index.html deleted file mode 100644 index f2e4695..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-index.html +++ /dev/null @@ -1,294 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - -
    [TOC]
    -

    FreeType-2.4.10 API Reference

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BDF_PROPERTY_TYPE_ATOMFT_LcdFilterFT_Stroker_New
    BDF_PROPERTY_TYPE_CARDINALFT_LIST_HFT_Stroker_ParseOutline
    BDF_PROPERTY_TYPE_INTEGERFT_LibraryFT_Stroker_Rewind
    BDF_PROPERTY_TYPE_NONEFT_Library_SetLcdFilterFT_Stroker_Set
    BDF_PropertyFT_Library_SetLcdFilterWeightsFT_StrokerBorder
    BDF_PropertyRecFT_Library_VersionFT_SUBGLYPH_FLAG_2X2
    CID_FaceDictFT_ListFT_SUBGLYPH_FLAG_ARGS_ARE_WORDS
    CID_FaceDictRecFT_List_AddFT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES
    CID_FaceInfoFT_List_DestructorFT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID
    CID_FaceInfoRecFT_List_FinalizeFT_SUBGLYPH_FLAG_SCALE
    CID_InfoFT_List_FindFT_SUBGLYPH_FLAG_USE_MY_METRICS
    FREETYPE_MAJORFT_List_InsertFT_SUBGLYPH_FLAG_XXX
    FREETYPE_MINORFT_List_IterateFT_SUBGLYPH_FLAG_XY_SCALE
    FREETYPE_PATCHFT_List_IteratorFT_SubGlyph
    FREETYPE_XXXFT_List_RemoveFT_SYNTHESIS_H
    FT_Activate_SizeFT_List_UpFT_SYSTEM_H
    FT_ADVANCE_FLAG_FAST_ONLYFT_ListNodeFT_Tag
    FT_ADVANCES_HFT_ListNodeRecFT_Tan
    FT_Add_Default_ModulesFT_ListRecFT_TRIGONOMETRY_H
    FT_Add_ModuleFT_LOAD_CROP_BITMAPFT_TRUETYPE_ENGINE_TYPE_NONE
    FT_Alloc_FuncFT_LOAD_DEFAULTFT_TRUETYPE_ENGINE_TYPE_PATENTED
    FT_ANGLE_2PIFT_LOAD_FORCE_AUTOHINTFT_TRUETYPE_ENGINE_TYPE_UNPATENTED
    FT_ANGLE_PIFT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTHFT_TRUETYPE_IDS_H
    FT_ANGLE_PI2FT_LOAD_IGNORE_TRANSFORMFT_TRUETYPE_TABLES_H
    FT_ANGLE_PI4FT_LOAD_LINEAR_DESIGNFT_TRUETYPE_TAGS_H
    FT_AngleFT_LOAD_MONOCHROMEFT_TrueTypeEngineType
    FT_Angle_DiffFT_LOAD_NO_AUTOHINTFT_TrueTypeGX_Free
    FT_Atan2FT_LOAD_NO_BITMAPFT_TrueTypeGX_Validate
    FT_Attach_FileFT_LOAD_NO_HINTINGFT_TYPE1_TABLES_H
    FT_Attach_StreamFT_LOAD_NO_RECURSEFT_TYPES_H
    FT_BBOX_HFT_LOAD_NO_SCALEFT_UFWord
    FT_BBoxFT_LOAD_PEDANTICFT_UInt
    FT_BDF_HFT_LOAD_RENDERFT_UInt16
    FT_BITMAP_HFT_LOAD_TARGET_LCDFT_UInt32
    FT_BitmapFT_LOAD_TARGET_LCD_VFT_ULong
    FT_Bitmap_ConvertFT_LOAD_TARGET_LIGHTFT_UNPATENTED_HINTING_H
    FT_Bitmap_CopyFT_LOAD_TARGET_MODEFT_UnitVector
    FT_Bitmap_DoneFT_LOAD_TARGET_MONOFT_UShort
    FT_Bitmap_EmboldenFT_LOAD_TARGET_NORMALFT_VALIDATE_APPLE
    FT_Bitmap_NewFT_LOAD_TARGET_XXXFT_VALIDATE_BASE
    FT_Bitmap_SizeFT_LOAD_VERTICAL_LAYOUTFT_VALIDATE_bsln
    FT_BitmapGlyphFT_LOAD_XXXFT_VALIDATE_CKERN
    FT_BitmapGlyphRecFT_Load_CharFT_VALIDATE_CKERNXXX
    FT_BoolFT_Load_GlyphFT_VALIDATE_feat
    FT_ByteFT_Load_Sfnt_TableFT_VALIDATE_GDEF
    FT_BytesFT_LongFT_VALIDATE_GPOS
    FT_BZIP2_HFT_LZW_HFT_VALIDATE_GSUB
    FT_CACHE_CHARMAP_HFT_MAC_HFT_VALIDATE_GX
    FT_CACHE_HFT_MAKE_TAGFT_VALIDATE_GX_LENGTH
    FT_CACHE_IMAGE_HFT_MatrixFT_VALIDATE_GXXXX
    FT_CACHE_SMALL_BITMAPS_HFT_Matrix_InvertFT_VALIDATE_JSTF
    FT_CeilFixFT_Matrix_MultiplyFT_VALIDATE_just
    FT_CharFT_MemoryFT_VALIDATE_kern
    FT_CharMapFT_MemoryRecFT_VALIDATE_lcar
    FT_CharMapRecFT_MM_AxisFT_VALIDATE_MATH
    FT_CID_HFT_MM_VarFT_VALIDATE_MS
    FT_ClassicKern_FreeFT_MODULE_ERRORS_HFT_VALIDATE_mort
    FT_ClassicKern_ValidateFT_MODULE_HFT_VALIDATE_morx
    FT_CONFIG_CONFIG_HFT_ModuleFT_VALIDATE_OT
    FT_CONFIG_MODULES_HFT_Module_ClassFT_VALIDATE_OTXXX
    FT_CONFIG_OPTIONS_HFT_Module_ConstructorFT_VALIDATE_opbd
    FT_CONFIG_STANDARD_LIBRARY_HFT_Module_DestructorFT_VALIDATE_prop
    FT_CosFT_Module_RequesterFT_VALIDATE_trak
    FT_DataFT_MULTIPLE_MASTERS_HFT_Var_Axis
    FT_DivFixFT_MulDivFT_Var_Named_Style
    FT_Done_FaceFT_MulFixFT_Vector
    FT_Done_FreeTypeFT_Multi_MasterFT_Vector_From_Polar
    FT_Done_GlyphFT_New_FaceFT_Vector_Length
    FT_Done_LibraryFT_New_Face_From_FONDFT_Vector_Polarize
    FT_Done_SizeFT_New_Face_From_FSRefFT_Vector_Rotate
    FT_DriverFT_New_Face_From_FSSpecFT_Vector_Transform
    FT_ENC_TAGFT_New_LibraryFT_Vector_Unit
    FT_ENCODING_ADOBE_CUSTOMFT_New_Memory_FaceFT_WINFONTS_H
    FT_ENCODING_ADOBE_EXPERTFT_New_SizeFT_WinFNT_Header
    FT_ENCODING_ADOBE_LATIN_1FT_OffsetFT_WinFNT_HeaderRec
    FT_ENCODING_ADOBE_STANDARDFT_OPEN_DRIVERFT_WinFNT_ID_CP1250
    FT_ENCODING_APPLE_ROMANFT_OPEN_MEMORYFT_WinFNT_ID_CP1251
    FT_ENCODING_BIG5FT_OPEN_PARAMSFT_WinFNT_ID_CP1252
    FT_ENCODING_GB2312FT_OPEN_PATHNAMEFT_WinFNT_ID_CP1253
    FT_ENCODING_JOHABFT_OPEN_STREAMFT_WinFNT_ID_CP1254
    FT_ENCODING_MS_BIG5FT_OPEN_XXXFT_WinFNT_ID_CP1255
    FT_ENCODING_MS_GB2312FT_OPENTYPE_VALIDATE_HFT_WinFNT_ID_CP1256
    FT_ENCODING_MS_JOHABFT_Open_ArgsFT_WinFNT_ID_CP1257
    FT_ENCODING_MS_SJISFT_Open_FaceFT_WinFNT_ID_CP1258
    FT_ENCODING_MS_SYMBOLFT_OpenType_FreeFT_WinFNT_ID_CP1361
    FT_ENCODING_MS_WANSUNGFT_OpenType_ValidateFT_WinFNT_ID_CP874
    FT_ENCODING_NONEFT_ORIENTATION_FILL_LEFTFT_WinFNT_ID_CP932
    FT_ENCODING_OLD_LATIN_2FT_ORIENTATION_FILL_RIGHTFT_WinFNT_ID_CP936
    FT_ENCODING_SJISFT_ORIENTATION_NONEFT_WinFNT_ID_CP949
    FT_ENCODING_UNICODEFT_ORIENTATION_POSTSCRIPTFT_WinFNT_ID_CP950
    FT_ENCODING_WANSUNGFT_ORIENTATION_TRUETYPEFT_WinFNT_ID_DEFAULT
    FT_EncodingFT_OrientationFT_WinFNT_ID_MAC
    FT_ERRORS_HFT_OUTLINE_EVEN_ODD_FILLFT_WinFNT_ID_OEM
    FT_ErrorFT_OUTLINE_FLAGSFT_WinFNT_ID_SYMBOL
    FT_F26Dot6FT_OUTLINE_HFT_WinFNT_ID_XXX
    FT_F2Dot14FT_OUTLINE_HIGH_PRECISIONFT_XFREE86_H
    FT_FACE_FLAG_CID_KEYEDFT_OUTLINE_IGNORE_DROPOUTSFTC_CMapCache
    FT_FACE_FLAG_EXTERNAL_STREAMFT_OUTLINE_INCLUDE_STUBSFTC_CMapCache_Lookup
    FT_FACE_FLAG_FAST_GLYPHSFT_OUTLINE_NONEFTC_CMapCache_New
    FT_FACE_FLAG_FIXED_SIZESFT_OUTLINE_OWNERFTC_Face_Requester
    FT_FACE_FLAG_FIXED_WIDTHFT_OUTLINE_REVERSE_FILLFTC_FaceID
    FT_FACE_FLAG_GLYPH_NAMESFT_OUTLINE_SINGLE_PASSFTC_ImageCache
    FT_FACE_FLAG_HINTERFT_OUTLINE_SMART_DROPOUTSFTC_ImageCache_Lookup
    FT_FACE_FLAG_HORIZONTALFT_OutlineFTC_ImageCache_LookupScaler
    FT_FACE_FLAG_KERNINGFT_Outline_CheckFTC_ImageCache_New
    FT_FACE_FLAG_MULTIPLE_MASTERSFT_Outline_ConicToFuncFTC_ImageType
    FT_FACE_FLAG_SCALABLEFT_Outline_CopyFTC_ImageTypeRec
    FT_FACE_FLAG_SFNTFT_Outline_CubicToFuncFTC_Manager
    FT_FACE_FLAG_TRICKYFT_Outline_DecomposeFTC_Manager_Done
    FT_FACE_FLAG_VERTICALFT_Outline_DoneFTC_Manager_LookupFace
    FT_FACE_FLAG_XXXFT_Outline_EmboldenFTC_Manager_LookupSize
    FT_FaceFT_Outline_EmboldenXYFTC_Manager_New
    FT_Face_CheckTrueTypePatentsFT_Outline_FuncsFTC_Manager_RemoveFaceID
    FT_Face_GetCharsOfVariantFT_Outline_Get_BBoxFTC_Manager_Reset
    FT_Face_GetCharVariantIndexFT_Outline_Get_BitmapFTC_Node
    FT_Face_GetCharVariantIsDefaultFT_Outline_Get_CBoxFTC_Node_Unref
    FT_Face_GetVariantSelectorsFT_Outline_Get_OrientationFTC_SBit
    FT_Face_GetVariantsOfCharFT_Outline_GetInsideBorderFTC_SBitCache
    FT_Face_InternalFT_Outline_GetOutsideBorderFTC_SBitCache_Lookup
    FT_Face_SetUnpatentedHintingFT_Outline_LineToFuncFTC_SBitCache_LookupScaler
    FT_FaceRecFT_Outline_MoveToFuncFTC_SBitCache_New
    FT_FixedFT_Outline_NewFTC_SBitRec
    FT_FloorFixFT_Outline_RenderFTC_Scaler
    FT_FREETYPE_HFT_Outline_ReverseFTC_ScalerRec
    FT_Free_FuncFT_Outline_Transformft_encoding_xxx
    FT_FSTYPE_BITMAP_EMBEDDING_ONLYFT_Outline_Translateft_glyph_bbox_gridfit
    FT_FSTYPE_EDITABLE_EMBEDDINGFT_OutlineGlyphft_glyph_bbox_pixels
    FT_FSTYPE_INSTALLABLE_EMBEDDINGFT_OutlineGlyphRecft_glyph_bbox_subpixels
    FT_FSTYPE_NO_SUBSETTINGFT_PARAM_TAG_IGNORE_PREFERRED_FAMILYft_glyph_bbox_truncate
    FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDINGFT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILYft_glyph_bbox_unscaled
    FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDINGFT_PARAM_TAG_INCREMENTALft_glyph_bbox_xxx
    FT_FSTYPE_XXXFT_PARAM_TAG_UNPATENTED_HINTINGft_glyph_format_bitmap
    FT_FWordFT_Palette_Modeft_glyph_format_composite
    FT_GASP_DO_GRAYFT_Parameterft_glyph_format_none
    FT_GASP_DO_GRIDFITFT_PFR_Hft_glyph_format_outline
    FT_GASP_HFT_PIXEL_MODE_GRAYft_glyph_format_plotter
    FT_GASP_NO_TABLEFT_PIXEL_MODE_GRAY2ft_glyph_format_xxx
    FT_GASP_SYMMETRIC_GRIDFITFT_PIXEL_MODE_GRAY4ft_kerning_default
    FT_GASP_SYMMETRIC_SMOOTHINGFT_PIXEL_MODE_LCDft_kerning_unfitted
    FT_GASP_XXXFT_PIXEL_MODE_LCD_Vft_kerning_unscaled
    FT_GenericFT_PIXEL_MODE_MONOft_open_driver
    FT_Generic_FinalizerFT_PIXEL_MODE_NONEft_open_memory
    FT_Get_AdvanceFT_Pixel_Modeft_open_params
    FT_Get_AdvancesFT_Pointerft_open_pathname
    FT_Get_BDF_Charset_IDFT_Posft_open_stream
    FT_Get_BDF_PropertyFT_PropertyTypeft_outline_even_odd_fill
    FT_Get_Char_IndexFT_PtrDistft_outline_flags
    FT_Get_Charmap_IndexFT_RASTER_FLAG_AAft_outline_high_precision
    FT_Get_CID_From_Glyph_IndexFT_RASTER_FLAG_CLIPft_outline_ignore_dropouts
    FT_Get_CID_Is_Internally_CID_KeyedFT_RASTER_FLAG_DEFAULTft_outline_none
    FT_Get_CID_Registry_Ordering_SupplementFT_RASTER_FLAG_DIRECTft_outline_owner
    FT_Get_CMap_FormatFT_RASTER_FLAG_XXXft_outline_reverse_fill
    FT_Get_CMap_Language_IDFT_Rasterft_outline_single_pass
    FT_Get_First_CharFT_Raster_BitSet_Funcft_palette_mode_rgb
    FT_Get_FSType_FlagsFT_Raster_BitTest_Funcft_palette_mode_rgba
    FT_Get_GaspFT_Raster_DoneFuncft_pixel_mode_grays
    FT_Get_GlyphFT_Raster_Funcsft_pixel_mode_mono
    FT_Get_Glyph_NameFT_Raster_NewFuncft_pixel_mode_none
    FT_Get_KerningFT_Raster_Paramsft_pixel_mode_pal2
    FT_Get_MM_VarFT_Raster_RenderFuncft_pixel_mode_pal4
    FT_Get_ModuleFT_Raster_ResetFuncft_pixel_mode_xxx
    FT_Get_Multi_MasterFT_Raster_SetModeFuncft_render_mode_mono
    FT_Get_Name_IndexFT_RENDER_Hft_render_mode_normal
    FT_Get_Next_CharFT_RENDER_MODE_LCDft_render_mode_xxx
    FT_Get_PFR_AdvanceFT_RENDER_MODE_LCD_VPS_Dict_Keys
    FT_Get_PFR_KerningFT_RENDER_MODE_LIGHTPS_FontInfo
    FT_Get_PFR_MetricsFT_RENDER_MODE_MONOPS_FontInfoRec
    FT_Get_Postscript_NameFT_RENDER_MODE_NORMALPS_Private
    FT_Get_PS_Font_InfoFT_Realloc_FuncPS_PrivateRec
    FT_Get_PS_Font_PrivateFT_Reference_FaceT1_Blend_Flags
    FT_Get_PS_Font_ValueFT_Reference_LibraryT1_EncodingType
    FT_Get_RendererFT_Remove_ModuleT1_FontInfo
    FT_Get_Sfnt_NameFT_Render_GlyphT1_Private
    FT_Get_Sfnt_Name_CountFT_Render_ModeTT_ADOBE_ID_CUSTOM
    FT_Get_Sfnt_TableFT_RendererTT_ADOBE_ID_EXPERT
    FT_Get_SubGlyph_InfoFT_Renderer_ClassTT_ADOBE_ID_LATIN_1
    FT_Get_Track_KerningFT_Request_SizeTT_ADOBE_ID_STANDARD
    FT_Get_TrueType_Engine_TypeFT_RoundFixTT_ADOBE_ID_XXX
    FT_Get_WinFNT_HeaderFT_Select_CharmapTT_APPLE_ID_DEFAULT
    FT_Get_X11_Font_FormatFT_Select_SizeTT_APPLE_ID_ISO_10646
    FT_GetFile_From_Mac_ATS_NameFT_Set_Char_SizeTT_APPLE_ID_UNICODE_1_1
    FT_GetFile_From_Mac_NameFT_Set_CharmapTT_APPLE_ID_UNICODE_2_0
    FT_GetFilePath_From_Mac_ATS_NameFT_Set_Debug_HookTT_APPLE_ID_UNICODE_32
    FT_GLYPH_BBOX_GRIDFITFT_Set_MM_Blend_CoordinatesTT_APPLE_ID_VARIANT_SELECTOR
    FT_GLYPH_BBOX_PIXELSFT_Set_MM_Design_CoordinatesTT_APPLE_ID_XXX
    FT_GLYPH_BBOX_SUBPIXELSFT_Set_Pixel_SizesTT_Header
    FT_GLYPH_BBOX_TRUNCATEFT_Set_RendererTT_HoriHeader
    FT_GLYPH_BBOX_UNSCALEDFT_Set_TransformTT_ISO_ID_10646
    FT_GLYPH_FORMAT_BITMAPFT_Set_Var_Blend_CoordinatesTT_ISO_ID_7BIT_ASCII
    FT_GLYPH_FORMAT_COMPOSITEFT_Set_Var_Design_CoordinatesTT_ISO_ID_8859_1
    FT_GLYPH_FORMAT_NONEFT_SFNT_NAMES_HTT_ISO_ID_XXX
    FT_GLYPH_FORMAT_OUTLINEFT_Sfnt_Table_InfoTT_MAC_ID_ARABIC
    FT_GLYPH_FORMAT_PLOTTERFT_Sfnt_TagTT_MAC_ID_ARMENIAN
    FT_GLYPH_HFT_SfntNameTT_MAC_ID_BENGALI
    FT_GlyphFT_ShortTT_MAC_ID_BURMESE
    FT_Glyph_BBox_ModeFT_SIZE_REQUEST_TYPE_BBOXTT_MAC_ID_DEVANAGARI
    FT_Glyph_CopyFT_SIZE_REQUEST_TYPE_CELLTT_MAC_ID_GEEZ
    FT_Glyph_FormatFT_SIZE_REQUEST_TYPE_NOMINALTT_MAC_ID_GEORGIAN
    FT_Glyph_Get_CBoxFT_SIZE_REQUEST_TYPE_REAL_DIMTT_MAC_ID_GREEK
    FT_Glyph_MetricsFT_SIZE_REQUEST_TYPE_SCALESTT_MAC_ID_GUJARATI
    FT_Glyph_StrokeFT_SIZES_HTT_MAC_ID_GURMUKHI
    FT_Glyph_StrokeBorderFT_SinTT_MAC_ID_HEBREW
    FT_Glyph_To_BitmapFT_SizeTT_MAC_ID_JAPANESE
    FT_Glyph_TransformFT_Size_InternalTT_MAC_ID_KANNADA
    FT_GlyphRecFT_Size_MetricsTT_MAC_ID_KHMER
    FT_GlyphSlotFT_Size_RequestTT_MAC_ID_KOREAN
    FT_GlyphSlot_Own_BitmapFT_Size_Request_TypeTT_MAC_ID_LAOTIAN
    FT_GlyphSlotRecFT_Size_RequestRecTT_MAC_ID_MALAYALAM
    FT_GX_VALIDATE_HFT_SizeRecTT_MAC_ID_MALDIVIAN
    FT_GZIP_HFT_Slot_InternalTT_MAC_ID_MONGOLIAN
    FT_HAS_FAST_GLYPHSFT_SpanTT_MAC_ID_ORIYA
    FT_HAS_FIXED_SIZESFT_SpanFuncTT_MAC_ID_ROMAN
    FT_HAS_GLYPH_NAMESFT_STROKER_BORDER_LEFTTT_MAC_ID_RSYMBOL
    FT_HAS_HORIZONTALFT_STROKER_BORDER_RIGHTTT_MAC_ID_RUSSIAN
    FT_HAS_KERNINGFT_STROKER_HTT_MAC_ID_SIMPLIFIED_CHINESE
    FT_HAS_MULTIPLE_MASTERSFT_STROKER_LINECAP_BUTTTT_MAC_ID_SINDHI
    FT_HAS_VERTICALFT_STROKER_LINECAP_ROUNDTT_MAC_ID_SINHALESE
    FT_Has_PS_Glyph_NamesFT_STROKER_LINECAP_SQUARETT_MAC_ID_SLAVIC
    FT_IMAGE_HFT_STROKER_LINEJOIN_BEVELTT_MAC_ID_TAMIL
    FT_IMAGE_TAGFT_STROKER_LINEJOIN_MITERTT_MAC_ID_TELUGU
    FT_INCREMENTAL_HFT_STROKER_LINEJOIN_MITER_FIXEDTT_MAC_ID_THAI
    FT_IncrementalFT_STROKER_LINEJOIN_MITER_VARIABLETT_MAC_ID_TIBETAN
    FT_Incremental_FreeGlyphDataFuncFT_STROKER_LINEJOIN_ROUNDTT_MAC_ID_TRADITIONAL_CHINESE
    FT_Incremental_FuncsRecFT_STYLE_FLAG_BOLDTT_MAC_ID_UNINTERP
    FT_Incremental_GetGlyphDataFuncFT_STYLE_FLAG_ITALICTT_MAC_ID_VIETNAMESE
    FT_Incremental_GetGlyphMetricsFuncFT_STYLE_FLAG_XXXTT_MAC_ID_XXX
    FT_Incremental_InterfaceFT_StreamTT_MaxProfile
    FT_Incremental_InterfaceRecFT_Stream_CloseFuncTT_MS_ID_BIG_5
    FT_Incremental_MetricsFT_Stream_IoFuncTT_MS_ID_GB2312
    FT_Incremental_MetricsRecFT_Stream_OpenBzip2TT_MS_ID_JOHAB
    FT_Init_FreeTypeFT_Stream_OpenGzipTT_MS_ID_SJIS
    FT_IntFT_Stream_OpenLZWTT_MS_ID_SYMBOL_CS
    FT_Int16FT_StreamDescTT_MS_ID_UCS_4
    FT_Int32FT_StreamRecTT_MS_ID_UNICODE_CS
    FT_IS_CID_KEYEDFT_StringTT_MS_ID_WANSUNG
    FT_IS_FIXED_WIDTHFT_StrokerTT_MS_ID_XXX
    FT_IS_SCALABLEFT_Stroker_BeginSubPathTT_OS2
    FT_IS_SFNTFT_Stroker_ConicToTT_PCLT
    FT_IS_TRICKYFT_Stroker_CubicToTT_PLATFORM_ADOBE
    FT_KERNING_DEFAULTFT_Stroker_DoneTT_PLATFORM_APPLE_UNICODE
    FT_KERNING_UNFITTEDFT_Stroker_EndSubPathTT_PLATFORM_CUSTOM
    FT_KERNING_UNSCALEDFT_Stroker_ExportTT_PLATFORM_ISO
    FT_Kerning_ModeFT_Stroker_ExportBorderTT_PLATFORM_MACINTOSH
    FT_LCD_FILTER_DEFAULTFT_Stroker_GetBorderCountsTT_PLATFORM_MICROSOFT
    FT_LCD_FILTER_HFT_Stroker_GetCountsTT_PLATFORM_XXX
    FT_LCD_FILTER_LEGACYFT_Stroker_LineCapTT_Postscript
    FT_LCD_FILTER_LIGHTFT_Stroker_LineJoinTT_VertHeader
    FT_LCD_FILTER_NONEFT_Stroker_LineTo
    -
    - -
    [TOC]
    - -
    generated on Fri Jun 15 06:46:49 2012
    - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-lcd_filtering.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-lcd_filtering.html deleted file mode 100644 index 654e257..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-lcd_filtering.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -LCD Filtering -

    -

    Synopsis

    - - - -
    FT_LcdFilterFT_Library_SetLcdFilterWeights
    FT_Library_SetLcdFilter


    - -
    -

    The FT_Library_SetLcdFilter API can be used to specify a low-pass filter which is then applied to LCD-optimized bitmaps generated through FT_Render_Glyph. This is useful to reduce color fringes which would occur with unfiltered rendering.

    -

    Note that no filter is active by default, and that this function is not implemented in default builds of the library. You need to #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING in your ‘ftoption.h’ file in order to activate it.

    -

    -
    -

    FT_LcdFilter

    -
    -Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h). -

    -
    -
    -  typedef enum  FT_LcdFilter_
    -  {
    -    FT_LCD_FILTER_NONE    = 0,
    -    FT_LCD_FILTER_DEFAULT = 1,
    -    FT_LCD_FILTER_LIGHT   = 2,
    -    FT_LCD_FILTER_LEGACY  = 16,
    -
    -    FT_LCD_FILTER_MAX   /* do not remove */
    -
    -  } FT_LcdFilter;
    -
    -

    -
    -

    A list of values to identify various types of LCD filters.

    -

    -
    values
    -

    - - - - - -
    FT_LCD_FILTER_NONE -

    Do not perform filtering. When used with subpixel rendering, this results in sometimes severe color fringes.

    -
    FT_LCD_FILTER_DEFAULT -

    The default filter reduces color fringes considerably, at the cost of a slight blurriness in the output.

    -
    FT_LCD_FILTER_LIGHT -

    The light filter is a variant that produces less blurriness at the cost of slightly more color fringes than the default one. It might be better, depending on taste, your monitor, or your personal vision.

    -
    FT_LCD_FILTER_LEGACY -

    This filter corresponds to the original libXft color filter. It provides high contrast output but can exhibit really bad color fringes if glyphs are not extremely well hinted to the pixel grid. In other words, it only works well if the TrueType bytecode interpreter is enabled and high-quality hinted fonts are used.

    -

    This filter is only provided for comparison purposes, and might be disabled or stay unsupported in the future.

    -
    -
    -
    since
    -

    2.3.0

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Library_SetLcdFilter

    -
    -Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Library_SetLcdFilter( FT_Library    library,
    -                           FT_LcdFilter  filter );
    -
    -

    -
    -

    This function is used to apply color filtering to LCD decimated bitmaps, like the ones used when calling FT_Render_Glyph with FT_RENDER_MODE_LCD or FT_RENDER_MODE_LCD_V.

    -

    -
    input
    -

    - - - -
    library -

    A handle to the target library instance.

    -
    filter -

    The filter type.

    -

    You can use FT_LCD_FILTER_NONE here to disable this feature, or FT_LCD_FILTER_DEFAULT to use a default filter that should work well on most LCD screens.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This feature is always disabled by default. Clients must make an explicit call to this function with a ‘filter’ value other than FT_LCD_FILTER_NONE in order to enable it.

    -

    Due to PATENTS covering subpixel rendering, this function doesn't do anything except returning ‘FT_Err_Unimplemented_Feature’ if the configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not defined in your build of the library, which should correspond to all default builds of FreeType.

    -

    The filter affects glyph bitmaps rendered through FT_Render_Glyph, FT_Outline_Get_Bitmap, FT_Load_Glyph, and FT_Load_Char.

    -

    It does not affect the output of FT_Outline_Render and FT_Outline_Get_Bitmap.

    -

    If this feature is activated, the dimensions of LCD glyph bitmaps are either larger or taller than the dimensions of the corresponding outline with regards to the pixel grid. For example, for FT_RENDER_MODE_LCD, the filter adds up to 3 pixels to the left, and up to 3 pixels to the right.

    -

    The bitmap offset values are adjusted correctly, so clients shouldn't need to modify their layout and glyph positioning code when enabling the filter.

    -
    -
    since
    -

    2.3.0

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Library_SetLcdFilterWeights

    -
    -Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Library_SetLcdFilterWeights( FT_Library      library,
    -                                  unsigned char  *weights );
    -
    -

    -
    -

    Use this function to override the filter weights selected by FT_Library_SetLcdFilter. By default, FreeType uses the quintuple (0x00, 0x55, 0x56, 0x55, 0x00) for FT_LCD_FILTER_LIGHT, and (0x10, 0x40, 0x70, 0x40, 0x10) for FT_LCD_FILTER_DEFAULT and FT_LCD_FILTER_LEGACY.

    -

    -
    input
    -

    - - - -
    library -

    A handle to the target library instance.

    -
    weights -

    A pointer to an array; the function copies the first five bytes and uses them to specify the filter weights.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    Due to PATENTS covering subpixel rendering, this function doesn't do anything except returning ‘FT_Err_Unimplemented_Feature’ if the configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not defined in your build of the library, which should correspond to all default builds of FreeType.

    -

    This function must be called after FT_Library_SetLcdFilter to have any effect.

    -
    -
    since
    -

    2.4.0

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-list_processing.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-list_processing.html deleted file mode 100644 index 8f2d768..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-list_processing.html +++ /dev/null @@ -1,486 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -List Processing -

    -

    Synopsis

    - - - - - - -
    FT_ListFT_List_AddFT_List_Iterate
    FT_ListNodeFT_List_InsertFT_List_Destructor
    FT_ListRecFT_List_RemoveFT_List_Finalize
    FT_ListNodeRecFT_List_Up
    FT_List_FindFT_List_Iterator


    - -
    -

    This section contains various definitions related to list processing using doubly-linked nodes.

    -

    -
    -

    FT_List

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef struct FT_ListRec_*  FT_List;
    -
    -

    -
    -

    A handle to a list record (see FT_ListRec).

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_ListNode

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef struct FT_ListNodeRec_*  FT_ListNode;
    -
    -

    -
    -

    Many elements and objects in FreeType are listed through an FT_List record (see FT_ListRec). As its name suggests, an FT_ListNode is a handle to a single list element.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_ListRec

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef struct  FT_ListRec_
    -  {
    -    FT_ListNode  head;
    -    FT_ListNode  tail;
    -
    -  } FT_ListRec;
    -
    -

    -
    -

    A structure used to hold a simple doubly-linked list. These are used in many parts of FreeType.

    -

    -
    fields
    -

    - - - -
    head -

    The head (first element) of doubly-linked list.

    -
    tail -

    The tail (last element) of doubly-linked list.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_ListNodeRec

    -
    -Defined in FT_TYPES_H (freetype/fttypes.h). -

    -
    -
    -  typedef struct  FT_ListNodeRec_
    -  {
    -    FT_ListNode  prev;
    -    FT_ListNode  next;
    -    void*        data;
    -
    -  } FT_ListNodeRec;
    -
    -

    -
    -

    A structure used to hold a single list element.

    -

    -
    fields
    -

    - - - - -
    prev -

    The previous element in the list. NULL if first.

    -
    next -

    The next element in the list. NULL if last.

    -
    data -

    A typeless pointer to the listed object.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_List_Find

    -
    -Defined in FT_LIST_H (freetype/ftlist.h). -

    -
    -
    -  FT_EXPORT( FT_ListNode )
    -  FT_List_Find( FT_List  list,
    -                void*    data );
    -
    -

    -
    -

    Find the list node for a given listed object.

    -

    -
    input
    -

    - - - -
    list -

    A pointer to the parent list.

    -
    data -

    The address of the listed object.

    -
    -
    -
    return
    -

    List node. NULL if it wasn't found.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_List_Add

    -
    -Defined in FT_LIST_H (freetype/ftlist.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_List_Add( FT_List      list,
    -               FT_ListNode  node );
    -
    -

    -
    -

    Append an element to the end of a list.

    -

    -
    inout
    -

    - - - -
    list -

    A pointer to the parent list.

    -
    node -

    The node to append.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_List_Insert

    -
    -Defined in FT_LIST_H (freetype/ftlist.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_List_Insert( FT_List      list,
    -                  FT_ListNode  node );
    -
    -

    -
    -

    Insert an element at the head of a list.

    -

    -
    inout
    -

    - - - -
    list -

    A pointer to parent list.

    -
    node -

    The node to insert.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_List_Remove

    -
    -Defined in FT_LIST_H (freetype/ftlist.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_List_Remove( FT_List      list,
    -                  FT_ListNode  node );
    -
    -

    -
    -

    Remove a node from a list. This function doesn't check whether the node is in the list!

    -

    -
    input
    -

    - - -
    node -

    The node to remove.

    -
    -
    -
    inout
    -

    - - -
    list -

    A pointer to the parent list.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_List_Up

    -
    -Defined in FT_LIST_H (freetype/ftlist.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_List_Up( FT_List      list,
    -              FT_ListNode  node );
    -
    -

    -
    -

    Move a node to the head/top of a list. Used to maintain LRU lists.

    -

    -
    inout
    -

    - - - -
    list -

    A pointer to the parent list.

    -
    node -

    The node to move.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_List_Iterator

    -
    -Defined in FT_LIST_H (freetype/ftlist.h). -

    -
    -
    -  typedef FT_Error
    -  (*FT_List_Iterator)( FT_ListNode  node,
    -                       void*        user );
    -
    -

    -
    -

    An FT_List iterator function which is called during a list parse by FT_List_Iterate.

    -

    -
    input
    -

    - - - -
    node -

    The current iteration list node.

    -
    user -

    A typeless pointer passed to FT_List_Iterate. Can be used to point to the iteration's state.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_List_Iterate

    -
    -Defined in FT_LIST_H (freetype/ftlist.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_List_Iterate( FT_List           list,
    -                   FT_List_Iterator  iterator,
    -                   void*             user );
    -
    -

    -
    -

    Parse a list and calls a given iterator function on each element. Note that parsing is stopped as soon as one of the iterator calls returns a non-zero value.

    -

    -
    input
    -

    - - - - -
    list -

    A handle to the list.

    -
    iterator -

    An iterator function, called on each node of the list.

    -
    user -

    A user-supplied field which is passed as the second argument to the iterator.

    -
    -
    -
    return
    -

    The result (a FreeType error code) of the last iterator call.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_List_Destructor

    -
    -Defined in FT_LIST_H (freetype/ftlist.h). -

    -
    -
    -  typedef void
    -  (*FT_List_Destructor)( FT_Memory  memory,
    -                         void*      data,
    -                         void*      user );
    -
    -

    -
    -

    An FT_List iterator function which is called during a list finalization by FT_List_Finalize to destroy all elements in a given list.

    -

    -
    input
    -

    - - - - -
    system -

    The current system object.

    -
    data -

    The current object to destroy.

    -
    user -

    A typeless pointer passed to FT_List_Iterate. It can be used to point to the iteration's state.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_List_Finalize

    -
    -Defined in FT_LIST_H (freetype/ftlist.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_List_Finalize( FT_List             list,
    -                    FT_List_Destructor  destroy,
    -                    FT_Memory           memory,
    -                    void*               user );
    -
    -

    -
    -

    Destroy all elements in the list as well as the list itself.

    -

    -
    input
    -

    - - - - - -
    list -

    A handle to the list.

    -
    destroy -

    A list destructor that will be applied to each element of the list.

    -
    memory -

    The current memory object which handles deallocation.

    -
    user -

    A user-supplied field which is passed as the last argument to the destructor.

    -
    -
    -
    note
    -

    This function expects that all nodes added by FT_List_Add or FT_List_Insert have been dynamically allocated.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-lzw.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-lzw.html deleted file mode 100644 index bf3c20e..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-lzw.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -LZW Streams -

    -

    Synopsis

    - - -
    FT_Stream_OpenLZW


    - -
    -

    This section contains the declaration of LZW-specific functions.

    -

    -
    -

    FT_Stream_OpenLZW

    -
    -Defined in FT_LZW_H (freetype/ftlzw.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Stream_OpenLZW( FT_Stream  stream,
    -                     FT_Stream  source );
    -
    -

    -
    -

    Open a new stream to parse LZW-compressed font files. This is mainly used to support the compressed ‘*.pcf.Z’ fonts that come with XFree86.

    -

    -
    input
    -

    - - - -
    stream -

    The target embedding stream.

    -
    source -

    The source stream.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The source stream must be opened before calling this function.

    -

    Calling the internal function ‘FT_Stream_Close’ on the new stream will not call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.

    -

    The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream

    -

    In certain builds of the library, LZW compression recognition is automatically handled when calling FT_New_Face or FT_Open_Face. This means that if no font driver is capable of handling the raw compressed file, the library will try to open a LZW stream from it and re-open the face with it.

    -

    This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with LZW support.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-mac_specific.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-mac_specific.html deleted file mode 100644 index a5bcb1e..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-mac_specific.html +++ /dev/null @@ -1,368 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Mac Specific Interface -

    -

    Synopsis

    - - - - -
    FT_New_Face_From_FONDFT_GetFilePath_From_Mac_ATS_Name
    FT_GetFile_From_Mac_NameFT_New_Face_From_FSSpec
    FT_GetFile_From_Mac_ATS_NameFT_New_Face_From_FSRef


    - -
    -

    The following definitions are only available if FreeType is compiled on a Macintosh.

    -

    -
    -

    FT_New_Face_From_FOND

    -
    -Defined in FT_MAC_H (freetype/ftmac.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_New_Face_From_FOND( FT_Library  library,
    -                         Handle      fond,
    -                         FT_Long     face_index,
    -                         FT_Face    *aface )
    -                       FT_DEPRECATED_ATTRIBUTE;
    -
    -

    -
    -

    Create a new face object from a FOND resource.

    -

    -
    inout
    -

    - - -
    library -

    A handle to the library resource.

    -
    -
    -
    input
    -

    - - - -
    fond -

    A FOND resource.

    -
    face_index -

    Only supported for the -1 ‘sanity check’ special case.

    -
    -
    -
    output
    -

    - - -
    aface -

    A handle to a new face object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    notes
    -

    This function can be used to create FT_Face objects from fonts that are installed in the system as follows.

    -
    -  fond = GetResource( 'FOND', fontName );                          
    -  error = FT_New_Face_From_FOND( library, fond, 0, &face );        
    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_GetFile_From_Mac_Name

    -
    -Defined in FT_MAC_H (freetype/ftmac.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_GetFile_From_Mac_Name( const char*  fontName,
    -                            FSSpec*      pathSpec,
    -                            FT_Long*     face_index )
    -                          FT_DEPRECATED_ATTRIBUTE;
    -
    -

    -
    -

    Return an FSSpec for the disk file containing the named font.

    -

    -
    input
    -

    - - -
    fontName -

    Mac OS name of the font (e.g., Times New Roman Bold).

    -
    -
    -
    output
    -

    - - - -
    pathSpec -

    FSSpec to the file. For passing to FT_New_Face_From_FSSpec.

    -
    face_index -

    Index of the face. For passing to FT_New_Face_From_FSSpec.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_GetFile_From_Mac_ATS_Name

    -
    -Defined in FT_MAC_H (freetype/ftmac.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_GetFile_From_Mac_ATS_Name( const char*  fontName,
    -                                FSSpec*      pathSpec,
    -                                FT_Long*     face_index )
    -                              FT_DEPRECATED_ATTRIBUTE;
    -
    -

    -
    -

    Return an FSSpec for the disk file containing the named font.

    -

    -
    input
    -

    - - -
    fontName -

    Mac OS name of the font in ATS framework.

    -
    -
    -
    output
    -

    - - - -
    pathSpec -

    FSSpec to the file. For passing to FT_New_Face_From_FSSpec.

    -
    face_index -

    Index of the face. For passing to FT_New_Face_From_FSSpec.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_GetFilePath_From_Mac_ATS_Name

    -
    -Defined in FT_MAC_H (freetype/ftmac.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_GetFilePath_From_Mac_ATS_Name( const char*  fontName,
    -                                    UInt8*       path,
    -                                    UInt32       maxPathSize,
    -                                    FT_Long*     face_index )
    -                                  FT_DEPRECATED_ATTRIBUTE;
    -
    -

    -
    -

    Return a pathname of the disk file and face index for given font name which is handled by ATS framework.

    -

    -
    input
    -

    - - -
    fontName -

    Mac OS name of the font in ATS framework.

    -
    -
    -
    output
    -

    - - - - -
    path -

    Buffer to store pathname of the file. For passing to FT_New_Face. The client must allocate this buffer before calling this function.

    -
    maxPathSize -

    Lengths of the buffer ‘path’ that client allocated.

    -
    face_index -

    Index of the face. For passing to FT_New_Face.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_New_Face_From_FSSpec

    -
    -Defined in FT_MAC_H (freetype/ftmac.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_New_Face_From_FSSpec( FT_Library     library,
    -                           const FSSpec  *spec,
    -                           FT_Long        face_index,
    -                           FT_Face       *aface )
    -                         FT_DEPRECATED_ATTRIBUTE;
    -
    -

    -
    -

    Create a new face object from a given resource and typeface index using an FSSpec to the font file.

    -

    -
    inout
    -

    - - -
    library -

    A handle to the library resource.

    -
    -
    -
    input
    -

    - - - -
    spec -

    FSSpec to the font file.

    -
    face_index -

    The index of the face within the resource. The first face has index 0.

    -
    -
    -
    output
    -

    - - -
    aface -

    A handle to a new face object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    FT_New_Face_From_FSSpec is identical to FT_New_Face except it accepts an FSSpec instead of a path.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_New_Face_From_FSRef

    -
    -Defined in FT_MAC_H (freetype/ftmac.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_New_Face_From_FSRef( FT_Library    library,
    -                          const FSRef  *ref,
    -                          FT_Long       face_index,
    -                          FT_Face      *aface )
    -                        FT_DEPRECATED_ATTRIBUTE;
    -
    -

    -
    -

    Create a new face object from a given resource and typeface index using an FSRef to the font file.

    -

    -
    inout
    -

    - - -
    library -

    A handle to the library resource.

    -
    -
    -
    input
    -

    - - - -
    spec -

    FSRef to the font file.

    -
    face_index -

    The index of the face within the resource. The first face has index 0.

    -
    -
    -
    output
    -

    - - -
    aface -

    A handle to a new face object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    FT_New_Face_From_FSRef is identical to FT_New_Face except it accepts an FSRef instead of a path.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-module_management.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-module_management.html deleted file mode 100644 index 455435a..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-module_management.html +++ /dev/null @@ -1,667 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Module Management -

    -

    Synopsis

    - - - - - - -
    FT_Module_ConstructorFT_Get_ModuleFT_Set_Debug_Hook
    FT_Module_DestructorFT_Remove_ModuleFT_Add_Default_Modules
    FT_Module_RequesterFT_Reference_LibraryFT_Renderer_Class
    FT_Module_ClassFT_New_LibraryFT_Get_Renderer
    FT_Add_ModuleFT_Done_LibraryFT_Set_Renderer


    - -
    -

    The definitions below are used to manage modules within FreeType. Modules can be added, upgraded, and removed at runtime.

    -

    -
    -

    FT_Module_Constructor

    -
    -Defined in FT_MODULE_H (freetype/ftmodapi.h). -

    -
    -
    -  typedef FT_Error
    -  (*FT_Module_Constructor)( FT_Module  module );
    -
    -

    -
    -

    A function used to initialize (not create) a new module object.

    -

    -
    input
    -

    - - -
    module -

    The module to initialize.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Module_Destructor

    -
    -Defined in FT_MODULE_H (freetype/ftmodapi.h). -

    -
    -
    -  typedef void
    -  (*FT_Module_Destructor)( FT_Module  module );
    -
    -

    -
    -

    A function used to finalize (not destroy) a given module object.

    -

    -
    input
    -

    - - -
    module -

    The module to finalize.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Module_Requester

    -
    -Defined in FT_MODULE_H (freetype/ftmodapi.h). -

    -
    -
    -  typedef FT_Module_Interface
    -  (*FT_Module_Requester)( FT_Module    module,
    -                          const char*  name );
    -
    -

    -
    -

    A function used to query a given module for a specific interface.

    -

    -
    input
    -

    - - - -
    module -

    The module to finalize.

    -
    name -

    The name of the interface in the module.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Module_Class

    -
    -Defined in FT_MODULE_H (freetype/ftmodapi.h). -

    -
    -
    -  typedef struct  FT_Module_Class_
    -  {
    -    FT_ULong               module_flags;
    -    FT_Long                module_size;
    -    const FT_String*       module_name;
    -    FT_Fixed               module_version;
    -    FT_Fixed               module_requires;
    -
    -    const void*            module_interface;
    -
    -    FT_Module_Constructor  module_init;
    -    FT_Module_Destructor   module_done;
    -    FT_Module_Requester    get_interface;
    -
    -  } FT_Module_Class;
    -
    -

    -
    -

    The module class descriptor.

    -

    -
    fields
    -

    - - - - - - - - - -
    module_flags -

    Bit flags describing the module.

    -
    module_size -

    The size of one module object/instance in bytes.

    -
    module_name -

    The name of the module.

    -
    module_version -

    The version, as a 16.16 fixed number (major.minor).

    -
    module_requires -

    The version of FreeType this module requires, as a 16.16 fixed number (major.minor). Starts at version 2.0, i.e., 0x20000.

    -
    module_init -

    The initializing function.

    -
    module_done -

    The finalizing function.

    -
    get_interface -

    The interface requesting function.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Add_Module

    -
    -Defined in FT_MODULE_H (freetype/ftmodapi.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Add_Module( FT_Library              library,
    -                 const FT_Module_Class*  clazz );
    -
    -

    -
    -

    Add a new module to a given library instance.

    -

    -
    inout
    -

    - - -
    library -

    A handle to the library object.

    -
    -
    -
    input
    -

    - - -
    clazz -

    A pointer to class descriptor for the module.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    An error will be returned if a module already exists by that name, or if the module requires a version of FreeType that is too great.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Module

    -
    -Defined in FT_MODULE_H (freetype/ftmodapi.h). -

    -
    -
    -  FT_EXPORT( FT_Module )
    -  FT_Get_Module( FT_Library   library,
    -                 const char*  module_name );
    -
    -

    -
    -

    Find a module by its name.

    -

    -
    input
    -

    - - - -
    library -

    A handle to the library object.

    -
    module_name -

    The module's name (as an ASCII string).

    -
    -
    -
    return
    -

    A module handle. 0 if none was found.

    -
    -
    note
    -

    FreeType's internal modules aren't documented very well, and you should look up the source code for details.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Remove_Module

    -
    -Defined in FT_MODULE_H (freetype/ftmodapi.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Remove_Module( FT_Library  library,
    -                    FT_Module   module );
    -
    -

    -
    -

    Remove a given module from a library instance.

    -

    -
    inout
    -

    - - -
    library -

    A handle to a library object.

    -
    -
    -
    input
    -

    - - -
    module -

    A handle to a module object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The module object is destroyed by the function in case of success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Reference_Library

    -
    -Defined in FT_MODULE_H (freetype/ftmodapi.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Reference_Library( FT_Library  library );
    -
    -

    -
    -

    A counter gets initialized to 1 at the time an FT_Library structure is created. This function increments the counter. FT_Done_Library then only destroys a library if the counter is 1, otherwise it simply decrements the counter.

    -

    This function helps in managing life-cycles of structures which reference FT_Library objects.

    -

    -
    input
    -

    - - -
    library -

    A handle to a target library object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    since
    -

    2.4.2

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_New_Library

    -
    -Defined in FT_MODULE_H (freetype/ftmodapi.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_New_Library( FT_Memory    memory,
    -                  FT_Library  *alibrary );
    -
    -

    -
    -

    This function is used to create a new FreeType library instance from a given memory object. It is thus possible to use libraries with distinct memory allocators within the same program.

    -

    Normally, you would call this function (followed by a call to FT_Add_Default_Modules or a series of calls to FT_Add_Module) instead of FT_Init_FreeType to initialize the FreeType library.

    -

    Don't use FT_Done_FreeType but FT_Done_Library to destroy a library instance.

    -

    -
    input
    -

    - - -
    memory -

    A handle to the original memory object.

    -
    -
    -
    output
    -

    - - -
    alibrary -

    A pointer to handle of a new library object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    See the discussion of reference counters in the description of FT_Reference_Library.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Done_Library

    -
    -Defined in FT_MODULE_H (freetype/ftmodapi.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Done_Library( FT_Library  library );
    -
    -

    -
    -

    Discard a given library object. This closes all drivers and discards all resource objects.

    -

    -
    input
    -

    - - -
    library -

    A handle to the target library.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    See the discussion of reference counters in the description of FT_Reference_Library.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Set_Debug_Hook

    -
    -Defined in FT_MODULE_H (freetype/ftmodapi.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Set_Debug_Hook( FT_Library         library,
    -                     FT_UInt            hook_index,
    -                     FT_DebugHook_Func  debug_hook );
    -
    -

    -
    -

    Set a debug hook function for debugging the interpreter of a font format.

    -

    -
    inout
    -

    - - -
    library -

    A handle to the library object.

    -
    -
    -
    input
    -

    - - - -
    hook_index -

    The index of the debug hook. You should use the values defined in ‘ftobjs.h’, e.g., ‘FT_DEBUG_HOOK_TRUETYPE’.

    -
    debug_hook -

    The function used to debug the interpreter.

    -
    -
    -
    note
    -

    Currently, four debug hook slots are available, but only two (for the TrueType and the Type 1 interpreter) are defined.

    -

    Since the internal headers of FreeType are no longer installed, the symbol ‘FT_DEBUG_HOOK_TRUETYPE’ isn't available publicly. This is a bug and will be fixed in a forthcoming release.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Add_Default_Modules

    -
    -Defined in FT_MODULE_H (freetype/ftmodapi.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Add_Default_Modules( FT_Library  library );
    -
    -

    -
    -

    Add the set of default drivers to a given library object. This is only useful when you create a library object with FT_New_Library (usually to plug a custom memory manager).

    -

    -
    inout
    -

    - - -
    library -

    A handle to a new library object.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Renderer_Class

    -
    -Defined in FT_RENDER_H (freetype/ftrender.h). -

    -
    -
    -  typedef struct  FT_Renderer_Class_
    -  {
    -    FT_Module_Class            root;
    -
    -    FT_Glyph_Format            glyph_format;
    -
    -    FT_Renderer_RenderFunc     render_glyph;
    -    FT_Renderer_TransformFunc  transform_glyph;
    -    FT_Renderer_GetCBoxFunc    get_glyph_cbox;
    -    FT_Renderer_SetModeFunc    set_mode;
    -
    -    FT_Raster_Funcs*           raster_class;
    -
    -  } FT_Renderer_Class;
    -
    -

    -
    -

    The renderer module class descriptor.

    -

    -
    fields
    -

    - - - - - - - - -
    root -

    The root FT_Module_Class fields.

    -
    glyph_format -

    The glyph image format this renderer handles.

    -
    render_glyph -

    A method used to render the image that is in a given glyph slot into a bitmap.

    -
    transform_glyph -

    A method used to transform the image that is in a given glyph slot.

    -
    get_glyph_cbox -

    A method used to access the glyph's cbox.

    -
    set_mode -

    A method used to pass additional parameters.

    -
    raster_class -

    For FT_GLYPH_FORMAT_OUTLINE renderers only. This is a pointer to its raster's class.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Renderer

    -
    -Defined in FT_RENDER_H (freetype/ftrender.h). -

    -
    -
    -  FT_EXPORT( FT_Renderer )
    -  FT_Get_Renderer( FT_Library       library,
    -                   FT_Glyph_Format  format );
    -
    -

    -
    -

    Retrieve the current renderer for a given glyph format.

    -

    -
    input
    -

    - - - -
    library -

    A handle to the library object.

    -
    format -

    The glyph format.

    -
    -
    -
    return
    -

    A renderer handle. 0 if none found.

    -
    -
    note
    -

    An error will be returned if a module already exists by that name, or if the module requires a version of FreeType that is too great.

    -

    To add a new renderer, simply use FT_Add_Module. To retrieve a renderer by its name, use FT_Get_Module.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Set_Renderer

    -
    -Defined in FT_RENDER_H (freetype/ftrender.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Set_Renderer( FT_Library     library,
    -                   FT_Renderer    renderer,
    -                   FT_UInt        num_params,
    -                   FT_Parameter*  parameters );
    -
    -

    -
    -

    Set the current renderer to use, and set additional mode.

    -

    -
    inout
    -

    - - -
    library -

    A handle to the library object.

    -
    -
    -
    input
    -

    - - - - -
    renderer -

    A handle to the renderer object.

    -
    num_params -

    The number of additional parameters.

    -
    parameters -

    Additional parameters.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    In case of success, the renderer will be used to convert glyph images in the renderer's known format into bitmaps.

    -

    This doesn't change the current renderer for other formats.

    -

    Currently, only the B/W renderer, if compiled with FT_RASTER_OPTION_ANTI_ALIASING (providing a 5-levels anti-aliasing mode; this option must be set directly in ‘ftraster.c’ and is undefined by default) accepts a single tag ‘pal5’ to set its gray palette as a character string with 5 elements. Consequently, the third and fourth argument are zero normally.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-multiple_masters.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-multiple_masters.html deleted file mode 100644 index eaaad04..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-multiple_masters.html +++ /dev/null @@ -1,511 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Multiple Masters -

    -

    Synopsis

    - - - - - - - -
    FT_MM_AxisFT_Get_MM_Var
    FT_Multi_MasterFT_Set_MM_Design_Coordinates
    FT_Var_AxisFT_Set_Var_Design_Coordinates
    FT_Var_Named_StyleFT_Set_MM_Blend_Coordinates
    FT_MM_VarFT_Set_Var_Blend_Coordinates
    FT_Get_Multi_Master


    - -
    -

    The following types and functions are used to manage Multiple Master fonts, i.e., the selection of specific design instances by setting design axis coordinates.

    -

    George Williams has extended this interface to make it work with both Type 1 Multiple Masters fonts and GX distortable (var) fonts. Some of these routines only work with MM fonts, others will work with both types. They are similar enough that a consistent interface makes sense.

    -

    -
    -

    FT_MM_Axis

    -
    -Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

    -
    -
    -  typedef struct  FT_MM_Axis_
    -  {
    -    FT_String*  name;
    -    FT_Long     minimum;
    -    FT_Long     maximum;
    -
    -  } FT_MM_Axis;
    -
    -

    -
    -

    A simple structure used to model a given axis in design space for Multiple Masters fonts.

    -

    This structure can't be used for GX var fonts.

    -

    -
    fields
    -

    - - - - -
    name -

    The axis's name.

    -
    minimum -

    The axis's minimum design coordinate.

    -
    maximum -

    The axis's maximum design coordinate.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Multi_Master

    -
    -Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

    -
    -
    -  typedef struct  FT_Multi_Master_
    -  {
    -    FT_UInt     num_axis;
    -    FT_UInt     num_designs;
    -    FT_MM_Axis  axis[T1_MAX_MM_AXIS];
    -
    -  } FT_Multi_Master;
    -
    -

    -
    -

    A structure used to model the axes and space of a Multiple Masters font.

    -

    This structure can't be used for GX var fonts.

    -

    -
    fields
    -

    - - - - -
    num_axis -

    Number of axes. Cannot exceed 4.

    -
    num_designs -

    Number of designs; should be normally 2^num_axis even though the Type 1 specification strangely allows for intermediate designs to be present. This number cannot exceed 16.

    -
    axis -

    A table of axis descriptors.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Var_Axis

    -
    -Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

    -
    -
    -  typedef struct  FT_Var_Axis_
    -  {
    -    FT_String*  name;
    -
    -    FT_Fixed    minimum;
    -    FT_Fixed    def;
    -    FT_Fixed    maximum;
    -
    -    FT_ULong    tag;
    -    FT_UInt     strid;
    -
    -  } FT_Var_Axis;
    -
    -

    -
    -

    A simple structure used to model a given axis in design space for Multiple Masters and GX var fonts.

    -

    -
    fields
    -

    - - - - - - - -
    name -

    The axis's name. Not always meaningful for GX.

    -
    minimum -

    The axis's minimum design coordinate.

    -
    def -

    The axis's default design coordinate. FreeType computes meaningful default values for MM; it is then an integer value, not in 16.16 format.

    -
    maximum -

    The axis's maximum design coordinate.

    -
    tag -

    The axis's tag (the GX equivalent to ‘name’). FreeType provides default values for MM if possible.

    -
    strid -

    The entry in ‘name’ table (another GX version of ‘name’). Not meaningful for MM.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Var_Named_Style

    -
    -Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

    -
    -
    -  typedef struct  FT_Var_Named_Style_
    -  {
    -    FT_Fixed*  coords;
    -    FT_UInt    strid;
    -
    -  } FT_Var_Named_Style;
    -
    -

    -
    -

    A simple structure used to model a named style in a GX var font.

    -

    This structure can't be used for MM fonts.

    -

    -
    fields
    -

    - - - -
    coords -

    The design coordinates for this style. This is an array with one entry for each axis.

    -
    strid -

    The entry in ‘name’ table identifying this style.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_MM_Var

    -
    -Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

    -
    -
    -  typedef struct  FT_MM_Var_
    -  {
    -    FT_UInt              num_axis;
    -    FT_UInt              num_designs;
    -    FT_UInt              num_namedstyles;
    -    FT_Var_Axis*         axis;
    -    FT_Var_Named_Style*  namedstyle;
    -
    -  } FT_MM_Var;
    -
    -

    -
    -

    A structure used to model the axes and space of a Multiple Masters or GX var distortable font.

    -

    Some fields are specific to one format and not to the other.

    -

    -
    fields
    -

    - - - - - - -
    num_axis -

    The number of axes. The maximum value is 4 for MM; no limit in GX.

    -
    num_designs -

    The number of designs; should be normally 2^num_axis for MM fonts. Not meaningful for GX (where every glyph could have a different number of designs).

    -
    num_namedstyles -

    The number of named styles; only meaningful for GX which allows certain design coordinates to have a string ID (in the ‘name’ table) associated with them. The font can tell the user that, for example, Weight=1.5 is ‘Bold’.

    -
    axis -

    A table of axis descriptors. GX fonts contain slightly more data than MM.

    -
    namedstyles -

    A table of named styles. Only meaningful with GX.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Multi_Master

    -
    -Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_Multi_Master( FT_Face           face,
    -                       FT_Multi_Master  *amaster );
    -
    -

    -
    -

    Retrieve the Multiple Master descriptor of a given font.

    -

    This function can't be used with GX fonts.

    -

    -
    input
    -

    - - -
    face -

    A handle to the source face.

    -
    -
    -
    output
    -

    - - -
    amaster -

    The Multiple Masters descriptor.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_MM_Var

    -
    -Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_MM_Var( FT_Face      face,
    -                 FT_MM_Var*  *amaster );
    -
    -

    -
    -

    Retrieve the Multiple Master/GX var descriptor of a given font.

    -

    -
    input
    -

    - - -
    face -

    A handle to the source face.

    -
    -
    -
    output
    -

    - - -
    amaster -

    The Multiple Masters/GX var descriptor. Allocates a data structure, which the user must free (a single call to FT_FREE will do it).

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Set_MM_Design_Coordinates

    -
    -Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Set_MM_Design_Coordinates( FT_Face   face,
    -                                FT_UInt   num_coords,
    -                                FT_Long*  coords );
    -
    -

    -
    -

    For Multiple Masters fonts, choose an interpolated font design through design coordinates.

    -

    This function can't be used with GX fonts.

    -

    -
    inout
    -

    - - -
    face -

    A handle to the source face.

    -
    -
    -
    input
    -

    - - - -
    num_coords -

    The number of design coordinates (must be equal to the number of axes in the font).

    -
    coords -

    An array of design coordinates.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Set_Var_Design_Coordinates

    -
    -Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Set_Var_Design_Coordinates( FT_Face    face,
    -                                 FT_UInt    num_coords,
    -                                 FT_Fixed*  coords );
    -
    -

    -
    -

    For Multiple Master or GX Var fonts, choose an interpolated font design through design coordinates.

    -

    -
    inout
    -

    - - -
    face -

    A handle to the source face.

    -
    -
    -
    input
    -

    - - - -
    num_coords -

    The number of design coordinates (must be equal to the number of axes in the font).

    -
    coords -

    An array of design coordinates.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Set_MM_Blend_Coordinates

    -
    -Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Set_MM_Blend_Coordinates( FT_Face    face,
    -                               FT_UInt    num_coords,
    -                               FT_Fixed*  coords );
    -
    -

    -
    -

    For Multiple Masters and GX var fonts, choose an interpolated font design through normalized blend coordinates.

    -

    -
    inout
    -

    - - -
    face -

    A handle to the source face.

    -
    -
    -
    input
    -

    - - - -
    num_coords -

    The number of design coordinates (must be equal to the number of axes in the font).

    -
    coords -

    The design coordinates array (each element must be between 0 and 1.0).

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Set_Var_Blend_Coordinates

    -
    -Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Set_Var_Blend_Coordinates( FT_Face    face,
    -                                FT_UInt    num_coords,
    -                                FT_Fixed*  coords );
    -
    -

    -
    -

    This is another name of FT_Set_MM_Blend_Coordinates.

    -

    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-ot_validation.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-ot_validation.html deleted file mode 100644 index 5b8278a..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-ot_validation.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -OpenType Validation -

    -

    Synopsis

    - - -
    FT_VALIDATE_OTXXXFT_OpenType_ValidateFT_OpenType_Free


    - -
    -

    This section contains the declaration of functions to validate some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).

    -

    -
    -

    FT_VALIDATE_OTXXX

    -
    -Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h). -

    -
    -
    -#define FT_VALIDATE_BASE  0x0100
    -#define FT_VALIDATE_GDEF  0x0200
    -#define FT_VALIDATE_GPOS  0x0400
    -#define FT_VALIDATE_GSUB  0x0800
    -#define FT_VALIDATE_JSTF  0x1000
    -#define FT_VALIDATE_MATH  0x2000
    -
    -#define FT_VALIDATE_OT  FT_VALIDATE_BASE | \
    -                        FT_VALIDATE_GDEF | \
    -                        FT_VALIDATE_GPOS | \
    -                        FT_VALIDATE_GSUB | \
    -                        FT_VALIDATE_JSTF | \
    -                        FT_VALIDATE_MATH
    -
    -

    -
    -

    A list of bit-field constants used with FT_OpenType_Validate to indicate which OpenType tables should be validated.

    -

    -
    values
    -

    - - - - - - - - -
    FT_VALIDATE_BASE -

    Validate BASE table.

    -
    FT_VALIDATE_GDEF -

    Validate GDEF table.

    -
    FT_VALIDATE_GPOS -

    Validate GPOS table.

    -
    FT_VALIDATE_GSUB -

    Validate GSUB table.

    -
    FT_VALIDATE_JSTF -

    Validate JSTF table.

    -
    FT_VALIDATE_MATH -

    Validate MATH table.

    -
    FT_VALIDATE_OT -

    Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_OpenType_Validate

    -
    -Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_OpenType_Validate( FT_Face    face,
    -                        FT_UInt    validation_flags,
    -                        FT_Bytes  *BASE_table,
    -                        FT_Bytes  *GDEF_table,
    -                        FT_Bytes  *GPOS_table,
    -                        FT_Bytes  *GSUB_table,
    -                        FT_Bytes  *JSTF_table );
    -
    -

    -
    -

    Validate various OpenType tables to assure that all offsets and indices are valid. The idea is that a higher-level library which actually does the text layout can access those tables without error checking (which can be quite time consuming).

    -

    -
    input
    -

    - - - -
    face -

    A handle to the input face.

    -
    validation_flags -

    A bit field which specifies the tables to be validated. See FT_VALIDATE_OTXXX for possible values.

    -
    -
    -
    output
    -

    - - - - - - -
    BASE_table -

    A pointer to the BASE table.

    -
    GDEF_table -

    A pointer to the GDEF table.

    -
    GPOS_table -

    A pointer to the GPOS table.

    -
    GSUB_table -

    A pointer to the GSUB table.

    -
    JSTF_table -

    A pointer to the JSTF table.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function only works with OpenType fonts, returning an error otherwise.

    -

    After use, the application should deallocate the five tables with FT_OpenType_Free. A NULL value indicates that the table either doesn't exist in the font, or the application hasn't asked for validation.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_OpenType_Free

    -
    -Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_OpenType_Free( FT_Face   face,
    -                    FT_Bytes  table );
    -
    -

    -
    -

    Free the buffer allocated by OpenType validator.

    -

    -
    input
    -

    - - - -
    face -

    A handle to the input face.

    -
    table -

    The pointer to the buffer that is allocated by FT_OpenType_Validate.

    -
    -
    -
    note
    -

    This function must be used to free the buffer allocated by FT_OpenType_Validate only.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-outline_processing.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-outline_processing.html deleted file mode 100644 index fa64628..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-outline_processing.html +++ /dev/null @@ -1,1147 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Outline Processing -

    -

    Synopsis

    - - - - - - - - - - - - - -
    FT_Outlineft_outline_flags
    FT_OUTLINE_FLAGSFT_Outline_MoveToFunc
    FT_Outline_NewFT_Outline_LineToFunc
    FT_Outline_DoneFT_Outline_ConicToFunc
    FT_Outline_CopyFT_Outline_CubicToFunc
    FT_Outline_TranslateFT_Outline_Funcs
    FT_Outline_TransformFT_Outline_Decompose
    FT_Outline_EmboldenFT_Outline_Get_CBox
    FT_Outline_EmboldenXYFT_Outline_Get_Bitmap
    FT_Outline_ReverseFT_Outline_Render
    FT_Outline_CheckFT_Orientation
    FT_Outline_Get_BBoxFT_Outline_Get_Orientation


    - -
    -

    This section contains routines used to create and destroy scalable glyph images known as ‘outlines’. These can also be measured, transformed, and converted into bitmaps and pixmaps.

    -

    -
    -

    FT_Outline

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef struct  FT_Outline_
    -  {
    -    short       n_contours;      /* number of contours in glyph        */
    -    short       n_points;        /* number of points in the glyph      */
    -
    -    FT_Vector*  points;          /* the outline's points               */
    -    char*       tags;            /* the points flags                   */
    -    short*      contours;        /* the contour end points             */
    -
    -    int         flags;           /* outline masks                      */
    -
    -  } FT_Outline;
    -
    -  /* Following limits must be consistent with */
    -  /* FT_Outline.{n_contours,n_points}         */
    -#define FT_OUTLINE_CONTOURS_MAX  SHRT_MAX
    -#define FT_OUTLINE_POINTS_MAX    SHRT_MAX
    -
    -

    -
    -

    This structure is used to describe an outline to the scan-line converter.

    -

    -
    fields
    -

    - - - - - - - -
    n_contours -

    The number of contours in the outline.

    -
    n_points -

    The number of points in the outline.

    -
    points -

    A pointer to an array of ‘n_points’ FT_Vector elements, giving the outline's point coordinates.

    -
    tags -

    A pointer to an array of ‘n_points’ chars, giving each outline point's type.

    -

    If bit 0 is unset, the point is ‘off’ the curve, i.e., a Bézier control point, while it is ‘on’ if set.

    -

    Bit 1 is meaningful for ‘off’ points only. If set, it indicates a third-order Bézier arc control point; and a second-order control point if unset.

    -

    If bit 2 is set, bits 5-7 contain the drop-out mode (as defined in the OpenType specification; the value is the same as the argument to the SCANMODE instruction).

    -

    Bits 3 and 4 are reserved for internal purposes.

    -
    contours -

    An array of ‘n_contours’ shorts, giving the end point of each contour within the outline. For example, the first contour is defined by the points ‘0’ to ‘contours[0]’, the second one is defined by the points ‘contours[0]+1’ to ‘contours[1]’, etc.

    -
    flags -

    A set of bit flags used to characterize the outline and give hints to the scan-converter and hinter on how to convert/grid-fit it. See FT_OUTLINE_FLAGS.

    -
    -
    -
    note
    -

    The B/W rasterizer only checks bit 2 in the ‘tags’ array for the first point of each contour. The drop-out mode as given with FT_OUTLINE_IGNORE_DROPOUTS, FT_OUTLINE_SMART_DROPOUTS, and FT_OUTLINE_INCLUDE_STUBS in ‘flags’ is then overridden.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_OUTLINE_FLAGS

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -#define FT_OUTLINE_NONE             0x0
    -#define FT_OUTLINE_OWNER            0x1
    -#define FT_OUTLINE_EVEN_ODD_FILL    0x2
    -#define FT_OUTLINE_REVERSE_FILL     0x4
    -#define FT_OUTLINE_IGNORE_DROPOUTS  0x8
    -#define FT_OUTLINE_SMART_DROPOUTS   0x10
    -#define FT_OUTLINE_INCLUDE_STUBS    0x20
    -
    -#define FT_OUTLINE_HIGH_PRECISION   0x100
    -#define FT_OUTLINE_SINGLE_PASS      0x200
    -
    -

    -
    -

    A list of bit-field constants use for the flags in an outline's ‘flags’ field.

    -

    -
    values
    -

    - - - - - - - - - - - - - - - - -
    FT_OUTLINE_NONE -

    Value 0 is reserved.

    -
    FT_OUTLINE_OWNER -

    If set, this flag indicates that the outline's field arrays (i.e., ‘points’, ‘flags’, and ‘contours’) are ‘owned’ by the outline object, and should thus be freed when it is destroyed.

    -
    FT_OUTLINE_EVEN_ODD_FILL
    -

    By default, outlines are filled using the non-zero winding rule. If set to 1, the outline will be filled using the even-odd fill rule (only works with the smooth rasterizer).

    -
    FT_OUTLINE_REVERSE_FILL
    -

    By default, outside contours of an outline are oriented in clock-wise direction, as defined in the TrueType specification. This flag is set if the outline uses the opposite direction (typically for Type 1 fonts). This flag is ignored by the scan converter.

    -
    FT_OUTLINE_IGNORE_DROPOUTS
    -

    By default, the scan converter will try to detect drop-outs in an outline and correct the glyph bitmap to ensure consistent shape continuity. If set, this flag hints the scan-line converter to ignore such cases. See below for more information.

    -
    FT_OUTLINE_SMART_DROPOUTS
    -

    Select smart dropout control. If unset, use simple dropout control. Ignored if FT_OUTLINE_IGNORE_DROPOUTS is set. See below for more information.

    -
    FT_OUTLINE_INCLUDE_STUBS
    -

    If set, turn pixels on for ‘stubs’, otherwise exclude them. Ignored if FT_OUTLINE_IGNORE_DROPOUTS is set. See below for more information.

    -
    FT_OUTLINE_HIGH_PRECISION
    -

    This flag indicates that the scan-line converter should try to convert this outline to bitmaps with the highest possible quality. It is typically set for small character sizes. Note that this is only a hint that might be completely ignored by a given scan-converter.

    -
    FT_OUTLINE_SINGLE_PASS -

    This flag is set to force a given scan-converter to only use a single pass over the outline to render a bitmap glyph image. Normally, it is set for very large character sizes. It is only a hint that might be completely ignored by a given scan-converter.

    -
    -
    -
    note
    -

    The flags FT_OUTLINE_IGNORE_DROPOUTS, FT_OUTLINE_SMART_DROPOUTS, and FT_OUTLINE_INCLUDE_STUBS are ignored by the smooth rasterizer.

    -

    There exists a second mechanism to pass the drop-out mode to the B/W rasterizer; see the ‘tags’ field in FT_Outline.

    -

    Please refer to the description of the ‘SCANTYPE’ instruction in the OpenType specification (in file ‘ttinst1.doc’) how simple drop-outs, smart drop-outs, and stubs are defined.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_New

    -
    -Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Outline_New( FT_Library   library,
    -                  FT_UInt      numPoints,
    -                  FT_Int       numContours,
    -                  FT_Outline  *anoutline );
    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Outline_New_Internal( FT_Memory    memory,
    -                           FT_UInt      numPoints,
    -                           FT_Int       numContours,
    -                           FT_Outline  *anoutline );
    -
    -

    -
    -

    Create a new outline of a given size.

    -

    -
    input
    -

    - - - - -
    library -

    A handle to the library object from where the outline is allocated. Note however that the new outline will not necessarily be freed, when destroying the library, by FT_Done_FreeType.

    -
    numPoints -

    The maximum number of points within the outline.

    -
    numContours -

    The maximum number of contours within the outline.

    -
    -
    -
    output
    -

    - - -
    anoutline -

    A handle to the new outline.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The reason why this function takes a ‘library’ parameter is simply to use the library's memory allocator.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_Done

    -
    -Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Outline_Done( FT_Library   library,
    -                   FT_Outline*  outline );
    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Outline_Done_Internal( FT_Memory    memory,
    -                            FT_Outline*  outline );
    -
    -

    -
    -

    Destroy an outline created with FT_Outline_New.

    -

    -
    input
    -

    - - - -
    library -

    A handle of the library object used to allocate the outline.

    -
    outline -

    A pointer to the outline object to be discarded.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    If the outline's ‘owner’ field is not set, only the outline descriptor will be released.

    -

    The reason why this function takes an ‘library’ parameter is simply to use ft_mem_free().

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_Copy

    -
    -Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Outline_Copy( const FT_Outline*  source,
    -                   FT_Outline        *target );
    -
    -

    -
    -

    Copy an outline into another one. Both objects must have the same sizes (number of points & number of contours) when this function is called.

    -

    -
    input
    -

    - - -
    source -

    A handle to the source outline.

    -
    -
    -
    output
    -

    - - -
    target -

    A handle to the target outline.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_Translate

    -
    -Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Outline_Translate( const FT_Outline*  outline,
    -                        FT_Pos             xOffset,
    -                        FT_Pos             yOffset );
    -
    -

    -
    -

    Apply a simple translation to the points of an outline.

    -

    -
    inout
    -

    - - -
    outline -

    A pointer to the target outline descriptor.

    -
    -
    -
    input
    -

    - - - -
    xOffset -

    The horizontal offset.

    -
    yOffset -

    The vertical offset.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_Transform

    -
    -Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Outline_Transform( const FT_Outline*  outline,
    -                        const FT_Matrix*   matrix );
    -
    -

    -
    -

    Apply a simple 2x2 matrix to all of an outline's points. Useful for applying rotations, slanting, flipping, etc.

    -

    -
    inout
    -

    - - -
    outline -

    A pointer to the target outline descriptor.

    -
    -
    -
    input
    -

    - - -
    matrix -

    A pointer to the transformation matrix.

    -
    -
    -
    note
    -

    You can use FT_Outline_Translate if you need to translate the outline's points.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_Embolden

    -
    -Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Outline_Embolden( FT_Outline*  outline,
    -                       FT_Pos       strength );
    -
    -

    -
    -

    Embolden an outline. The new outline will be at most 4 times ‘strength’ pixels wider and higher. You may think of the left and bottom borders as unchanged.

    -

    Negative ‘strength’ values to reduce the outline thickness are possible also.

    -

    -
    inout
    -

    - - -
    outline -

    A handle to the target outline.

    -
    -
    -
    input
    -

    - - -
    strength -

    How strong the glyph is emboldened. Expressed in 26.6 pixel format.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The used algorithm to increase or decrease the thickness of the glyph doesn't change the number of points; this means that certain situations like acute angles or intersections are sometimes handled incorrectly.

    -

    If you need ‘better’ metrics values you should call FT_Outline_Get_CBox or FT_Outline_Get_BBox.

    -

    Example call:

    -
    -  FT_Load_Glyph( face, index, FT_LOAD_DEFAULT );                   
    -  if ( face->slot->format == FT_GLYPH_FORMAT_OUTLINE )             
    -    FT_Outline_Embolden( &face->slot->outline, strength );         
    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_EmboldenXY

    -
    -Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Outline_EmboldenXY( FT_Outline*  outline,
    -                         FT_Pos       xstrength,
    -                         FT_Pos       ystrength );
    -
    -

    -
    -

    Embolden an outline. The new outline will be ‘xstrength’ pixels wider and ‘ystrength’ pixels higher. Otherwise, it is similar to FT_Outline_Embolden, which uses the same strength in both directions.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_Reverse

    -
    -Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Outline_Reverse( FT_Outline*  outline );
    -
    -

    -
    -

    Reverse the drawing direction of an outline. This is used to ensure consistent fill conventions for mirrored glyphs.

    -

    -
    inout
    -

    - - -
    outline -

    A pointer to the target outline descriptor.

    -
    -
    -
    note
    -

    This function toggles the bit flag FT_OUTLINE_REVERSE_FILL in the outline's ‘flags’ field.

    -

    It shouldn't be used by a normal client application, unless it knows what it is doing.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_Check

    -
    -Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Outline_Check( FT_Outline*  outline );
    -
    -

    -
    -

    Check the contents of an outline descriptor.

    -

    -
    input
    -

    - - -
    outline -

    A handle to a source outline.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_Get_BBox

    -
    -Defined in FT_BBOX_H (freetype/ftbbox.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Outline_Get_BBox( FT_Outline*  outline,
    -                       FT_BBox     *abbox );
    -
    -

    -
    -

    Compute the exact bounding box of an outline. This is slower than computing the control box. However, it uses an advanced algorithm which returns very quickly when the two boxes coincide. Otherwise, the outline Bézier arcs are traversed to extract their extrema.

    -

    -
    input
    -

    - - -
    outline -

    A pointer to the source outline.

    -
    -
    -
    output
    -

    - - -
    abbox -

    The outline's exact bounding box.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    If the font is tricky and the glyph has been loaded with FT_LOAD_NO_SCALE, the resulting BBox is meaningless. To get reasonable values for the BBox it is necessary to load the glyph at a large ppem value (so that the hinting instructions can properly shift and scale the subglyphs), then extracting the BBox which can be eventually converted back to font units.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    ft_outline_flags

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -#define ft_outline_none             FT_OUTLINE_NONE
    -#define ft_outline_owner            FT_OUTLINE_OWNER
    -#define ft_outline_even_odd_fill    FT_OUTLINE_EVEN_ODD_FILL
    -#define ft_outline_reverse_fill     FT_OUTLINE_REVERSE_FILL
    -#define ft_outline_ignore_dropouts  FT_OUTLINE_IGNORE_DROPOUTS
    -#define ft_outline_high_precision   FT_OUTLINE_HIGH_PRECISION
    -#define ft_outline_single_pass      FT_OUTLINE_SINGLE_PASS
    -
    -

    -
    -

    These constants are deprecated. Please use the corresponding FT_OUTLINE_FLAGS values.

    -

    -
    values
    -

    - - - - - - - - - - - - -
    ft_outline_none -

    See FT_OUTLINE_NONE.

    -
    ft_outline_owner -

    See FT_OUTLINE_OWNER.

    -
    ft_outline_even_odd_fill
    -

    See FT_OUTLINE_EVEN_ODD_FILL.

    -
    ft_outline_reverse_fill
    -

    See FT_OUTLINE_REVERSE_FILL.

    -
    ft_outline_ignore_dropouts
    -

    See FT_OUTLINE_IGNORE_DROPOUTS.

    -
    ft_outline_high_precision
    -

    See FT_OUTLINE_HIGH_PRECISION.

    -
    ft_outline_single_pass -

    See FT_OUTLINE_SINGLE_PASS.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_MoveToFunc

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef int
    -  (*FT_Outline_MoveToFunc)( const FT_Vector*  to,
    -                            void*             user );
    -
    -#define FT_Outline_MoveTo_Func  FT_Outline_MoveToFunc
    -
    -

    -
    -

    A function pointer type used to describe the signature of a ‘move to’ function during outline walking/decomposition.

    -

    A ‘move to’ is emitted to start a new contour in an outline.

    -

    -
    input
    -

    - - - -
    to -

    A pointer to the target point of the ‘move to’.

    -
    user -

    A typeless pointer which is passed from the caller of the decomposition function.

    -
    -
    -
    return
    -

    Error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_LineToFunc

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef int
    -  (*FT_Outline_LineToFunc)( const FT_Vector*  to,
    -                            void*             user );
    -
    -#define FT_Outline_LineTo_Func  FT_Outline_LineToFunc
    -
    -

    -
    -

    A function pointer type used to describe the signature of a ‘line to’ function during outline walking/decomposition.

    -

    A ‘line to’ is emitted to indicate a segment in the outline.

    -

    -
    input
    -

    - - - -
    to -

    A pointer to the target point of the ‘line to’.

    -
    user -

    A typeless pointer which is passed from the caller of the decomposition function.

    -
    -
    -
    return
    -

    Error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_ConicToFunc

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef int
    -  (*FT_Outline_ConicToFunc)( const FT_Vector*  control,
    -                             const FT_Vector*  to,
    -                             void*             user );
    -
    -#define FT_Outline_ConicTo_Func  FT_Outline_ConicToFunc
    -
    -

    -
    -

    A function pointer type used to describe the signature of a ‘conic to’ function during outline walking or decomposition.

    -

    A ‘conic to’ is emitted to indicate a second-order Bézier arc in the outline.

    -

    -
    input
    -

    - - - - -
    control -

    An intermediate control point between the last position and the new target in ‘to’.

    -
    to -

    A pointer to the target end point of the conic arc.

    -
    user -

    A typeless pointer which is passed from the caller of the decomposition function.

    -
    -
    -
    return
    -

    Error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_CubicToFunc

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef int
    -  (*FT_Outline_CubicToFunc)( const FT_Vector*  control1,
    -                             const FT_Vector*  control2,
    -                             const FT_Vector*  to,
    -                             void*             user );
    -
    -#define FT_Outline_CubicTo_Func  FT_Outline_CubicToFunc
    -
    -

    -
    -

    A function pointer type used to describe the signature of a ‘cubic to’ function during outline walking or decomposition.

    -

    A ‘cubic to’ is emitted to indicate a third-order Bézier arc.

    -

    -
    input
    -

    - - - - - -
    control1 -

    A pointer to the first Bézier control point.

    -
    control2 -

    A pointer to the second Bézier control point.

    -
    to -

    A pointer to the target end point.

    -
    user -

    A typeless pointer which is passed from the caller of the decomposition function.

    -
    -
    -
    return
    -

    Error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_Funcs

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef struct  FT_Outline_Funcs_
    -  {
    -    FT_Outline_MoveToFunc   move_to;
    -    FT_Outline_LineToFunc   line_to;
    -    FT_Outline_ConicToFunc  conic_to;
    -    FT_Outline_CubicToFunc  cubic_to;
    -
    -    int                     shift;
    -    FT_Pos                  delta;
    -
    -  } FT_Outline_Funcs;
    -
    -

    -
    -

    A structure to hold various function pointers used during outline decomposition in order to emit segments, conic, and cubic Béziers.

    -

    -
    fields
    -

    - - - - - - - -
    move_to -

    The ‘move to’ emitter.

    -
    line_to -

    The segment emitter.

    -
    conic_to -

    The second-order Bézier arc emitter.

    -
    cubic_to -

    The third-order Bézier arc emitter.

    -
    shift -

    The shift that is applied to coordinates before they are sent to the emitter.

    -
    delta -

    The delta that is applied to coordinates before they are sent to the emitter, but after the shift.

    -
    -
    -
    note
    -

    The point coordinates sent to the emitters are the transformed version of the original coordinates (this is important for high accuracy during scan-conversion). The transformation is simple:

    -
    -  x' = (x << shift) - delta                                        
    -  y' = (x << shift) - delta                                        
    -
    -

    Set the values of ‘shift’ and ‘delta’ to 0 to get the original point coordinates.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_Decompose

    -
    -Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Outline_Decompose( FT_Outline*              outline,
    -                        const FT_Outline_Funcs*  func_interface,
    -                        void*                    user );
    -
    -

    -
    -

    Walk over an outline's structure to decompose it into individual segments and Bézier arcs. This function also emits ‘move to’ operations to indicate the start of new contours in the outline.

    -

    -
    input
    -

    - - - -
    outline -

    A pointer to the source target.

    -
    func_interface -

    A table of ‘emitters’, i.e., function pointers called during decomposition to indicate path operations.

    -
    -
    -
    inout
    -

    - - -
    user -

    A typeless pointer which is passed to each emitter during the decomposition. It can be used to store the state during the decomposition.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_Get_CBox

    -
    -Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Outline_Get_CBox( const FT_Outline*  outline,
    -                       FT_BBox           *acbox );
    -
    -

    -
    -

    Return an outline's ‘control box’. The control box encloses all the outline's points, including Bézier control points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger in some situations (like when rotating an outline which contains Bézier outside arcs).

    -

    Computing the control box is very fast, while getting the bounding box can take much more time as it needs to walk over all segments and arcs in the outline. To get the latter, you can use the ‘ftbbox’ component which is dedicated to this single task.

    -

    -
    input
    -

    - - -
    outline -

    A pointer to the source outline descriptor.

    -
    -
    -
    output
    -

    - - -
    acbox -

    The outline's control box.

    -
    -
    -
    note
    -

    See FT_Glyph_Get_CBox for a discussion of tricky fonts.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_Get_Bitmap

    -
    -Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Outline_Get_Bitmap( FT_Library        library,
    -                         FT_Outline*       outline,
    -                         const FT_Bitmap  *abitmap );
    -
    -

    -
    -

    Render an outline within a bitmap. The outline's image is simply OR-ed to the target bitmap.

    -

    -
    input
    -

    - - - -
    library -

    A handle to a FreeType library object.

    -
    outline -

    A pointer to the source outline descriptor.

    -
    -
    -
    inout
    -

    - - -
    abitmap -

    A pointer to the target bitmap descriptor.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function does NOT CREATE the bitmap, it only renders an outline image within the one you pass to it! Consequently, the various fields in ‘abitmap’ should be set accordingly.

    -

    It will use the raster corresponding to the default glyph format.

    -

    The value of the ‘num_grays’ field in ‘abitmap’ is ignored. If you select the gray-level rasterizer, and you want less than 256 gray levels, you have to use FT_Outline_Render directly.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_Render

    -
    -Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Outline_Render( FT_Library         library,
    -                     FT_Outline*        outline,
    -                     FT_Raster_Params*  params );
    -
    -

    -
    -

    Render an outline within a bitmap using the current scan-convert. This function uses an FT_Raster_Params structure as an argument, allowing advanced features like direct composition, translucency, etc.

    -

    -
    input
    -

    - - - -
    library -

    A handle to a FreeType library object.

    -
    outline -

    A pointer to the source outline descriptor.

    -
    -
    -
    inout
    -

    - - -
    params -

    A pointer to an FT_Raster_Params structure used to describe the rendering operation.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    You should know what you are doing and how FT_Raster_Params works to use this function.

    -

    The field ‘params.source’ will be set to ‘outline’ before the scan converter is called, which means that the value you give to it is actually ignored.

    -

    The gray-level rasterizer always uses 256 gray levels. If you want less gray levels, you have to provide your own span callback. See the FT_RASTER_FLAG_DIRECT value of the ‘flags’ field in the FT_Raster_Params structure for more details.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Orientation

    -
    -Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

    -
    -
    -  typedef enum  FT_Orientation_
    -  {
    -    FT_ORIENTATION_TRUETYPE   = 0,
    -    FT_ORIENTATION_POSTSCRIPT = 1,
    -    FT_ORIENTATION_FILL_RIGHT = FT_ORIENTATION_TRUETYPE,
    -    FT_ORIENTATION_FILL_LEFT  = FT_ORIENTATION_POSTSCRIPT,
    -    FT_ORIENTATION_NONE
    -
    -  } FT_Orientation;
    -
    -

    -
    -

    A list of values used to describe an outline's contour orientation.

    -

    The TrueType and PostScript specifications use different conventions to determine whether outline contours should be filled or unfilled.

    -

    -
    values
    -

    - - - - - - - - - - -
    FT_ORIENTATION_TRUETYPE
    -

    According to the TrueType specification, clockwise contours must be filled, and counter-clockwise ones must be unfilled.

    -
    FT_ORIENTATION_POSTSCRIPT
    -

    According to the PostScript specification, counter-clockwise contours must be filled, and clockwise ones must be unfilled.

    -
    FT_ORIENTATION_FILL_RIGHT
    -

    This is identical to FT_ORIENTATION_TRUETYPE, but is used to remember that in TrueType, everything that is to the right of the drawing direction of a contour must be filled.

    -
    FT_ORIENTATION_FILL_LEFT
    -

    This is identical to FT_ORIENTATION_POSTSCRIPT, but is used to remember that in PostScript, everything that is to the left of the drawing direction of a contour must be filled.

    -
    FT_ORIENTATION_NONE -

    The orientation cannot be determined. That is, different parts of the glyph have different orientation.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Outline_Get_Orientation

    -
    -Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

    -
    -
    -  FT_EXPORT( FT_Orientation )
    -  FT_Outline_Get_Orientation( FT_Outline*  outline );
    -
    -

    -
    -

    This function analyzes a glyph outline and tries to compute its fill orientation (see FT_Orientation). This is done by computing the direction of each global horizontal and/or vertical extrema within the outline.

    -

    Note that this will return FT_ORIENTATION_TRUETYPE for empty outlines.

    -

    -
    input
    -

    - - -
    outline -

    A handle to the source outline.

    -
    -
    -
    return
    -

    The orientation.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-pfr_fonts.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-pfr_fonts.html deleted file mode 100644 index 8cf22ed..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-pfr_fonts.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -PFR Fonts -

    -

    Synopsis

    - - -
    FT_Get_PFR_MetricsFT_Get_PFR_KerningFT_Get_PFR_Advance


    - -
    -

    This section contains the declaration of PFR-specific functions.

    -

    -
    -

    FT_Get_PFR_Metrics

    -
    -Defined in FT_PFR_H (freetype/ftpfr.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_PFR_Metrics( FT_Face    face,
    -                      FT_UInt   *aoutline_resolution,
    -                      FT_UInt   *ametrics_resolution,
    -                      FT_Fixed  *ametrics_x_scale,
    -                      FT_Fixed  *ametrics_y_scale );
    -
    -

    -
    -

    Return the outline and metrics resolutions of a given PFR face.

    -

    -
    input
    -

    - - -
    face -

    Handle to the input face. It can be a non-PFR face.

    -
    -
    -
    output
    -

    - - - - - -
    aoutline_resolution -

    Outline resolution. This is equivalent to ‘face->units_per_EM’ for non-PFR fonts. Optional (parameter can be NULL).

    -
    ametrics_resolution -

    Metrics resolution. This is equivalent to ‘outline_resolution’ for non-PFR fonts. Optional (parameter can be NULL).

    -
    ametrics_x_scale -

    A 16.16 fixed-point number used to scale distance expressed in metrics units to device sub-pixels. This is equivalent to ‘face->size->x_scale’, but for metrics only. Optional (parameter can be NULL).

    -
    ametrics_y_scale -

    Same as ‘ametrics_x_scale’ but for the vertical direction. optional (parameter can be NULL).

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    If the input face is not a PFR, this function will return an error. However, in all cases, it will return valid values.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_PFR_Kerning

    -
    -Defined in FT_PFR_H (freetype/ftpfr.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_PFR_Kerning( FT_Face     face,
    -                      FT_UInt     left,
    -                      FT_UInt     right,
    -                      FT_Vector  *avector );
    -
    -

    -
    -

    Return the kerning pair corresponding to two glyphs in a PFR face. The distance is expressed in metrics units, unlike the result of FT_Get_Kerning.

    -

    -
    input
    -

    - - - - -
    face -

    A handle to the input face.

    -
    left -

    Index of the left glyph.

    -
    right -

    Index of the right glyph.

    -
    -
    -
    output
    -

    - - -
    avector -

    A kerning vector.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function always return distances in original PFR metrics units. This is unlike FT_Get_Kerning with the FT_KERNING_UNSCALED mode, which always returns distances converted to outline units.

    -

    You can use the value of the ‘x_scale’ and ‘y_scale’ parameters returned by FT_Get_PFR_Metrics to scale these to device sub-pixels.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_PFR_Advance

    -
    -Defined in FT_PFR_H (freetype/ftpfr.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_PFR_Advance( FT_Face   face,
    -                      FT_UInt   gindex,
    -                      FT_Pos   *aadvance );
    -
    -

    -
    -

    Return a given glyph advance, expressed in original metrics units, from a PFR font.

    -

    -
    input
    -

    - - - -
    face -

    A handle to the input face.

    -
    gindex -

    The glyph index.

    -
    -
    -
    output
    -

    - - -
    aadvance -

    The glyph advance in metrics units.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    You can use the ‘x_scale’ or ‘y_scale’ results of FT_Get_PFR_Metrics to convert the advance to device sub-pixels (i.e., 1/64th of pixels).

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-quick_advance.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-quick_advance.html deleted file mode 100644 index 16bfbcb..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-quick_advance.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Quick retrieval of advance values -

    -

    Synopsis

    - - - -
    FT_ADVANCE_FLAG_FAST_ONLYFT_Get_Advances
    FT_Get_Advance


    - -
    -

    This section contains functions to quickly extract advance values without handling glyph outlines, if possible.

    -

    -
    -

    FT_ADVANCE_FLAG_FAST_ONLY

    -
    -Defined in FT_ADVANCES_H (freetype/ftadvanc.h). -

    -
    -
    -#define FT_ADVANCE_FLAG_FAST_ONLY  0x20000000UL
    -
    -

    -
    -

    A bit-flag to be OR-ed with the ‘flags’ parameter of the FT_Get_Advance and FT_Get_Advances functions.

    -

    If set, it indicates that you want these functions to fail if the corresponding hinting mode or font driver doesn't allow for very quick advance computation.

    -

    Typically, glyphs which are either unscaled, unhinted, bitmapped, or light-hinted can have their advance width computed very quickly.

    -

    Normal and bytecode hinted modes, which require loading, scaling, and hinting of the glyph outline, are extremely slow by comparison.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Advance

    -
    -Defined in FT_ADVANCES_H (freetype/ftadvanc.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_Advance( FT_Face    face,
    -                  FT_UInt    gindex,
    -                  FT_Int32   load_flags,
    -                  FT_Fixed  *padvance );
    -
    -

    -
    -

    Retrieve the advance value of a given glyph outline in an FT_Face. By default, the unhinted advance is returned in font units.

    -

    -
    input
    -

    - - - - -
    face -

    The source FT_Face handle.

    -
    gindex -

    The glyph index.

    -
    load_flags -

    A set of bit flags similar to those used when calling FT_Load_Glyph, used to determine what kind of advances you need.

    -
    -
    -
    output
    -

    - - -
    padvance -

    The advance value, in either font units or 16.16 format.

    -

    If FT_LOAD_VERTICAL_LAYOUT is set, this is the vertical advance corresponding to a vertical layout. Otherwise, it is the horizontal advance in a horizontal layout.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function may fail if you use FT_ADVANCE_FLAG_FAST_ONLY and if the corresponding font backend doesn't have a quick way to retrieve the advances.

    -

    A scaled advance is returned in 16.16 format but isn't transformed by the affine transformation specified by FT_Set_Transform.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Advances

    -
    -Defined in FT_ADVANCES_H (freetype/ftadvanc.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_Advances( FT_Face    face,
    -                   FT_UInt    start,
    -                   FT_UInt    count,
    -                   FT_Int32   load_flags,
    -                   FT_Fixed  *padvances );
    -
    -

    -
    -

    Retrieve the advance values of several glyph outlines in an FT_Face. By default, the unhinted advances are returned in font units.

    -

    -
    input
    -

    - - - - - -
    face -

    The source FT_Face handle.

    -
    start -

    The first glyph index.

    -
    count -

    The number of advance values you want to retrieve.

    -
    load_flags -

    A set of bit flags similar to those used when calling FT_Load_Glyph.

    -
    -
    -
    output
    -

    - - -
    padvance -

    The advances, in either font units or 16.16 format. This array must contain at least ‘count’ elements.

    -

    If FT_LOAD_VERTICAL_LAYOUT is set, these are the vertical advances corresponding to a vertical layout. Otherwise, they are the horizontal advances in a horizontal layout.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function may fail if you use FT_ADVANCE_FLAG_FAST_ONLY and if the corresponding font backend doesn't have a quick way to retrieve the advances.

    -

    Scaled advances are returned in 16.16 format but aren't transformed by the affine transformation specified by FT_Set_Transform.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-raster.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-raster.html deleted file mode 100644 index c5399de..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-raster.html +++ /dev/null @@ -1,606 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Scanline Converter -

    -

    Synopsis

    - - - - - - -
    FT_RasterFT_RASTER_FLAG_XXXFT_Raster_SetModeFunc
    FT_SpanFT_Raster_ParamsFT_Raster_RenderFunc
    FT_SpanFuncFT_Raster_NewFuncFT_Raster_Funcs
    FT_Raster_BitTest_FuncFT_Raster_DoneFunc
    FT_Raster_BitSet_FuncFT_Raster_ResetFunc


    - -
    -

    This section contains technical definitions.

    -

    -
    -

    FT_Raster

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef struct FT_RasterRec_*  FT_Raster;
    -
    -

    -
    -

    A handle (pointer) to a raster object. Each object can be used independently to convert an outline into a bitmap or pixmap.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Span

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef struct  FT_Span_
    -  {
    -    short           x;
    -    unsigned short  len;
    -    unsigned char   coverage;
    -
    -  } FT_Span;
    -
    -

    -
    -

    A structure used to model a single span of gray (or black) pixels when rendering a monochrome or anti-aliased bitmap.

    -

    -
    fields
    -

    - - - - -
    x -

    The span's horizontal start position.

    -
    len -

    The span's length in pixels.

    -
    coverage -

    The span color/coverage, ranging from 0 (background) to 255 (foreground). Only used for anti-aliased rendering.

    -
    -
    -
    note
    -

    This structure is used by the span drawing callback type named FT_SpanFunc which takes the y coordinate of the span as a a parameter.

    -

    The coverage value is always between 0 and 255. If you want less gray values, the callback function has to reduce them.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_SpanFunc

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef void
    -  (*FT_SpanFunc)( int             y,
    -                  int             count,
    -                  const FT_Span*  spans,
    -                  void*           user );
    -
    -#define FT_Raster_Span_Func  FT_SpanFunc
    -
    -

    -
    -

    A function used as a call-back by the anti-aliased renderer in order to let client applications draw themselves the gray pixel spans on each scan line.

    -

    -
    input
    -

    - - - - - -
    y -

    The scanline's y coordinate.

    -
    count -

    The number of spans to draw on this scanline.

    -
    spans -

    A table of ‘count’ spans to draw on the scanline.

    -
    user -

    User-supplied data that is passed to the callback.

    -
    -
    -
    note
    -

    This callback allows client applications to directly render the gray spans of the anti-aliased bitmap to any kind of surfaces.

    -

    This can be used to write anti-aliased outlines directly to a given background bitmap, and even perform translucency.

    -

    Note that the ‘count’ field cannot be greater than a fixed value defined by the ‘FT_MAX_GRAY_SPANS’ configuration macro in ‘ftoption.h’. By default, this value is set to 32, which means that if there are more than 32 spans on a given scanline, the callback is called several times with the same ‘y’ parameter in order to draw all callbacks.

    -

    Otherwise, the callback is only called once per scan-line, and only for those scanlines that do have ‘gray’ pixels on them.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Raster_BitTest_Func

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef int
    -  (*FT_Raster_BitTest_Func)( int    y,
    -                             int    x,
    -                             void*  user );
    -
    -

    -
    -

    THIS TYPE IS DEPRECATED. DO NOT USE IT.

    -

    A function used as a call-back by the monochrome scan-converter to test whether a given target pixel is already set to the drawing ‘color’. These tests are crucial to implement drop-out control per-se the TrueType spec.

    -

    -
    input
    -

    - - - - -
    y -

    The pixel's y coordinate.

    -
    x -

    The pixel's x coordinate.

    -
    user -

    User-supplied data that is passed to the callback.

    -
    -
    -
    return
    -

    1 if the pixel is ‘set’, 0 otherwise.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Raster_BitSet_Func

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef void
    -  (*FT_Raster_BitSet_Func)( int    y,
    -                            int    x,
    -                            void*  user );
    -
    -

    -
    -

    THIS TYPE IS DEPRECATED. DO NOT USE IT.

    -

    A function used as a call-back by the monochrome scan-converter to set an individual target pixel. This is crucial to implement drop-out control according to the TrueType specification.

    -

    -
    input
    -

    - - - - -
    y -

    The pixel's y coordinate.

    -
    x -

    The pixel's x coordinate.

    -
    user -

    User-supplied data that is passed to the callback.

    -
    -
    -
    return
    -

    1 if the pixel is ‘set’, 0 otherwise.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_RASTER_FLAG_XXX

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -#define FT_RASTER_FLAG_DEFAULT  0x0
    -#define FT_RASTER_FLAG_AA       0x1
    -#define FT_RASTER_FLAG_DIRECT   0x2
    -#define FT_RASTER_FLAG_CLIP     0x4
    -
    -  /* deprecated */
    -#define ft_raster_flag_default  FT_RASTER_FLAG_DEFAULT
    -#define ft_raster_flag_aa       FT_RASTER_FLAG_AA
    -#define ft_raster_flag_direct   FT_RASTER_FLAG_DIRECT
    -#define ft_raster_flag_clip     FT_RASTER_FLAG_CLIP
    -
    -

    -
    -

    A list of bit flag constants as used in the ‘flags’ field of a FT_Raster_Params structure.

    -

    -
    values
    -

    - - - - - -
    FT_RASTER_FLAG_DEFAULT -

    This value is 0.

    -
    FT_RASTER_FLAG_AA -

    This flag is set to indicate that an anti-aliased glyph image should be generated. Otherwise, it will be monochrome (1-bit).

    -
    FT_RASTER_FLAG_DIRECT -

    This flag is set to indicate direct rendering. In this mode, client applications must provide their own span callback. This lets them directly draw or compose over an existing bitmap. If this bit is not set, the target pixmap's buffer must be zeroed before rendering.

    -

    Note that for now, direct rendering is only possible with anti-aliased glyphs.

    -
    FT_RASTER_FLAG_CLIP -

    This flag is only used in direct rendering mode. If set, the output will be clipped to a box specified in the ‘clip_box’ field of the FT_Raster_Params structure.

    -

    Note that by default, the glyph bitmap is clipped to the target pixmap, except in direct rendering mode where all spans are generated if no clipping box is set.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Raster_Params

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef struct  FT_Raster_Params_
    -  {
    -    const FT_Bitmap*        target;
    -    const void*             source;
    -    int                     flags;
    -    FT_SpanFunc             gray_spans;
    -    FT_SpanFunc             black_spans;  /* doesn't work! */
    -    FT_Raster_BitTest_Func  bit_test;     /* doesn't work! */
    -    FT_Raster_BitSet_Func   bit_set;      /* doesn't work! */
    -    void*                   user;
    -    FT_BBox                 clip_box;
    -
    -  } FT_Raster_Params;
    -
    -

    -
    -

    A structure to hold the arguments used by a raster's render function.

    -

    -
    fields
    -

    - - - - - - - - - - -
    target -

    The target bitmap.

    -
    source -

    A pointer to the source glyph image (e.g., an FT_Outline).

    -
    flags -

    The rendering flags.

    -
    gray_spans -

    The gray span drawing callback.

    -
    black_spans -

    The black span drawing callback. UNIMPLEMENTED!

    -
    bit_test -

    The bit test callback. UNIMPLEMENTED!

    -
    bit_set -

    The bit set callback. UNIMPLEMENTED!

    -
    user -

    User-supplied data that is passed to each drawing callback.

    -
    clip_box -

    An optional clipping box. It is only used in direct rendering mode. Note that coordinates here should be expressed in integer pixels (and not in 26.6 fixed-point units).

    -
    -
    -
    note
    -

    An anti-aliased glyph bitmap is drawn if the FT_RASTER_FLAG_AA bit flag is set in the ‘flags’ field, otherwise a monochrome bitmap is generated.

    -

    If the FT_RASTER_FLAG_DIRECT bit flag is set in ‘flags’, the raster will call the ‘gray_spans’ callback to draw gray pixel spans, in the case of an aa glyph bitmap, it will call ‘black_spans’, and ‘bit_test’ and ‘bit_set’ in the case of a monochrome bitmap. This allows direct composition over a pre-existing bitmap through user-provided callbacks to perform the span drawing/composition.

    -

    Note that the ‘bit_test’ and ‘bit_set’ callbacks are required when rendering a monochrome bitmap, as they are crucial to implement correct drop-out control as defined in the TrueType specification.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Raster_NewFunc

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef int
    -  (*FT_Raster_NewFunc)( void*       memory,
    -                        FT_Raster*  raster );
    -
    -#define FT_Raster_New_Func  FT_Raster_NewFunc
    -
    -

    -
    -

    A function used to create a new raster object.

    -

    -
    input
    -

    - - -
    memory -

    A handle to the memory allocator.

    -
    -
    -
    output
    -

    - - -
    raster -

    A handle to the new raster object.

    -
    -
    -
    return
    -

    Error code. 0 means success.

    -
    -
    note
    -

    The ‘memory’ parameter is a typeless pointer in order to avoid un-wanted dependencies on the rest of the FreeType code. In practice, it is an FT_Memory object, i.e., a handle to the standard FreeType memory allocator. However, this field can be completely ignored by a given raster implementation.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Raster_DoneFunc

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef void
    -  (*FT_Raster_DoneFunc)( FT_Raster  raster );
    -
    -#define FT_Raster_Done_Func  FT_Raster_DoneFunc
    -
    -

    -
    -

    A function used to destroy a given raster object.

    -

    -
    input
    -

    - - -
    raster -

    A handle to the raster object.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Raster_ResetFunc

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef void
    -  (*FT_Raster_ResetFunc)( FT_Raster       raster,
    -                          unsigned char*  pool_base,
    -                          unsigned long   pool_size );
    -
    -#define FT_Raster_Reset_Func  FT_Raster_ResetFunc
    -
    -

    -
    -

    FreeType provides an area of memory called the ‘render pool’, available to all registered rasters. This pool can be freely used during a given scan-conversion but is shared by all rasters. Its content is thus transient.

    -

    This function is called each time the render pool changes, or just after a new raster object is created.

    -

    -
    input
    -

    - - - - -
    raster -

    A handle to the new raster object.

    -
    pool_base -

    The address in memory of the render pool.

    -
    pool_size -

    The size in bytes of the render pool.

    -
    -
    -
    note
    -

    Rasters can ignore the render pool and rely on dynamic memory allocation if they want to (a handle to the memory allocator is passed to the raster constructor). However, this is not recommended for efficiency purposes.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Raster_SetModeFunc

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef int
    -  (*FT_Raster_SetModeFunc)( FT_Raster      raster,
    -                            unsigned long  mode,
    -                            void*          args );
    -
    -#define FT_Raster_Set_Mode_Func  FT_Raster_SetModeFunc
    -
    -

    -
    -

    This function is a generic facility to change modes or attributes in a given raster. This can be used for debugging purposes, or simply to allow implementation-specific ‘features’ in a given raster module.

    -

    -
    input
    -

    - - - - -
    raster -

    A handle to the new raster object.

    -
    mode -

    A 4-byte tag used to name the mode or property.

    -
    args -

    A pointer to the new mode/property to use.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Raster_RenderFunc

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef int
    -  (*FT_Raster_RenderFunc)( FT_Raster                raster,
    -                           const FT_Raster_Params*  params );
    -
    -#define FT_Raster_Render_Func  FT_Raster_RenderFunc
    -
    -

    -
    -

    Invoke a given raster to scan-convert a given glyph image into a target bitmap.

    -

    -
    input
    -

    - - - -
    raster -

    A handle to the raster object.

    -
    params -

    A pointer to an FT_Raster_Params structure used to store the rendering parameters.

    -
    -
    -
    return
    -

    Error code. 0 means success.

    -
    -
    note
    -

    The exact format of the source image depends on the raster's glyph format defined in its FT_Raster_Funcs structure. It can be an FT_Outline or anything else in order to support a large array of glyph formats.

    -

    Note also that the render function can fail and return a ‘FT_Err_Unimplemented_Feature’ error code if the raster used does not support direct composition.

    -

    XXX: For now, the standard raster doesn't support direct composition but this should change for the final release (see the files ‘demos/src/ftgrays.c’ and ‘demos/src/ftgrays2.c’ for examples of distinct implementations which support direct composition).

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Raster_Funcs

    -
    -Defined in FT_IMAGE_H (freetype/ftimage.h). -

    -
    -
    -  typedef struct  FT_Raster_Funcs_
    -  {
    -    FT_Glyph_Format        glyph_format;
    -    FT_Raster_NewFunc      raster_new;
    -    FT_Raster_ResetFunc    raster_reset;
    -    FT_Raster_SetModeFunc  raster_set_mode;
    -    FT_Raster_RenderFunc   raster_render;
    -    FT_Raster_DoneFunc     raster_done;
    -
    -  } FT_Raster_Funcs;
    -
    -

    -
    -

    A structure used to describe a given raster class to the library.

    -

    -
    fields
    -

    - - - - - - -
    glyph_format -

    The supported glyph format for this raster.

    -
    raster_new -

    The raster constructor.

    -
    raster_reset -

    Used to reset the render pool within the raster.

    -
    raster_render -

    A function to render a glyph into a given bitmap.

    -
    raster_done -

    The raster destructor.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-sfnt_names.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-sfnt_names.html deleted file mode 100644 index 57bccc4..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-sfnt_names.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -SFNT Names -

    -

    Synopsis

    - - - - - - -
    FT_SfntName
    FT_Get_Sfnt_Name_Count
    FT_Get_Sfnt_Name
    FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY
    FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY


    - -
    -

    The TrueType and OpenType specifications allow the inclusion of a special ‘names table’ in font files. This table contains textual (and internationalized) information regarding the font, like family name, copyright, version, etc.

    -

    The definitions below are used to access them if available.

    -

    Note that this has nothing to do with glyph names!

    -

    -
    -

    FT_SfntName

    -
    -Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h). -

    -
    -
    -  typedef struct  FT_SfntName_
    -  {
    -    FT_UShort  platform_id;
    -    FT_UShort  encoding_id;
    -    FT_UShort  language_id;
    -    FT_UShort  name_id;
    -
    -    FT_Byte*   string;      /* this string is *not* null-terminated! */
    -    FT_UInt    string_len;  /* in bytes */
    -
    -  } FT_SfntName;
    -
    -

    -
    -

    A structure used to model an SFNT ‘name’ table entry.

    -

    -
    fields
    -

    - - - - - - - -
    platform_id -

    The platform ID for ‘string’.

    -
    encoding_id -

    The encoding ID for ‘string’.

    -
    language_id -

    The language ID for ‘string’.

    -
    name_id -

    An identifier for ‘string’.

    -
    string -

    The ‘name’ string. Note that its format differs depending on the (platform,encoding) pair. It can be a Pascal String, a UTF-16 one, etc.

    -

    Generally speaking, the string is not zero-terminated. Please refer to the TrueType specification for details.

    -
    string_len -

    The length of ‘string’ in bytes.

    -
    -
    -
    note
    -

    Possible values for ‘platform_id’, ‘encoding_id’, ‘language_id’, and ‘name_id’ are given in the file ‘ttnameid.h’. For details please refer to the TrueType or OpenType specification.

    -

    See also TT_PLATFORM_XXX, TT_APPLE_ID_XXX, TT_MAC_ID_XXX, TT_ISO_ID_XXX, and TT_MS_ID_XXX.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Sfnt_Name_Count

    -
    -Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h). -

    -
    -
    -  FT_EXPORT( FT_UInt )
    -  FT_Get_Sfnt_Name_Count( FT_Face  face );
    -
    -

    -
    -

    Retrieve the number of name strings in the SFNT ‘name’ table.

    -

    -
    input
    -

    - - -
    face -

    A handle to the source face.

    -
    -
    -
    return
    -

    The number of strings in the ‘name’ table.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Sfnt_Name

    -
    -Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_Sfnt_Name( FT_Face       face,
    -                    FT_UInt       idx,
    -                    FT_SfntName  *aname );
    -
    -

    -
    -

    Retrieve a string of the SFNT ‘name’ table for a given index.

    -

    -
    input
    -

    - - - -
    face -

    A handle to the source face.

    -
    idx -

    The index of the ‘name’ string.

    -
    -
    -
    output
    -

    - - -
    aname -

    The indexed FT_SfntName structure.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The ‘string’ array returned in the ‘aname’ structure is not null-terminated. The application should deallocate it if it is no longer in use.

    -

    Use FT_Get_Sfnt_Name_Count to get the total number of available ‘name’ table entries, then do a loop until you get the right platform, encoding, and name ID.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY

    -
    -Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h). -

    -
    -
    -#define FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY  FT_MAKE_TAG( 'i', 'g', 'p', 'f' )
    -
    -

    -
    -

    A constant used as the tag of FT_Parameter structures to make FT_Open_Face() ignore preferred family subfamily names in ‘name’ table since OpenType version 1.4. For backwards compatibility with legacy systems which has 4-face-per-family restriction.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY

    -
    -Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h). -

    -
    -
    -#define FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY  FT_MAKE_TAG( 'i', 'g', 'p', 's' )
    -
    -

    -
    -

    A constant used as the tag of FT_Parameter structures to make FT_Open_Face() ignore preferred subfamily names in ‘name’ table since OpenType version 1.4. For backwards compatibility with legacy systems which has 4-face-per-family restriction.

    -

    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-sizes_management.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-sizes_management.html deleted file mode 100644 index 7763aee..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-sizes_management.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Size Management -

    -

    Synopsis

    - - -
    FT_New_SizeFT_Done_SizeFT_Activate_Size


    - -
    -

    When creating a new face object (e.g., with FT_New_Face), an FT_Size object is automatically created and used to store all pixel-size dependent information, available in the ‘face->size’ field.

    -

    It is however possible to create more sizes for a given face, mostly in order to manage several character pixel sizes of the same font family and style. See FT_New_Size and FT_Done_Size.

    -

    Note that FT_Set_Pixel_Sizes and FT_Set_Char_Size only modify the contents of the current ‘active’ size; you thus need to use FT_Activate_Size to change it.

    -

    99% of applications won't need the functions provided here, especially if they use the caching sub-system, so be cautious when using these.

    -

    -
    -

    FT_New_Size

    -
    -Defined in FT_SIZES_H (freetype/ftsizes.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_New_Size( FT_Face   face,
    -               FT_Size*  size );
    -
    -

    -
    -

    Create a new size object from a given face object.

    -

    -
    input
    -

    - - -
    face -

    A handle to a parent face object.

    -
    -
    -
    output
    -

    - - -
    asize -

    A handle to a new size object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    You need to call FT_Activate_Size in order to select the new size for upcoming calls to FT_Set_Pixel_Sizes, FT_Set_Char_Size, FT_Load_Glyph, FT_Load_Char, etc.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Done_Size

    -
    -Defined in FT_SIZES_H (freetype/ftsizes.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Done_Size( FT_Size  size );
    -
    -

    -
    -

    Discard a given size object. Note that FT_Done_Face automatically discards all size objects allocated with FT_New_Size.

    -

    -
    input
    -

    - - -
    size -

    A handle to a target size object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Activate_Size

    -
    -Defined in FT_SIZES_H (freetype/ftsizes.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Activate_Size( FT_Size  size );
    -
    -

    -
    -

    Even though it is possible to create several size objects for a given face (see FT_New_Size for details), functions like FT_Load_Glyph or FT_Load_Char only use the one which has been activated last to determine the ‘current character pixel size’.

    -

    This function can be used to ‘activate’ a previously created size object.

    -

    -
    input
    -

    - - -
    size -

    A handle to a target size object.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    If ‘face’ is the size's parent face object, this function changes the value of ‘face->size’ to the input size handle.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-system_interface.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-system_interface.html deleted file mode 100644 index d49edf0..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-system_interface.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -System Interface -

    -

    Synopsis

    - - - - - -
    FT_MemoryFT_MemoryRecFT_Stream_CloseFunc
    FT_Alloc_FuncFT_StreamFT_StreamRec
    FT_Free_FuncFT_StreamDesc
    FT_Realloc_FuncFT_Stream_IoFunc


    - -
    -

    This section contains various definitions related to memory management and i/o access. You need to understand this information if you want to use a custom memory manager or you own i/o streams.

    -

    -
    -

    FT_Memory

    -
    -Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

    -
    -
    -  typedef struct FT_MemoryRec_*  FT_Memory;
    -
    -

    -
    -

    A handle to a given memory manager object, defined with an FT_MemoryRec structure.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Alloc_Func

    -
    -Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

    -
    -
    -  typedef void*
    -  (*FT_Alloc_Func)( FT_Memory  memory,
    -                    long       size );
    -
    -

    -
    -

    A function used to allocate ‘size’ bytes from ‘memory’.

    -

    -
    input
    -

    - - - -
    memory -

    A handle to the source memory manager.

    -
    size -

    The size in bytes to allocate.

    -
    -
    -
    return
    -

    Address of new memory block. 0 in case of failure.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Free_Func

    -
    -Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

    -
    -
    -  typedef void
    -  (*FT_Free_Func)( FT_Memory  memory,
    -                   void*      block );
    -
    -

    -
    -

    A function used to release a given block of memory.

    -

    -
    input
    -

    - - - -
    memory -

    A handle to the source memory manager.

    -
    block -

    The address of the target memory block.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Realloc_Func

    -
    -Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

    -
    -
    -  typedef void*
    -  (*FT_Realloc_Func)( FT_Memory  memory,
    -                      long       cur_size,
    -                      long       new_size,
    -                      void*      block );
    -
    -

    -
    -

    A function used to re-allocate a given block of memory.

    -

    -
    input
    -

    - - - - - -
    memory -

    A handle to the source memory manager.

    -
    cur_size -

    The block's current size in bytes.

    -
    new_size -

    The block's requested new size.

    -
    block -

    The block's current address.

    -
    -
    -
    return
    -

    New block address. 0 in case of memory shortage.

    -
    -
    note
    -

    In case of error, the old block must still be available.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_MemoryRec

    -
    -Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

    -
    -
    -  struct  FT_MemoryRec_
    -  {
    -    void*            user;
    -    FT_Alloc_Func    alloc;
    -    FT_Free_Func     free;
    -    FT_Realloc_Func  realloc;
    -  };
    -
    -

    -
    -

    A structure used to describe a given memory manager to FreeType 2.

    -

    -
    fields
    -

    - - - - - -
    user -

    A generic typeless pointer for user data.

    -
    alloc -

    A pointer type to an allocation function.

    -
    free -

    A pointer type to an memory freeing function.

    -
    realloc -

    A pointer type to a reallocation function.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stream

    -
    -Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

    -
    -
    -  typedef struct FT_StreamRec_*  FT_Stream;
    -
    -

    -
    -

    A handle to an input stream.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_StreamDesc

    -
    -Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

    -
    -
    -  typedef union  FT_StreamDesc_
    -  {
    -    long   value;
    -    void*  pointer;
    -
    -  } FT_StreamDesc;
    -
    -

    -
    -

    A union type used to store either a long or a pointer. This is used to store a file descriptor or a ‘FILE*’ in an input stream.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stream_IoFunc

    -
    -Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

    -
    -
    -  typedef unsigned long
    -  (*FT_Stream_IoFunc)( FT_Stream       stream,
    -                       unsigned long   offset,
    -                       unsigned char*  buffer,
    -                       unsigned long   count );
    -
    -

    -
    -

    A function used to seek and read data from a given input stream.

    -

    -
    input
    -

    - - - - - -
    stream -

    A handle to the source stream.

    -
    offset -

    The offset of read in stream (always from start).

    -
    buffer -

    The address of the read buffer.

    -
    count -

    The number of bytes to read from the stream.

    -
    -
    -
    return
    -

    The number of bytes effectively read by the stream.

    -
    -
    note
    -

    This function might be called to perform a seek or skip operation with a ‘count’ of 0. A non-zero return value then indicates an error.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Stream_CloseFunc

    -
    -Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

    -
    -
    -  typedef void
    -  (*FT_Stream_CloseFunc)( FT_Stream  stream );
    -
    -

    -
    -

    A function used to close a given input stream.

    -

    -
    input
    -

    - - -
    stream -

    A handle to the target stream.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_StreamRec

    -
    -Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

    -
    -
    -  typedef struct  FT_StreamRec_
    -  {
    -    unsigned char*       base;
    -    unsigned long        size;
    -    unsigned long        pos;
    -
    -    FT_StreamDesc        descriptor;
    -    FT_StreamDesc        pathname;
    -    FT_Stream_IoFunc     read;
    -    FT_Stream_CloseFunc  close;
    -
    -    FT_Memory            memory;
    -    unsigned char*       cursor;
    -    unsigned char*       limit;
    -
    -  } FT_StreamRec;
    -
    -

    -
    -

    A structure used to describe an input stream.

    -

    -
    input
    -

    - - - - - - - - - - - -
    base -

    For memory-based streams, this is the address of the first stream byte in memory. This field should always be set to NULL for disk-based streams.

    -
    size -

    The stream size in bytes.

    -
    pos -

    The current position within the stream.

    -
    descriptor -

    This field is a union that can hold an integer or a pointer. It is used by stream implementations to store file descriptors or ‘FILE*’ pointers.

    -
    pathname -

    This field is completely ignored by FreeType. However, it is often useful during debugging to use it to store the stream's filename (where available).

    -
    read -

    The stream's input function.

    -
    close -

    The stream's close function.

    -
    memory -

    The memory manager to use to preload frames. This is set internally by FreeType and shouldn't be touched by stream implementations.

    -
    cursor -

    This field is set and used internally by FreeType when parsing frames.

    -
    limit -

    This field is set and used internally by FreeType when parsing frames.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-toc.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-toc.html deleted file mode 100644 index d1da34e..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-toc.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - -
    [Index]
    -

    FreeType-2.4.10 API Reference

    - -

    Table of Contents

    -

    General Remarks

    • - - -
      -User allocation -

      How client applications should allocate FreeType data structures.

      -
      -
    -

    Core API

    -

    Format-Specific API

    -

    Cache Sub-System

    • - - -
      -Cache Sub-System -

      How to cache face, size, and glyph data with FreeType 2.

      -
      -
    -

    Support API

    -

    Miscellaneous

    -

    Global Index

    -
    - - -
    [Index]
    - -
    generated on Fri Jun 15 06:46:49 2012
    - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-truetype_engine.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-truetype_engine.html deleted file mode 100644 index 815b82c..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-truetype_engine.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -The TrueType Engine -

    -

    Synopsis

    - - -
    FT_TrueTypeEngineTypeFT_Get_TrueType_Engine_Type


    - -
    -

    This section contains a function used to query the level of TrueType bytecode support compiled in this version of the library.

    -

    -
    -

    FT_TrueTypeEngineType

    -
    -Defined in FT_MODULE_H (freetype/ftmodapi.h). -

    -
    -
    -  typedef enum  FT_TrueTypeEngineType_
    -  {
    -    FT_TRUETYPE_ENGINE_TYPE_NONE = 0,
    -    FT_TRUETYPE_ENGINE_TYPE_UNPATENTED,
    -    FT_TRUETYPE_ENGINE_TYPE_PATENTED
    -
    -  } FT_TrueTypeEngineType;
    -
    -

    -
    -

    A list of values describing which kind of TrueType bytecode engine is implemented in a given FT_Library instance. It is used by the FT_Get_TrueType_Engine_Type function.

    -

    -
    values
    -

    - - - - - - - -
    FT_TRUETYPE_ENGINE_TYPE_NONE
    -

    The library doesn't implement any kind of bytecode interpreter.

    -
    FT_TRUETYPE_ENGINE_TYPE_UNPATENTED
    -

    The library implements a bytecode interpreter that doesn't support the patented operations of the TrueType virtual machine.

    -

    Its main use is to load certain Asian fonts which position and scale glyph components with bytecode instructions. It produces bad output for most other fonts.

    -
    FT_TRUETYPE_ENGINE_TYPE_PATENTED
    -

    The library implements a bytecode interpreter that covers the full instruction set of the TrueType virtual machine (this was governed by patents until May 2010, hence the name).

    -
    -
    -
    since
    -

    2.2

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_TrueType_Engine_Type

    -
    -Defined in FT_MODULE_H (freetype/ftmodapi.h). -

    -
    -
    -  FT_EXPORT( FT_TrueTypeEngineType )
    -  FT_Get_TrueType_Engine_Type( FT_Library  library );
    -
    -

    -
    -

    Return an FT_TrueTypeEngineType value to indicate which level of the TrueType virtual machine a given library instance supports.

    -

    -
    input
    -

    - - -
    library -

    A library instance.

    -
    -
    -
    return
    -

    A value indicating which level is supported.

    -
    -
    since
    -

    2.2

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-truetype_tables.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-truetype_tables.html deleted file mode 100644 index 79aaf18..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-truetype_tables.html +++ /dev/null @@ -1,1223 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -TrueType Tables -

    -

    Synopsis

    - - - - - - - - - - - -
    TT_PLATFORM_XXXTT_Postscript
    TT_APPLE_ID_XXXTT_PCLT
    TT_MAC_ID_XXXTT_MaxProfile
    TT_ISO_ID_XXXFT_Sfnt_Tag
    TT_MS_ID_XXXFT_Get_Sfnt_Table
    TT_ADOBE_ID_XXXFT_Load_Sfnt_Table
    TT_HeaderFT_Sfnt_Table_Info
    TT_HoriHeaderFT_Get_CMap_Language_ID
    TT_VertHeaderFT_Get_CMap_Format
    TT_OS2FT_PARAM_TAG_UNPATENTED_HINTING


    - -
    -

    This section contains the definition of TrueType-specific tables as well as some routines used to access and process them.

    -

    -
    -

    TT_PLATFORM_XXX

    -
    -Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). -

    -
    -
    -#define TT_PLATFORM_APPLE_UNICODE  0
    -#define TT_PLATFORM_MACINTOSH      1
    -#define TT_PLATFORM_ISO            2 /* deprecated */
    -#define TT_PLATFORM_MICROSOFT      3
    -#define TT_PLATFORM_CUSTOM         4
    -#define TT_PLATFORM_ADOBE          7 /* artificial */
    -
    -

    -
    -

    A list of valid values for the ‘platform_id’ identifier code in FT_CharMapRec and FT_SfntName structures.

    -

    -
    values
    -

    - - - - - - - - -
    TT_PLATFORM_APPLE_UNICODE
    -

    Used by Apple to indicate a Unicode character map and/or name entry. See TT_APPLE_ID_XXX for corresponding ‘encoding_id’ values. Note that name entries in this format are coded as big-endian UCS-2 character codes only.

    -
    TT_PLATFORM_MACINTOSH -

    Used by Apple to indicate a MacOS-specific charmap and/or name entry. See TT_MAC_ID_XXX for corresponding ‘encoding_id’ values. Note that most TrueType fonts contain an Apple roman charmap to be usable on MacOS systems (even if they contain a Microsoft charmap as well).

    -
    TT_PLATFORM_ISO -

    This value was used to specify ISO/IEC 10646 charmaps. It is however now deprecated. See TT_ISO_ID_XXX for a list of corresponding ‘encoding_id’ values.

    -
    TT_PLATFORM_MICROSOFT -

    Used by Microsoft to indicate Windows-specific charmaps. See TT_MS_ID_XXX for a list of corresponding ‘encoding_id’ values. Note that most fonts contain a Unicode charmap using (TT_PLATFORM_MICROSOFT, TT_MS_ID_UNICODE_CS).

    -
    TT_PLATFORM_CUSTOM -

    Used to indicate application-specific charmaps.

    -
    TT_PLATFORM_ADOBE -

    This value isn't part of any font format specification, but is used by FreeType to report Adobe-specific charmaps in an FT_CharMapRec structure. See TT_ADOBE_ID_XXX.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    TT_APPLE_ID_XXX

    -
    -Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). -

    -
    -
    -#define TT_APPLE_ID_DEFAULT           0 /* Unicode 1.0 */
    -#define TT_APPLE_ID_UNICODE_1_1       1 /* specify Hangul at U+34xx */
    -#define TT_APPLE_ID_ISO_10646         2 /* deprecated */
    -#define TT_APPLE_ID_UNICODE_2_0       3 /* or later */
    -#define TT_APPLE_ID_UNICODE_32        4 /* 2.0 or later, full repertoire */
    -#define TT_APPLE_ID_VARIANT_SELECTOR  5 /* variation selector data */
    -
    -

    -
    -

    A list of valid values for the ‘encoding_id’ for TT_PLATFORM_APPLE_UNICODE charmaps and name entries.

    -

    -
    values
    -

    - - - - - - - - - - -
    TT_APPLE_ID_DEFAULT -

    Unicode version 1.0.

    -
    TT_APPLE_ID_UNICODE_1_1
    -

    Unicode 1.1; specifies Hangul characters starting at U+34xx.

    -
    TT_APPLE_ID_ISO_10646 -

    Deprecated (identical to preceding).

    -
    TT_APPLE_ID_UNICODE_2_0
    -

    Unicode 2.0 and beyond (UTF-16 BMP only).

    -
    TT_APPLE_ID_UNICODE_32 -

    Unicode 3.1 and beyond, using UTF-32.

    -
    TT_APPLE_ID_VARIANT_SELECTOR
    -

    From Adobe, not Apple. Not a normal cmap. Specifies variations on a real cmap.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    TT_MAC_ID_XXX

    -
    -Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). -

    -
    -
    -#define TT_MAC_ID_ROMAN                 0
    -#define TT_MAC_ID_JAPANESE              1
    -#define TT_MAC_ID_TRADITIONAL_CHINESE   2
    -#define TT_MAC_ID_KOREAN                3
    -#define TT_MAC_ID_ARABIC                4
    -#define TT_MAC_ID_HEBREW                5
    -#define TT_MAC_ID_GREEK                 6
    -#define TT_MAC_ID_RUSSIAN               7
    -#define TT_MAC_ID_RSYMBOL               8
    -#define TT_MAC_ID_DEVANAGARI            9
    -#define TT_MAC_ID_GURMUKHI             10
    -#define TT_MAC_ID_GUJARATI             11
    -#define TT_MAC_ID_ORIYA                12
    -#define TT_MAC_ID_BENGALI              13
    -#define TT_MAC_ID_TAMIL                14
    -#define TT_MAC_ID_TELUGU               15
    -#define TT_MAC_ID_KANNADA              16
    -#define TT_MAC_ID_MALAYALAM            17
    -#define TT_MAC_ID_SINHALESE            18
    -#define TT_MAC_ID_BURMESE              19
    -#define TT_MAC_ID_KHMER                20
    -#define TT_MAC_ID_THAI                 21
    -#define TT_MAC_ID_LAOTIAN              22
    -#define TT_MAC_ID_GEORGIAN             23
    -#define TT_MAC_ID_ARMENIAN             24
    -#define TT_MAC_ID_MALDIVIAN            25
    -#define TT_MAC_ID_SIMPLIFIED_CHINESE   25
    -#define TT_MAC_ID_TIBETAN              26
    -#define TT_MAC_ID_MONGOLIAN            27
    -#define TT_MAC_ID_GEEZ                 28
    -#define TT_MAC_ID_SLAVIC               29
    -#define TT_MAC_ID_VIETNAMESE           30
    -#define TT_MAC_ID_SINDHI               31
    -#define TT_MAC_ID_UNINTERP             32
    -
    -

    -
    -

    A list of valid values for the ‘encoding_id’ for TT_PLATFORM_MACINTOSH charmaps and name entries.

    -

    -
    values
    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TT_MAC_ID_ROMAN -

    -
    TT_MAC_ID_JAPANESE -

    -
    TT_MAC_ID_TRADITIONAL_CHINESE
    -

    -
    TT_MAC_ID_KOREAN -

    -
    TT_MAC_ID_ARABIC -

    -
    TT_MAC_ID_HEBREW -

    -
    TT_MAC_ID_GREEK -

    -
    TT_MAC_ID_RUSSIAN -

    -
    TT_MAC_ID_RSYMBOL -

    -
    TT_MAC_ID_DEVANAGARI -

    -
    TT_MAC_ID_GURMUKHI -

    -
    TT_MAC_ID_GUJARATI -

    -
    TT_MAC_ID_ORIYA -

    -
    TT_MAC_ID_BENGALI -

    -
    TT_MAC_ID_TAMIL -

    -
    TT_MAC_ID_TELUGU -

    -
    TT_MAC_ID_KANNADA -

    -
    TT_MAC_ID_MALAYALAM -

    -
    TT_MAC_ID_SINHALESE -

    -
    TT_MAC_ID_BURMESE -

    -
    TT_MAC_ID_KHMER -

    -
    TT_MAC_ID_THAI -

    -
    TT_MAC_ID_LAOTIAN -

    -
    TT_MAC_ID_GEORGIAN -

    -
    TT_MAC_ID_ARMENIAN -

    -
    TT_MAC_ID_MALDIVIAN -

    -
    TT_MAC_ID_SIMPLIFIED_CHINESE
    -

    -
    TT_MAC_ID_TIBETAN -

    -
    TT_MAC_ID_MONGOLIAN -

    -
    TT_MAC_ID_GEEZ -

    -
    TT_MAC_ID_SLAVIC -

    -
    TT_MAC_ID_VIETNAMESE -

    -
    TT_MAC_ID_SINDHI -

    -
    TT_MAC_ID_UNINTERP -

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    TT_ISO_ID_XXX

    -
    -Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). -

    -
    -
    -#define TT_ISO_ID_7BIT_ASCII  0
    -#define TT_ISO_ID_10646       1
    -#define TT_ISO_ID_8859_1      2
    -
    -

    -
    -

    A list of valid values for the ‘encoding_id’ for TT_PLATFORM_ISO charmaps and name entries.

    -

    Their use is now deprecated.

    -

    -
    values
    -

    - - - - -
    TT_ISO_ID_7BIT_ASCII -

    ASCII.

    -
    TT_ISO_ID_10646 -

    ISO/10646.

    -
    TT_ISO_ID_8859_1 -

    Also known as Latin-1.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    TT_MS_ID_XXX

    -
    -Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). -

    -
    -
    -#define TT_MS_ID_SYMBOL_CS    0
    -#define TT_MS_ID_UNICODE_CS   1
    -#define TT_MS_ID_SJIS         2
    -#define TT_MS_ID_GB2312       3
    -#define TT_MS_ID_BIG_5        4
    -#define TT_MS_ID_WANSUNG      5
    -#define TT_MS_ID_JOHAB        6
    -#define TT_MS_ID_UCS_4       10
    -
    -

    -
    -

    A list of valid values for the ‘encoding_id’ for TT_PLATFORM_MICROSOFT charmaps and name entries.

    -

    -
    values
    -

    - - - - - - - - - -
    TT_MS_ID_SYMBOL_CS -

    Corresponds to Microsoft symbol encoding. See FT_ENCODING_MS_SYMBOL.

    -
    TT_MS_ID_UNICODE_CS -

    Corresponds to a Microsoft WGL4 charmap, matching Unicode. See FT_ENCODING_UNICODE.

    -
    TT_MS_ID_SJIS -

    Corresponds to SJIS Japanese encoding. See FT_ENCODING_SJIS.

    -
    TT_MS_ID_GB2312 -

    Corresponds to Simplified Chinese as used in Mainland China. See FT_ENCODING_GB2312.

    -
    TT_MS_ID_BIG_5 -

    Corresponds to Traditional Chinese as used in Taiwan and Hong Kong. See FT_ENCODING_BIG5.

    -
    TT_MS_ID_WANSUNG -

    Corresponds to Korean Wansung encoding. See FT_ENCODING_WANSUNG.

    -
    TT_MS_ID_JOHAB -

    Corresponds to Johab encoding. See FT_ENCODING_JOHAB.

    -
    TT_MS_ID_UCS_4 -

    Corresponds to UCS-4 or UTF-32 charmaps. This has been added to the OpenType specification version 1.4 (mid-2001.)

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    TT_ADOBE_ID_XXX

    -
    -Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). -

    -
    -
    -#define TT_ADOBE_ID_STANDARD  0
    -#define TT_ADOBE_ID_EXPERT    1
    -#define TT_ADOBE_ID_CUSTOM    2
    -#define TT_ADOBE_ID_LATIN_1   3
    -
    -

    -
    -

    A list of valid values for the ‘encoding_id’ for TT_PLATFORM_ADOBE charmaps. This is a FreeType-specific extension!

    -

    -
    values
    -

    - - - - - -
    TT_ADOBE_ID_STANDARD -

    Adobe standard encoding.

    -
    TT_ADOBE_ID_EXPERT -

    Adobe expert encoding.

    -
    TT_ADOBE_ID_CUSTOM -

    Adobe custom encoding.

    -
    TT_ADOBE_ID_LATIN_1 -

    Adobe Latin 1 encoding.

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    TT_Header

    -
    -Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

    -
    -
    -  typedef struct  TT_Header_
    -  {
    -    FT_Fixed   Table_Version;
    -    FT_Fixed   Font_Revision;
    -
    -    FT_Long    CheckSum_Adjust;
    -    FT_Long    Magic_Number;
    -
    -    FT_UShort  Flags;
    -    FT_UShort  Units_Per_EM;
    -
    -    FT_Long    Created [2];
    -    FT_Long    Modified[2];
    -
    -    FT_Short   xMin;
    -    FT_Short   yMin;
    -    FT_Short   xMax;
    -    FT_Short   yMax;
    -
    -    FT_UShort  Mac_Style;
    -    FT_UShort  Lowest_Rec_PPEM;
    -
    -    FT_Short   Font_Direction;
    -    FT_Short   Index_To_Loc_Format;
    -    FT_Short   Glyph_Data_Format;
    -
    -  } TT_Header;
    -
    -

    -
    -

    A structure used to model a TrueType font header table. All fields follow the TrueType specification.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    TT_HoriHeader

    -
    -Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

    -
    -
    -  typedef struct  TT_HoriHeader_
    -  {
    -    FT_Fixed   Version;
    -    FT_Short   Ascender;
    -    FT_Short   Descender;
    -    FT_Short   Line_Gap;
    -
    -    FT_UShort  advance_Width_Max;      /* advance width maximum */
    -
    -    FT_Short   min_Left_Side_Bearing;  /* minimum left-sb       */
    -    FT_Short   min_Right_Side_Bearing; /* minimum right-sb      */
    -    FT_Short   xMax_Extent;            /* xmax extents          */
    -    FT_Short   caret_Slope_Rise;
    -    FT_Short   caret_Slope_Run;
    -    FT_Short   caret_Offset;
    -
    -    FT_Short   Reserved[4];
    -
    -    FT_Short   metric_Data_Format;
    -    FT_UShort  number_Of_HMetrics;
    -
    -    /* The following fields are not defined by the TrueType specification */
    -    /* but they are used to connect the metrics header to the relevant    */
    -    /* `HMTX' table.                                                      */
    -
    -    void*      long_metrics;
    -    void*      short_metrics;
    -
    -  } TT_HoriHeader;
    -
    -

    -
    -

    A structure used to model a TrueType horizontal header, the ‘hhea’ table, as well as the corresponding horizontal metrics table, i.e., the ‘hmtx’ table.

    -

    -
    fields
    -

    - - - - - - - - - - - - - - - - -
    Version -

    The table version.

    -
    Ascender -

    The font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in the font.

    -

    This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).

    -

    You should use the ‘sTypoAscender’ field of the OS/2 table instead if you want the correct one.

    -
    Descender -

    The font's descender, i.e., the distance from the baseline to the bottom-most of all glyph points found in the font. It is negative.

    -

    This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).

    -

    You should use the ‘sTypoDescender’ field of the OS/2 table instead if you want the correct one.

    -
    Line_Gap -

    The font's line gap, i.e., the distance to add to the ascender and descender to get the BTB, i.e., the baseline-to-baseline distance for the font.

    -
    advance_Width_Max -

    This field is the maximum of all advance widths found in the font. It can be used to compute the maximum width of an arbitrary string of text.

    -
    min_Left_Side_Bearing -

    The minimum left side bearing of all glyphs within the font.

    -
    min_Right_Side_Bearing -

    The minimum right side bearing of all glyphs within the font.

    -
    xMax_Extent -

    The maximum horizontal extent (i.e., the ‘width’ of a glyph's bounding box) for all glyphs in the font.

    -
    caret_Slope_Rise -

    The rise coefficient of the cursor's slope of the cursor (slope=rise/run).

    -
    caret_Slope_Run -

    The run coefficient of the cursor's slope.

    -
    Reserved -

    8 reserved bytes.

    -
    metric_Data_Format -

    Always 0.

    -
    number_Of_HMetrics -

    Number of HMetrics entries in the ‘hmtx’ table -- this value can be smaller than the total number of glyphs in the font.

    -
    long_metrics -

    A pointer into the ‘hmtx’ table.

    -
    short_metrics -

    A pointer into the ‘hmtx’ table.

    -
    -
    -
    note
    -

    IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should be identical except for the names of their fields which are different.

    -

    This ensures that a single function in the ‘ttload’ module is able to read both the horizontal and vertical headers.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    TT_VertHeader

    -
    -Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

    -
    -
    -  typedef struct  TT_VertHeader_
    -  {
    -    FT_Fixed   Version;
    -    FT_Short   Ascender;
    -    FT_Short   Descender;
    -    FT_Short   Line_Gap;
    -
    -    FT_UShort  advance_Height_Max;      /* advance height maximum */
    -
    -    FT_Short   min_Top_Side_Bearing;    /* minimum left-sb or top-sb       */
    -    FT_Short   min_Bottom_Side_Bearing; /* minimum right-sb or bottom-sb   */
    -    FT_Short   yMax_Extent;             /* xmax or ymax extents            */
    -    FT_Short   caret_Slope_Rise;
    -    FT_Short   caret_Slope_Run;
    -    FT_Short   caret_Offset;
    -
    -    FT_Short   Reserved[4];
    -
    -    FT_Short   metric_Data_Format;
    -    FT_UShort  number_Of_VMetrics;
    -
    -    /* The following fields are not defined by the TrueType specification */
    -    /* but they're used to connect the metrics header to the relevant     */
    -    /* `HMTX' or `VMTX' table.                                            */
    -
    -    void*      long_metrics;
    -    void*      short_metrics;
    -
    -  } TT_VertHeader;
    -
    -

    -
    -

    A structure used to model a TrueType vertical header, the ‘vhea’ table, as well as the corresponding vertical metrics table, i.e., the ‘vmtx’ table.

    -

    -
    fields
    -

    - - - - - - - - - - - - - - - - - - -
    Version -

    The table version.

    -
    Ascender -

    The font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in the font.

    -

    This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).

    -

    You should use the ‘sTypoAscender’ field of the OS/2 table instead if you want the correct one.

    -
    Descender -

    The font's descender, i.e., the distance from the baseline to the bottom-most of all glyph points found in the font. It is negative.

    -

    This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).

    -

    You should use the ‘sTypoDescender’ field of the OS/2 table instead if you want the correct one.

    -
    Line_Gap -

    The font's line gap, i.e., the distance to add to the ascender and descender to get the BTB, i.e., the baseline-to-baseline distance for the font.

    -
    advance_Height_Max -

    This field is the maximum of all advance heights found in the font. It can be used to compute the maximum height of an arbitrary string of text.

    -
    min_Top_Side_Bearing -

    The minimum top side bearing of all glyphs within the font.

    -
    min_Bottom_Side_Bearing
    -

    The minimum bottom side bearing of all glyphs within the font.

    -
    yMax_Extent -

    The maximum vertical extent (i.e., the ‘height’ of a glyph's bounding box) for all glyphs in the font.

    -
    caret_Slope_Rise -

    The rise coefficient of the cursor's slope of the cursor (slope=rise/run).

    -
    caret_Slope_Run -

    The run coefficient of the cursor's slope.

    -
    caret_Offset -

    The cursor's offset for slanted fonts. This value is ‘reserved’ in vmtx version 1.0.

    -
    Reserved -

    8 reserved bytes.

    -
    metric_Data_Format -

    Always 0.

    -
    number_Of_HMetrics -

    Number of VMetrics entries in the ‘vmtx’ table -- this value can be smaller than the total number of glyphs in the font.

    -
    long_metrics -

    A pointer into the ‘vmtx’ table.

    -
    short_metrics -

    A pointer into the ‘vmtx’ table.

    -
    -
    -
    note
    -

    IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should be identical except for the names of their fields which are different.

    -

    This ensures that a single function in the ‘ttload’ module is able to read both the horizontal and vertical headers.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    TT_OS2

    -
    -Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

    -
    -
    -  typedef struct  TT_OS2_
    -  {
    -    FT_UShort  version;                /* 0x0001 - more or 0xFFFF */
    -    FT_Short   xAvgCharWidth;
    -    FT_UShort  usWeightClass;
    -    FT_UShort  usWidthClass;
    -    FT_Short   fsType;
    -    FT_Short   ySubscriptXSize;
    -    FT_Short   ySubscriptYSize;
    -    FT_Short   ySubscriptXOffset;
    -    FT_Short   ySubscriptYOffset;
    -    FT_Short   ySuperscriptXSize;
    -    FT_Short   ySuperscriptYSize;
    -    FT_Short   ySuperscriptXOffset;
    -    FT_Short   ySuperscriptYOffset;
    -    FT_Short   yStrikeoutSize;
    -    FT_Short   yStrikeoutPosition;
    -    FT_Short   sFamilyClass;
    -
    -    FT_Byte    panose[10];
    -
    -    FT_ULong   ulUnicodeRange1;        /* Bits 0-31   */
    -    FT_ULong   ulUnicodeRange2;        /* Bits 32-63  */
    -    FT_ULong   ulUnicodeRange3;        /* Bits 64-95  */
    -    FT_ULong   ulUnicodeRange4;        /* Bits 96-127 */
    -
    -    FT_Char    achVendID[4];
    -
    -    FT_UShort  fsSelection;
    -    FT_UShort  usFirstCharIndex;
    -    FT_UShort  usLastCharIndex;
    -    FT_Short   sTypoAscender;
    -    FT_Short   sTypoDescender;
    -    FT_Short   sTypoLineGap;
    -    FT_UShort  usWinAscent;
    -    FT_UShort  usWinDescent;
    -
    -    /* only version 1 tables: */
    -
    -    FT_ULong   ulCodePageRange1;       /* Bits 0-31   */
    -    FT_ULong   ulCodePageRange2;       /* Bits 32-63  */
    -
    -    /* only version 2 tables: */
    -
    -    FT_Short   sxHeight;
    -    FT_Short   sCapHeight;
    -    FT_UShort  usDefaultChar;
    -    FT_UShort  usBreakChar;
    -    FT_UShort  usMaxContext;
    -
    -  } TT_OS2;
    -
    -

    -
    -

    A structure used to model a TrueType OS/2 table. This is the long table version. All fields comply to the TrueType specification.

    -

    Note that we now support old Mac fonts which do not include an OS/2 table. In this case, the ‘version’ field is always set to 0xFFFF.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    TT_Postscript

    -
    -Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

    -
    -
    -  typedef struct  TT_Postscript_
    -  {
    -    FT_Fixed  FormatType;
    -    FT_Fixed  italicAngle;
    -    FT_Short  underlinePosition;
    -    FT_Short  underlineThickness;
    -    FT_ULong  isFixedPitch;
    -    FT_ULong  minMemType42;
    -    FT_ULong  maxMemType42;
    -    FT_ULong  minMemType1;
    -    FT_ULong  maxMemType1;
    -
    -    /* Glyph names follow in the file, but we don't   */
    -    /* load them by default.  See the ttpost.c file.  */
    -
    -  } TT_Postscript;
    -
    -

    -
    -

    A structure used to model a TrueType PostScript table. All fields comply to the TrueType specification. This structure does not reference the PostScript glyph names, which can be nevertheless accessed with the ‘ttpost’ module.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    TT_PCLT

    -
    -Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

    -
    -
    -  typedef struct  TT_PCLT_
    -  {
    -    FT_Fixed   Version;
    -    FT_ULong   FontNumber;
    -    FT_UShort  Pitch;
    -    FT_UShort  xHeight;
    -    FT_UShort  Style;
    -    FT_UShort  TypeFamily;
    -    FT_UShort  CapHeight;
    -    FT_UShort  SymbolSet;
    -    FT_Char    TypeFace[16];
    -    FT_Char    CharacterComplement[8];
    -    FT_Char    FileName[6];
    -    FT_Char    StrokeWeight;
    -    FT_Char    WidthType;
    -    FT_Byte    SerifStyle;
    -    FT_Byte    Reserved;
    -
    -  } TT_PCLT;
    -
    -

    -
    -

    A structure used to model a TrueType PCLT table. All fields comply to the TrueType specification.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    TT_MaxProfile

    -
    -Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

    -
    -
    -  typedef struct  TT_MaxProfile_
    -  {
    -    FT_Fixed   version;
    -    FT_UShort  numGlyphs;
    -    FT_UShort  maxPoints;
    -    FT_UShort  maxContours;
    -    FT_UShort  maxCompositePoints;
    -    FT_UShort  maxCompositeContours;
    -    FT_UShort  maxZones;
    -    FT_UShort  maxTwilightPoints;
    -    FT_UShort  maxStorage;
    -    FT_UShort  maxFunctionDefs;
    -    FT_UShort  maxInstructionDefs;
    -    FT_UShort  maxStackElements;
    -    FT_UShort  maxSizeOfInstructions;
    -    FT_UShort  maxComponentElements;
    -    FT_UShort  maxComponentDepth;
    -
    -  } TT_MaxProfile;
    -
    -

    -
    -

    The maximum profile is a table containing many max values which can be used to pre-allocate arrays. This ensures that no memory allocation occurs during a glyph load.

    -

    -
    fields
    -

    - - - - - - - - - - - - - - - - -
    version -

    The version number.

    -
    numGlyphs -

    The number of glyphs in this TrueType font.

    -
    maxPoints -

    The maximum number of points in a non-composite TrueType glyph. See also the structure element ‘maxCompositePoints’.

    -
    maxContours -

    The maximum number of contours in a non-composite TrueType glyph. See also the structure element ‘maxCompositeContours’.

    -
    maxCompositePoints -

    The maximum number of points in a composite TrueType glyph. See also the structure element ‘maxPoints’.

    -
    maxCompositeContours -

    The maximum number of contours in a composite TrueType glyph. See also the structure element ‘maxContours’.

    -
    maxZones -

    The maximum number of zones used for glyph hinting.

    -
    maxTwilightPoints -

    The maximum number of points in the twilight zone used for glyph hinting.

    -
    maxStorage -

    The maximum number of elements in the storage area used for glyph hinting.

    -
    maxFunctionDefs -

    The maximum number of function definitions in the TrueType bytecode for this font.

    -
    maxInstructionDefs -

    The maximum number of instruction definitions in the TrueType bytecode for this font.

    -
    maxStackElements -

    The maximum number of stack elements used during bytecode interpretation.

    -
    maxSizeOfInstructions -

    The maximum number of TrueType opcodes used for glyph hinting.

    -
    maxComponentElements -

    The maximum number of simple (i.e., non- composite) glyphs in a composite glyph.

    -
    maxComponentDepth -

    The maximum nesting depth of composite glyphs.

    -
    -
    -
    note
    -

    This structure is only used during font loading.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Sfnt_Tag

    -
    -Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

    -
    -
    -  typedef enum  FT_Sfnt_Tag_
    -  {
    -    ft_sfnt_head = 0,    /* TT_Header     */
    -    ft_sfnt_maxp = 1,    /* TT_MaxProfile */
    -    ft_sfnt_os2  = 2,    /* TT_OS2        */
    -    ft_sfnt_hhea = 3,    /* TT_HoriHeader */
    -    ft_sfnt_vhea = 4,    /* TT_VertHeader */
    -    ft_sfnt_post = 5,    /* TT_Postscript */
    -    ft_sfnt_pclt = 6,    /* TT_PCLT       */
    -
    -    sfnt_max   /* internal end mark */
    -
    -  } FT_Sfnt_Tag;
    -
    -

    -
    -

    An enumeration used to specify the index of an SFNT table. Used in the FT_Get_Sfnt_Table API function.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_Sfnt_Table

    -
    -Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

    -
    -
    -  FT_EXPORT( void* )
    -  FT_Get_Sfnt_Table( FT_Face      face,
    -                     FT_Sfnt_Tag  tag );
    -
    -

    -
    -

    Return a pointer to a given SFNT table within a face.

    -

    -
    input
    -

    - - - -
    face -

    A handle to the source.

    -
    tag -

    The index of the SFNT table.

    -
    -
    -
    return
    -

    A type-less pointer to the table. This will be 0 in case of error, or if the corresponding table was not found OR loaded from the file.

    -

    Use a typecast according to ‘tag’ to access the structure elements.

    -
    -
    note
    -

    The table is owned by the face object and disappears with it.

    -

    This function is only useful to access SFNT tables that are loaded by the sfnt, truetype, and opentype drivers. See FT_Sfnt_Tag for a list.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Load_Sfnt_Table

    -
    -Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Load_Sfnt_Table( FT_Face    face,
    -                      FT_ULong   tag,
    -                      FT_Long    offset,
    -                      FT_Byte*   buffer,
    -                      FT_ULong*  length );
    -
    -

    -
    -

    Load any font table into client memory.

    -

    -
    input
    -

    - - - - -
    face -

    A handle to the source face.

    -
    tag -

    The four-byte tag of the table to load. Use the value 0 if you want to access the whole font file. Otherwise, you can use one of the definitions found in the FT_TRUETYPE_TAGS_H file, or forge a new one with FT_MAKE_TAG.

    -
    offset -

    The starting offset in the table (or file if tag == 0).

    -
    -
    -
    output
    -

    - - -
    buffer -

    The target buffer address. The client must ensure that the memory array is big enough to hold the data.

    -
    -
    -
    inout
    -

    - - -
    length -

    If the ‘length’ parameter is NULL, then try to load the whole table. Return an error code if it fails.

    -

    Else, if ‘*length’ is 0, exit immediately while returning the table's (or file) full size in it.

    -

    Else the number of bytes to read from the table or file, from the starting offset.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    If you need to determine the table's length you should first call this function with ‘*length’ set to 0, as in the following example:

    -
    -  FT_ULong  length = 0;
    -
    -
    -  error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &length );
    -  if ( error ) { ... table does not exist ... }
    -
    -  buffer = malloc( length );
    -  if ( buffer == NULL ) { ... not enough memory ... }
    -
    -  error = FT_Load_Sfnt_Table( face, tag, 0, buffer, &length );
    -  if ( error ) { ... could not load table ... }
    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Sfnt_Table_Info

    -
    -Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Sfnt_Table_Info( FT_Face    face,
    -                      FT_UInt    table_index,
    -                      FT_ULong  *tag,
    -                      FT_ULong  *length );
    -
    -

    -
    -

    Return information on an SFNT table.

    -

    -
    input
    -

    - - - -
    face -

    A handle to the source face.

    -
    table_index -

    The index of an SFNT table. The function returns FT_Err_Table_Missing for an invalid value.

    -
    -
    -
    inout
    -

    - - -
    tag -

    The name tag of the SFNT table. If the value is NULL, ‘table_index’ is ignored, and ‘length’ returns the number of SFNT tables in the font.

    -
    -
    -
    output
    -

    - - -
    length -

    The length of the SFNT table (or the number of SFNT tables, depending on ‘tag’).

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    While parsing fonts, FreeType handles SFNT tables with length zero as missing.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_CMap_Language_ID

    -
    -Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

    -
    -
    -  FT_EXPORT( FT_ULong )
    -  FT_Get_CMap_Language_ID( FT_CharMap  charmap );
    -
    -

    -
    -

    Return TrueType/sfnt specific cmap language ID. Definitions of language ID values are in ‘freetype/ttnameid.h’.

    -

    -
    input
    -

    - - -
    charmap -

    The target charmap.

    -
    -
    -
    return
    -

    The language ID of ‘charmap’. If ‘charmap’ doesn't belong to a TrueType/sfnt face, just return 0 as the default value.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_CMap_Format

    -
    -Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

    -
    -
    -  FT_EXPORT( FT_Long )
    -  FT_Get_CMap_Format( FT_CharMap  charmap );
    -
    -

    -
    -

    Return TrueType/sfnt specific cmap format.

    -

    -
    input
    -

    - - -
    charmap -

    The target charmap.

    -
    -
    -
    return
    -

    The format of ‘charmap’. If ‘charmap’ doesn't belong to a TrueType/sfnt face, return -1.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_PARAM_TAG_UNPATENTED_HINTING

    -
    -Defined in FT_UNPATENTED_HINTING_H (freetype/ttunpat.h). -

    -
    -
    -#define FT_PARAM_TAG_UNPATENTED_HINTING  FT_MAKE_TAG( 'u', 'n', 'p', 'a' )
    -
    -

    -
    -

    A constant used as the tag of an FT_Parameter structure to indicate that unpatented methods only should be used by the TrueType bytecode interpreter for a typeface opened by FT_Open_Face.

    -

    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-type1_tables.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-type1_tables.html deleted file mode 100644 index f103b6d..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-type1_tables.html +++ /dev/null @@ -1,689 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Type 1 Tables -

    -

    Synopsis

    - - - - - - - -
    PS_FontInfoRecT1_Blend_FlagsFT_Has_PS_Glyph_Names
    PS_FontInfoCID_FaceDictRecFT_Get_PS_Font_Info
    T1_FontInfoCID_FaceDictFT_Get_PS_Font_Private
    PS_PrivateRecCID_FaceInfoRecT1_EncodingType
    PS_PrivateCID_FaceInfoPS_Dict_Keys
    T1_PrivateCID_InfoFT_Get_PS_Font_Value


    - -
    -

    This section contains the definition of Type 1-specific tables, including structures related to other PostScript font formats.

    -

    -
    -

    PS_FontInfoRec

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  typedef struct  PS_FontInfoRec_
    -  {
    -    FT_String*  version;
    -    FT_String*  notice;
    -    FT_String*  full_name;
    -    FT_String*  family_name;
    -    FT_String*  weight;
    -    FT_Long     italic_angle;
    -    FT_Bool     is_fixed_pitch;
    -    FT_Short    underline_position;
    -    FT_UShort   underline_thickness;
    -
    -  } PS_FontInfoRec;
    -
    -

    -
    -

    A structure used to model a Type 1 or Type 2 FontInfo dictionary. Note that for Multiple Master fonts, each instance has its own FontInfo dictionary.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    PS_FontInfo

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  typedef struct PS_FontInfoRec_*  PS_FontInfo;
    -
    -

    -
    -

    A handle to a PS_FontInfoRec structure.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    T1_FontInfo

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  typedef PS_FontInfoRec  T1_FontInfo;
    -
    -

    -
    -

    This type is equivalent to PS_FontInfoRec. It is deprecated but kept to maintain source compatibility between various versions of FreeType.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    PS_PrivateRec

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  typedef struct  PS_PrivateRec_
    -  {
    -    FT_Int     unique_id;
    -    FT_Int     lenIV;
    -
    -    FT_Byte    num_blue_values;
    -    FT_Byte    num_other_blues;
    -    FT_Byte    num_family_blues;
    -    FT_Byte    num_family_other_blues;
    -
    -    FT_Short   blue_values[14];
    -    FT_Short   other_blues[10];
    -
    -    FT_Short   family_blues      [14];
    -    FT_Short   family_other_blues[10];
    -
    -    FT_Fixed   blue_scale;
    -    FT_Int     blue_shift;
    -    FT_Int     blue_fuzz;
    -
    -    FT_UShort  standard_width[1];
    -    FT_UShort  standard_height[1];
    -
    -    FT_Byte    num_snap_widths;
    -    FT_Byte    num_snap_heights;
    -    FT_Bool    force_bold;
    -    FT_Bool    round_stem_up;
    -
    -    FT_Short   snap_widths [13];  /* including std width  */
    -    FT_Short   snap_heights[13];  /* including std height */
    -
    -    FT_Fixed   expansion_factor;
    -
    -    FT_Long    language_group;
    -    FT_Long    password;
    -
    -    FT_Short   min_feature[2];
    -
    -  } PS_PrivateRec;
    -
    -

    -
    -

    A structure used to model a Type 1 or Type 2 private dictionary. Note that for Multiple Master fonts, each instance has its own Private dictionary.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    PS_Private

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  typedef struct PS_PrivateRec_*  PS_Private;
    -
    -

    -
    -

    A handle to a PS_PrivateRec structure.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    T1_Private

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  typedef PS_PrivateRec  T1_Private;
    -
    -

    -
    -

    This type is equivalent to PS_PrivateRec. It is deprecated but kept to maintain source compatibility between various versions of FreeType.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    T1_Blend_Flags

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  typedef enum  T1_Blend_Flags_
    -  {
    -    /*# required fields in a FontInfo blend dictionary */
    -    T1_BLEND_UNDERLINE_POSITION = 0,
    -    T1_BLEND_UNDERLINE_THICKNESS,
    -    T1_BLEND_ITALIC_ANGLE,
    -
    -    /*# required fields in a Private blend dictionary */
    -    T1_BLEND_BLUE_VALUES,
    -    T1_BLEND_OTHER_BLUES,
    -    T1_BLEND_STANDARD_WIDTH,
    -    T1_BLEND_STANDARD_HEIGHT,
    -    T1_BLEND_STEM_SNAP_WIDTHS,
    -    T1_BLEND_STEM_SNAP_HEIGHTS,
    -    T1_BLEND_BLUE_SCALE,
    -    T1_BLEND_BLUE_SHIFT,
    -    T1_BLEND_FAMILY_BLUES,
    -    T1_BLEND_FAMILY_OTHER_BLUES,
    -    T1_BLEND_FORCE_BOLD,
    -
    -    /*# never remove */
    -    T1_BLEND_MAX
    -
    -  } T1_Blend_Flags;
    -
    -

    -
    -

    A set of flags used to indicate which fields are present in a given blend dictionary (font info or private). Used to support Multiple Masters fonts.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    CID_FaceDictRec

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  typedef struct  CID_FaceDictRec_
    -  {
    -    PS_PrivateRec  private_dict;
    -
    -    FT_UInt        len_buildchar;
    -    FT_Fixed       forcebold_threshold;
    -    FT_Pos         stroke_width;
    -    FT_Fixed       expansion_factor;
    -
    -    FT_Byte        paint_type;
    -    FT_Byte        font_type;
    -    FT_Matrix      font_matrix;
    -    FT_Vector      font_offset;
    -
    -    FT_UInt        num_subrs;
    -    FT_ULong       subrmap_offset;
    -    FT_Int         sd_bytes;
    -
    -  } CID_FaceDictRec;
    -
    -

    -
    -

    A structure used to represent data in a CID top-level dictionary.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    CID_FaceDict

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  typedef struct CID_FaceDictRec_*  CID_FaceDict;
    -
    -

    -
    -

    A handle to a CID_FaceDictRec structure.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    CID_FaceInfoRec

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  typedef struct  CID_FaceInfoRec_
    -  {
    -    FT_String*      cid_font_name;
    -    FT_Fixed        cid_version;
    -    FT_Int          cid_font_type;
    -
    -    FT_String*      registry;
    -    FT_String*      ordering;
    -    FT_Int          supplement;
    -
    -    PS_FontInfoRec  font_info;
    -    FT_BBox         font_bbox;
    -    FT_ULong        uid_base;
    -
    -    FT_Int          num_xuid;
    -    FT_ULong        xuid[16];
    -
    -    FT_ULong        cidmap_offset;
    -    FT_Int          fd_bytes;
    -    FT_Int          gd_bytes;
    -    FT_ULong        cid_count;
    -
    -    FT_Int          num_dicts;
    -    CID_FaceDict    font_dicts;
    -
    -    FT_ULong        data_offset;
    -
    -  } CID_FaceInfoRec;
    -
    -

    -
    -

    A structure used to represent CID Face information.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    CID_FaceInfo

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  typedef struct CID_FaceInfoRec_*  CID_FaceInfo;
    -
    -

    -
    -

    A handle to a CID_FaceInfoRec structure.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    CID_Info

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  typedef CID_FaceInfoRec  CID_Info;
    -
    -

    -
    -

    This type is equivalent to CID_FaceInfoRec. It is deprecated but kept to maintain source compatibility between various versions of FreeType.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Has_PS_Glyph_Names

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  FT_EXPORT( FT_Int )
    -  FT_Has_PS_Glyph_Names( FT_Face  face );
    -
    -

    -
    -

    Return true if a given face provides reliable PostScript glyph names. This is similar to using the FT_HAS_GLYPH_NAMES macro, except that certain fonts (mostly TrueType) contain incorrect glyph name tables.

    -

    When this function returns true, the caller is sure that the glyph names returned by FT_Get_Glyph_Name are reliable.

    -

    -
    input
    -

    - - -
    face -

    face handle

    -
    -
    -
    return
    -

    Boolean. True if glyph names are reliable.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_PS_Font_Info

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_PS_Font_Info( FT_Face      face,
    -                       PS_FontInfo  afont_info );
    -
    -

    -
    -

    Retrieve the PS_FontInfoRec structure corresponding to a given PostScript font.

    -

    -
    input
    -

    - - -
    face -

    PostScript face handle.

    -
    -
    -
    output
    -

    - - -
    afont_info -

    Output font info structure pointer.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The string pointers within the font info structure are owned by the face and don't need to be freed by the caller.

    -

    If the font's format is not PostScript-based, this function will return the ‘FT_Err_Invalid_Argument’ error code.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_PS_Font_Private

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_PS_Font_Private( FT_Face     face,
    -                          PS_Private  afont_private );
    -
    -

    -
    -

    Retrieve the PS_PrivateRec structure corresponding to a given PostScript font.

    -

    -
    input
    -

    - - -
    face -

    PostScript face handle.

    -
    -
    -
    output
    -

    - - -
    afont_private -

    Output private dictionary structure pointer.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    The string pointers within the PS_PrivateRec structure are owned by the face and don't need to be freed by the caller.

    -

    If the font's format is not PostScript-based, this function returns the ‘FT_Err_Invalid_Argument’ error code.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    T1_EncodingType

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  typedef enum  T1_EncodingType_
    -  {
    -    T1_ENCODING_TYPE_NONE = 0,
    -    T1_ENCODING_TYPE_ARRAY,
    -    T1_ENCODING_TYPE_STANDARD,
    -    T1_ENCODING_TYPE_ISOLATIN1,
    -    T1_ENCODING_TYPE_EXPERT
    -
    -  } T1_EncodingType;
    -
    -

    -
    -

    An enumeration describing the ‘Encoding’ entry in a Type 1 dictionary.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    PS_Dict_Keys

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  typedef enum  PS_Dict_Keys_
    -  {
    -    /* conventionally in the font dictionary */
    -    PS_DICT_FONT_TYPE,              /* FT_Byte         */
    -    PS_DICT_FONT_MATRIX,            /* FT_Fixed        */
    -    PS_DICT_FONT_BBOX,              /* FT_Fixed        */
    -    PS_DICT_PAINT_TYPE,             /* FT_Byte         */
    -    PS_DICT_FONT_NAME,              /* FT_String*      */
    -    PS_DICT_UNIQUE_ID,              /* FT_Int          */
    -    PS_DICT_NUM_CHAR_STRINGS,       /* FT_Int          */
    -    PS_DICT_CHAR_STRING_KEY,        /* FT_String*      */
    -    PS_DICT_CHAR_STRING,            /* FT_String*      */
    -    PS_DICT_ENCODING_TYPE,          /* T1_EncodingType */
    -    PS_DICT_ENCODING_ENTRY,         /* FT_String*      */
    -
    -    /* conventionally in the font Private dictionary */
    -    PS_DICT_NUM_SUBRS,              /* FT_Int     */
    -    PS_DICT_SUBR,                   /* FT_String* */
    -    PS_DICT_STD_HW,                 /* FT_UShort  */
    -    PS_DICT_STD_VW,                 /* FT_UShort  */
    -    PS_DICT_NUM_BLUE_VALUES,        /* FT_Byte    */
    -    PS_DICT_BLUE_VALUE,             /* FT_Short   */
    -    PS_DICT_BLUE_FUZZ,              /* FT_Int     */
    -    PS_DICT_NUM_OTHER_BLUES,        /* FT_Byte    */
    -    PS_DICT_OTHER_BLUE,             /* FT_Short   */
    -    PS_DICT_NUM_FAMILY_BLUES,       /* FT_Byte    */
    -    PS_DICT_FAMILY_BLUE,            /* FT_Short   */
    -    PS_DICT_NUM_FAMILY_OTHER_BLUES, /* FT_Byte    */
    -    PS_DICT_FAMILY_OTHER_BLUE,      /* FT_Short   */
    -    PS_DICT_BLUE_SCALE,             /* FT_Fixed   */
    -    PS_DICT_BLUE_SHIFT,             /* FT_Int     */
    -    PS_DICT_NUM_STEM_SNAP_H,        /* FT_Byte    */
    -    PS_DICT_STEM_SNAP_H,            /* FT_Short   */
    -    PS_DICT_NUM_STEM_SNAP_V,        /* FT_Byte    */
    -    PS_DICT_STEM_SNAP_V,            /* FT_Short   */
    -    PS_DICT_FORCE_BOLD,             /* FT_Bool    */
    -    PS_DICT_RND_STEM_UP,            /* FT_Bool    */
    -    PS_DICT_MIN_FEATURE,            /* FT_Short   */
    -    PS_DICT_LEN_IV,                 /* FT_Int     */
    -    PS_DICT_PASSWORD,               /* FT_Long    */
    -    PS_DICT_LANGUAGE_GROUP,         /* FT_Long    */
    -
    -    /* conventionally in the font FontInfo dictionary */
    -    PS_DICT_VERSION,                /* FT_String* */
    -    PS_DICT_NOTICE,                 /* FT_String* */
    -    PS_DICT_FULL_NAME,              /* FT_String* */
    -    PS_DICT_FAMILY_NAME,            /* FT_String* */
    -    PS_DICT_WEIGHT,                 /* FT_String* */
    -    PS_DICT_IS_FIXED_PITCH,         /* FT_Bool    */
    -    PS_DICT_UNDERLINE_POSITION,     /* FT_Short   */
    -    PS_DICT_UNDERLINE_THICKNESS,    /* FT_UShort  */
    -    PS_DICT_FS_TYPE,                /* FT_UShort  */
    -    PS_DICT_ITALIC_ANGLE,           /* FT_Long    */
    -
    -    PS_DICT_MAX = PS_DICT_ITALIC_ANGLE
    -
    -  } PS_Dict_Keys;
    -
    -

    -
    -

    An enumeration used in calls to FT_Get_PS_Font_Value to identify the Type 1 dictionary entry to retrieve.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_PS_Font_Value

    -
    -Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

    -
    -
    -  FT_EXPORT( FT_Long )
    -  FT_Get_PS_Font_Value( FT_Face       face,
    -                        PS_Dict_Keys  key,
    -                        FT_UInt       idx,
    -                        void         *value,
    -                        FT_Long       value_len );
    -
    -

    -
    -

    Retrieve the value for the supplied key from a PostScript font.

    -

    -
    input
    -

    - - - - - - -
    face -

    PostScript face handle.

    -
    key -

    An enumeration value representing the dictionary key to retrieve.

    -
    idx -

    For array values, this specifies the index to be returned.

    -
    value -

    A pointer to memory into which to write the value.

    -
    valen_len -

    The size, in bytes, of the memory supplied for the value.

    -
    -
    -
    output
    -

    - - -
    value -

    The value matching the above key, if it exists.

    -
    -
    -
    return
    -

    The amount of memory (in bytes) required to hold the requested value (if it exists, -1 otherwise).

    -
    -
    note
    -

    The values returned are not pointers into the internal structures of the face, but are ‘fresh’ copies, so that the memory containing them belongs to the calling application. This also enforces the ‘read-only’ nature of these values, i.e., this function cannot be used to manipulate the face.

    -

    ‘value’ is a void pointer because the values returned can be of various types.

    -

    If either ‘value’ is NULL or ‘value_len’ is too small, just the required memory size for the requested entry is returned.

    -

    The ‘idx’ parameter is used, not only to retrieve elements of, for example, the FontMatrix or FontBBox, but also to retrieve name keys from the CharStrings dictionary, and the charstrings themselves. It is ignored for atomic values.

    -

    PS_DICT_BLUE_SCALE returns a value that is scaled up by 1000. To get the value as in the font stream, you need to divide by 65536000.0 (to remove the FT_Fixed scale, and the x1000 scale).

    -

    IMPORTANT: Only key/value pairs read by the FreeType interpreter can be retrieved. So, for example, PostScript procedures such as NP, ND, and RD are not available. Arbitrary keys are, obviously, not be available either.

    -

    If the font's format is not PostScript-based, this function returns the ‘FT_Err_Invalid_Argument’ error code.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-user_allocation.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-user_allocation.html deleted file mode 100644 index 37b14b9..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-user_allocation.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -User allocation -

    -
    -

    FreeType assumes that structures allocated by the user and passed as arguments are zeroed out except for the actual data. In other words, it is recommended to use ‘calloc’ (or variants of it) instead of ‘malloc’ for allocation.

    -

    - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-version.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-version.html deleted file mode 100644 index dd4faba..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-version.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -FreeType Version -

    -

    Synopsis

    - - - -
    FREETYPE_XXXFT_Face_CheckTrueTypePatents
    FT_Library_VersionFT_Face_SetUnpatentedHinting


    - -
    -

    Note that those functions and macros are of limited use because even a new release of FreeType with only documentation changes increases the version number.

    -

    -
    -

    FREETYPE_XXX

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -#define FREETYPE_MAJOR  2
    -#define FREETYPE_MINOR  4
    -#define FREETYPE_PATCH  10
    -
    -

    -
    -

    These three macros identify the FreeType source code version. Use FT_Library_Version to access them at runtime.

    -

    -
    values
    -

    - - - - -
    FREETYPE_MAJOR -

    The major version number.

    -
    FREETYPE_MINOR -

    The minor version number.

    -
    FREETYPE_PATCH -

    The patch level.

    -
    -
    -
    note
    -

    The version number of FreeType if built as a dynamic link library with the ‘libtool’ package is not controlled by these three macros.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Library_Version

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( void )
    -  FT_Library_Version( FT_Library   library,
    -                      FT_Int      *amajor,
    -                      FT_Int      *aminor,
    -                      FT_Int      *apatch );
    -
    -

    -
    -

    Return the version of the FreeType library being used. This is useful when dynamically linking to the library, since one cannot use the macros FREETYPE_MAJOR, FREETYPE_MINOR, and FREETYPE_PATCH.

    -

    -
    input
    -

    - - -
    library -

    A source library handle.

    -
    -
    -
    output
    -

    - - - - -
    amajor -

    The major version number.

    -
    aminor -

    The minor version number.

    -
    apatch -

    The patch version number.

    -
    -
    -
    note
    -

    The reason why this function takes a ‘library’ argument is because certain programs implement library initialization in a custom way that doesn't use FT_Init_FreeType.

    -

    In such cases, the library version might not be available before the library object has been created.

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Face_CheckTrueTypePatents

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Bool )
    -  FT_Face_CheckTrueTypePatents( FT_Face  face );
    -
    -

    -
    -

    Parse all bytecode instructions of a TrueType font file to check whether any of the patented opcodes are used. This is only useful if you want to be able to use the unpatented hinter with fonts that do not use these opcodes.

    -

    Note that this function parses all glyph instructions in the font file, which may be slow.

    -

    -
    input
    -

    - - -
    face -

    A face handle.

    -
    -
    -
    return
    -

    1 if this is a TrueType font that uses one of the patented opcodes, 0 otherwise.

    -
    -
    note
    -

    Since May 2010, TrueType hinting is no longer patented.

    -
    -
    since
    -

    2.3.5

    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Face_SetUnpatentedHinting

    -
    -Defined in FT_FREETYPE_H (freetype/freetype.h). -

    -
    -
    -  FT_EXPORT( FT_Bool )
    -  FT_Face_SetUnpatentedHinting( FT_Face  face,
    -                                FT_Bool  value );
    -
    -

    -
    -

    Enable or disable the unpatented hinter for a given face. Only enable it if you have determined that the face doesn't use any patented opcodes (see FT_Face_CheckTrueTypePatents).

    -

    -
    input
    -

    - - - -
    face -

    A face handle.

    -
    value -

    New boolean setting.

    -
    -
    -
    return
    -

    The old setting value. This will always be false if this is not an SFNT font, or if the unpatented hinter is not compiled in this instance of the library.

    -
    -
    note
    -

    Since May 2010, TrueType hinting is no longer patented.

    -
    -
    since
    -

    2.3.5

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-winfnt_fonts.html b/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-winfnt_fonts.html deleted file mode 100644 index 8782f2f..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/reference/ft2-winfnt_fonts.html +++ /dev/null @@ -1,278 +0,0 @@ - - - - -FreeType-2.4.10 API Reference - - - - - - -
    [Index][TOC]
    -

    FreeType-2.4.10 API Reference

    - -

    -Window FNT Files -

    -

    Synopsis

    - - - -
    FT_WinFNT_ID_XXXFT_WinFNT_Header
    FT_WinFNT_HeaderRecFT_Get_WinFNT_Header


    - -
    -

    This section contains the declaration of Windows FNT specific functions.

    -

    -
    -

    FT_WinFNT_ID_XXX

    -
    -Defined in FT_WINFONTS_H (freetype/ftwinfnt.h). -

    -
    -
    -#define FT_WinFNT_ID_CP1252    0
    -#define FT_WinFNT_ID_DEFAULT   1
    -#define FT_WinFNT_ID_SYMBOL    2
    -#define FT_WinFNT_ID_MAC      77
    -#define FT_WinFNT_ID_CP932   128
    -#define FT_WinFNT_ID_CP949   129
    -#define FT_WinFNT_ID_CP1361  130
    -#define FT_WinFNT_ID_CP936   134
    -#define FT_WinFNT_ID_CP950   136
    -#define FT_WinFNT_ID_CP1253  161
    -#define FT_WinFNT_ID_CP1254  162
    -#define FT_WinFNT_ID_CP1258  163
    -#define FT_WinFNT_ID_CP1255  177
    -#define FT_WinFNT_ID_CP1256  178
    -#define FT_WinFNT_ID_CP1257  186
    -#define FT_WinFNT_ID_CP1251  204
    -#define FT_WinFNT_ID_CP874   222
    -#define FT_WinFNT_ID_CP1250  238
    -#define FT_WinFNT_ID_OEM     255
    -
    -

    -
    -

    A list of valid values for the ‘charset’ byte in FT_WinFNT_HeaderRec. Exact mapping tables for the various cpXXXX encodings (except for cp1361) can be found at ftp://ftp.unicode.org in the MAPPINGS/VENDORS/MICSFT/WINDOWS subdirectory. cp1361 is roughly a superset of MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT.

    -

    -
    values
    -

    - - - - - - - - - - - - - - - - - - - - -
    FT_WinFNT_ID_DEFAULT -

    This is used for font enumeration and font creation as a ‘don't care’ value. Valid font files don't contain this value. When querying for information about the character set of the font that is currently selected into a specified device context, this return value (of the related Windows API) simply denotes failure.

    -
    FT_WinFNT_ID_SYMBOL -

    There is no known mapping table available.

    -
    FT_WinFNT_ID_MAC -

    Mac Roman encoding.

    -
    FT_WinFNT_ID_OEM -

    From Michael Pöttgen <michael@poettgen.de>:

    -

    The ‘Windows Font Mapping’ article says that FT_WinFNT_ID_OEM is used for the charset of vector fonts, like ‘modern.fon’, ‘roman.fon’, and ‘script.fon’ on Windows.

    -

    The ‘CreateFont’ documentation says: The FT_WinFNT_ID_OEM value specifies a character set that is operating-system dependent.

    -

    The ‘IFIMETRICS’ documentation from the ‘Windows Driver Development Kit’ says: This font supports an OEM-specific character set. The OEM character set is system dependent.

    -

    In general OEM, as opposed to ANSI (i.e., cp1252), denotes the second default codepage that most international versions of Windows have. It is one of the OEM codepages from

    -

    http://www.microsoft.com/globaldev/reference/cphome.mspx,

    -

    and is used for the ‘DOS boxes’, to support legacy applications. A German Windows version for example usually uses ANSI codepage 1252 and OEM codepage 850.

    -
    FT_WinFNT_ID_CP874 -

    A superset of Thai TIS 620 and ISO 8859-11.

    -
    FT_WinFNT_ID_CP932 -

    A superset of Japanese Shift-JIS (with minor deviations).

    -
    FT_WinFNT_ID_CP936 -

    A superset of simplified Chinese GB 2312-1980 (with different ordering and minor deviations).

    -
    FT_WinFNT_ID_CP949 -

    A superset of Korean Hangul KS C 5601-1987 (with different ordering and minor deviations).

    -
    FT_WinFNT_ID_CP950 -

    A superset of traditional Chinese Big 5 ETen (with different ordering and minor deviations).

    -
    FT_WinFNT_ID_CP1250 -

    A superset of East European ISO 8859-2 (with slightly different ordering).

    -
    FT_WinFNT_ID_CP1251 -

    A superset of Russian ISO 8859-5 (with different ordering).

    -
    FT_WinFNT_ID_CP1252 -

    ANSI encoding. A superset of ISO 8859-1.

    -
    FT_WinFNT_ID_CP1253 -

    A superset of Greek ISO 8859-7 (with minor modifications).

    -
    FT_WinFNT_ID_CP1254 -

    A superset of Turkish ISO 8859-9.

    -
    FT_WinFNT_ID_CP1255 -

    A superset of Hebrew ISO 8859-8 (with some modifications).

    -
    FT_WinFNT_ID_CP1256 -

    A superset of Arabic ISO 8859-6 (with different ordering).

    -
    FT_WinFNT_ID_CP1257 -

    A superset of Baltic ISO 8859-13 (with some deviations).

    -
    FT_WinFNT_ID_CP1258 -

    For Vietnamese. This encoding doesn't cover all necessary characters.

    -
    FT_WinFNT_ID_CP1361 -

    Korean (Johab).

    -
    -
    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_WinFNT_HeaderRec

    -
    -Defined in FT_WINFONTS_H (freetype/ftwinfnt.h). -

    -
    -
    -  typedef struct  FT_WinFNT_HeaderRec_
    -  {
    -    FT_UShort  version;
    -    FT_ULong   file_size;
    -    FT_Byte    copyright[60];
    -    FT_UShort  file_type;
    -    FT_UShort  nominal_point_size;
    -    FT_UShort  vertical_resolution;
    -    FT_UShort  horizontal_resolution;
    -    FT_UShort  ascent;
    -    FT_UShort  internal_leading;
    -    FT_UShort  external_leading;
    -    FT_Byte    italic;
    -    FT_Byte    underline;
    -    FT_Byte    strike_out;
    -    FT_UShort  weight;
    -    FT_Byte    charset;
    -    FT_UShort  pixel_width;
    -    FT_UShort  pixel_height;
    -    FT_Byte    pitch_and_family;
    -    FT_UShort  avg_width;
    -    FT_UShort  max_width;
    -    FT_Byte    first_char;
    -    FT_Byte    last_char;
    -    FT_Byte    default_char;
    -    FT_Byte    break_char;
    -    FT_UShort  bytes_per_row;
    -    FT_ULong   device_offset;
    -    FT_ULong   face_name_offset;
    -    FT_ULong   bits_pointer;
    -    FT_ULong   bits_offset;
    -    FT_Byte    reserved;
    -    FT_ULong   flags;
    -    FT_UShort  A_space;
    -    FT_UShort  B_space;
    -    FT_UShort  C_space;
    -    FT_UShort  color_table_offset;
    -    FT_ULong   reserved1[4];
    -
    -  } FT_WinFNT_HeaderRec;
    -
    -

    -
    -

    Windows FNT Header info.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_WinFNT_Header

    -
    -Defined in FT_WINFONTS_H (freetype/ftwinfnt.h). -

    -
    -
    -  typedef struct FT_WinFNT_HeaderRec_*  FT_WinFNT_Header;
    -
    -

    -
    -

    A handle to an FT_WinFNT_HeaderRec structure.

    -

    -
    -
    - - -
    [Index][TOC]
    - -
    -

    FT_Get_WinFNT_Header

    -
    -Defined in FT_WINFONTS_H (freetype/ftwinfnt.h). -

    -
    -
    -  FT_EXPORT( FT_Error )
    -  FT_Get_WinFNT_Header( FT_Face               face,
    -                        FT_WinFNT_HeaderRec  *aheader );
    -
    -

    -
    -

    Retrieve a Windows FNT font info header.

    -

    -
    input
    -

    - - -
    face -

    A handle to the input face.

    -
    -
    -
    output
    -

    - - -
    aheader -

    The WinFNT header.

    -
    -
    -
    return
    -

    FreeType error code. 0 means success.

    -
    -
    note
    -

    This function only works with Windows FNT faces, returning an error otherwise.

    -
    -
    -
    - - -
    [Index][TOC]
    - - - diff --git a/gtk+-mingw/share/doc/freetype-2.4.10/release b/gtk+-mingw/share/doc/freetype-2.4.10/release deleted file mode 100644 index 28a8235..0000000 --- a/gtk+-mingw/share/doc/freetype-2.4.10/release +++ /dev/null @@ -1,209 +0,0 @@ -How to prepare a new release ----------------------------- - -. include/freetype/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR, - and FREETYPE_PATCH. - -. Update version numbers in all files where necessary (for example, do - a grep for both `2.3.1' and `231' for release 2.3.1). - -. builds/unix/configure.raw: Update `version_info'. - -. docs/CHANGES: Document differences to last release. - -. README: Update. - -. docs/VERSION.DLL: Document changed `version_info'. - -. ChangeLog: Announce new release (both in the freetype2 and - freetype2-demos modules). - -. Clone the git archive to another directory with - - git clone -l -s . ../freetype2.test - - or something like this and run - - make distclean; make devel; make - make distclean; make devel; make multi - make distclean; make devel CC=g++; make CC=g++ - make distclean; make devel CC=g++; make multi CC=g++ - - sh autogen.sh - make distclean; ./configure; make - make distclean; ./configure CC=g++; make - - in the cloned repository to test compilation with both gcc and g++. - -. Test C++ compilation for freetype2-demos too (using `git clone' as - above). - -. Run src/tools/chktrcmp.py and check that there are no undefined - trace_XXXX macros. - -. Tag the git repositories (freetype2, freetype2-demos) with - - git tag VER- -m "" -u - - and push the tags with - - git push --tags - - TODO: Tag the home page CVS on savannah.nongnu.org. - -. Say `make dist' in both the freetype2 and freetype2-demos modules - to generate the .tar.gz, .tar.bz2, and .zip files. - -. Create the doc bundles (freetype-doc-.tar.gz, - freetype-doc-.tar.bz2, ftdoc.zip). This is - everything below - - freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/ - - except the `reference' subdirectory. Do *not* use option `-l' from - zip! - -. Run the following script (with updated `$VERSION', `$SAVANNAH_USER', - and $SOURCEFORGE_USER variables) to sign and upload the bundles to - both Savannah and SourceForge. The signing code has been taken from - the `gnupload' script (part of the automake bundle). - - #!/bin/sh - - VERSION=2.4.8 - SAVANNAH_USER=wl - SOURCEFORGE_USER=wlemb - - ##################################################################### - - GPG='/usr/bin/gpg --batch --no-tty' - - version=`echo $VERSION | sed "s/\\.//g"` - - FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \ - freetype-$VERSION.tar.bz2 \ - ft$version.zip" - FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \ - ft2demos-$VERSION.tar.bz2 \ - ftdmo$version.zip" - FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \ - freetype-doc-$VERSION.tar.bz2 \ - ftdoc$version.zip" - - PACKAGE_LIST="$FREETYPE_PACKAGES \ - $FT2DEMOS_PACKAGES \ - $FTDOC_PACKAGES" - - set -e - unset passphrase - - PATH=/empty echo -n "Enter GPG passphrase: " - stty -echo - read -r passphrase - stty echo - echo - - for f in $PACKAGE_LIST; do - if test ! -f $f; then - echo "$0: Cannot find \`$f'" 1>&2 - exit 1 - else - : - fi - done - - for f in $PACKAGE_LIST; do - echo "Signing $f..." - rm -f $f.sig - echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f - done - - FREETYPE_SIGNATURES= - for i in $FREETYPE_PACKAGES; do - FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig" - done - - FT2DEMOS_SIGNATURES= - for i in $FT2DEMOS_PACKAGES; do - FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig" - done - - FTDOC_SIGNATURES= - for i in $FTDOC_PACKAGES; do - FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig" - done - - SIGNATURE_LIST="$FREETYPE_SIGNATURES \ - $FT2DEMOS_SIGNATURES \ - $FTDOC_SIGNATURES" - - scp $PACKAGE_LIST $SIGNATURE_LIST \ - $SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/ - - rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \ - $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/ - rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \ - $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/ - rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \ - $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/ - - # EOF - -. Prepare a README for SourceForge and upload it with the following - script (with updated `$VERSION' and $SOURCEFORGE_USER variables). - - #!/bin/sh - - VERSION=2.4.8 - SOURCEFORGE_USER=wlemb - - ##################################################################### - - rsync -avP -e ssh README \ - $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/ - - # EOF - -. On SourceForge, tag the just uploaded `ftXXXX.zip' and - `freetype-XXX.tar.bz2' files as the default files to download for - `Windows' and `Others', respectively. - -. Copy the reference files (generated by `make dist') to - - freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference - - and - - shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference - - TODO: Create FreeType home page CVS on savannah.nongnu.org and - update it accordingly. - - Write script to automatically do this. - - Mirror FreeType's savannah home page everywhere. - -. Update - - freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html - - and copy it to - - shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html - -. Announce new release on freetype-announce@nongnu.org and to relevant - newsgroups. - ----------------------------------------------------------------------- - -Copyright 2003, 2005-2007, 2009, 2011 by -David Turner, Robert Wilhelm, and Werner Lemberg. - -This file is part of the FreeType project, and may only be used, -modified, and distributed under the terms of the FreeType project -license, LICENSE.TXT. By continuing to use, modify, or distribute -this file you indicate that you have read the license and understand -and accept it fully. - - ---- end of release --- diff --git a/gtk+-mingw/share/doc/jasper-1.900.1/jasper.pdf b/gtk+-mingw/share/doc/jasper-1.900.1/jasper.pdf deleted file mode 100644 index b34bac8..0000000 Binary files a/gtk+-mingw/share/doc/jasper-1.900.1/jasper.pdf and /dev/null differ diff --git a/gtk+-mingw/share/doc/jasper-1.900.1/jpeg2000.pdf b/gtk+-mingw/share/doc/jasper-1.900.1/jpeg2000.pdf deleted file mode 100644 index 21a3d90..0000000 Binary files a/gtk+-mingw/share/doc/jasper-1.900.1/jpeg2000.pdf and /dev/null differ diff --git a/gtk+-mingw/share/doc/libiconv/iconv.1.html b/gtk+-mingw/share/doc/libiconv/iconv.1.html deleted file mode 100644 index dfeb0fc..0000000 --- a/gtk+-mingw/share/doc/libiconv/iconv.1.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - - - - -ICONV - - - - -

    ICONV

    - -NAME
    -SYNOPSIS
    -DESCRIPTION
    -EXAMPLES
    -CONFORMING TO
    -SEE ALSO
    - -
    - - -

    NAME - -

    - - -

    iconv − -character set conversion

    - -

    SYNOPSIS - -

    - - -

    iconv -[OPTION...] [−f encoding] -[−t encoding] [inputfile ...] -
    -iconv −l

    - -

    DESCRIPTION - -

    - - -

    The -iconv program converts text from one encoding to -another encoding. More precisely, it converts from -the encoding given for the −f option to -the encoding given for the −t option. Either of -these encodings defaults to the encoding of the current -locale. All the inputfiles are read and converted in -turn; if no inputfile is given, the standard input is -used. The converted text is printed to standard output.

    - -

    The encodings -permitted are system dependent. For the libiconv -implementation, they are listed in the iconv_open(3) manual -page.

    - -

    Options -controlling the input and output format:
    -−f
    encoding, -−−from−code=encoding

    - -

    Specifies the encoding of the -input.

    - -

    −t -encoding, -−−to−code=encoding

    - -

    Specifies the encoding of the -output.

    - -

    Options -controlling conversion problems:

    - - - - - - - -
    - - -

    −c

    - - -

    When this option is given, characters that cannot be -converted are silently discarded, instead of leading to a -conversion error.

    - - -

    −−unicode−subst=formatstring

    - -

    When this option is given, -Unicode characters that cannot be represented in the target -encoding are replaced with a placeholder string that is -constructed from the given formatstring, applied to -the Unicode code point. The formatstring must be a -format string in the same format as for the printf -command or the printf() function, taking either no -argument or exactly one unsigned integer argument.

    - - -

    −−byte−subst=formatstring

    - -

    When this option is given, -bytes in the input that are not valid in the source encoding -are replaced with a placeholder string that is constructed -from the given formatstring, applied to the -byte’s value. The formatstring must be a format -string in the same format as for the printf command -or the printf() function, taking either no argument -or exactly one unsigned integer argument.

    - - -

    −−widechar−subst=formatstring

    - -

    When this option is given, wide -characters in the input that are not valid in the source -encoding are replaced with a placeholder string that is -constructed from the given formatstring, applied to -the byte’s value. The formatstring must be a -format string in the same format as for the printf -command or the printf() function, taking either no -argument or exactly one unsigned integer argument.

    - -

    Options -controlling error output:
    -−s
    , −−silent

    - -

    When this option is given, -error messages about invalid or unconvertible characters are -omitted, but the actual converted text is unaffected.

    - -

    The iconv -−l or iconv −−list command -lists the names of the supported encodings, in a system -dependent format. For the libiconv implementation, the names -are printed in upper case, separated by whitespace, and -alias names of an encoding are listed on the same line as -the encoding itself.

    - -

    EXAMPLES - -

    - - -

    iconv -−f ISO−8859−1 −t UTF−8

    - -

    converts input from the old -West-European encoding ISO−8859−1 to -Unicode.

    - -

    iconv -−f KOI8−R -−−byte−subst="<0x%x>"
    - -−−unicode−subst="<U+%04X>"

    - -

    converts input from the old -Russian encoding KOI8−R to the locale encoding, -substituting an angle bracket notation with hexadecimal -numbers for invalid bytes and for valid but unconvertible -characters.

    - -

    iconv -−−list

    - -

    lists the supported -encodings.

    - -

    CONFORMING TO - -

    - - -

    POSIX:2001

    - -

    SEE ALSO - -

    - - - -

    iconv_open(3), -locale(7)

    -
    - - diff --git a/gtk+-mingw/share/doc/libiconv/iconv.3.html b/gtk+-mingw/share/doc/libiconv/iconv.3.html deleted file mode 100644 index 0e9e74a..0000000 --- a/gtk+-mingw/share/doc/libiconv/iconv.3.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - - - - -ICONV - - - - -

    ICONV

    - -NAME
    -SYNOPSIS
    -DESCRIPTION
    -RETURN VALUE
    -ERRORS
    -CONFORMING TO
    -SEE ALSO
    - -
    - - -

    NAME - -

    - - -

    iconv − -perform character set conversion

    - -

    SYNOPSIS - -

    - - -

    #include -<iconv.h>

    - -

    size_t iconv -(iconv_t cd,
    -const char* *
    inbuf, size_t * -inbytesleft,
    -char* *
    outbuf, size_t * -outbytesleft);

    - -

    DESCRIPTION - -

    - - -

    The argument -cd must be a conversion descriptor created using the -function iconv_open.

    - -

    The main case -is when inbuf is not NULL and *inbuf is not -NULL. In this case, the iconv function converts the -multibyte sequence starting at *inbuf to a multibyte -sequence starting at *outbuf. At most -*inbytesleft bytes, starting at *inbuf, will -be read. At most *outbytesleft bytes, starting at -*outbuf, will be written.

    - -

    The -iconv function converts one multibyte character at a -time, and for each character conversion it increments -*inbuf and decrements *inbytesleft by the -number of converted input bytes, it increments -*outbuf and decrements *outbytesleft by the -number of converted output bytes, and it updates the -conversion state contained in cd. If the character -encoding of the input is stateful, the iconv function -can also convert a sequence of input bytes to an update of -the conversion state without producing any output bytes; -such input is called a shift sequence. The conversion -can stop for four reasons:

    - -

    1. An invalid -multibyte sequence is encountered in the input. In this case -it sets errno to EILSEQ and returns -(size_t)(−1). *inbuf is left pointing to the -beginning of the invalid multibyte sequence.

    - -

    2. The input -byte sequence has been entirely converted, i.e. -*inbytesleft has gone down to 0. In this case -iconv returns the number of non-reversible -conversions performed during this call.

    - -

    3. An -incomplete multibyte sequence is encountered in the input, -and the input byte sequence terminates after it. In this -case it sets errno to EINVAL and returns -(size_t)(−1). *inbuf is left pointing to the -beginning of the incomplete multibyte sequence.

    - -

    4. The output -buffer has no more room for the next converted character. In -this case it sets errno to E2BIG and returns -(size_t)(−1).

    - -

    A different -case is when inbuf is NULL or *inbuf is NULL, -but outbuf is not NULL and *outbuf is not -NULL. In this case, the iconv function attempts to -set cd’s conversion state to the initial state -and store a corresponding shift sequence at *outbuf. -At most *outbytesleft bytes, starting at -*outbuf, will be written. If the output buffer has no -more room for this reset sequence, it sets errno to -E2BIG and returns (size_t)(−1). Otherwise it -increments *outbuf and decrements -*outbytesleft by the number of bytes written.

    - -

    A third case is -when inbuf is NULL or *inbuf is NULL, and -outbuf is NULL or *outbuf is NULL. In this -case, the iconv function sets cd’s -conversion state to the initial state.

    - -

    RETURN VALUE - -

    - - -

    The -iconv function returns the number of characters -converted in a non-reversible way during this call; -reversible conversions are not counted. In case of error, it -sets errno and returns (size_t)(−1).

    - -

    ERRORS - -

    - - -

    The following -errors can occur, among others:

    - - - - - - - - - - - - - - - - - -
    - - -

    E2BIG

    - - -

    There is not sufficient room at *outbuf.

    - - -

    EILSEQ

    - - -

    An invalid multibyte sequence has been encountered in -the input.

    - - -

    EINVAL

    - - -

    An incomplete multibyte sequence has been encountered in -the input.

    - -

    CONFORMING TO - -

    - - -

    POSIX:2001

    - -

    SEE ALSO - -

    - - - -

    iconv_open(3), -iconvctl(3) iconv_close(3)

    -
    - - diff --git a/gtk+-mingw/share/doc/libiconv/iconv_close.3.html b/gtk+-mingw/share/doc/libiconv/iconv_close.3.html deleted file mode 100644 index c55a2dc..0000000 --- a/gtk+-mingw/share/doc/libiconv/iconv_close.3.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - -ICONV_CLOSE - - - - -

    ICONV_CLOSE

    - -NAME
    -SYNOPSIS
    -DESCRIPTION
    -RETURN VALUE
    -CONFORMING TO
    -SEE ALSO
    - -
    - - -

    NAME - -

    - - -

    iconv_close -− deallocate descriptor for character set -conversion

    - -

    SYNOPSIS - -

    - - -

    #include -<iconv.h>

    - -

    int -iconv_close (iconv_t cd);

    - -

    DESCRIPTION - -

    - - -

    The -iconv_close function deallocates a conversion -descriptor cd previously allocated using -iconv_open.

    - -

    RETURN VALUE - -

    - - -

    When -successful, the iconv_close function returns 0. In -case of error, it sets errno and returns -−1.

    - -

    CONFORMING TO - -

    - - -

    POSIX:2001

    - -

    SEE ALSO - -

    - - - -

    iconv_open(3) -iconv(3)

    -
    - - diff --git a/gtk+-mingw/share/doc/libiconv/iconv_open.3.html b/gtk+-mingw/share/doc/libiconv/iconv_open.3.html deleted file mode 100644 index 39abad9..0000000 --- a/gtk+-mingw/share/doc/libiconv/iconv_open.3.html +++ /dev/null @@ -1,318 +0,0 @@ - - - - - - - - - -ICONV_OPEN - - - - -

    ICONV_OPEN

    - -NAME
    -SYNOPSIS
    -DESCRIPTION
    -RETURN VALUE
    -ERRORS
    -CONFORMING TO
    -SEE ALSO
    - -
    - - -

    NAME - -

    - - -

    iconv_open -− allocate descriptor for character set conversion

    - -

    SYNOPSIS - -

    - - -

    #include -<iconv.h>

    - -

    iconv_t -iconv_open (const char* tocode, const -char* fromcode);

    - -

    DESCRIPTION - -

    - - -

    The -iconv_open function allocates a conversion descriptor -suitable for converting byte sequences from character -encoding fromcode to character encoding -tocode.

    - -

    The values -permitted for fromcode and tocode and the -supported combinations are system dependent. For the -libiconv library, the following encodings are supported, in -all combinations.
    -European languages

    - -

    ASCII, -ISO−8859−{1,2,3,4,5,7,9,10,13,14,15,16}, -KOI8−R, KOI8−U, KOI8−RU, -CP{1250,1251,1252,1253,1254,1257}, CP{850,866,1131}, -Mac{Roman,CentralEurope,Iceland,Croatian,Romania}, -Mac{Cyrillic,Ukraine,Greek,Turkish}, Macintosh

    - -

    Semitic languages

    - -

    ISO−8859−{6,8}, -CP{1255,1256}, CP862, Mac{Hebrew,Arabic}

    - -

    Japanese

    - -

    EUC−JP, SHIFT_JIS, CP932, -ISO−2022−JP, ISO−2022−JP−2, -ISO−2022−JP−1

    - -

    Chinese

    - -

    EUC−CN, HZ, GBK, CP936, -GB18030, EUC−TW, BIG5, CP950, BIG5−HKSCS, -BIG5−HKSCS:2004, BIG5−HKSCS:2001, -BIG5−HKSCS:1999, ISO−2022−CN, -ISO−2022−CN−EXT

    - - - - - - - - -
    - - -

    Korean

    - - -

    EUC−KR, CP949, ISO−2022−KR, JOHAB

    -
    - -

    Armenian

    - -

    ARMSCII−8

    - -

    Georgian

    - -

    Georgian−Academy, -Georgian−PS

    - - - - - - - - - - - - - - - - - - - - -
    - - -

    Tajik

    - - -

    KOI8−T

    -
    - - -

    Kazakh

    - - -

    PT154, RK1048

    -
    - - -

    Thai

    - - -

    TIS−620, CP874, MacThai

    -
    - -

    Laotian

    - -

    MuleLao−1, CP1133

    - -

    Vietnamese

    - -

    VISCII, TCVN, CP1258

    - -

    Platform specifics

    - -

    HP−ROMAN8, NEXTSTEP

    - -

    Full Unicode

    - -

    UTF−8
    -UCS−2, UCS−2BE, UCS−2LE
    -UCS−4, UCS−4BE, UCS−4LE
    -UTF−16, UTF−16BE, UTF−16LE
    -UTF−32, UTF−32BE, UTF−32LE
    -UTF−7
    -C99, JAVA

    - -

    Full Unicode, in terms of -uint16_t or uint32_t

    - -

    (with machine dependent -endianness and alignment)
    -UCS−2−INTERNAL, UCS−4−INTERNAL

    - -

    Locale dependent, in terms of -char or wchar_t

    - -

    (with machine dependent -endianness and alignment, and with semantics depending on -the OS and the current LC_CTYPE locale facet)
    -char, wchar_t

    - -

    When configured -with the option -−−enable−extra−encodings, it -also provides support for a few extra encodings:
    -European languages

    - - -

    CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}

    - -

    Semitic languages

    - -

    CP864

    - -

    Japanese

    - -

    EUC−JISX0213, -Shift_JISX0213, ISO−2022−JP−3

    - -

    Chinese

    - -

    BIG5−2003 -(experimental)

    - -

    Turkmen

    - -

    TDS565

    - -

    Platform specifics

    - -

    ATARIST, -RISCOS−LATIN1

    - -

    The empty -encoding name "" is equivalent to -"char": it denotes the locale dependent character -encoding.

    - -

    When the string -"//TRANSLIT" is appended to tocode, -transliteration is activated. This means that when a -character cannot be represented in the target character set, -it can be approximated through one or several characters -that look similar to the original character.

    - -

    When the string -"//IGNORE" is appended to tocode, -characters that cannot be represented in the target -character set will be silently discarded.

    - -

    The resulting -conversion descriptor can be used with iconv any -number of times. It remains valid until deallocated using -iconv_close.

    - -

    A conversion -descriptor contains a conversion state. After creation using -iconv_open, the state is in the initial state. Using -iconv modifies the descriptor’s conversion -state. (This implies that a conversion descriptor can not be -used in multiple threads simultaneously.) To bring the state -back to the initial state, use iconv with NULL as -inbuf argument.

    - -

    RETURN VALUE - -

    - - -

    The -iconv_open function returns a freshly allocated -conversion descriptor. In case of error, it sets -errno and returns (iconv_t)(−1).

    - -

    ERRORS - -

    - - -

    The following -error can occur, among others:

    - - - - - - - -
    - - -

    EINVAL

    - - -

    The conversion from fromcode to tocode is -not supported by the implementation.

    - -

    CONFORMING TO - -

    - - -

    POSIX:2001

    - -

    SEE ALSO - -

    - - - -

    iconv(3) -iconvctl(3) iconv_close(3)

    -
    - - diff --git a/gtk+-mingw/share/doc/libiconv/iconv_open_into.3.html b/gtk+-mingw/share/doc/libiconv/iconv_open_into.3.html deleted file mode 100644 index 6ed9f08..0000000 --- a/gtk+-mingw/share/doc/libiconv/iconv_open_into.3.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - -ICONV_OPEN_INTO - - - -

    ICONV_OPEN_INTO

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -RETURN VALUE
    -ERRORS
    -CONFORMING TO
    -SEE ALSO
    - -
    - - - -

    NAME

    - - -
    -iconv_open_into - initialize descriptor for character set conversion
    - -

    SYNOPSIS

    - - - -
    -
    #include <iconv.h>
    -
    -int iconv_open_into (const char* tocode, const char* fromcode,
    -                     iconv_allocation_t* resultp);
    -
    - -

    DESCRIPTION

    - - - -
    -The iconv_open_into function initializes a conversion -descriptor suitable for converting byte sequences from -character encoding fromcode to character encoding -tocode. The conversion descriptor is stored in the -memory pointed to by resultp.
    - - - -
    -The values permitted for fromcode and tocode -are the same as for the function -iconv_open.
    - - - -
    -After a successful return from this function, resultp -can be be used as an iconv_t object with the -iconv function.
    - -

    RETURN VALUE

    - - - -
    -The iconv_open_into function fills -*resultp and returns 0 if it succeeds. In case -of error, it sets errno and returns -1.
    - -

    ERRORS

    - - - -
    -The following error can occur, among others:
    - - - -
    -EINVAL
    - - - -
    -The conversion from fromcode to tocode is not -supported by the implementation.
    - -

    CONFORMING TO

    - - - -
    -This function is implemented only in GNU libiconv and not in -other iconv implementations. It is not backed by a -standard. You can test for its presence through -(_LIBICONV_VERSION >= 0x010D).
    - -

    SEE ALSO

    - - - -
    -iconv_open(3) iconv(3)
    -
    - - diff --git a/gtk+-mingw/share/doc/libiconv/iconvctl.3.html b/gtk+-mingw/share/doc/libiconv/iconvctl.3.html deleted file mode 100644 index 05f1529..0000000 --- a/gtk+-mingw/share/doc/libiconv/iconvctl.3.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - -ICONVCTL - - - -

    ICONVCTL

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -REQUEST VALUES
    -RETURN VALUE
    -ERRORS
    -CONFORMING TO
    -SEE ALSO
    - -
    - - - -

    NAME

    - - -
    -iconvctl - control iconv behavior
    - -

    SYNOPSIS

    - - - -
    -
    #include <iconv.h>
    -
    -int iconvctl (iconv_t cd , int request, void * argument);
    -
    - -

    DESCRIPTION

    - - - -
    -The argument cd must be a conversion descriptor -created using the function iconv_open.
    - - - -
    -iconvctl queries or adjusts the behavior of the -iconv function, when invoked with the specified -conversion descriptor, depending on the request -value.
    - -

    REQUEST VALUES

    - - - -
    -The following are permissible values for the request -parameter.
    - - - -
    -ICONV_TRIVIALP
    - - - -
    -argument should be an int * which will receive -1 if the conversion is trivial, or 0 otherwise.
    - - - -
    -ICONV_GET_TRANSLITERATE
    - - - -
    -argument should be an int * which will receive -1 if transliteration is enabled in the conversion, or 0 -otherwise.
    - - - -
    -ICONV_SET_TRANSLITERATE
    - - - -
    -argument should be a const int *, pointing to -an int value. A non-zero value is used to enable -transliteration in the conversion. A zero value disables -it.
    - - - -
    -ICONV_GET_DISCARD_ILSEQ
    - - - -
    -argument should be an int * which will receive -1 if "illegal sequence discard and continue" is -enabled in the conversion, or 0 otherwise.
    - - - -
    -ICONV_SET_DISCARD_ILSEQ
    - - - -
    -argument should be a const int *, pointing to -an int value. A non-zero value is used to enable -"illegal sequence discard and continue" in the -conversion. A zero value disables it.
    - -

    RETURN VALUE

    - - - -
    -The iconvctl function returns 0 if it succeeds. In -case of error, it sets errno and returns --1.
    - -

    ERRORS

    - - - -
    -The following errors can occur, among others:
    - - - -
    -EINVAL
    - - - -
    -The request is invalid.
    - -

    CONFORMING TO

    - - - -
    -This function is implemented only in GNU libiconv and not in -other iconv implementations. It is not backed by a -standard. You can test for its presence through -(_LIBICONV_VERSION >= 0x0108).
    - -

    SEE ALSO

    - - - -
    -iconv_open(3), iconv(3)
    -
    - - diff --git a/gtk+-mingw/share/doc/libpng-1.5.12/README b/gtk+-mingw/share/doc/libpng-1.5.12/README deleted file mode 100644 index 3f5b0d6..0000000 --- a/gtk+-mingw/share/doc/libpng-1.5.12/README +++ /dev/null @@ -1,202 +0,0 @@ -README for libpng version 1.5.12 - July 11, 2012 (shared library 15.0) -See the note about version numbers near the top of png.h - -See INSTALL for instructions on how to install libpng. - -Libpng comes in several distribution formats. Get libpng-*.tar.gz, -libpng-*.tar.xz or libpng-*.tar.bz2 if you want UNIX-style line endings -in the text files, or lpng*.zip if you want DOS-style line endings. - -Version 0.89 was the first official release of libpng. Don't let the -fact that it's the first release fool you. The libpng library has been in -extensive use and testing since mid-1995. By late 1997 it had -finally gotten to the stage where there hadn't been significant -changes to the API in some time, and people have a bad feeling about -libraries with versions < 1.0. Version 1.0.0 was released in -March 1998. - -**** -Note that some of the changes to the png_info structure render this -version of the library binary incompatible with libpng-0.89 or -earlier versions if you are using a shared library. The type of the -"filler" parameter for png_set_filler() has changed from png_byte to -png_uint_32, which will affect shared-library applications that use -this function. - -To avoid problems with changes to the internals of png_info_struct, -new APIs have been made available in 0.95 to avoid direct application -access to info_ptr. These functions are the png_set_ and -png_get_ functions. These functions should be used when -accessing/storing the info_struct data, rather than manipulating it -directly, to avoid such problems in the future. - -It is important to note that the APIs do not make current programs -that access the info struct directly incompatible with the new -library. However, it is strongly suggested that new programs use -the new APIs (as shown in example.c and pngtest.c), and older programs -be converted to the new format, to facilitate upgrades in the future. -**** - -Additions since 0.90 include the ability to compile libpng as a -Windows DLL, and new APIs for accessing data in the info struct. -Experimental functions include the ability to set weighting and cost -factors for row filter selection, direct reads of integers from buffers -on big-endian processors that support misaligned data access, faster -methods of doing alpha composition, and more accurate 16->8 bit color -conversion. - -The additions since 0.89 include the ability to read from a PNG stream -which has had some (or all) of the signature bytes read by the calling -application. This also allows the reading of embedded PNG streams that -do not have the PNG file signature. As well, it is now possible to set -the library action on the detection of chunk CRC errors. It is possible -to set different actions based on whether the CRC error occurred in a -critical or an ancillary chunk. - -The changes made to the library, and bugs fixed are based on discussions -on the PNG-implement mailing list and not on material submitted -privately to Guy, Andreas, or Glenn. They will forward any good -suggestions to the list. - -For a detailed description on using libpng, read libpng-manual.txt. For -examples of libpng in a program, see example.c and pngtest.c. For usage -information and restrictions (what little they are) on libpng, see -png.h. For a description on using zlib (the compression library used by -libpng) and zlib's restrictions, see zlib.h - -I have included a general makefile, as well as several machine and -compiler specific ones, but you may have to modify one for your own needs. - -You should use zlib 1.0.4 or later to run this, but it MAY work with -versions as old as zlib 0.95. Even so, there are bugs in older zlib -versions which can cause the output of invalid compression streams for -some images. You will definitely need zlib 1.0.4 or later if you are -taking advantage of the MS-DOS "far" structure allocation for the small -and medium memory models. You should also note that zlib is a -compression library that is useful for more things than just PNG files. -You can use zlib as a drop-in replacement for fread() and fwrite() if -you are so inclined. - -zlib should be available at the same place that libpng is, or at. -ftp://ftp.info-zip.org/pub/infozip/zlib - -You may also want a copy of the PNG specification. It is available -as an RFC, a W3C Recommendation, and an ISO/IEC Standard. You can find -these at http://www.libpng.org/pub/png/documents/ - -This code is currently being archived at libpng.sf.net in the -[DOWNLOAD] area, and on CompuServe, Lib 20 (PNG SUPPORT) -at GO GRAPHSUP. If you can't find it in any of those places, -e-mail me, and I'll help you find it. - -If you have any code changes, requests, problems, etc., please e-mail -them to me. Also, I'd appreciate any make files or project files, -and any modifications you needed to make to get libpng to compile, -along with a #define variable to tell what compiler/system you are on. -If you needed to add transformations to libpng, or wish libpng would -provide the image in a different way, drop me a note (and code, if -possible), so I can consider supporting the transformation. -Finally, if you get any warning messages when compiling libpng -(note: not zlib), and they are easy to fix, I'd appreciate the -fix. Please mention "libpng" somewhere in the subject line. Thanks. - -This release was created and will be supported by myself (of course -based in a large way on Guy's and Andreas' earlier work), and the PNG -development group. - -Send comments/corrections/commendations to png-mng-implement at -lists.sourceforge.net (subscription required; visit -https://lists.sourceforge.net/lists/listinfo/png-mng-implement -to subscribe) or to glennrp at users.sourceforge.net - -You can't reach Guy, the original libpng author, at the addresses -given in previous versions of this document. He and Andreas will -read mail addressed to the png-implement list, however. - -Please do not send general questions about PNG. Send them to -png-mng-misc at lists.sf.net (subscription required; visit -https://lists.sourceforge.net/lists/listinfo/png-mng-misc to -subscribe). If you have a question about something -in the PNG specification that is related to using libpng, send it -to me. Send me any questions that start with "I was using libpng, -and ...". If in doubt, send questions to me. I'll bounce them -to others, if necessary. - -Please do not send suggestions on how to change PNG. We have -been discussing PNG for sixteen years now, and it is official and -finished. If you have suggestions for libpng, however, I'll -gladly listen. Even if your suggestion is not used immediately, -it may be used later. - -Files in this distribution: - - ANNOUNCE => Announcement of this version, with recent changes - CHANGES => Description of changes between libpng versions - KNOWNBUG => List of known bugs and deficiencies - LICENSE => License to use and redistribute libpng - README => This file - TODO => Things not implemented in the current library - Y2KINFO => Statement of Y2K compliance - example.c => Example code for using libpng functions - libpng.3 => manual page for libpng (includes libpng-manual.txt) - libpng-manual.txt => Description of libpng and its functions - libpngpf.3 => manual page for libpng's private functions - png.5 => manual page for the PNG format - png.c => Basic interface functions common to library - png.h => Library function and interface declarations (public) - pngpriv.h => Library function and interface declarations (private) - pngconf.h => System specific library configuration (public) - pngstruct.h => png_struct declaration (private) - pnginfo.h => png_info struct declaration (private) - pngdebug.h => debugging macros (private) - pngerror.c => Error/warning message I/O functions - pngget.c => Functions for retrieving info from struct - pngmem.c => Memory handling functions - pngbar.png => PNG logo, 88x31 - pngnow.png => PNG logo, 98x31 - pngpread.c => Progressive reading functions - pngread.c => Read data/helper high-level functions - pngrio.c => Lowest-level data read I/O functions - pngrtran.c => Read data transformation functions - pngrutil.c => Read data utility functions - pngset.c => Functions for storing data into the info_struct - pngtest.c => Library test program - pngtest.png => Library test sample image - pngtrans.c => Common data transformation functions - pngwio.c => Lowest-level write I/O functions - pngwrite.c => High-level write functions - pngwtran.c => Write data transformations - pngwutil.c => Write utility functions - contrib => Contributions - gregbook => source code for PNG reading and writing, from - Greg Roelofs' "PNG: The Definitive Guide", - O'Reilly, 1999 - msvctest => Builds and runs pngtest using a MSVC workspace - pngminus => Simple pnm2png and png2pnm programs - pngsuite => Test images - visupng => Contains a MSVC workspace for VisualPng - projects => Contains project files and workspaces for - building a DLL - cbuilder5 => Contains a Borland workspace for building - libpng and zlib - visualc6 => Contains a Microsoft Visual C++ (MSVC) - workspace for building libpng and zlib - visualc71 => Contains a Microsoft Visual C++ (MSVC) - workspace for building libpng and zlib - xcode => Contains an Apple xcode - workspace for building libpng and zlib - scripts => Directory containing scripts for building libpng: - (see scripts/README.txt for the list of scripts) - -Good luck, and happy coding. - --Glenn Randers-Pehrson (current maintainer, since 1998) - Internet: glennrp at users.sourceforge.net - --Andreas Eric Dilger (former maintainer, 1996-1997) - Internet: adilger at enel.ucalgary.ca - Web: http://www-mddsp.enel.ucalgary.ca/People/adilger/ - --Guy Eric Schalnat (original author and former maintainer, 1995-1996) - (formerly of Group 42, Inc) - Internet: gschal at infinet.com diff --git a/gtk+-mingw/share/doc/libpng-1.5.12/libpng-manual.txt b/gtk+-mingw/share/doc/libpng-1.5.12/libpng-manual.txt deleted file mode 100644 index 1f96012..0000000 --- a/gtk+-mingw/share/doc/libpng-1.5.12/libpng-manual.txt +++ /dev/null @@ -1,4657 +0,0 @@ -Libpng-manual.txt - A description on how to use and modify libpng - - libpng version 1.5.12 - July 11, 2012 - Updated and distributed by Glenn Randers-Pehrson - - Copyright (c) 1998-2011 Glenn Randers-Pehrson - - This document is released under the libpng license. - For conditions of distribution and use, see the disclaimer - and license in png.h - - Based on: - - libpng versions 0.97, January 1998, through 1.5.12 - July 11, 2012 - Updated and distributed by Glenn Randers-Pehrson - Copyright (c) 1998-2011 Glenn Randers-Pehrson - - libpng 1.0 beta 6 version 0.96 May 28, 1997 - Updated and distributed by Andreas Dilger - Copyright (c) 1996, 1997 Andreas Dilger - - libpng 1.0 beta 2 - version 0.88 January 26, 1996 - For conditions of distribution and use, see copyright - notice in png.h. Copyright (c) 1995, 1996 Guy Eric - Schalnat, Group 42, Inc. - - Updated/rewritten per request in the libpng FAQ - Copyright (c) 1995, 1996 Frank J. T. Wojcik - December 18, 1995 & January 20, 1996 - -I. Introduction - -This file describes how to use and modify the PNG reference library -(known as libpng) for your own use. There are five sections to this -file: introduction, structures, reading, writing, and modification and -configuration notes for various special platforms. In addition to this -file, example.c is a good starting point for using the library, as -it is heavily commented and should include everything most people -will need. We assume that libpng is already installed; see the -INSTALL file for instructions on how to install libpng. - -For examples of libpng usage, see the files "example.c", "pngtest.c", -and the files in the "contrib" directory, all of which are included in -the libpng distribution. - -Libpng was written as a companion to the PNG specification, as a way -of reducing the amount of time and effort it takes to support the PNG -file format in application programs. - -The PNG specification (second edition), November 2003, is available as -a W3C Recommendation and as an ISO Standard (ISO/IEC 15948:2003 (E)) at -. It is technically equivalent -to the PNG specification (second edition) but has some additional material. - -The PNG-1.0 specification is available -as RFC 2083 and as a -W3C Recommendation . - -Some additional chunks are described in the special-purpose public chunks -documents at . - -Other information -about PNG, and the latest version of libpng, can be found at the PNG home -page, . - -Most users will not have to modify the library significantly; advanced -users may want to modify it more. All attempts were made to make it as -complete as possible, while keeping the code easy to understand. -Currently, this library only supports C. Support for other languages -is being considered. - -Libpng has been designed to handle multiple sessions at one time, -to be easily modifiable, to be portable to the vast majority of -machines (ANSI, K&R, 16-, 32-, and 64-bit) available, and to be easy -to use. The ultimate goal of libpng is to promote the acceptance of -the PNG file format in whatever way possible. While there is still -work to be done (see the TODO file), libpng should cover the -majority of the needs of its users. - -Libpng uses zlib for its compression and decompression of PNG files. -Further information about zlib, and the latest version of zlib, can -be found at the zlib home page, . -The zlib compression utility is a general purpose utility that is -useful for more than PNG files, and can be used without libpng. -See the documentation delivered with zlib for more details. -You can usually find the source files for the zlib utility wherever you -find the libpng source files. - -Libpng is thread safe, provided the threads are using different -instances of the structures. Each thread should have its own -png_struct and png_info instances, and thus its own image. -Libpng does not protect itself against two threads using the -same instance of a structure. - -II. Structures - -There are two main structures that are important to libpng, png_struct -and png_info. Both are internal structures that are no longer exposed -in the libpng interface (as of libpng 1.5.0). - -The png_info structure is designed to provide information about the -PNG file. At one time, the fields of png_info were intended to be -directly accessible to the user. However, this tended to cause problems -with applications using dynamically loaded libraries, and as a result -a set of interface functions for png_info (the png_get_*() and png_set_*() -functions) was developed, and direct access to the png_info fields was -deprecated.. - -The png_struct structure is the object used by the library to decode a -single image. As of 1.5.0 this structure is also not exposed. - -Almost all libpng APIs require a pointer to a png_struct as the first argument. -Many (in particular the png_set and png_get APIs) also require a pointer -to png_info as the second argument. Some application visible macros -defined in png.h designed for basic data access (reading and writing -integers in the PNG format) don't take a png_info pointer, but it's almost -always safe to assume that a (png_struct*) has to be passed to call an API -function. - -You can have more than one png_info structure associated with an image, -as illustrated in pngtest.c, one for information valid prior to the -IDAT chunks and another (called "end_info" below) for things after them. - -The png.h header file is an invaluable reference for programming with libpng. -And while I'm on the topic, make sure you include the libpng header file: - -#include - -and also (as of libpng-1.5.0) the zlib header file, if you need it: - -#include - -Types - -The png.h header file defines a number of integral types used by the -APIs. Most of these are fairly obvious; for example types corresponding -to integers of particular sizes and types for passing color values. - -One exception is how non-integral numbers are handled. For application -convenience most APIs that take such numbers have C (double) arguments; -however, internally PNG, and libpng, use 32 bit signed integers and encode -the value by multiplying by 100,000. As of libpng 1.5.0 a convenience -macro PNG_FP_1 is defined in png.h along with a type (png_fixed_point) -which is simply (png_int_32). - -All APIs that take (double) arguments also have a matching API that -takes the corresponding fixed point integer arguments. The fixed point -API has the same name as the floating point one with "_fixed" appended. -The actual range of values permitted in the APIs is frequently less than -the full range of (png_fixed_point) (-21474 to +21474). When APIs require -a non-negative argument the type is recorded as png_uint_32 above. Consult -the header file and the text below for more information. - -Special care must be take with sCAL chunk handling because the chunk itself -uses non-integral values encoded as strings containing decimal floating point -numbers. See the comments in the header file. - -Configuration - -The main header file function declarations are frequently protected by C -preprocessing directives of the form: - - #ifdef PNG_feature_SUPPORTED - declare-function - #endif - ... - #ifdef PNG_feature_SUPPORTED - use-function - #endif - -The library can be built without support for these APIs, although a -standard build will have all implemented APIs. Application programs -should check the feature macros before using an API for maximum -portability. From libpng 1.5.0 the feature macros set during the build -of libpng are recorded in the header file "pnglibconf.h" and this file -is always included by png.h. - -If you don't need to change the library configuration from the default, skip to -the next section ("Reading"). - -Notice that some of the makefiles in the 'scripts' directory and (in 1.5.0) all -of the build project files in the 'projects' directory simply copy -scripts/pnglibconf.h.prebuilt to pnglibconf.h. This means that these build -systems do not permit easy auto-configuration of the library - they only -support the default configuration. - -The easiest way to make minor changes to the libpng configuration when -auto-configuration is supported is to add definitions to the command line -using (typically) CPPFLAGS. For example: - -CPPFLAGS=-DPNG_NO_FLOATING_ARITHMETIC - -will change the internal libpng math implementation for gamma correction and -other arithmetic calculations to fixed point, avoiding the need for fast -floating point support. The result can be seen in the generated pnglibconf.h - -make sure it contains the changed feature macro setting. - -If you need to make more extensive configuration changes - more than one or two -feature macro settings - you can either add -DPNG_USER_CONFIG to the build -command line and put a list of feature macro settings in pngusr.h or you can set -DFA_XTRA (a makefile variable) to a file containing the same information in the -form of 'option' settings. - -A. Changing pnglibconf.h - -A variety of methods exist to build libpng. Not all of these support -reconfiguration of pnglibconf.h. To reconfigure pnglibconf.h it must either be -rebuilt from scripts/pnglibconf.dfa using awk or it must be edited by hand. - -Hand editing is achieved by copying scripts/pnglibconf.h.prebuilt to -pnglibconf.h and changing the lines defining the supported features, paying -very close attention to the 'option' information in scripts/pnglibconf.dfa -that describes those features and their requirements. This is easy to get -wrong. - -B. Configuration using DFA_XTRA - -Rebuilding from pnglibconf.dfa is easy if a functioning 'awk', or a later -variant such as 'nawk' or 'gawk', is available. The configure build will -automatically find an appropriate awk and build pnglibconf.h. -The scripts/pnglibconf.mak file contains a set of make rules for doing the -same thing if configure is not used, and many of the makefiles in the scripts -directory use this approach. - -When rebuilding simply write a new file containing changed options and set -DFA_XTRA to the name of this file. This causes the build to append the new file -to the end of scripts/pnglibconf.dfa. The pngusr.dfa file should contain lines -of the following forms: - -everything = off - -This turns all optional features off. Include it at the start of pngusr.dfa to -make it easier to build a minimal configuration. You will need to turn at least -some features on afterward to enable either reading or writing code, or both. - -option feature on -option feature off - -Enable or disable a single feature. This will automatically enable other -features required by a feature that is turned on or disable other features that -require a feature which is turned off. Conflicting settings will cause an error -message to be emitted by awk. - -setting feature default value - -Changes the default value of setting 'feature' to 'value'. There are a small -number of settings listed at the top of pnglibconf.h, they are documented in the -source code. Most of these values have performance implications for the library -but most of them have no visible effect on the API. Some can also be overridden -from the API. - -This method of building a customized pnglibconf.h is illustrated in -contrib/pngminim/*. See the "$(PNGCONF):" target in the makefile and -pngusr.dfa in these directories. - -C. Configuration using PNG_USR_CONFIG - -If -DPNG_USR_CONFIG is added to the CFLAGS when pnglibconf.h is built the file -pngusr.h will automatically be included before the options in -scripts/pnglibconf.dfa are processed. Your pngusr.h file should contain only -macro definitions turning features on or off or setting settings. - -Apart from the global setting "everything = off" all the options listed above -can be set using macros in pngusr.h: - -#define PNG_feature_SUPPORTED - -is equivalent to: - -option feature on - -#define PNG_NO_feature - -is equivalent to: - -option feature off - -#define PNG_feature value - -is equivalent to: - -setting feature default value - -Notice that in both cases, pngusr.dfa and pngusr.h, the contents of the -pngusr file you supply override the contents of scripts/pnglibconf.dfa - -If confusing or incomprehensible behavior results it is possible to -examine the intermediate file pnglibconf.dfn to find the full set of -dependency information for each setting and option. Simply locate the -feature in the file and read the C comments that precede it. - -This method is also illustrated in the contrib/pngminim/* makefiles and -pngusr.h. - -III. Reading - -We'll now walk you through the possible functions to call when reading -in a PNG file sequentially, briefly explaining the syntax and purpose -of each one. See example.c and png.h for more detail. While -progressive reading is covered in the next section, you will still -need some of the functions discussed in this section to read a PNG -file. - -Setup - -You will want to do the I/O initialization(*) before you get into libpng, -so if it doesn't work, you don't have much to undo. Of course, you -will also want to insure that you are, in fact, dealing with a PNG -file. Libpng provides a simple check to see if a file is a PNG file. -To use it, pass in the first 1 to 8 bytes of the file to the function -png_sig_cmp(), and it will return 0 (false) if the bytes match the -corresponding bytes of the PNG signature, or nonzero (true) otherwise. -Of course, the more bytes you pass in, the greater the accuracy of the -prediction. - -If you are intending to keep the file pointer open for use in libpng, -you must ensure you don't read more than 8 bytes from the beginning -of the file, and you also have to make a call to png_set_sig_bytes_read() -with the number of bytes you read from the beginning. Libpng will -then only check the bytes (if any) that your program didn't read. - -(*): If you are not using the standard I/O functions, you will need -to replace them with custom functions. See the discussion under -Customizing libpng. - - - FILE *fp = fopen(file_name, "rb"); - if (!fp) - { - return (ERROR); - } - - fread(header, 1, number, fp); - is_png = !png_sig_cmp(header, 0, number); - - if (!is_png) - { - return (NOT_PNG); - } - - -Next, png_struct and png_info need to be allocated and initialized. In -order to ensure that the size of these structures is correct even with a -dynamically linked libpng, there are functions to initialize and -allocate the structures. We also pass the library version, optional -pointers to error handling functions, and a pointer to a data struct for -use by the error functions, if necessary (the pointer and functions can -be NULL if the default error handlers are to be used). See the section -on Changes to Libpng below regarding the old initialization functions. -The structure allocation functions quietly return NULL if they fail to -create the structure, so your application should check for that. - - png_structp png_ptr = png_create_read_struct - (PNG_LIBPNG_VER_STRING, (png_voidp)user_error_ptr, - user_error_fn, user_warning_fn); - - if (!png_ptr) - return (ERROR); - - png_infop info_ptr = png_create_info_struct(png_ptr); - - if (!info_ptr) - { - png_destroy_read_struct(&png_ptr, - (png_infopp)NULL, (png_infopp)NULL); - return (ERROR); - } - -If you want to use your own memory allocation routines, -use a libpng that was built with PNG_USER_MEM_SUPPORTED defined, and use -png_create_read_struct_2() instead of png_create_read_struct(): - - png_structp png_ptr = png_create_read_struct_2 - (PNG_LIBPNG_VER_STRING, (png_voidp)user_error_ptr, - user_error_fn, user_warning_fn, (png_voidp) - user_mem_ptr, user_malloc_fn, user_free_fn); - -The error handling routines passed to png_create_read_struct() -and the memory alloc/free routines passed to png_create_struct_2() -are only necessary if you are not using the libpng supplied error -handling and memory alloc/free functions. - -When libpng encounters an error, it expects to longjmp back -to your routine. Therefore, you will need to call setjmp and pass -your png_jmpbuf(png_ptr). If you read the file from different -routines, you will need to update the longjmp buffer every time you enter -a new routine that will call a png_*() function. - -See your documentation of setjmp/longjmp for your compiler for more -information on setjmp/longjmp. See the discussion on libpng error -handling in the Customizing Libpng section below for more information -on the libpng error handling. If an error occurs, and libpng longjmp's -back to your setjmp, you will want to call png_destroy_read_struct() to -free any memory. - - if (setjmp(png_jmpbuf(png_ptr))) - { - png_destroy_read_struct(&png_ptr, &info_ptr, - &end_info); - fclose(fp); - return (ERROR); - } - -Pass (png_infopp)NULL instead of &end_info if you didn't create -an end_info structure. - -If you would rather avoid the complexity of setjmp/longjmp issues, -you can compile libpng with PNG_NO_SETJMP, in which case -errors will result in a call to PNG_ABORT() which defaults to abort(). - -You can #define PNG_ABORT() to a function that does something -more useful than abort(), as long as your function does not -return. - -Now you need to set up the input code. The default for libpng is to -use the C function fread(). If you use this, you will need to pass a -valid FILE * in the function png_init_io(). Be sure that the file is -opened in binary mode. If you wish to handle reading data in another -way, you need not call the png_init_io() function, but you must then -implement the libpng I/O methods discussed in the Customizing Libpng -section below. - - png_init_io(png_ptr, fp); - -If you had previously opened the file and read any of the signature from -the beginning in order to see if this was a PNG file, you need to let -libpng know that there are some bytes missing from the start of the file. - - png_set_sig_bytes(png_ptr, number); - -You can change the zlib compression buffer size to be used while -reading compressed data with - - png_set_compression_buffer_size(png_ptr, buffer_size); - -where the default size is 8192 bytes. Note that the buffer size -is changed immediately and the buffer is reallocated immediately, -instead of setting a flag to be acted upon later. - -If you want CRC errors to be handled in a different manner than -the default, use - - png_set_crc_action(png_ptr, crit_action, ancil_action); - -The values for png_set_crc_action() say how libpng is to handle CRC errors in -ancillary and critical chunks, and whether to use the data contained -therein. Note that it is impossible to "discard" data in a critical -chunk. - -Choices for (int) crit_action are - PNG_CRC_DEFAULT 0 error/quit - PNG_CRC_ERROR_QUIT 1 error/quit - PNG_CRC_WARN_USE 3 warn/use data - PNG_CRC_QUIET_USE 4 quiet/use data - PNG_CRC_NO_CHANGE 5 use the current value - -Choices for (int) ancil_action are - PNG_CRC_DEFAULT 0 error/quit - PNG_CRC_ERROR_QUIT 1 error/quit - PNG_CRC_WARN_DISCARD 2 warn/discard data - PNG_CRC_WARN_USE 3 warn/use data - PNG_CRC_QUIET_USE 4 quiet/use data - PNG_CRC_NO_CHANGE 5 use the current value - -Setting up callback code - -You can set up a callback function to handle any unknown chunks in the -input stream. You must supply the function - - read_chunk_callback(png_structp png_ptr, - png_unknown_chunkp chunk); - { - /* The unknown chunk structure contains your - chunk data, along with similar data for any other - unknown chunks: */ - - png_byte name[5]; - png_byte *data; - png_size_t size; - - /* Note that libpng has already taken care of - the CRC handling */ - - /* put your code here. Search for your chunk in the - unknown chunk structure, process it, and return one - of the following: */ - - return (-n); /* chunk had an error */ - return (0); /* did not recognize */ - return (n); /* success */ - } - -(You can give your function another name that you like instead of -"read_chunk_callback") - -To inform libpng about your function, use - - png_set_read_user_chunk_fn(png_ptr, user_chunk_ptr, - read_chunk_callback); - -This names not only the callback function, but also a user pointer that -you can retrieve with - - png_get_user_chunk_ptr(png_ptr); - -If you call the png_set_read_user_chunk_fn() function, then all unknown -chunks will be saved when read, in case your callback function will need -one or more of them. This behavior can be changed with the -png_set_keep_unknown_chunks() function, described below. - -At this point, you can set up a callback function that will be -called after each row has been read, which you can use to control -a progress meter or the like. It's demonstrated in pngtest.c. -You must supply a function - - void read_row_callback(png_structp png_ptr, - png_uint_32 row, int pass); - { - /* put your code here */ - } - -(You can give it another name that you like instead of "read_row_callback") - -To inform libpng about your function, use - - png_set_read_status_fn(png_ptr, read_row_callback); - -When this function is called the row has already been completely processed and -the 'row' and 'pass' refer to the next row to be handled. For the -non-interlaced case the row that was just handled is simply one less than the -passed in row number, and pass will always be 0. For the interlaced case the -same applies unless the row value is 0, in which case the row just handled was -the last one from one of the preceding passes. Because interlacing may skip a -pass you cannot be sure that the preceding pass is just 'pass-1', if you really -need to know what the last pass is record (row,pass) from the callback and use -the last recorded value each time. - -As with the user transform you can find the output row using the -PNG_ROW_FROM_PASS_ROW macro. - -Unknown-chunk handling - -Now you get to set the way the library processes unknown chunks in the -input PNG stream. Both known and unknown chunks will be read. Normal -behavior is that known chunks will be parsed into information in -various info_ptr members while unknown chunks will be discarded. This -behavior can be wasteful if your application will never use some known -chunk types. To change this, you can call: - - png_set_keep_unknown_chunks(png_ptr, keep, - chunk_list, num_chunks); - keep - 0: default unknown chunk handling - 1: ignore; do not keep - 2: keep only if safe-to-copy - 3: keep even if unsafe-to-copy - - You can use these definitions: - PNG_HANDLE_CHUNK_AS_DEFAULT 0 - PNG_HANDLE_CHUNK_NEVER 1 - PNG_HANDLE_CHUNK_IF_SAFE 2 - PNG_HANDLE_CHUNK_ALWAYS 3 - - chunk_list - list of chunks affected (a byte string, - five bytes per chunk, NULL or '\0' if - num_chunks is 0) - - num_chunks - number of chunks affected; if 0, all - unknown chunks are affected. If nonzero, - only the chunks in the list are affected - -Unknown chunks declared in this way will be saved as raw data onto a -list of png_unknown_chunk structures. If a chunk that is normally -known to libpng is named in the list, it will be handled as unknown, -according to the "keep" directive. If a chunk is named in successive -instances of png_set_keep_unknown_chunks(), the final instance will -take precedence. The IHDR and IEND chunks should not be named in -chunk_list; if they are, libpng will process them normally anyway. -If you know that your application will never make use of some particular -chunks, use PNG_HANDLE_CHUNK_NEVER (or 1) as demonstrated below. - -Here is an example of the usage of png_set_keep_unknown_chunks(), -where the private "vpAg" chunk will later be processed by a user chunk -callback function: - - png_byte vpAg[5]={118, 112, 65, 103, (png_byte) '\0'}; - - #if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) - png_byte unused_chunks[]= - { - 104, 73, 83, 84, (png_byte) '\0', /* hIST */ - 105, 84, 88, 116, (png_byte) '\0', /* iTXt */ - 112, 67, 65, 76, (png_byte) '\0', /* pCAL */ - 115, 67, 65, 76, (png_byte) '\0', /* sCAL */ - 115, 80, 76, 84, (png_byte) '\0', /* sPLT */ - 116, 73, 77, 69, (png_byte) '\0', /* tIME */ - }; - #endif - - ... - - #if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) - /* ignore all unknown chunks: */ - png_set_keep_unknown_chunks(read_ptr, 1, NULL, 0); - - /* except for vpAg: */ - png_set_keep_unknown_chunks(read_ptr, 2, vpAg, 1); - - /* also ignore unused known chunks: */ - png_set_keep_unknown_chunks(read_ptr, 1, unused_chunks, - (int)sizeof(unused_chunks)/5); - #endif - -User limits - -The PNG specification allows the width and height of an image to be as -large as 2^31-1 (0x7fffffff), or about 2.147 billion rows and columns. -Since very few applications really need to process such large images, -we have imposed an arbitrary 1-million limit on rows and columns. -Larger images will be rejected immediately with a png_error() call. If -you wish to change this limit, you can use - - png_set_user_limits(png_ptr, width_max, height_max); - -to set your own limits, or use width_max = height_max = 0x7fffffffL -to allow all valid dimensions (libpng may reject some very large images -anyway because of potential buffer overflow conditions). - -You should put this statement after you create the PNG structure and -before calling png_read_info(), png_read_png(), or png_process_data(). - -When writing a PNG datastream, put this statement before calling -png_write_info() or png_write_png(). - -If you need to retrieve the limits that are being applied, use - - width_max = png_get_user_width_max(png_ptr); - height_max = png_get_user_height_max(png_ptr); - -The PNG specification sets no limit on the number of ancillary chunks -allowed in a PNG datastream. You can impose a limit on the total number -of sPLT, tEXt, iTXt, zTXt, and unknown chunks that will be stored, with - - png_set_chunk_cache_max(png_ptr, user_chunk_cache_max); - -where 0x7fffffffL means unlimited. You can retrieve this limit with - - chunk_cache_max = png_get_chunk_cache_max(png_ptr); - -This limit also applies to the number of buffers that can be allocated -by png_decompress_chunk() while decompressing iTXt, zTXt, and iCCP chunks. - -You can also set a limit on the amount of memory that a compressed chunk -other than IDAT can occupy, with - - png_set_chunk_malloc_max(png_ptr, user_chunk_malloc_max); - -and you can retrieve the limit with - - chunk_malloc_max = png_get_chunk_malloc_max(png_ptr); - -Any chunks that would cause either of these limits to be exceeded will -be ignored. - -Information about your system - -If you intend to display the PNG or to incorporate it in other image data you -need to tell libpng information about your display or drawing surface so that -libpng can convert the values in the image to match the display. - -From libpng-1.5.4 this information can be set before reading the PNG file -header. In earlier versions png_set_gamma() existed but behaved incorrectly if -called before the PNG file header had been read and png_set_alpha_mode() did not -exist. - -If you need to support versions prior to libpng-1.5.4 test the version number -as illustrated below using "PNG_LIBPNG_VER >= 10504" and follow the procedures -described in the appropriate manual page. - -You give libpng the encoding expected by your system expressed as a 'gamma' -value. You can also specify a default encoding for the PNG file in -case the required information is missing from the file. By default libpng -assumes that the PNG data matches your system, to keep this default call: - - png_set_gamma(png_ptr, screen_gamma, 1/screen_gamma/*file gamma*/); - -or you can use the fixed point equivalent: - - png_set_gamma_fixed(png_ptr, PNG_FP_1*screen_gamma, PNG_FP_1/screen_gamma); - -If you don't know the gamma for your system it is probably 2.2 - a good -approximation to the IEC standard for display systems (sRGB). If images are -too contrasty or washed out you got the value wrong - check your system -documentation! - -Many systems permit the system gamma to be changed via a lookup table in the -display driver, a few systems, including older Macs, change the response by -default. As of 1.5.4 three special values are available to handle common -situations: - - PNG_DEFAULT_sRGB: Indicates that the system conforms to the IEC 61966-2-1 - standard. This matches almost all systems. - PNG_GAMMA_MAC_18: Indicates that the system is an older (pre Mac OS 10.6) - Apple Macintosh system with the default settings. - PNG_GAMMA_LINEAR: Just the fixed point value for 1.0 - indicates that the - system expects data with no gamma encoding. - -You would use the linear (unencoded) value if you need to process the pixel -values further because this avoids the need to decode and reencode each -component value whenever arithmetic is performed. A lot of graphics software -uses linear values for this reason, often with higher precision component values -to preserve overall accuracy. - -The second thing you may need to tell libpng about is how your system handles -alpha channel information. Some, but not all, PNG files contain an alpha -channel. To display these files correctly you need to compose the data onto a -suitable background, as described in the PNG specification. - -Libpng only supports composing onto a single color (using png_set_background; -see below). Otherwise you must do the composition yourself and, in this case, -you may need to call png_set_alpha_mode: - -#if PNG_LIBPNG_VER >= 10504 - png_set_alpha_mode(png_ptr, mode, screen_gamma); -#else - png_set_gamma(png_ptr, screen_gamma, 1.0/screen_gamma); -#endif - -The screen_gamma value is the same as the argument to png_set_gamma; however, -how it affects the output depends on the mode. png_set_alpha_mode() sets the -file gamma default to 1/screen_gamma, so normally you don't need to call -png_set_gamma. If you need different defaults call png_set_gamma() before -png_set_alpha_mode() - if you call it after it will override the settings made -by png_set_alpha_mode(). - -The mode is as follows: - - PNG_ALPHA_PNG: The data is encoded according to the PNG specification. Red, -green and blue, or gray, components are gamma encoded color -values and are not premultiplied by the alpha value. The -alpha value is a linear measure of the contribution of the -pixel to the corresponding final output pixel. - -You should normally use this format if you intend to perform -color correction on the color values; most, maybe all, color -correction software has no handling for the alpha channel and, -anyway, the math to handle pre-multiplied component values is -unnecessarily complex. - -Before you do any arithmetic on the component values you need -to remove the gamma encoding and multiply out the alpha -channel. See the PNG specification for more detail. It is -important to note that when an image with an alpha channel is -scaled, linear encoded, pre-multiplied component values must -be used! - -The remaining modes assume you don't need to do any further color correction or -that if you do, your color correction software knows all about alpha (it -probably doesn't!) - - PNG_ALPHA_STANDARD: The data libpng produces -is encoded in the standard way -assumed by most correctly written graphics software. -The gamma encoding will be removed by libpng and the -linear component values will be pre-multiplied by the -alpha channel. - -With this format the final image must be re-encoded to -match the display gamma before the image is displayed. -If your system doesn't do that, yet still seems to -perform arithmetic on the pixels without decoding them, -it is broken - check out the modes below. - -With PNG_ALPHA_STANDARD libpng always produces linear -component values, whatever screen_gamma you supply. The -screen_gamma value is, however, used as a default for -the file gamma if the PNG file has no gamma information. - -If you call png_set_gamma() after png_set_alpha_mode() you -will override the linear encoding. Instead the -pre-multiplied pixel values will be gamma encoded but -the alpha channel will still be linear. This may -actually match the requirements of some broken software, -but it is unlikely. - -While linear 8-bit data is often used it has -insufficient precision for any image with a reasonable -dynamic range. To avoid problems, and if your software -supports it, use png_set_expand_16() to force all -components to 16 bits. - - PNG_ALPHA_OPTIMIZED: This mode is the same -as PNG_ALPHA_STANDARD except that -completely opaque pixels are gamma encoded according to -the screen_gamma value. Pixels with alpha less than 1.0 -will still have linear components. - -Use this format if you have control over your -compositing software and so don't do other arithmetic -(such as scaling) on the data you get from libpng. Your -compositing software can simply copy opaque pixels to -the output but still has linear values for the -non-opaque pixels. - -In normal compositing, where the alpha channel encodes -partial pixel coverage (as opposed to broad area -translucency), the inaccuracies of the 8-bit -representation of non-opaque pixels are irrelevant. - -You can also try this format if your software is broken; -it might look better. - - PNG_ALPHA_BROKEN: This is PNG_ALPHA_STANDARD; -however, all component values, -including the alpha channel are gamma encoded. This is -an appropriate format to try if your software, or more -likely hardware, is totally broken, i.e., if it performs -linear arithmetic directly on gamma encoded values. - -In most cases of broken software or hardware the bug in the final display -manifests as a subtle halo around composited parts of the image. You may not -even perceive this as a halo; the composited part of the image may simply appear -separate from the background, as though it had been cut out of paper and pasted -on afterward. - -If you don't have to deal with bugs in software or hardware, or if you can fix -them, there are three recommended ways of using png_set_alpha_mode(): - - png_set_alpha_mode(png_ptr, PNG_ALPHA_PNG, - screen_gamma); - -You can do color correction on the result (libpng does not currently -support color correction internally). When you handle the alpha channel -you need to undo the gamma encoding and multiply out the alpha. - - png_set_alpha_mode(png_ptr, PNG_ALPHA_STANDARD, - screen_gamma); - png_set_expand_16(png_ptr); - -If you are using the high level interface, don't call png_set_expand_16(); -instead pass PNG_TRANSFORM_EXPAND_16 to the interface. - -With this mode you can't do color correction, but you can do arithmetic, -including composition and scaling, on the data without further processing. - - png_set_alpha_mode(png_ptr, PNG_ALPHA_OPTIMIZED, - screen_gamma); - -You can avoid the expansion to 16-bit components with this mode, but you -lose the ability to scale the image or perform other linear arithmetic. -All you can do is compose the result onto a matching output. Since this -mode is libpng-specific you also need to write your own composition -software. - -If you don't need, or can't handle, the alpha channel you can call -png_set_background() to remove it by compositing against a fixed color. Don't -call png_set_strip_alpha() to do this - it will leave spurious pixel values in -transparent parts of this image. - - png_set_background(png_ptr, &background_color, - PNG_BACKGROUND_GAMMA_SCREEN, 0, 1); - -The background_color is an RGB or grayscale value according to the data format -libpng will produce for you. Because you don't yet know the format of the PNG -file, if you call png_set_background at this point you must arrange for the -format produced by libpng to always have 8-bit or 16-bit components and then -store the color as an 8-bit or 16-bit color as appropriate. The color contains -separate gray and RGB component values, so you can let libpng produce gray or -RGB output according to the input format, but low bit depth grayscale images -must always be converted to at least 8-bit format. (Even though low bit depth -grayscale images can't have an alpha channel they can have a transparent -color!) - -You set the transforms you need later, either as flags to the high level -interface or libpng API calls for the low level interface. For reference the -settings and API calls required are: - -8-bit values: - PNG_TRANSFORM_SCALE_16 | PNG_EXPAND - png_set_expand(png_ptr); png_set_scale_16(png_ptr); - - If you must get exactly the same inaccurate results - produced by default in versions prior to libpng-1.5.4, - use PNG_TRANSFORM_STRIP_16 and png_set_strip_16(png_ptr) - instead. - -16-bit values: - PNG_TRANSFORM_EXPAND_16 - png_set_expand_16(png_ptr); - -In either case palette image data will be expanded to RGB. If you just want -color data you can add PNG_TRANSFORM_GRAY_TO_RGB or png_set_gray_to_rgb(png_ptr) -to the list. - -Calling png_set_background before the PNG file header is read will not work -prior to libpng-1.5.4. Because the failure may result in unexpected warnings or -errors it is therefore much safer to call png_set_background after the head has -been read. Unfortunately this means that prior to libpng-1.5.4 it cannot be -used with the high level interface. - -The high-level read interface - -At this point there are two ways to proceed; through the high-level -read interface, or through a sequence of low-level read operations. -You can use the high-level interface if (a) you are willing to read -the entire image into memory, and (b) the input transformations -you want to do are limited to the following set: - - PNG_TRANSFORM_IDENTITY No transformation - PNG_TRANSFORM_SCALE_16 Strip 16-bit samples to - 8-bit accurately - PNG_TRANSFORM_STRIP_16 Chop 16-bit samples to - 8-bit less accurately - PNG_TRANSFORM_STRIP_ALPHA Discard the alpha channel - PNG_TRANSFORM_PACKING Expand 1, 2 and 4-bit - samples to bytes - PNG_TRANSFORM_PACKSWAP Change order of packed - pixels to LSB first - PNG_TRANSFORM_EXPAND Perform set_expand() - PNG_TRANSFORM_INVERT_MONO Invert monochrome images - PNG_TRANSFORM_SHIFT Normalize pixels to the - sBIT depth - PNG_TRANSFORM_BGR Flip RGB to BGR, RGBA - to BGRA - PNG_TRANSFORM_SWAP_ALPHA Flip RGBA to ARGB or GA - to AG - PNG_TRANSFORM_INVERT_ALPHA Change alpha from opacity - to transparency - PNG_TRANSFORM_SWAP_ENDIAN Byte-swap 16-bit samples - PNG_TRANSFORM_GRAY_TO_RGB Expand grayscale samples - to RGB (or GA to RGBA) - PNG_TRANSFORM_EXPAND_16 Expand samples to 16 bits - -(This excludes setting a background color, doing gamma transformation, -quantizing, and setting filler.) If this is the case, simply do this: - - png_read_png(png_ptr, info_ptr, png_transforms, NULL) - -where png_transforms is an integer containing the bitwise OR of some -set of transformation flags. This call is equivalent to png_read_info(), -followed the set of transformations indicated by the transform mask, -then png_read_image(), and finally png_read_end(). - -(The final parameter of this call is not yet used. Someday it might point -to transformation parameters required by some future input transform.) - -You must use png_transforms and not call any png_set_transform() functions -when you use png_read_png(). - -After you have called png_read_png(), you can retrieve the image data -with - - row_pointers = png_get_rows(png_ptr, info_ptr); - -where row_pointers is an array of pointers to the pixel data for each row: - - png_bytep row_pointers[height]; - -If you know your image size and pixel size ahead of time, you can allocate -row_pointers prior to calling png_read_png() with - - if (height > PNG_UINT_32_MAX/png_sizeof(png_byte)) - png_error (png_ptr, - "Image is too tall to process in memory"); - - if (width > PNG_UINT_32_MAX/pixel_size) - png_error (png_ptr, - "Image is too wide to process in memory"); - - row_pointers = png_malloc(png_ptr, - height*png_sizeof(png_bytep)); - - for (int i=0; i) and -png_get_(png_ptr, info_ptr, ...) functions return non-zero if the -data has been read, or zero if it is missing. The parameters to the -png_get_ are set directly if they are simple data types, or a -pointer into the info_ptr is returned for any complex types. - -The colorspace data from gAMA, cHRM, sRGB, iCCP, and sBIT chunks -is simply returned to give the application information about how the -image was encoded. Libpng itself only does transformations using the file -gamma when combining semitransparent pixels with the background color. - - png_get_PLTE(png_ptr, info_ptr, &palette, - &num_palette); - - palette - the palette for the file - (array of png_color) - - num_palette - number of entries in the palette - - png_get_gAMA(png_ptr, info_ptr, &file_gamma); - png_get_gAMA_fixed(png_ptr, info_ptr, &int_file_gamma); - - file_gamma - the gamma at which the file was - written (PNG_INFO_gAMA) - - int_file_gamma - 100,000 times the gamma at which the - file is written - - png_get_cHRM(png_ptr, info_ptr, &white_x, &white_y, &red_x, &red_y, - &green_x, &green_y, &blue_x, &blue_y) - png_get_cHRM_XYZ(png_ptr, info_ptr, &red_X, &red_Y, &red_Z, &green_X, - &green_Y, &green_Z, &blue_X, &blue_Y, &blue_Z) - png_get_cHRM_fixed(png_ptr, info_ptr, &int_white_x, &int_white_y, - &int_red_x, &int_red_y, &int_green_x, &int_green_y, - &int_blue_x, &int_blue_y) - png_get_cHRM_XYZ_fixed(png_ptr, info_ptr, &int_red_X, &int_red_Y, - &int_red_Z, &int_green_X, &int_green_Y, &int_green_Z, - &int_blue_X, &int_blue_Y, &int_blue_Z) - - {white,red,green,blue}_{x,y} - A color space encoding specified using the chromaticities - of the end points and the white point. (PNG_INFO_cHRM) - - {red,green,blue}_{X,Y,Z} - A color space encoding specified using the encoding end - points - the CIE tristimulus specification of the intended - color of the red, green and blue channels in the PNG RGB - data. The white point is simply the sum of the three end - points. (PNG_INFO_cHRM) - - png_get_sRGB(png_ptr, info_ptr, &srgb_intent); - - file_srgb_intent - the rendering intent (PNG_INFO_sRGB) - The presence of the sRGB chunk - means that the pixel data is in the - sRGB color space. This chunk also - implies specific values of gAMA and - cHRM. - - png_get_iCCP(png_ptr, info_ptr, &name, - &compression_type, &profile, &proflen); - - name - The profile name. - - compression_type - The compression type; always - PNG_COMPRESSION_TYPE_BASE for PNG 1.0. - You may give NULL to this argument to - ignore it. - - profile - International Color Consortium color - profile data. May contain NULs. - - proflen - length of profile data in bytes. - - png_get_sBIT(png_ptr, info_ptr, &sig_bit); - - sig_bit - the number of significant bits for - (PNG_INFO_sBIT) each of the gray, - red, green, and blue channels, - whichever are appropriate for the - given color type (png_color_16) - - png_get_tRNS(png_ptr, info_ptr, &trans_alpha, - &num_trans, &trans_color); - - trans_alpha - array of alpha (transparency) - entries for palette (PNG_INFO_tRNS) - - num_trans - number of transparent entries - (PNG_INFO_tRNS) - - trans_color - graylevel or color sample values of - the single transparent color for - non-paletted images (PNG_INFO_tRNS) - - png_get_hIST(png_ptr, info_ptr, &hist); - (PNG_INFO_hIST) - - hist - histogram of palette (array of - png_uint_16) - - png_get_tIME(png_ptr, info_ptr, &mod_time); - - mod_time - time image was last modified - (PNG_VALID_tIME) - - png_get_bKGD(png_ptr, info_ptr, &background); - - background - background color (of type - png_color_16p) (PNG_VALID_bKGD) - valid 16-bit red, green and blue - values, regardless of color_type - - num_comments = png_get_text(png_ptr, info_ptr, - &text_ptr, &num_text); - - num_comments - number of comments - - text_ptr - array of png_text holding image - comments - - text_ptr[i].compression - type of compression used - on "text" PNG_TEXT_COMPRESSION_NONE - PNG_TEXT_COMPRESSION_zTXt - PNG_ITXT_COMPRESSION_NONE - PNG_ITXT_COMPRESSION_zTXt - - text_ptr[i].key - keyword for comment. Must contain - 1-79 characters. - - text_ptr[i].text - text comments for current - keyword. Can be empty. - - text_ptr[i].text_length - length of text string, - after decompression, 0 for iTXt - - text_ptr[i].itxt_length - length of itxt string, - after decompression, 0 for tEXt/zTXt - - text_ptr[i].lang - language of comment (empty - string for unknown). - - text_ptr[i].lang_key - keyword in UTF-8 - (empty string for unknown). - - Note that the itxt_length, lang, and lang_key - members of the text_ptr structure only exist when the - library is built with iTXt chunk support. Prior to - libpng-1.4.0 the library was built by default without - iTXt support. Also note that when iTXt is supported, - they contain NULL pointers when the "compression" - field contains PNG_TEXT_COMPRESSION_NONE or - PNG_TEXT_COMPRESSION_zTXt. - - num_text - number of comments (same as - num_comments; you can put NULL here - to avoid the duplication) - - Note while png_set_text() will accept text, language, - and translated keywords that can be NULL pointers, the - structure returned by png_get_text will always contain - regular zero-terminated C strings. They might be - empty strings but they will never be NULL pointers. - - num_spalettes = png_get_sPLT(png_ptr, info_ptr, - &palette_ptr); - - num_spalettes - number of sPLT chunks read. - - palette_ptr - array of palette structures holding - contents of one or more sPLT chunks - read. - - png_get_oFFs(png_ptr, info_ptr, &offset_x, &offset_y, - &unit_type); - - offset_x - positive offset from the left edge - of the screen (can be negative) - - offset_y - positive offset from the top edge - of the screen (can be negative) - - unit_type - PNG_OFFSET_PIXEL, PNG_OFFSET_MICROMETER - - png_get_pHYs(png_ptr, info_ptr, &res_x, &res_y, - &unit_type); - - res_x - pixels/unit physical resolution in - x direction - - res_y - pixels/unit physical resolution in - x direction - - unit_type - PNG_RESOLUTION_UNKNOWN, - PNG_RESOLUTION_METER - - png_get_sCAL(png_ptr, info_ptr, &unit, &width, - &height) - - unit - physical scale units (an integer) - - width - width of a pixel in physical scale units - - height - height of a pixel in physical scale units - (width and height are doubles) - - png_get_sCAL_s(png_ptr, info_ptr, &unit, &width, - &height) - - unit - physical scale units (an integer) - - width - width of a pixel in physical scale units - (expressed as a string) - - height - height of a pixel in physical scale units - (width and height are strings like "2.54") - - num_unknown_chunks = png_get_unknown_chunks(png_ptr, - info_ptr, &unknowns) - - unknowns - array of png_unknown_chunk - structures holding unknown chunks - - unknowns[i].name - name of unknown chunk - - unknowns[i].data - data of unknown chunk - - unknowns[i].size - size of unknown chunk's data - - unknowns[i].location - position of chunk in file - - The value of "i" corresponds to the order in which the - chunks were read from the PNG file or inserted with the - png_set_unknown_chunks() function. - - The value of "location" is a bitwise "or" of - - PNG_HAVE_IHDR (0x01) - PNG_HAVE_PLTE (0x02) - PNG_AFTER_IDAT (0x08) - -The data from the pHYs chunk can be retrieved in several convenient -forms: - - res_x = png_get_x_pixels_per_meter(png_ptr, - info_ptr) - - res_y = png_get_y_pixels_per_meter(png_ptr, - info_ptr) - - res_x_and_y = png_get_pixels_per_meter(png_ptr, - info_ptr) - - res_x = png_get_x_pixels_per_inch(png_ptr, - info_ptr) - - res_y = png_get_y_pixels_per_inch(png_ptr, - info_ptr) - - res_x_and_y = png_get_pixels_per_inch(png_ptr, - info_ptr) - - aspect_ratio = png_get_pixel_aspect_ratio(png_ptr, - info_ptr) - - Each of these returns 0 [signifying "unknown"] if - the data is not present or if res_x is 0; - res_x_and_y is 0 if res_x != res_y - - Note that because of the way the resolutions are - stored internally, the inch conversions won't - come out to exactly even number. For example, - 72 dpi is stored as 0.28346 pixels/meter, and - when this is retrieved it is 71.9988 dpi, so - be sure to round the returned value appropriately - if you want to display a reasonable-looking result. - -The data from the oFFs chunk can be retrieved in several convenient -forms: - - x_offset = png_get_x_offset_microns(png_ptr, info_ptr); - - y_offset = png_get_y_offset_microns(png_ptr, info_ptr); - - x_offset = png_get_x_offset_inches(png_ptr, info_ptr); - - y_offset = png_get_y_offset_inches(png_ptr, info_ptr); - - Each of these returns 0 [signifying "unknown" if both - x and y are 0] if the data is not present or if the - chunk is present but the unit is the pixel. The - remark about inexact inch conversions applies here - as well, because a value in inches can't always be - converted to microns and back without some loss - of precision. - -For more information, see the -PNG specification for chunk contents. Be careful with trusting -rowbytes, as some of the transformations could increase the space -needed to hold a row (expand, filler, gray_to_rgb, etc.). -See png_read_update_info(), below. - -A quick word about text_ptr and num_text. PNG stores comments in -keyword/text pairs, one pair per chunk, with no limit on the number -of text chunks, and a 2^31 byte limit on their size. While there are -suggested keywords, there is no requirement to restrict the use to these -strings. It is strongly suggested that keywords and text be sensible -to humans (that's the point), so don't use abbreviations. Non-printing -symbols are not allowed. See the PNG specification for more details. -There is also no requirement to have text after the keyword. - -Keywords should be limited to 79 Latin-1 characters without leading or -trailing spaces, but non-consecutive spaces are allowed within the -keyword. It is possible to have the same keyword any number of times. -The text_ptr is an array of png_text structures, each holding a -pointer to a language string, a pointer to a keyword and a pointer to -a text string. The text string, language code, and translated -keyword may be empty or NULL pointers. The keyword/text -pairs are put into the array in the order that they are received. -However, some or all of the text chunks may be after the image, so, to -make sure you have read all the text chunks, don't mess with these -until after you read the stuff after the image. This will be -mentioned again below in the discussion that goes with png_read_end(). - -Input transformations - -After you've read the header information, you can set up the library -to handle any special transformations of the image data. The various -ways to transform the data will be described in the order that they -should occur. This is important, as some of these change the color -type and/or bit depth of the data, and some others only work on -certain color types and bit depths. - -Transformations you request are ignored if they don't have any meaning for a -particular input data format. However some transformations can have an effect -as a result of a previous transformation. If you specify a contradictory set of -transformations, for example both adding and removing the alpha channel, you -cannot predict the final result. - -The color used for the transparency values should be supplied in the same -format/depth as the current image data. It is stored in the same format/depth -as the image data in a tRNS chunk, so this is what libpng expects for this data. - -The color used for the background value depends on the need_expand argument as -described below. - -Data will be decoded into the supplied row buffers packed into bytes -unless the library has been told to transform it into another format. -For example, 4 bit/pixel paletted or grayscale data will be returned -2 pixels/byte with the leftmost pixel in the high-order bits of the -byte, unless png_set_packing() is called. 8-bit RGB data will be stored -in RGB RGB RGB format unless png_set_filler() or png_set_add_alpha() -is called to insert filler bytes, either before or after each RGB triplet. -16-bit RGB data will be returned RRGGBB RRGGBB, with the most significant -byte of the color value first, unless png_set_scale_16() is called to -transform it to regular RGB RGB triplets, or png_set_filler() or -png_set_add alpha() is called to insert filler bytes, either before or -after each RRGGBB triplet. Similarly, 8-bit or 16-bit grayscale data can -be modified with png_set_filler(), png_set_add_alpha(), png_set_strip_16(), -or png_set_scale_16(). - -The following code transforms grayscale images of less than 8 to 8 bits, -changes paletted images to RGB, and adds a full alpha channel if there is -transparency information in a tRNS chunk. This is most useful on -grayscale images with bit depths of 2 or 4 or if there is a multiple-image -viewing application that wishes to treat all images in the same way. - - if (color_type == PNG_COLOR_TYPE_PALETTE) - png_set_palette_to_rgb(png_ptr); - - if (png_get_valid(png_ptr, info_ptr, - PNG_INFO_tRNS)) png_set_tRNS_to_alpha(png_ptr); - - if (color_type == PNG_COLOR_TYPE_GRAY && - bit_depth < 8) png_set_expand_gray_1_2_4_to_8(png_ptr); - -The first two functions are actually aliases for png_set_expand(), added -in libpng version 1.0.4, with the function names expanded to improve code -readability. In some future version they may actually do different -things. - -As of libpng version 1.2.9, png_set_expand_gray_1_2_4_to_8() was -added. It expands the sample depth without changing tRNS to alpha. - -As of libpng version 1.5.2, png_set_expand_16() was added. It behaves as -png_set_expand(); however, the resultant channels have 16 bits rather than 8. -Use this when the output color or gray channels are made linear to avoid fairly -severe accuracy loss. - - if (bit_depth < 16) - png_set_expand_16(png_ptr); - -PNG can have files with 16 bits per channel. If you only can handle -8 bits per channel, this will strip the pixels down to 8-bit. - - if (bit_depth == 16) -#if PNG_LIBPNG_VER >= 10504 - png_set_scale_16(png_ptr); -#else - png_set_strip_16(png_ptr); -#endif - -(The more accurate "png_set_scale_16()" API became available in libpng version -1.5.4). - -If you need to process the alpha channel on the image separately from the image -data (for example if you convert it to a bitmap mask) it is possible to have -libpng strip the channel leaving just RGB or gray data: - - if (color_type & PNG_COLOR_MASK_ALPHA) - png_set_strip_alpha(png_ptr); - -If you strip the alpha channel you need to find some other way of dealing with -the information. If, instead, you want to convert the image to an opaque -version with no alpha channel use png_set_background; see below. - -As of libpng version 1.5.2, almost all useful expansions are supported, the -major ommissions are conversion of grayscale to indexed images (which can be -done trivially in the application) and conversion of indexed to grayscale (which -can be done by a trivial manipulation of the palette.) - -In the following table, the 01 means grayscale with depth<8, 31 means -indexed with depth<8, other numerals represent the color type, "T" means -the tRNS chunk is present, A means an alpha channel is present, and O -means tRNS or alpha is present but all pixels in the image are opaque. - - FROM 01 31 0 0T 0O 2 2T 2O 3 3T 3O 4A 4O 6A 6O - TO - 01 - [G] - - - - - - - - - - - - - - 31 [Q] Q [Q] [Q] [Q] Q Q Q Q Q Q [Q] [Q] Q Q - 0 1 G + . . G G G G G G B B GB GB - 0T lt Gt t + . Gt G G Gt G G Bt Bt GBt GBt - 0O lt Gt t . + Gt Gt G Gt Gt G Bt Bt GBt GBt - 2 C P C C C + . . C - - CB CB B B - 2T Ct - Ct C C t + t - - - CBt CBt Bt Bt - 2O Ct - Ct C C t t + - - - CBt CBt Bt Bt - 3 [Q] p [Q] [Q] [Q] Q Q Q + . . [Q] [Q] Q Q - 3T [Qt] p [Qt][Q] [Q] Qt Qt Qt t + t [Qt][Qt] Qt Qt - 3O [Qt] p [Qt][Q] [Q] Qt Qt Qt t t + [Qt][Qt] Qt Qt - 4A lA G A T T GA GT GT GA GT GT + BA G GBA - 4O lA GBA A T T GA GT GT GA GT GT BA + GBA G - 6A CA PA CA C C A T tT PA P P C CBA + BA - 6O CA PBA CA C C A tT T PA P P CBA C BA + - -Within the matrix, - "+" identifies entries where 'from' and 'to' are the same. - "-" means the transformation is not supported. - "." means nothing is necessary (a tRNS chunk can just be ignored). - "t" means the transformation is obtained by png_set_tRNS. - "A" means the transformation is obtained by png_set_add_alpha(). - "X" means the transformation is obtained by png_set_expand(). - "1" means the transformation is obtained by - png_set_expand_gray_1_2_4_to_8() (and by png_set_expand() if there - is no transparency in the original or the final format). - "C" means the transformation is obtained by png_set_gray_to_rgb(). - "G" means the transformation is obtained by png_set_rgb_to_gray(). - "P" means the transformation is obtained by - png_set_expand_palette_to_rgb(). - "p" means the transformation is obtained by png_set_packing(). - "Q" means the transformation is obtained by png_set_quantize(). - "T" means the transformation is obtained by png_set_tRNS_to_alpha(). - "B" means the transformation is obtained by png_set_background(), or - png_strip_alpha(). - -When an entry has multiple transforms listed all are required to cause the -right overall transformation. When two transforms are separated by a comma -either will do the job. When transforms are enclosed in [] the transform should -do the job but this is currently unimplemented - a different format will result -if the suggested transformations are used. - -In PNG files, the alpha channel in an image -is the level of opacity. If you need the alpha channel in an image to -be the level of transparency instead of opacity, you can invert the -alpha channel (or the tRNS chunk data) after it's read, so that 0 is -fully opaque and 255 (in 8-bit or paletted images) or 65535 (in 16-bit -images) is fully transparent, with - - png_set_invert_alpha(png_ptr); - -PNG files pack pixels of bit depths 1, 2, and 4 into bytes as small as -they can, resulting in, for example, 8 pixels per byte for 1 bit -files. This code expands to 1 pixel per byte without changing the -values of the pixels: - - if (bit_depth < 8) - png_set_packing(png_ptr); - -PNG files have possible bit depths of 1, 2, 4, 8, and 16. All pixels -stored in a PNG image have been "scaled" or "shifted" up to the next -higher possible bit depth (e.g. from 5 bits/sample in the range [0,31] -to 8 bits/sample in the range [0, 255]). However, it is also possible -to convert the PNG pixel data back to the original bit depth of the -image. This call reduces the pixels back down to the original bit depth: - - png_color_8p sig_bit; - - if (png_get_sBIT(png_ptr, info_ptr, &sig_bit)) - png_set_shift(png_ptr, sig_bit); - -PNG files store 3-color pixels in red, green, blue order. This code -changes the storage of the pixels to blue, green, red: - - if (color_type == PNG_COLOR_TYPE_RGB || - color_type == PNG_COLOR_TYPE_RGB_ALPHA) - png_set_bgr(png_ptr); - -PNG files store RGB pixels packed into 3 or 6 bytes. This code expands them -into 4 or 8 bytes for windowing systems that need them in this format: - - if (color_type == PNG_COLOR_TYPE_RGB) - png_set_filler(png_ptr, filler, PNG_FILLER_BEFORE); - -where "filler" is the 8 or 16-bit number to fill with, and the location is -either PNG_FILLER_BEFORE or PNG_FILLER_AFTER, depending upon whether -you want the filler before the RGB or after. This transformation -does not affect images that already have full alpha channels. To add an -opaque alpha channel, use filler=0xff or 0xffff and PNG_FILLER_AFTER which -will generate RGBA pixels. - -Note that png_set_filler() does not change the color type. If you want -to do that, you can add a true alpha channel with - - if (color_type == PNG_COLOR_TYPE_RGB || - color_type == PNG_COLOR_TYPE_GRAY) - png_set_add_alpha(png_ptr, filler, PNG_FILLER_AFTER); - -where "filler" contains the alpha value to assign to each pixel. -This function was added in libpng-1.2.7. - -If you are reading an image with an alpha channel, and you need the -data as ARGB instead of the normal PNG format RGBA: - - if (color_type == PNG_COLOR_TYPE_RGB_ALPHA) - png_set_swap_alpha(png_ptr); - -For some uses, you may want a grayscale image to be represented as -RGB. This code will do that conversion: - - if (color_type == PNG_COLOR_TYPE_GRAY || - color_type == PNG_COLOR_TYPE_GRAY_ALPHA) - png_set_gray_to_rgb(png_ptr); - -Conversely, you can convert an RGB or RGBA image to grayscale or grayscale -with alpha. - - if (color_type == PNG_COLOR_TYPE_RGB || - color_type == PNG_COLOR_TYPE_RGB_ALPHA) - png_set_rgb_to_gray(png_ptr, error_action, double red_weight, - double green_weight); - - error_action = 1: silently do the conversion - - error_action = 2: issue a warning if the original - image has any pixel where - red != green or red != blue - - error_action = 3: issue an error and abort the - conversion if the original - image has any pixel where - red != green or red != blue - - red_weight: weight of red component - - green_weight: weight of green component - If either weight is negative, default - weights are used. - -In the corresponding fixed point API the red_weight and green_weight values are -simply scaled by 100,000: - - png_set_rgb_to_gray(png_ptr, error_action, png_fixed_point red_weight, - png_fixed_point green_weight); - -If you have set error_action = 1 or 2, you can -later check whether the image really was gray, after processing -the image rows, with the png_get_rgb_to_gray_status(png_ptr) function. -It will return a png_byte that is zero if the image was gray or -1 if there were any non-gray pixels. Background and sBIT data -will be silently converted to grayscale, using the green channel -data for sBIT, regardless of the error_action setting. - -The default values come from the PNG file cHRM chunk if present; otherwise, the -defaults correspond to the ITU-R recommendation 709, and also the sRGB color -space, as recommended in the Charles Poynton's Colour FAQ, -, in section 9: - - - - Y = 0.2126 * R + 0.7152 * G + 0.0722 * B - -Previous versions of this document, 1998 through 2002, recommended a slightly -different formula: - - Y = 0.212671 * R + 0.715160 * G + 0.072169 * B - -Libpng uses an integer approximation: - - Y = (6968 * R + 23434 * G + 2366 * B)/32768 - -The calculation is done in a linear colorspace, if the image gamma -can be determined. - -The png_set_background() function has been described already; it tells libpng to -composite images with alpha or simple transparency against the supplied -background color. For compatibility with versions of libpng earlier than -libpng-1.5.4 it is recommended that you call the function after reading the file -header, even if you don't want to use the color in a bKGD chunk, if one exists. - -If the PNG file contains a bKGD chunk (PNG_INFO_bKGD valid), -you may use this color, or supply another color more suitable for -the current display (e.g., the background color from a web page). You -need to tell libpng how the color is represented, both the format of the -component values in the color (the number of bits) and the gamma encoding of the -color. The function takes two arguments, background_gamma_mode and need_expand -to convey this information; however, only two combinations are likely to be -useful: - - png_color_16 my_background; - png_color_16p image_background; - - if (png_get_bKGD(png_ptr, info_ptr, &image_background)) - png_set_background(png_ptr, image_background, - PNG_BACKGROUND_GAMMA_FILE, 1/*needs to be expanded*/, 1); - else - png_set_background(png_ptr, &my_background, - PNG_BACKGROUND_GAMMA_SCREEN, 0/*do not expand*/, 1); - -The second call was described above - my_background is in the format of the -final, display, output produced by libpng. Because you now know the format of -the PNG it is possible to avoid the need to choose either 8-bit or 16-bit -output and to retain palette images (the palette colors will be modified -appropriately and the tRNS chunk removed.) However, if you are doing this, -take great care not to ask for transformations without checking first that -they apply! - -In the first call the background color has the original bit depth and color type -of the PNG file. So, for palette images the color is supplied as a palette -index and for low bit greyscale images the color is a reduced bit value in -image_background->gray. - -If you didn't call png_set_gamma() before reading the file header, for example -if you need your code to remain compatible with older versions of libpng prior -to libpng-1.5.4, this is the place to call it. - -Do not call it if you called png_set_alpha_mode(); doing so will damage the -settings put in place by png_set_alpha_mode(). (If png_set_alpha_mode() is -supported then you can certainly do png_set_gamma() before reading the PNG -header.) - -This API unconditionally sets the screen and file gamma values, so it will -override the value in the PNG file unless it is called before the PNG file -reading starts. For this reason you must always call it with the PNG file -value when you call it in this position: - - if (png_get_gAMA(png_ptr, info_ptr, &file_gamma)) - png_set_gamma(png_ptr, screen_gamma, file_gamma); - - else - png_set_gamma(png_ptr, screen_gamma, 0.45455); - -If you need to reduce an RGB file to a paletted file, or if a paletted -file has more entries then will fit on your screen, png_set_quantize() -will do that. Note that this is a simple match quantization that merely -finds the closest color available. This should work fairly well with -optimized palettes, but fairly badly with linear color cubes. If you -pass a palette that is larger than maximum_colors, the file will -reduce the number of colors in the palette so it will fit into -maximum_colors. If there is a histogram, libpng will use it to make -more intelligent choices when reducing the palette. If there is no -histogram, it may not do as good a job. - - if (color_type & PNG_COLOR_MASK_COLOR) - { - if (png_get_valid(png_ptr, info_ptr, - PNG_INFO_PLTE)) - { - png_uint_16p histogram = NULL; - - png_get_hIST(png_ptr, info_ptr, - &histogram); - png_set_quantize(png_ptr, palette, num_palette, - max_screen_colors, histogram, 1); - } - - else - { - png_color std_color_cube[MAX_SCREEN_COLORS] = - { ... colors ... }; - - png_set_quantize(png_ptr, std_color_cube, - MAX_SCREEN_COLORS, MAX_SCREEN_COLORS, - NULL,0); - } - } - -PNG files describe monochrome as black being zero and white being one. -The following code will reverse this (make black be one and white be -zero): - - if (bit_depth == 1 && color_type == PNG_COLOR_TYPE_GRAY) - png_set_invert_mono(png_ptr); - -This function can also be used to invert grayscale and gray-alpha images: - - if (color_type == PNG_COLOR_TYPE_GRAY || - color_type == PNG_COLOR_TYPE_GRAY_ALPHA) - png_set_invert_mono(png_ptr); - -PNG files store 16-bit pixels in network byte order (big-endian, -ie. most significant bits first). This code changes the storage to the -other way (little-endian, i.e. least significant bits first, the -way PCs store them): - - if (bit_depth == 16) - png_set_swap(png_ptr); - -If you are using packed-pixel images (1, 2, or 4 bits/pixel), and you -need to change the order the pixels are packed into bytes, you can use: - - if (bit_depth < 8) - png_set_packswap(png_ptr); - -Finally, you can write your own transformation function if none of -the existing ones meets your needs. This is done by setting a callback -with - - png_set_read_user_transform_fn(png_ptr, - read_transform_fn); - -You must supply the function - - void read_transform_fn(png_structp png_ptr, png_row_infop - row_info, png_bytep data) - -See pngtest.c for a working example. Your function will be called -after all of the other transformations have been processed. Take care with -interlaced images if you do the interlace yourself - the width of the row is the -width in 'row_info', not the overall image width. - -If supported, libpng provides two information routines that you can use to find -where you are in processing the image: - - png_get_current_pass_number(png_structp png_ptr); - png_get_current_row_number(png_structp png_ptr); - -Don't try using these outside a transform callback - firstly they are only -supported if user transforms are supported, secondly they may well return -unexpected results unless the row is actually being processed at the moment they -are called. - -With interlaced -images the value returned is the row in the input sub-image image. Use -PNG_ROW_FROM_PASS_ROW(row, pass) and PNG_COL_FROM_PASS_COL(col, pass) to -find the output pixel (x,y) given an interlaced sub-image pixel (row,col,pass). - -The discussion of interlace handling above contains more information on how to -use these values. - -You can also set up a pointer to a user structure for use by your -callback function, and you can inform libpng that your transform -function will change the number of channels or bit depth with the -function - - png_set_user_transform_info(png_ptr, user_ptr, - user_depth, user_channels); - -The user's application, not libpng, is responsible for allocating and -freeing any memory required for the user structure. - -You can retrieve the pointer via the function -png_get_user_transform_ptr(). For example: - - voidp read_user_transform_ptr = - png_get_user_transform_ptr(png_ptr); - -The last thing to handle is interlacing; this is covered in detail below, -but you must call the function here if you want libpng to handle expansion -of the interlaced image. - - number_of_passes = png_set_interlace_handling(png_ptr); - -After setting the transformations, libpng can update your png_info -structure to reflect any transformations you've requested with this -call. - - png_read_update_info(png_ptr, info_ptr); - -This is most useful to update the info structure's rowbytes -field so you can use it to allocate your image memory. This function -will also update your palette with the correct screen_gamma and -background if these have been given with the calls above. You may -only call png_read_update_info() once with a particular info_ptr. - -After you call png_read_update_info(), you can allocate any -memory you need to hold the image. The row data is simply -raw byte data for all forms of images. As the actual allocation -varies among applications, no example will be given. If you -are allocating one large chunk, you will need to build an -array of pointers to each row, as it will be needed for some -of the functions below. - -Remember: Before you call png_read_update_info(), the png_get_*() -functions return the values corresponding to the original PNG image. -After you call png_read_update_info the values refer to the image -that libpng will output. Consequently you must call all the png_set_ -functions before you call png_read_update_info(). This is particularly -important for png_set_interlace_handling() - if you are going to call -png_read_update_info() you must call png_set_interlace_handling() before -it unless you want to receive interlaced output. - -Reading image data - -After you've allocated memory, you can read the image data. -The simplest way to do this is in one function call. If you are -allocating enough memory to hold the whole image, you can just -call png_read_image() and libpng will read in all the image data -and put it in the memory area supplied. You will need to pass in -an array of pointers to each row. - -This function automatically handles interlacing, so you don't -need to call png_set_interlace_handling() (unless you call -png_read_update_info()) or call this function multiple times, or any -of that other stuff necessary with png_read_rows(). - - png_read_image(png_ptr, row_pointers); - -where row_pointers is: - - png_bytep row_pointers[height]; - -You can point to void or char or whatever you use for pixels. - -If you don't want to read in the whole image at once, you can -use png_read_rows() instead. If there is no interlacing (check -interlace_type == PNG_INTERLACE_NONE), this is simple: - - png_read_rows(png_ptr, row_pointers, NULL, - number_of_rows); - -where row_pointers is the same as in the png_read_image() call. - -If you are doing this just one row at a time, you can do this with -a single row_pointer instead of an array of row_pointers: - - png_bytep row_pointer = row; - png_read_row(png_ptr, row_pointer, NULL); - -If the file is interlaced (interlace_type != 0 in the IHDR chunk), things -get somewhat harder. The only current (PNG Specification version 1.2) -interlacing type for PNG is (interlace_type == PNG_INTERLACE_ADAM7); -a somewhat complicated 2D interlace scheme, known as Adam7, that -breaks down an image into seven smaller images of varying size, based -on an 8x8 grid. This number is defined (from libpng 1.5) as -PNG_INTERLACE_ADAM7_PASSES in png.h - -libpng can fill out those images or it can give them to you "as is". -It is almost always better to have libpng handle the interlacing for you. -If you want the images filled out, there are two ways to do that. The one -mentioned in the PNG specification is to expand each pixel to cover -those pixels that have not been read yet (the "rectangle" method). -This results in a blocky image for the first pass, which gradually -smooths out as more pixels are read. The other method is the "sparkle" -method, where pixels are drawn only in their final locations, with the -rest of the image remaining whatever colors they were initialized to -before the start of the read. The first method usually looks better, -but tends to be slower, as there are more pixels to put in the rows. - -If, as is likely, you want libpng to expand the images, call this before -calling png_start_read_image() or png_read_update_info(): - - if (interlace_type == PNG_INTERLACE_ADAM7) - number_of_passes - = png_set_interlace_handling(png_ptr); - -This will return the number of passes needed. Currently, this is seven, -but may change if another interlace type is added. This function can be -called even if the file is not interlaced, where it will return one pass. -You then need to read the whole image 'number_of_passes' times. Each time -will distribute the pixels from the current pass to the correct place in -the output image, so you need to supply the same rows to png_read_rows in -each pass. - -If you are not going to display the image after each pass, but are -going to wait until the entire image is read in, use the sparkle -effect. This effect is faster and the end result of either method -is exactly the same. If you are planning on displaying the image -after each pass, the "rectangle" effect is generally considered the -better looking one. - -If you only want the "sparkle" effect, just call png_read_rows() as -normal, with the third parameter NULL. Make sure you make pass over -the image number_of_passes times, and you don't change the data in the -rows between calls. You can change the locations of the data, just -not the data. Each pass only writes the pixels appropriate for that -pass, and assumes the data from previous passes is still valid. - - png_read_rows(png_ptr, row_pointers, NULL, - number_of_rows); - -If you only want the first effect (the rectangles), do the same as -before except pass the row buffer in the third parameter, and leave -the second parameter NULL. - - png_read_rows(png_ptr, NULL, row_pointers, - number_of_rows); - -If you don't want libpng to handle the interlacing details, just call -png_read_rows() PNG_INTERLACE_ADAM7_PASSES times to read in all the images. -Each of the images is a valid image by itself; however, you will almost -certainly need to distribute the pixels from each sub-image to the -correct place. This is where everything gets very tricky. - -If you want to retrieve the separate images you must pass the correct -number of rows to each successive call of png_read_rows(). The calculation -gets pretty complicated for small images, where some sub-images may -not even exist because either their width or height ends up zero. -libpng provides two macros to help you in 1.5 and later versions: - - png_uint_32 width = PNG_PASS_COLS(image_width, pass_number); - png_uint_32 height = PNG_PASS_ROWS(image_height, pass_number); - -Respectively these tell you the width and height of the sub-image -corresponding to the numbered pass. 'pass' is in in the range 0 to 6 - -this can be confusing because the specification refers to the same passes -as 1 to 7! Be careful, you must check both the width and height before -calling png_read_rows() and not call it for that pass if either is zero. - -You can, of course, read each sub-image row by row. If you want to -produce optimal code to make a pixel-by-pixel transformation of an -interlaced image this is the best approach; read each row of each pass, -transform it, and write it out to a new interlaced image. - -If you want to de-interlace the image yourself libpng provides further -macros to help that tell you where to place the pixels in the output image. -Because the interlacing scheme is rectangular - sub-image pixels are always -arranged on a rectangular grid - all you need to know for each pass is the -starting column and row in the output image of the first pixel plus the -spacing between each pixel. As of libpng 1.5 there are four macros to -retrieve this information: - - png_uint_32 x = PNG_PASS_START_COL(pass); - png_uint_32 y = PNG_PASS_START_ROW(pass); - png_uint_32 xStep = 1U << PNG_PASS_COL_SHIFT(pass); - png_uint_32 yStep = 1U << PNG_PASS_ROW_SHIFT(pass); - -These allow you to write the obvious loop: - - png_uint_32 input_y = 0; - png_uint_32 output_y = PNG_PASS_START_ROW(pass); - - while (output_y < output_image_height) - { - png_uint_32 input_x = 0; - png_uint_32 output_x = PNG_PASS_START_COL(pass); - - while (output_x < output_image_width) - { - image[output_y][output_x] = - subimage[pass][input_y][input_x++]; - - output_x += xStep; - } - - ++input_y; - output_y += yStep; - } - -Notice that the steps between successive output rows and columns are -returned as shifts. This is possible because the pixels in the subimages -are always a power of 2 apart - 1, 2, 4 or 8 pixels - in the original -image. In practice you may need to directly calculate the output coordinate -given an input coordinate. libpng provides two further macros for this -purpose: - - png_uint_32 output_x = PNG_COL_FROM_PASS_COL(input_x, pass); - png_uint_32 output_y = PNG_ROW_FROM_PASS_ROW(input_y, pass); - -Finally a pair of macros are provided to tell you if a particular image -row or column appears in a given pass: - - int col_in_pass = PNG_COL_IN_INTERLACE_PASS(output_x, pass); - int row_in_pass = PNG_ROW_IN_INTERLACE_PASS(output_y, pass); - -Bear in mind that you will probably also need to check the width and height -of the pass in addition to the above to be sure the pass even exists! - -With any luck you are convinced by now that you don't want to do your own -interlace handling. In reality normally the only good reason for doing this -is if you are processing PNG files on a pixel-by-pixel basis and don't want -to load the whole file into memory when it is interlaced. - -libpng includes a test program, pngvalid, that illustrates reading and -writing of interlaced images. If you can't get interlacing to work in your -code and don't want to leave it to libpng (the recommended approach), see -how pngvalid.c does it. - -Finishing a sequential read - -After you are finished reading the image through the -low-level interface, you can finish reading the file. If you are -interested in comments or time, which may be stored either before or -after the image data, you should pass the separate png_info struct if -you want to keep the comments from before and after the image -separate. - - png_infop end_info = png_create_info_struct(png_ptr); - - if (!end_info) - { - png_destroy_read_struct(&png_ptr, &info_ptr, - (png_infopp)NULL); - return (ERROR); - } - - png_read_end(png_ptr, end_info); - -If you are not interested, you should still call png_read_end() -but you can pass NULL, avoiding the need to create an end_info structure. - - png_read_end(png_ptr, (png_infop)NULL); - -If you don't call png_read_end(), then your file pointer will be -left pointing to the first chunk after the last IDAT, which is probably -not what you want if you expect to read something beyond the end of -the PNG datastream. - -When you are done, you can free all memory allocated by libpng like this: - - png_destroy_read_struct(&png_ptr, &info_ptr, - &end_info); - -or, if you didn't create an end_info structure, - - png_destroy_read_struct(&png_ptr, &info_ptr, - (png_infopp)NULL); - -It is also possible to individually free the info_ptr members that -point to libpng-allocated storage with the following function: - - png_free_data(png_ptr, info_ptr, mask, seq) - - mask - identifies data to be freed, a mask - containing the bitwise OR of one or - more of - PNG_FREE_PLTE, PNG_FREE_TRNS, - PNG_FREE_HIST, PNG_FREE_ICCP, - PNG_FREE_PCAL, PNG_FREE_ROWS, - PNG_FREE_SCAL, PNG_FREE_SPLT, - PNG_FREE_TEXT, PNG_FREE_UNKN, - or simply PNG_FREE_ALL - - seq - sequence number of item to be freed - (-1 for all items) - -This function may be safely called when the relevant storage has -already been freed, or has not yet been allocated, or was allocated -by the user and not by libpng, and will in those cases do nothing. -The "seq" parameter is ignored if only one item of the selected data -type, such as PLTE, is allowed. If "seq" is not -1, and multiple items -are allowed for the data type identified in the mask, such as text or -sPLT, only the n'th item in the structure is freed, where n is "seq". - -The default behavior is only to free data that was allocated internally -by libpng. This can be changed, so that libpng will not free the data, -or so that it will free data that was allocated by the user with png_malloc() -or png_zalloc() and passed in via a png_set_*() function, with - - png_data_freer(png_ptr, info_ptr, freer, mask) - - freer - one of - PNG_DESTROY_WILL_FREE_DATA - PNG_SET_WILL_FREE_DATA - PNG_USER_WILL_FREE_DATA - - mask - which data elements are affected - same choices as in png_free_data() - -This function only affects data that has already been allocated. -You can call this function after reading the PNG data but before calling -any png_set_*() functions, to control whether the user or the png_set_*() -function is responsible for freeing any existing data that might be present, -and again after the png_set_*() functions to control whether the user -or png_destroy_*() is supposed to free the data. When the user assumes -responsibility for libpng-allocated data, the application must use -png_free() to free it, and when the user transfers responsibility to libpng -for data that the user has allocated, the user must have used png_malloc() -or png_zalloc() to allocate it. - -If you allocated your row_pointers in a single block, as suggested above in -the description of the high level read interface, you must not transfer -responsibility for freeing it to the png_set_rows or png_read_destroy function, -because they would also try to free the individual row_pointers[i]. - -If you allocated text_ptr.text, text_ptr.lang, and text_ptr.translated_keyword -separately, do not transfer responsibility for freeing text_ptr to libpng, -because when libpng fills a png_text structure it combines these members with -the key member, and png_free_data() will free only text_ptr.key. Similarly, -if you transfer responsibility for free'ing text_ptr from libpng to your -application, your application must not separately free those members. - -The png_free_data() function will turn off the "valid" flag for anything -it frees. If you need to turn the flag off for a chunk that was freed by -your application instead of by libpng, you can use - - png_set_invalid(png_ptr, info_ptr, mask); - - mask - identifies the chunks to be made invalid, - containing the bitwise OR of one or - more of - PNG_INFO_gAMA, PNG_INFO_sBIT, - PNG_INFO_cHRM, PNG_INFO_PLTE, - PNG_INFO_tRNS, PNG_INFO_bKGD, - PNG_INFO_hIST, PNG_INFO_pHYs, - PNG_INFO_oFFs, PNG_INFO_tIME, - PNG_INFO_pCAL, PNG_INFO_sRGB, - PNG_INFO_iCCP, PNG_INFO_sPLT, - PNG_INFO_sCAL, PNG_INFO_IDAT - -For a more compact example of reading a PNG image, see the file example.c. - -Reading PNG files progressively - -The progressive reader is slightly different then the non-progressive -reader. Instead of calling png_read_info(), png_read_rows(), and -png_read_end(), you make one call to png_process_data(), which calls -callbacks when it has the info, a row, or the end of the image. You -set up these callbacks with png_set_progressive_read_fn(). You don't -have to worry about the input/output functions of libpng, as you are -giving the library the data directly in png_process_data(). I will -assume that you have read the section on reading PNG files above, -so I will only highlight the differences (although I will show -all of the code). - -png_structp png_ptr; -png_infop info_ptr; - - /* An example code fragment of how you would - initialize the progressive reader in your - application. */ - int - initialize_png_reader() - { - png_ptr = png_create_read_struct - (PNG_LIBPNG_VER_STRING, (png_voidp)user_error_ptr, - user_error_fn, user_warning_fn); - - if (!png_ptr) - return (ERROR); - - info_ptr = png_create_info_struct(png_ptr); - - if (!info_ptr) - { - png_destroy_read_struct(&png_ptr, - (png_infopp)NULL, (png_infopp)NULL); - return (ERROR); - } - - if (setjmp(png_jmpbuf(png_ptr))) - { - png_destroy_read_struct(&png_ptr, &info_ptr, - (png_infopp)NULL); - return (ERROR); - } - - /* This one's new. You can provide functions - to be called when the header info is valid, - when each row is completed, and when the image - is finished. If you aren't using all functions, - you can specify NULL parameters. Even when all - three functions are NULL, you need to call - png_set_progressive_read_fn(). You can use - any struct as the user_ptr (cast to a void pointer - for the function call), and retrieve the pointer - from inside the callbacks using the function - - png_get_progressive_ptr(png_ptr); - - which will return a void pointer, which you have - to cast appropriately. - */ - png_set_progressive_read_fn(png_ptr, (void *)user_ptr, - info_callback, row_callback, end_callback); - - return 0; - } - - /* A code fragment that you call as you receive blocks - of data */ - int - process_data(png_bytep buffer, png_uint_32 length) - { - if (setjmp(png_jmpbuf(png_ptr))) - { - png_destroy_read_struct(&png_ptr, &info_ptr, - (png_infopp)NULL); - return (ERROR); - } - - /* This one's new also. Simply give it a chunk - of data from the file stream (in order, of - course). On machines with segmented memory - models machines, don't give it any more than - 64K. The library seems to run fine with sizes - of 4K. Although you can give it much less if - necessary (I assume you can give it chunks of - 1 byte, I haven't tried less then 256 bytes - yet). When this function returns, you may - want to display any rows that were generated - in the row callback if you don't already do - so there. - */ - png_process_data(png_ptr, info_ptr, buffer, length); - - /* At this point you can call png_process_data_skip if - you want to handle data the library will skip yourself; - it simply returns the number of bytes to skip (and stops - libpng skipping that number of bytes on the next - png_process_data call). - return 0; - } - - /* This function is called (as set by - png_set_progressive_read_fn() above) when enough data - has been supplied so all of the header has been - read. - */ - void - info_callback(png_structp png_ptr, png_infop info) - { - /* Do any setup here, including setting any of - the transformations mentioned in the Reading - PNG files section. For now, you _must_ call - either png_start_read_image() or - png_read_update_info() after all the - transformations are set (even if you don't set - any). You may start getting rows before - png_process_data() returns, so this is your - last chance to prepare for that. - - This is where you turn on interlace handling, - assuming you don't want to do it yourself. - - If you need to you can stop the processing of - your original input data at this point by calling - png_process_data_pause. This returns the number - of unprocessed bytes from the last png_process_data - call - it is up to you to ensure that the next call - sees these bytes again. If you don't want to bother - with this you can get libpng to cache the unread - bytes by setting the 'save' parameter (see png.h) but - then libpng will have to copy the data internally. - */ - } - - /* This function is called when each row of image - data is complete */ - void - row_callback(png_structp png_ptr, png_bytep new_row, - png_uint_32 row_num, int pass) - { - /* If the image is interlaced, and you turned - on the interlace handler, this function will - be called for every row in every pass. Some - of these rows will not be changed from the - previous pass. When the row is not changed, - the new_row variable will be NULL. The rows - and passes are called in order, so you don't - really need the row_num and pass, but I'm - supplying them because it may make your life - easier. - - If you did not turn on interlace handling then - the callback is called for each row of each - sub-image when the image is interlaced. In this - case 'row_num' is the row in the sub-image, not - the row in the output image as it is in all other - cases. - - For the non-NULL rows of interlaced images when - you have switched on libpng interlace handling, - you must call png_progressive_combine_row() - passing in the row and the old row. You can - call this function for NULL rows (it will just - return) and for non-interlaced images (it just - does the memcpy for you) if it will make the - code easier. Thus, you can just do this for - all cases if you switch on interlace handling; - */ - - png_progressive_combine_row(png_ptr, old_row, - new_row); - - /* where old_row is what was displayed for - previously for the row. Note that the first - pass (pass == 0, really) will completely cover - the old row, so the rows do not have to be - initialized. After the first pass (and only - for interlaced images), you will have to pass - the current row, and the function will combine - the old row and the new row. - - You can also call png_process_data_pause in this - callback - see above. - */ - } - - void - end_callback(png_structp png_ptr, png_infop info) - { - /* This function is called after the whole image - has been read, including any chunks after the - image (up to and including the IEND). You - will usually have the same info chunk as you - had in the header, although some data may have - been added to the comments and time fields. - - Most people won't do much here, perhaps setting - a flag that marks the image as finished. - */ - } - - - -IV. Writing - -Much of this is very similar to reading. However, everything of -importance is repeated here, so you won't have to constantly look -back up in the reading section to understand writing. - -Setup - -You will want to do the I/O initialization before you get into libpng, -so if it doesn't work, you don't have anything to undo. If you are not -using the standard I/O functions, you will need to replace them with -custom writing functions. See the discussion under Customizing libpng. - - FILE *fp = fopen(file_name, "wb"); - - if (!fp) - return (ERROR); - -Next, png_struct and png_info need to be allocated and initialized. -As these can be both relatively large, you may not want to store these -on the stack, unless you have stack space to spare. Of course, you -will want to check if they return NULL. If you are also reading, -you won't want to name your read structure and your write structure -both "png_ptr"; you can call them anything you like, such as -"read_ptr" and "write_ptr". Look at pngtest.c, for example. - - png_structp png_ptr = png_create_write_struct - (PNG_LIBPNG_VER_STRING, (png_voidp)user_error_ptr, - user_error_fn, user_warning_fn); - - if (!png_ptr) - return (ERROR); - - png_infop info_ptr = png_create_info_struct(png_ptr); - if (!info_ptr) - { - png_destroy_write_struct(&png_ptr, - (png_infopp)NULL); - return (ERROR); - } - -If you want to use your own memory allocation routines, -define PNG_USER_MEM_SUPPORTED and use -png_create_write_struct_2() instead of png_create_write_struct(): - - png_structp png_ptr = png_create_write_struct_2 - (PNG_LIBPNG_VER_STRING, (png_voidp)user_error_ptr, - user_error_fn, user_warning_fn, (png_voidp) - user_mem_ptr, user_malloc_fn, user_free_fn); - -After you have these structures, you will need to set up the -error handling. When libpng encounters an error, it expects to -longjmp() back to your routine. Therefore, you will need to call -setjmp() and pass the png_jmpbuf(png_ptr). If you -write the file from different routines, you will need to update -the png_jmpbuf(png_ptr) every time you enter a new routine that will -call a png_*() function. See your documentation of setjmp/longjmp -for your compiler for more information on setjmp/longjmp. See -the discussion on libpng error handling in the Customizing Libpng -section below for more information on the libpng error handling. - - if (setjmp(png_jmpbuf(png_ptr))) - { - png_destroy_write_struct(&png_ptr, &info_ptr); - fclose(fp); - return (ERROR); - } - ... - return; - -If you would rather avoid the complexity of setjmp/longjmp issues, -you can compile libpng with PNG_NO_SETJMP, in which case -errors will result in a call to PNG_ABORT() which defaults to abort(). - -You can #define PNG_ABORT() to a function that does something -more useful than abort(), as long as your function does not -return. - -Now you need to set up the output code. The default for libpng is to -use the C function fwrite(). If you use this, you will need to pass a -valid FILE * in the function png_init_io(). Be sure that the file is -opened in binary mode. Again, if you wish to handle writing data in -another way, see the discussion on libpng I/O handling in the Customizing -Libpng section below. - - png_init_io(png_ptr, fp); - -If you are embedding your PNG into a datastream such as MNG, and don't -want libpng to write the 8-byte signature, or if you have already -written the signature in your application, use - - png_set_sig_bytes(png_ptr, 8); - -to inform libpng that it should not write a signature. - -Write callbacks - -At this point, you can set up a callback function that will be -called after each row has been written, which you can use to control -a progress meter or the like. It's demonstrated in pngtest.c. -You must supply a function - - void write_row_callback(png_structp png_ptr, png_uint_32 row, - int pass); - { - /* put your code here */ - } - -(You can give it another name that you like instead of "write_row_callback") - -To inform libpng about your function, use - - png_set_write_status_fn(png_ptr, write_row_callback); - -When this function is called the row has already been completely processed and -it has also been written out. The 'row' and 'pass' refer to the next row to be -handled. For the -non-interlaced case the row that was just handled is simply one less than the -passed in row number, and pass will always be 0. For the interlaced case the -same applies unless the row value is 0, in which case the row just handled was -the last one from one of the preceding passes. Because interlacing may skip a -pass you cannot be sure that the preceding pass is just 'pass-1', if you really -need to know what the last pass is record (row,pass) from the callback and use -the last recorded value each time. - -As with the user transform you can find the output row using the -PNG_ROW_FROM_PASS_ROW macro. - -You now have the option of modifying how the compression library will -run. The following functions are mainly for testing, but may be useful -in some cases, like if you need to write PNG files extremely fast and -are willing to give up some compression, or if you want to get the -maximum possible compression at the expense of slower writing. If you -have no special needs in this area, let the library do what it wants by -not calling this function at all, as it has been tuned to deliver a good -speed/compression ratio. The second parameter to png_set_filter() is -the filter method, for which the only valid values are 0 (as of the -July 1999 PNG specification, version 1.2) or 64 (if you are writing -a PNG datastream that is to be embedded in a MNG datastream). The third -parameter is a flag that indicates which filter type(s) are to be tested -for each scanline. See the PNG specification for details on the specific -filter types. - - - /* turn on or off filtering, and/or choose - specific filters. You can use either a single - PNG_FILTER_VALUE_NAME or the bitwise OR of one - or more PNG_FILTER_NAME masks. - */ - png_set_filter(png_ptr, 0, - PNG_FILTER_NONE | PNG_FILTER_VALUE_NONE | - PNG_FILTER_SUB | PNG_FILTER_VALUE_SUB | - PNG_FILTER_UP | PNG_FILTER_VALUE_UP | - PNG_FILTER_AVG | PNG_FILTER_VALUE_AVG | - PNG_FILTER_PAETH | PNG_FILTER_VALUE_PAETH| - PNG_ALL_FILTERS); - -If an application wants to start and stop using particular filters during -compression, it should start out with all of the filters (to ensure that -the previous row of pixels will be stored in case it's needed later), -and then add and remove them after the start of compression. - -If you are writing a PNG datastream that is to be embedded in a MNG -datastream, the second parameter can be either 0 or 64. - -The png_set_compression_*() functions interface to the zlib compression -library, and should mostly be ignored unless you really know what you are -doing. The only generally useful call is png_set_compression_level() -which changes how much time zlib spends on trying to compress the image -data. See the Compression Library (zlib.h and algorithm.txt, distributed -with zlib) for details on the compression levels. - - #include zlib.h - - /* Set the zlib compression level */ - png_set_compression_level(png_ptr, - Z_BEST_COMPRESSION); - - /* Set other zlib parameters for compressing IDAT */ - png_set_compression_mem_level(png_ptr, 8); - png_set_compression_strategy(png_ptr, - Z_DEFAULT_STRATEGY); - png_set_compression_window_bits(png_ptr, 15); - png_set_compression_method(png_ptr, 8); - png_set_compression_buffer_size(png_ptr, 8192) - - /* Set zlib parameters for text compression - * If you don't call these, the parameters - * fall back on those defined for IDAT chunks - */ - png_set_text_compression_mem_level(png_ptr, 8); - png_set_text_compression_strategy(png_ptr, - Z_DEFAULT_STRATEGY); - png_set_text_compression_window_bits(png_ptr, 15); - png_set_text_compression_method(png_ptr, 8); - -Setting the contents of info for output - -You now need to fill in the png_info structure with all the data you -wish to write before the actual image. Note that the only thing you -are allowed to write after the image is the text chunks and the time -chunk (as of PNG Specification 1.2, anyway). See png_write_end() and -the latest PNG specification for more information on that. If you -wish to write them before the image, fill them in now, and flag that -data as being valid. If you want to wait until after the data, don't -fill them until png_write_end(). For all the fields in png_info and -their data types, see png.h. For explanations of what the fields -contain, see the PNG specification. - -Some of the more important parts of the png_info are: - - png_set_IHDR(png_ptr, info_ptr, width, height, - bit_depth, color_type, interlace_type, - compression_type, filter_method) - - width - holds the width of the image - in pixels (up to 2^31). - - height - holds the height of the image - in pixels (up to 2^31). - - bit_depth - holds the bit depth of one of the - image channels. - (valid values are 1, 2, 4, 8, 16 - and depend also on the - color_type. See also significant - bits (sBIT) below). - - color_type - describes which color/alpha - channels are present. - PNG_COLOR_TYPE_GRAY - (bit depths 1, 2, 4, 8, 16) - PNG_COLOR_TYPE_GRAY_ALPHA - (bit depths 8, 16) - PNG_COLOR_TYPE_PALETTE - (bit depths 1, 2, 4, 8) - PNG_COLOR_TYPE_RGB - (bit_depths 8, 16) - PNG_COLOR_TYPE_RGB_ALPHA - (bit_depths 8, 16) - - PNG_COLOR_MASK_PALETTE - PNG_COLOR_MASK_COLOR - PNG_COLOR_MASK_ALPHA - - interlace_type - PNG_INTERLACE_NONE or - PNG_INTERLACE_ADAM7 - - compression_type - (must be - PNG_COMPRESSION_TYPE_DEFAULT) - - filter_method - (must be PNG_FILTER_TYPE_DEFAULT - or, if you are writing a PNG to - be embedded in a MNG datastream, - can also be - PNG_INTRAPIXEL_DIFFERENCING) - -If you call png_set_IHDR(), the call must appear before any of the -other png_set_*() functions, because they might require access to some of -the IHDR settings. The remaining png_set_*() functions can be called -in any order. - -If you wish, you can reset the compression_type, interlace_type, or -filter_method later by calling png_set_IHDR() again; if you do this, the -width, height, bit_depth, and color_type must be the same in each call. - - png_set_PLTE(png_ptr, info_ptr, palette, - num_palette); - - palette - the palette for the file - (array of png_color) - num_palette - number of entries in the palette - - png_set_gAMA(png_ptr, info_ptr, file_gamma); - png_set_gAMA_fixed(png_ptr, info_ptr, int_file_gamma); - - file_gamma - the gamma at which the image was - created (PNG_INFO_gAMA) - - int_file_gamma - 100,000 times the gamma at which - the image was created - - png_set_cHRM(png_ptr, info_ptr, white_x, white_y, red_x, red_y, - green_x, green_y, blue_x, blue_y) - png_set_cHRM_XYZ(png_ptr, info_ptr, red_X, red_Y, red_Z, green_X, - green_Y, green_Z, blue_X, blue_Y, blue_Z) - png_set_cHRM_fixed(png_ptr, info_ptr, int_white_x, int_white_y, - int_red_x, int_red_y, int_green_x, int_green_y, - int_blue_x, int_blue_y) - png_set_cHRM_XYZ_fixed(png_ptr, info_ptr, int_red_X, int_red_Y, - int_red_Z, int_green_X, int_green_Y, int_green_Z, - int_blue_X, int_blue_Y, int_blue_Z) - - {white,red,green,blue}_{x,y} - A color space encoding specified using the chromaticities - of the end points and the white point. - - {red,green,blue}_{X,Y,Z} - A color space encoding specified using the encoding end - points - the CIE tristimulus specification of the intended - color of the red, green and blue channels in the PNG RGB - data. The white point is simply the sum of the three end - points. - - png_set_sRGB(png_ptr, info_ptr, srgb_intent); - - srgb_intent - the rendering intent - (PNG_INFO_sRGB) The presence of - the sRGB chunk means that the pixel - data is in the sRGB color space. - This chunk also implies specific - values of gAMA and cHRM. Rendering - intent is the CSS-1 property that - has been defined by the International - Color Consortium - (http://www.color.org). - It can be one of - PNG_sRGB_INTENT_SATURATION, - PNG_sRGB_INTENT_PERCEPTUAL, - PNG_sRGB_INTENT_ABSOLUTE, or - PNG_sRGB_INTENT_RELATIVE. - - - png_set_sRGB_gAMA_and_cHRM(png_ptr, info_ptr, - srgb_intent); - - srgb_intent - the rendering intent - (PNG_INFO_sRGB) The presence of the - sRGB chunk means that the pixel - data is in the sRGB color space. - This function also causes gAMA and - cHRM chunks with the specific values - that are consistent with sRGB to be - written. - - png_set_iCCP(png_ptr, info_ptr, name, compression_type, - profile, proflen); - - name - The profile name. - - compression_type - The compression type; always - PNG_COMPRESSION_TYPE_BASE for PNG 1.0. - You may give NULL to this argument to - ignore it. - - profile - International Color Consortium color - profile data. May contain NULs. - - proflen - length of profile data in bytes. - - png_set_sBIT(png_ptr, info_ptr, sig_bit); - - sig_bit - the number of significant bits for - (PNG_INFO_sBIT) each of the gray, red, - green, and blue channels, whichever are - appropriate for the given color type - (png_color_16) - - png_set_tRNS(png_ptr, info_ptr, trans_alpha, - num_trans, trans_color); - - trans_alpha - array of alpha (transparency) - entries for palette (PNG_INFO_tRNS) - - num_trans - number of transparent entries - (PNG_INFO_tRNS) - - trans_color - graylevel or color sample values - (in order red, green, blue) of the - single transparent color for - non-paletted images (PNG_INFO_tRNS) - - png_set_hIST(png_ptr, info_ptr, hist); - - hist - histogram of palette (array of - png_uint_16) (PNG_INFO_hIST) - - png_set_tIME(png_ptr, info_ptr, mod_time); - - mod_time - time image was last modified - (PNG_VALID_tIME) - - png_set_bKGD(png_ptr, info_ptr, background); - - background - background color (of type - png_color_16p) (PNG_VALID_bKGD) - - png_set_text(png_ptr, info_ptr, text_ptr, num_text); - - text_ptr - array of png_text holding image - comments - - text_ptr[i].compression - type of compression used - on "text" PNG_TEXT_COMPRESSION_NONE - PNG_TEXT_COMPRESSION_zTXt - PNG_ITXT_COMPRESSION_NONE - PNG_ITXT_COMPRESSION_zTXt - text_ptr[i].key - keyword for comment. Must contain - 1-79 characters. - text_ptr[i].text - text comments for current - keyword. Can be NULL or empty. - text_ptr[i].text_length - length of text string, - after decompression, 0 for iTXt - text_ptr[i].itxt_length - length of itxt string, - after decompression, 0 for tEXt/zTXt - text_ptr[i].lang - language of comment (NULL or - empty for unknown). - text_ptr[i].translated_keyword - keyword in UTF-8 (NULL - or empty for unknown). - - Note that the itxt_length, lang, and lang_key - members of the text_ptr structure only exist when the - library is built with iTXt chunk support. Prior to - libpng-1.4.0 the library was built by default without - iTXt support. Also note that when iTXt is supported, - they contain NULL pointers when the "compression" - field contains PNG_TEXT_COMPRESSION_NONE or - PNG_TEXT_COMPRESSION_zTXt. - - num_text - number of comments - - png_set_sPLT(png_ptr, info_ptr, &palette_ptr, - num_spalettes); - - palette_ptr - array of png_sPLT_struct structures - to be added to the list of palettes - in the info structure. - num_spalettes - number of palette structures to be - added. - - png_set_oFFs(png_ptr, info_ptr, offset_x, offset_y, - unit_type); - - offset_x - positive offset from the left - edge of the screen - - offset_y - positive offset from the top - edge of the screen - - unit_type - PNG_OFFSET_PIXEL, PNG_OFFSET_MICROMETER - - png_set_pHYs(png_ptr, info_ptr, res_x, res_y, - unit_type); - - res_x - pixels/unit physical resolution - in x direction - - res_y - pixels/unit physical resolution - in y direction - - unit_type - PNG_RESOLUTION_UNKNOWN, - PNG_RESOLUTION_METER - - png_set_sCAL(png_ptr, info_ptr, unit, width, height) - - unit - physical scale units (an integer) - - width - width of a pixel in physical scale units - - height - height of a pixel in physical scale units - (width and height are doubles) - - png_set_sCAL_s(png_ptr, info_ptr, unit, width, height) - - unit - physical scale units (an integer) - - width - width of a pixel in physical scale units - expressed as a string - - height - height of a pixel in physical scale units - (width and height are strings like "2.54") - - png_set_unknown_chunks(png_ptr, info_ptr, &unknowns, - num_unknowns) - - unknowns - array of png_unknown_chunk - structures holding unknown chunks - unknowns[i].name - name of unknown chunk - unknowns[i].data - data of unknown chunk - unknowns[i].size - size of unknown chunk's data - unknowns[i].location - position to write chunk in file - 0: do not write chunk - PNG_HAVE_IHDR: before PLTE - PNG_HAVE_PLTE: before IDAT - PNG_AFTER_IDAT: after IDAT - -The "location" member is set automatically according to -what part of the output file has already been written. -You can change its value after calling png_set_unknown_chunks() -as demonstrated in pngtest.c. Within each of the "locations", -the chunks are sequenced according to their position in the -structure (that is, the value of "i", which is the order in which -the chunk was either read from the input file or defined with -png_set_unknown_chunks). - -A quick word about text and num_text. text is an array of png_text -structures. num_text is the number of valid structures in the array. -Each png_text structure holds a language code, a keyword, a text value, -and a compression type. - -The compression types have the same valid numbers as the compression -types of the image data. Currently, the only valid number is zero. -However, you can store text either compressed or uncompressed, unlike -images, which always have to be compressed. So if you don't want the -text compressed, set the compression type to PNG_TEXT_COMPRESSION_NONE. -Because tEXt and zTXt chunks don't have a language field, if you -specify PNG_TEXT_COMPRESSION_NONE or PNG_TEXT_COMPRESSION_zTXt -any language code or translated keyword will not be written out. - -Until text gets around a few hundred bytes, it is not worth compressing it. -After the text has been written out to the file, the compression type -is set to PNG_TEXT_COMPRESSION_NONE_WR or PNG_TEXT_COMPRESSION_zTXt_WR, -so that it isn't written out again at the end (in case you are calling -png_write_end() with the same struct). - -The keywords that are given in the PNG Specification are: - - Title Short (one line) title or - caption for image - - Author Name of image's creator - - Description Description of image (possibly long) - - Copyright Copyright notice - - Creation Time Time of original image creation - (usually RFC 1123 format, see below) - - Software Software used to create the image - - Disclaimer Legal disclaimer - - Warning Warning of nature of content - - Source Device used to create the image - - Comment Miscellaneous comment; conversion - from other image format - -The keyword-text pairs work like this. Keywords should be short -simple descriptions of what the comment is about. Some typical -keywords are found in the PNG specification, as is some recommendations -on keywords. You can repeat keywords in a file. You can even write -some text before the image and some after. For example, you may want -to put a description of the image before the image, but leave the -disclaimer until after, so viewers working over modem connections -don't have to wait for the disclaimer to go over the modem before -they start seeing the image. Finally, keywords should be full -words, not abbreviations. Keywords and text are in the ISO 8859-1 -(Latin-1) character set (a superset of regular ASCII) and can not -contain NUL characters, and should not contain control or other -unprintable characters. To make the comments widely readable, stick -with basic ASCII, and avoid machine specific character set extensions -like the IBM-PC character set. The keyword must be present, but -you can leave off the text string on non-compressed pairs. -Compressed pairs must have a text string, as only the text string -is compressed anyway, so the compression would be meaningless. - -PNG supports modification time via the png_time structure. Two -conversion routines are provided, png_convert_from_time_t() for -time_t and png_convert_from_struct_tm() for struct tm. The -time_t routine uses gmtime(). You don't have to use either of -these, but if you wish to fill in the png_time structure directly, -you should provide the time in universal time (GMT) if possible -instead of your local time. Note that the year number is the full -year (e.g. 1998, rather than 98 - PNG is year 2000 compliant!), and -that months start with 1. - -If you want to store the time of the original image creation, you should -use a plain tEXt chunk with the "Creation Time" keyword. This is -necessary because the "creation time" of a PNG image is somewhat vague, -depending on whether you mean the PNG file, the time the image was -created in a non-PNG format, a still photo from which the image was -scanned, or possibly the subject matter itself. In order to facilitate -machine-readable dates, it is recommended that the "Creation Time" -tEXt chunk use RFC 1123 format dates (e.g. "22 May 1997 18:07:10 GMT"), -although this isn't a requirement. Unlike the tIME chunk, the -"Creation Time" tEXt chunk is not expected to be automatically changed -by the software. To facilitate the use of RFC 1123 dates, a function -png_convert_to_rfc1123(png_timep) is provided to convert from PNG -time to an RFC 1123 format string. - -Writing unknown chunks - -You can use the png_set_unknown_chunks function to queue up chunks -for writing. You give it a chunk name, raw data, and a size; that's -all there is to it. The chunks will be written by the next following -png_write_info_before_PLTE, png_write_info, or png_write_end function. -Any chunks previously read into the info structure's unknown-chunk -list will also be written out in a sequence that satisfies the PNG -specification's ordering rules. - -The high-level write interface - -At this point there are two ways to proceed; through the high-level -write interface, or through a sequence of low-level write operations. -You can use the high-level interface if your image data is present -in the info structure. All defined output -transformations are permitted, enabled by the following masks. - - PNG_TRANSFORM_IDENTITY No transformation - PNG_TRANSFORM_PACKING Pack 1, 2 and 4-bit samples - PNG_TRANSFORM_PACKSWAP Change order of packed - pixels to LSB first - PNG_TRANSFORM_INVERT_MONO Invert monochrome images - PNG_TRANSFORM_SHIFT Normalize pixels to the - sBIT depth - PNG_TRANSFORM_BGR Flip RGB to BGR, RGBA - to BGRA - PNG_TRANSFORM_SWAP_ALPHA Flip RGBA to ARGB or GA - to AG - PNG_TRANSFORM_INVERT_ALPHA Change alpha from opacity - to transparency - PNG_TRANSFORM_SWAP_ENDIAN Byte-swap 16-bit samples - PNG_TRANSFORM_STRIP_FILLER Strip out filler - bytes (deprecated). - PNG_TRANSFORM_STRIP_FILLER_BEFORE Strip out leading - filler bytes - PNG_TRANSFORM_STRIP_FILLER_AFTER Strip out trailing - filler bytes - -If you have valid image data in the info structure (you can use -png_set_rows() to put image data in the info structure), simply do this: - - png_write_png(png_ptr, info_ptr, png_transforms, NULL) - -where png_transforms is an integer containing the bitwise OR of some set of -transformation flags. This call is equivalent to png_write_info(), -followed the set of transformations indicated by the transform mask, -then png_write_image(), and finally png_write_end(). - -(The final parameter of this call is not yet used. Someday it might point -to transformation parameters required by some future output transform.) - -You must use png_transforms and not call any png_set_transform() functions -when you use png_write_png(). - -The low-level write interface - -If you are going the low-level route instead, you are now ready to -write all the file information up to the actual image data. You do -this with a call to png_write_info(). - - png_write_info(png_ptr, info_ptr); - -Note that there is one transformation you may need to do before -png_write_info(). In PNG files, the alpha channel in an image is the -level of opacity. If your data is supplied as a level of transparency, -you can invert the alpha channel before you write it, so that 0 is -fully transparent and 255 (in 8-bit or paletted images) or 65535 -(in 16-bit images) is fully opaque, with - - png_set_invert_alpha(png_ptr); - -This must appear before png_write_info() instead of later with the -other transformations because in the case of paletted images the tRNS -chunk data has to be inverted before the tRNS chunk is written. If -your image is not a paletted image, the tRNS data (which in such cases -represents a single color to be rendered as transparent) won't need to -be changed, and you can safely do this transformation after your -png_write_info() call. - -If you need to write a private chunk that you want to appear before -the PLTE chunk when PLTE is present, you can write the PNG info in -two steps, and insert code to write your own chunk between them: - - png_write_info_before_PLTE(png_ptr, info_ptr); - png_set_unknown_chunks(png_ptr, info_ptr, ...); - png_write_info(png_ptr, info_ptr); - -After you've written the file information, you can set up the library -to handle any special transformations of the image data. The various -ways to transform the data will be described in the order that they -should occur. This is important, as some of these change the color -type and/or bit depth of the data, and some others only work on -certain color types and bit depths. Even though each transformation -checks to see if it has data that it can do something with, you should -make sure to only enable a transformation if it will be valid for the -data. For example, don't swap red and blue on grayscale data. - -PNG files store RGB pixels packed into 3 or 6 bytes. This code tells -the library to strip input data that has 4 or 8 bytes per pixel down -to 3 or 6 bytes (or strip 2 or 4-byte grayscale+filler data to 1 or 2 -bytes per pixel). - - png_set_filler(png_ptr, 0, PNG_FILLER_BEFORE); - -where the 0 is unused, and the location is either PNG_FILLER_BEFORE or -PNG_FILLER_AFTER, depending upon whether the filler byte in the pixel -is stored XRGB or RGBX. - -PNG files pack pixels of bit depths 1, 2, and 4 into bytes as small as -they can, resulting in, for example, 8 pixels per byte for 1 bit files. -If the data is supplied at 1 pixel per byte, use this code, which will -correctly pack the pixels into a single byte: - - png_set_packing(png_ptr); - -PNG files reduce possible bit depths to 1, 2, 4, 8, and 16. If your -data is of another bit depth, you can write an sBIT chunk into the -file so that decoders can recover the original data if desired. - - /* Set the true bit depth of the image data */ - if (color_type & PNG_COLOR_MASK_COLOR) - { - sig_bit.red = true_bit_depth; - sig_bit.green = true_bit_depth; - sig_bit.blue = true_bit_depth; - } - - else - { - sig_bit.gray = true_bit_depth; - } - - if (color_type & PNG_COLOR_MASK_ALPHA) - { - sig_bit.alpha = true_bit_depth; - } - - png_set_sBIT(png_ptr, info_ptr, &sig_bit); - -If the data is stored in the row buffer in a bit depth other than -one supported by PNG (e.g. 3 bit data in the range 0-7 for a 4-bit PNG), -this will scale the values to appear to be the correct bit depth as -is required by PNG. - - png_set_shift(png_ptr, &sig_bit); - -PNG files store 16-bit pixels in network byte order (big-endian, -ie. most significant bits first). This code would be used if they are -supplied the other way (little-endian, i.e. least significant bits -first, the way PCs store them): - - if (bit_depth > 8) - png_set_swap(png_ptr); - -If you are using packed-pixel images (1, 2, or 4 bits/pixel), and you -need to change the order the pixels are packed into bytes, you can use: - - if (bit_depth < 8) - png_set_packswap(png_ptr); - -PNG files store 3 color pixels in red, green, blue order. This code -would be used if they are supplied as blue, green, red: - - png_set_bgr(png_ptr); - -PNG files describe monochrome as black being zero and white being -one. This code would be used if the pixels are supplied with this reversed -(black being one and white being zero): - - png_set_invert_mono(png_ptr); - -Finally, you can write your own transformation function if none of -the existing ones meets your needs. This is done by setting a callback -with - - png_set_write_user_transform_fn(png_ptr, - write_transform_fn); - -You must supply the function - - void write_transform_fn(png_structp png_ptr, png_row_infop - row_info, png_bytep data) - -See pngtest.c for a working example. Your function will be called -before any of the other transformations are processed. If supported -libpng also supplies an information routine that may be called from -your callback: - - png_get_current_row_number(png_ptr); - png_get_current_pass_number(png_ptr); - -This returns the current row passed to the transform. With interlaced -images the value returned is the row in the input sub-image image. Use -PNG_ROW_FROM_PASS_ROW(row, pass) and PNG_COL_FROM_PASS_COL(col, pass) to -find the output pixel (x,y) given an interlaced sub-image pixel (row,col,pass). - -The discussion of interlace handling above contains more information on how to -use these values. - -You can also set up a pointer to a user structure for use by your -callback function. - - png_set_user_transform_info(png_ptr, user_ptr, 0, 0); - -The user_channels and user_depth parameters of this function are ignored -when writing; you can set them to zero as shown. - -You can retrieve the pointer via the function png_get_user_transform_ptr(). -For example: - - voidp write_user_transform_ptr = - png_get_user_transform_ptr(png_ptr); - -It is possible to have libpng flush any pending output, either manually, -or automatically after a certain number of lines have been written. To -flush the output stream a single time call: - - png_write_flush(png_ptr); - -and to have libpng flush the output stream periodically after a certain -number of scanlines have been written, call: - - png_set_flush(png_ptr, nrows); - -Note that the distance between rows is from the last time png_write_flush() -was called, or the first row of the image if it has never been called. -So if you write 50 lines, and then png_set_flush 25, it will flush the -output on the next scanline, and every 25 lines thereafter, unless -png_write_flush() is called before 25 more lines have been written. -If nrows is too small (less than about 10 lines for a 640 pixel wide -RGB image) the image compression may decrease noticeably (although this -may be acceptable for real-time applications). Infrequent flushing will -only degrade the compression performance by a few percent over images -that do not use flushing. - -Writing the image data - -That's it for the transformations. Now you can write the image data. -The simplest way to do this is in one function call. If you have the -whole image in memory, you can just call png_write_image() and libpng -will write the image. You will need to pass in an array of pointers to -each row. This function automatically handles interlacing, so you don't -need to call png_set_interlace_handling() or call this function multiple -times, or any of that other stuff necessary with png_write_rows(). - - png_write_image(png_ptr, row_pointers); - -where row_pointers is: - - png_byte *row_pointers[height]; - -You can point to void or char or whatever you use for pixels. - -If you don't want to write the whole image at once, you can -use png_write_rows() instead. If the file is not interlaced, -this is simple: - - png_write_rows(png_ptr, row_pointers, - number_of_rows); - -row_pointers is the same as in the png_write_image() call. - -If you are just writing one row at a time, you can do this with -a single row_pointer instead of an array of row_pointers: - - png_bytep row_pointer = row; - - png_write_row(png_ptr, row_pointer); - -When the file is interlaced, things can get a good deal more complicated. -The only currently (as of the PNG Specification version 1.2, dated July -1999) defined interlacing scheme for PNG files is the "Adam7" interlace -scheme, that breaks down an image into seven smaller images of varying -size. libpng will build these images for you, or you can do them -yourself. If you want to build them yourself, see the PNG specification -for details of which pixels to write when. - -If you don't want libpng to handle the interlacing details, just -use png_set_interlace_handling() and call png_write_rows() the -correct number of times to write all the sub-images -(png_set_interlace_handling() returns the number of sub-images.) - -If you want libpng to build the sub-images, call this before you start -writing any rows: - - number_of_passes = png_set_interlace_handling(png_ptr); - -This will return the number of passes needed. Currently, this is seven, -but may change if another interlace type is added. - -Then write the complete image number_of_passes times. - - png_write_rows(png_ptr, row_pointers, number_of_rows); - -Think carefully before you write an interlaced image. Typically code that -reads such images reads all the image data into memory, uncompressed, before -doing any processing. Only code that can display an image on the fly can -take advantage of the interlacing and even then the image has to be exactly -the correct size for the output device, because scaling an image requires -adjacent pixels and these are not available until all the passes have been -read. - -If you do write an interlaced image you will hardly ever need to handle -the interlacing yourself. Call png_set_interlace_handling() and use the -approach described above. - -The only time it is conceivable that you will really need to write an -interlaced image pass-by-pass is when you have read one pass by pass and -made some pixel-by-pixel transformation to it, as described in the read -code above. In this case use the PNG_PASS_ROWS and PNG_PASS_COLS macros -to determine the size of each sub-image in turn and simply write the rows -you obtained from the read code. - -Finishing a sequential write - -After you are finished writing the image, you should finish writing -the file. If you are interested in writing comments or time, you should -pass an appropriately filled png_info pointer. If you are not interested, -you can pass NULL. - - png_write_end(png_ptr, info_ptr); - -When you are done, you can free all memory used by libpng like this: - - png_destroy_write_struct(&png_ptr, &info_ptr); - -It is also possible to individually free the info_ptr members that -point to libpng-allocated storage with the following function: - - png_free_data(png_ptr, info_ptr, mask, seq) - - mask - identifies data to be freed, a mask - containing the bitwise OR of one or - more of - PNG_FREE_PLTE, PNG_FREE_TRNS, - PNG_FREE_HIST, PNG_FREE_ICCP, - PNG_FREE_PCAL, PNG_FREE_ROWS, - PNG_FREE_SCAL, PNG_FREE_SPLT, - PNG_FREE_TEXT, PNG_FREE_UNKN, - or simply PNG_FREE_ALL - - seq - sequence number of item to be freed - (-1 for all items) - -This function may be safely called when the relevant storage has -already been freed, or has not yet been allocated, or was allocated -by the user and not by libpng, and will in those cases do nothing. -The "seq" parameter is ignored if only one item of the selected data -type, such as PLTE, is allowed. If "seq" is not -1, and multiple items -are allowed for the data type identified in the mask, such as text or -sPLT, only the n'th item in the structure is freed, where n is "seq". - -If you allocated data such as a palette that you passed in to libpng -with png_set_*, you must not free it until just before the call to -png_destroy_write_struct(). - -The default behavior is only to free data that was allocated internally -by libpng. This can be changed, so that libpng will not free the data, -or so that it will free data that was allocated by the user with png_malloc() -or png_zalloc() and passed in via a png_set_*() function, with - - png_data_freer(png_ptr, info_ptr, freer, mask) - - freer - one of - PNG_DESTROY_WILL_FREE_DATA - PNG_SET_WILL_FREE_DATA - PNG_USER_WILL_FREE_DATA - - mask - which data elements are affected - same choices as in png_free_data() - -For example, to transfer responsibility for some data from a read structure -to a write structure, you could use - - png_data_freer(read_ptr, read_info_ptr, - PNG_USER_WILL_FREE_DATA, - PNG_FREE_PLTE|PNG_FREE_tRNS|PNG_FREE_hIST) - - png_data_freer(write_ptr, write_info_ptr, - PNG_DESTROY_WILL_FREE_DATA, - PNG_FREE_PLTE|PNG_FREE_tRNS|PNG_FREE_hIST) - -thereby briefly reassigning responsibility for freeing to the user but -immediately afterwards reassigning it once more to the write_destroy -function. Having done this, it would then be safe to destroy the read -structure and continue to use the PLTE, tRNS, and hIST data in the write -structure. - -This function only affects data that has already been allocated. -You can call this function before calling after the png_set_*() functions -to control whether the user or png_destroy_*() is supposed to free the data. -When the user assumes responsibility for libpng-allocated data, the -application must use -png_free() to free it, and when the user transfers responsibility to libpng -for data that the user has allocated, the user must have used png_malloc() -or png_zalloc() to allocate it. - -If you allocated text_ptr.text, text_ptr.lang, and text_ptr.translated_keyword -separately, do not transfer responsibility for freeing text_ptr to libpng, -because when libpng fills a png_text structure it combines these members with -the key member, and png_free_data() will free only text_ptr.key. Similarly, -if you transfer responsibility for free'ing text_ptr from libpng to your -application, your application must not separately free those members. -For a more compact example of writing a PNG image, see the file example.c. - -V. Modifying/Customizing libpng: - -There are two issues here. The first is changing how libpng does -standard things like memory allocation, input/output, and error handling. -The second deals with more complicated things like adding new chunks, -adding new transformations, and generally changing how libpng works. -Both of those are compile-time issues; that is, they are generally -determined at the time the code is written, and there is rarely a need -to provide the user with a means of changing them. - -Memory allocation, input/output, and error handling - -All of the memory allocation, input/output, and error handling in libpng -goes through callbacks that are user-settable. The default routines are -in pngmem.c, pngrio.c, pngwio.c, and pngerror.c, respectively. To change -these functions, call the appropriate png_set_*_fn() function. - -Memory allocation is done through the functions png_malloc(), png_calloc(), -and png_free(). These currently just call the standard C functions. -png_calloc() calls png_malloc() and then clears the newly -allocated memory to zero. There is limited support for certain systems -with segmented memory architectures and the types of pointers declared by -png.h match this; you will have to use appropriate pointers in your -application. Since it is -unlikely that the method of handling memory allocation on a platform -will change between applications, these functions must be modified in -the library at compile time. If you prefer to use a different method -of allocating and freeing data, you can use png_create_read_struct_2() or -png_create_write_struct_2() to register your own functions as described -above. These functions also provide a void pointer that can be retrieved -via - - mem_ptr=png_get_mem_ptr(png_ptr); - -Your replacement memory functions must have prototypes as follows: - - png_voidp malloc_fn(png_structp png_ptr, - png_alloc_size_t size); - - void free_fn(png_structp png_ptr, png_voidp ptr); - -Your malloc_fn() must return NULL in case of failure. The png_malloc() -function will normally call png_error() if it receives a NULL from the -system memory allocator or from your replacement malloc_fn(). - -Your free_fn() will never be called with a NULL ptr, since libpng's -png_free() checks for NULL before calling free_fn(). - -Input/Output in libpng is done through png_read() and png_write(), -which currently just call fread() and fwrite(). The FILE * is stored in -png_struct and is initialized via png_init_io(). If you wish to change -the method of I/O, the library supplies callbacks that you can set -through the function png_set_read_fn() and png_set_write_fn() at run -time, instead of calling the png_init_io() function. These functions -also provide a void pointer that can be retrieved via the function -png_get_io_ptr(). For example: - - png_set_read_fn(png_structp read_ptr, - voidp read_io_ptr, png_rw_ptr read_data_fn) - - png_set_write_fn(png_structp write_ptr, - voidp write_io_ptr, png_rw_ptr write_data_fn, - png_flush_ptr output_flush_fn); - - voidp read_io_ptr = png_get_io_ptr(read_ptr); - voidp write_io_ptr = png_get_io_ptr(write_ptr); - -The replacement I/O functions must have prototypes as follows: - - void user_read_data(png_structp png_ptr, - png_bytep data, png_size_t length); - - void user_write_data(png_structp png_ptr, - png_bytep data, png_size_t length); - - void user_flush_data(png_structp png_ptr); - -The user_read_data() function is responsible for detecting and -handling end-of-data errors. - -Supplying NULL for the read, write, or flush functions sets them back -to using the default C stream functions, which expect the io_ptr to -point to a standard *FILE structure. It is probably a mistake -to use NULL for one of write_data_fn and output_flush_fn but not both -of them, unless you have built libpng with PNG_NO_WRITE_FLUSH defined. -It is an error to read from a write stream, and vice versa. - -Error handling in libpng is done through png_error() and png_warning(). -Errors handled through png_error() are fatal, meaning that png_error() -should never return to its caller. Currently, this is handled via -setjmp() and longjmp() (unless you have compiled libpng with -PNG_NO_SETJMP, in which case it is handled via PNG_ABORT()), -but you could change this to do things like exit() if you should wish, -as long as your function does not return. - -On non-fatal errors, png_warning() is called -to print a warning message, and then control returns to the calling code. -By default png_error() and png_warning() print a message on stderr via -fprintf() unless the library is compiled with PNG_NO_CONSOLE_IO defined -(because you don't want the messages) or PNG_NO_STDIO defined (because -fprintf() isn't available). If you wish to change the behavior of the error -functions, you will need to set up your own message callbacks. These -functions are normally supplied at the time that the png_struct is created. -It is also possible to redirect errors and warnings to your own replacement -functions after png_create_*_struct() has been called by calling: - - png_set_error_fn(png_structp png_ptr, - png_voidp error_ptr, png_error_ptr error_fn, - png_error_ptr warning_fn); - - png_voidp error_ptr = png_get_error_ptr(png_ptr); - -If NULL is supplied for either error_fn or warning_fn, then the libpng -default function will be used, calling fprintf() and/or longjmp() if a -problem is encountered. The replacement error functions should have -parameters as follows: - - void user_error_fn(png_structp png_ptr, - png_const_charp error_msg); - - void user_warning_fn(png_structp png_ptr, - png_const_charp warning_msg); - -The motivation behind using setjmp() and longjmp() is the C++ throw and -catch exception handling methods. This makes the code much easier to write, -as there is no need to check every return code of every function call. -However, there are some uncertainties about the status of local variables -after a longjmp, so the user may want to be careful about doing anything -after setjmp returns non-zero besides returning itself. Consult your -compiler documentation for more details. For an alternative approach, you -may wish to use the "cexcept" facility (see http://cexcept.sourceforge.net), -which is illustrated in pngvalid.c and in contrib/visupng. - -Custom chunks - -If you need to read or write custom chunks, you may need to get deeper -into the libpng code. The library now has mechanisms for storing -and writing chunks of unknown type; you can even declare callbacks -for custom chunks. However, this may not be good enough if the -library code itself needs to know about interactions between your -chunk and existing `intrinsic' chunks. - -If you need to write a new intrinsic chunk, first read the PNG -specification. Acquire a first level of understanding of how it works. -Pay particular attention to the sections that describe chunk names, -and look at how other chunks were designed, so you can do things -similarly. Second, check out the sections of libpng that read and -write chunks. Try to find a chunk that is similar to yours and use -it as a template. More details can be found in the comments inside -the code. It is best to handle private or unknown chunks in a generic method, -via callback functions, instead of by modifying libpng functions. This -is illustrated in pngtest.c, which uses a callback function to handle a -private "vpAg" chunk and the new "sTER" chunk, which are both unknown to -libpng. - -If you wish to write your own transformation for the data, look through -the part of the code that does the transformations, and check out some of -the simpler ones to get an idea of how they work. Try to find a similar -transformation to the one you want to add and copy off of it. More details -can be found in the comments inside the code itself. - -Configuring for 16-bit platforms - -You will want to look into zconf.h to tell zlib (and thus libpng) that -it cannot allocate more then 64K at a time. Even if you can, the memory -won't be accessible. So limit zlib and libpng to 64K by defining MAXSEG_64K. - -Configuring for DOS - -For DOS users who only have access to the lower 640K, you will -have to limit zlib's memory usage via a png_set_compression_mem_level() -call. See zlib.h or zconf.h in the zlib library for more information. - -Configuring for Medium Model - -Libpng's support for medium model has been tested on most of the popular -compilers. Make sure MAXSEG_64K gets defined, USE_FAR_KEYWORD gets -defined, and FAR gets defined to far in pngconf.h, and you should be -all set. Everything in the library (except for zlib's structure) is -expecting far data. You must use the typedefs with the p or pp on -the end for pointers (or at least look at them and be careful). Make -note that the rows of data are defined as png_bytepp, which is -an "unsigned char far * far *". - -Configuring for gui/windowing platforms: - -You will need to write new error and warning functions that use the GUI -interface, as described previously, and set them to be the error and -warning functions at the time that png_create_*_struct() is called, -in order to have them available during the structure initialization. -They can be changed later via png_set_error_fn(). On some compilers, -you may also have to change the memory allocators (png_malloc, etc.). - -Configuring for compiler xxx: - -All includes for libpng are in pngconf.h. If you need to add, change -or delete an include, this is the place to do it. -The includes that are not needed outside libpng are placed in pngpriv.h, -which is only used by the routines inside libpng itself. -The files in libpng proper only include pngpriv.h and png.h, which -in turn includes pngconf.h and, as of libpng-1.5.0, pnglibconf.h. -As of libpng-1.5.0, pngpriv.h also includes three other private header -files, pngstruct.h, pnginfo.h, and pngdebug.h, which contain material -that previously appeared in the public headers. - -Configuring zlib: - -There are special functions to configure the compression. Perhaps the -most useful one changes the compression level, which currently uses -input compression values in the range 0 - 9. The library normally -uses the default compression level (Z_DEFAULT_COMPRESSION = 6). Tests -have shown that for a large majority of images, compression values in -the range 3-6 compress nearly as well as higher levels, and do so much -faster. For online applications it may be desirable to have maximum speed -(Z_BEST_SPEED = 1). With versions of zlib after v0.99, you can also -specify no compression (Z_NO_COMPRESSION = 0), but this would create -files larger than just storing the raw bitmap. You can specify the -compression level by calling: - - #include zlib.h - png_set_compression_level(png_ptr, level); - -Another useful one is to reduce the memory level used by the library. -The memory level defaults to 8, but it can be lowered if you are -short on memory (running DOS, for example, where you only have 640K). -Note that the memory level does have an effect on compression; among -other things, lower levels will result in sections of incompressible -data being emitted in smaller stored blocks, with a correspondingly -larger relative overhead of up to 15% in the worst case. - - #include zlib.h - png_set_compression_mem_level(png_ptr, level); - -The other functions are for configuring zlib. They are not recommended -for normal use and may result in writing an invalid PNG file. See -zlib.h for more information on what these mean. - - #include zlib.h - png_set_compression_strategy(png_ptr, - strategy); - - png_set_compression_window_bits(png_ptr, - window_bits); - - png_set_compression_method(png_ptr, method); - - png_set_compression_buffer_size(png_ptr, size); - -As of libpng version 1.5.4, additional APIs became -available to set these separately for non-IDAT -compressed chunks such as zTXt, iTXt, and iCCP: - - #include zlib.h - #if PNG_LIBPNG_VER >= 10504 - png_set_text_compression_level(png_ptr, level); - - png_set_text_compression_mem_level(png_ptr, level); - - png_set_text_compression_strategy(png_ptr, - strategy); - - png_set_text_compression_window_bits(png_ptr, - window_bits); - - png_set_text_compression_method(png_ptr, method); - #endif - -Controlling row filtering - -If you want to control whether libpng uses filtering or not, which -filters are used, and how it goes about picking row filters, you -can call one of these functions. The selection and configuration -of row filters can have a significant impact on the size and -encoding speed and a somewhat lesser impact on the decoding speed -of an image. Filtering is enabled by default for RGB and grayscale -images (with and without alpha), but not for paletted images nor -for any images with bit depths less than 8 bits/pixel. - -The 'method' parameter sets the main filtering method, which is -currently only '0' in the PNG 1.2 specification. The 'filters' -parameter sets which filter(s), if any, should be used for each -scanline. Possible values are PNG_ALL_FILTERS and PNG_NO_FILTERS -to turn filtering on and off, respectively. - -Individual filter types are PNG_FILTER_NONE, PNG_FILTER_SUB, -PNG_FILTER_UP, PNG_FILTER_AVG, PNG_FILTER_PAETH, which can be bitwise -ORed together with '|' to specify one or more filters to use. -These filters are described in more detail in the PNG specification. -If you intend to change the filter type during the course of writing -the image, you should start with flags set for all of the filters -you intend to use so that libpng can initialize its internal -structures appropriately for all of the filter types. (Note that this -means the first row must always be adaptively filtered, because libpng -currently does not allocate the filter buffers until png_write_row() -is called for the first time.) - - filters = PNG_FILTER_NONE | PNG_FILTER_SUB - PNG_FILTER_UP | PNG_FILTER_AVG | - PNG_FILTER_PAETH | PNG_ALL_FILTERS; - - png_set_filter(png_ptr, PNG_FILTER_TYPE_BASE, - filters); - The second parameter can also be - PNG_INTRAPIXEL_DIFFERENCING if you are - writing a PNG to be embedded in a MNG - datastream. This parameter must be the - same as the value of filter_method used - in png_set_IHDR(). - -It is also possible to influence how libpng chooses from among the -available filters. This is done in one or both of two ways - by -telling it how important it is to keep the same filter for successive -rows, and by telling it the relative computational costs of the filters. - - double weights[3] = {1.5, 1.3, 1.1}, - costs[PNG_FILTER_VALUE_LAST] = - {1.0, 1.3, 1.3, 1.5, 1.7}; - - png_set_filter_heuristics(png_ptr, - PNG_FILTER_HEURISTIC_WEIGHTED, 3, - weights, costs); - -The weights are multiplying factors that indicate to libpng that the -row filter should be the same for successive rows unless another row filter -is that many times better than the previous filter. In the above example, -if the previous 3 filters were SUB, SUB, NONE, the SUB filter could have a -"sum of absolute differences" 1.5 x 1.3 times higher than other filters -and still be chosen, while the NONE filter could have a sum 1.1 times -higher than other filters and still be chosen. Unspecified weights are -taken to be 1.0, and the specified weights should probably be declining -like those above in order to emphasize recent filters over older filters. - -The filter costs specify for each filter type a relative decoding cost -to be considered when selecting row filters. This means that filters -with higher costs are less likely to be chosen over filters with lower -costs, unless their "sum of absolute differences" is that much smaller. -The costs do not necessarily reflect the exact computational speeds of -the various filters, since this would unduly influence the final image -size. - -Note that the numbers above were invented purely for this example and -are given only to help explain the function usage. Little testing has -been done to find optimum values for either the costs or the weights. - -Removing unwanted object code - -There are a bunch of #define's in pngconf.h that control what parts of -libpng are compiled. All the defines end in _SUPPORTED. If you are -never going to use a capability, you can change the #define to #undef -before recompiling libpng and save yourself code and data space, or -you can turn off individual capabilities with defines that begin with -PNG_NO_. - -In libpng-1.5.0 and later, the #define's are in pnglibconf.h instead. - -You can also turn all of the transforms and ancillary chunk capabilities -off en masse with compiler directives that define -PNG_NO_READ[or WRITE]_TRANSFORMS, or PNG_NO_READ[or WRITE]_ANCILLARY_CHUNKS, -or all four, -along with directives to turn on any of the capabilities that you do -want. The PNG_NO_READ[or WRITE]_TRANSFORMS directives disable the extra -transformations but still leave the library fully capable of reading -and writing PNG files with all known public chunks. Use of the -PNG_NO_READ[or WRITE]_ANCILLARY_CHUNKS directive produces a library -that is incapable of reading or writing ancillary chunks. If you are -not using the progressive reading capability, you can turn that off -with PNG_NO_PROGRESSIVE_READ (don't confuse this with the INTERLACING -capability, which you'll still have). - -All the reading and writing specific code are in separate files, so the -linker should only grab the files it needs. However, if you want to -make sure, or if you are building a stand alone library, all the -reading files start with "pngr" and all the writing files start with "pngw". -The files that don't match either (like png.c, pngtrans.c, etc.) -are used for both reading and writing, and always need to be included. -The progressive reader is in pngpread.c - -If you are creating or distributing a dynamically linked library (a .so -or DLL file), you should not remove or disable any parts of the library, -as this will cause applications linked with different versions of the -library to fail if they call functions not available in your library. -The size of the library itself should not be an issue, because only -those sections that are actually used will be loaded into memory. - -Requesting debug printout - -The macro definition PNG_DEBUG can be used to request debugging -printout. Set it to an integer value in the range 0 to 3. Higher -numbers result in increasing amounts of debugging information. The -information is printed to the "stderr" file, unless another file -name is specified in the PNG_DEBUG_FILE macro definition. - -When PNG_DEBUG > 0, the following functions (macros) become available: - - png_debug(level, message) - png_debug1(level, message, p1) - png_debug2(level, message, p1, p2) - -in which "level" is compared to PNG_DEBUG to decide whether to print -the message, "message" is the formatted string to be printed, -and p1 and p2 are parameters that are to be embedded in the string -according to printf-style formatting directives. For example, - - png_debug1(2, "foo=%d\n", foo); - -is expanded to - - if (PNG_DEBUG > 2) - fprintf(PNG_DEBUG_FILE, "foo=%d\n", foo); - -When PNG_DEBUG is defined but is zero, the macros aren't defined, but you -can still use PNG_DEBUG to control your own debugging: - - #ifdef PNG_DEBUG - fprintf(stderr, ... - #endif - -When PNG_DEBUG = 1, the macros are defined, but only png_debug statements -having level = 0 will be printed. There aren't any such statements in -this version of libpng, but if you insert some they will be printed. - -VI. MNG support - -The MNG specification (available at http://www.libpng.org/pub/mng) allows -certain extensions to PNG for PNG images that are embedded in MNG datastreams. -Libpng can support some of these extensions. To enable them, use the -png_permit_mng_features() function: - - feature_set = png_permit_mng_features(png_ptr, mask) - - mask is a png_uint_32 containing the bitwise OR of the - features you want to enable. These include - PNG_FLAG_MNG_EMPTY_PLTE - PNG_FLAG_MNG_FILTER_64 - PNG_ALL_MNG_FEATURES - - feature_set is a png_uint_32 that is the bitwise AND of - your mask with the set of MNG features that is - supported by the version of libpng that you are using. - -It is an error to use this function when reading or writing a standalone -PNG file with the PNG 8-byte signature. The PNG datastream must be wrapped -in a MNG datastream. As a minimum, it must have the MNG 8-byte signature -and the MHDR and MEND chunks. Libpng does not provide support for these -or any other MNG chunks; your application must provide its own support for -them. You may wish to consider using libmng (available at -http://www.libmng.com) instead. - -VII. Changes to Libpng from version 0.88 - -It should be noted that versions of libpng later than 0.96 are not -distributed by the original libpng author, Guy Schalnat, nor by -Andreas Dilger, who had taken over from Guy during 1996 and 1997, and -distributed versions 0.89 through 0.96, but rather by another member -of the original PNG Group, Glenn Randers-Pehrson. Guy and Andreas are -still alive and well, but they have moved on to other things. - -The old libpng functions png_read_init(), png_write_init(), -png_info_init(), png_read_destroy(), and png_write_destroy() have been -moved to PNG_INTERNAL in version 0.95 to discourage their use. These -functions will be removed from libpng version 1.4.0. - -The preferred method of creating and initializing the libpng structures is -via the png_create_read_struct(), png_create_write_struct(), and -png_create_info_struct() because they isolate the size of the structures -from the application, allow version error checking, and also allow the -use of custom error handling routines during the initialization, which -the old functions do not. The functions png_read_destroy() and -png_write_destroy() do not actually free the memory that libpng -allocated for these structs, but just reset the data structures, so they -can be used instead of png_destroy_read_struct() and -png_destroy_write_struct() if you feel there is too much system overhead -allocating and freeing the png_struct for each image read. - -Setting the error callbacks via png_set_message_fn() before -png_read_init() as was suggested in libpng-0.88 is no longer supported -because this caused applications that do not use custom error functions -to fail if the png_ptr was not initialized to zero. It is still possible -to set the error callbacks AFTER png_read_init(), or to change them with -png_set_error_fn(), which is essentially the same function, but with a new -name to force compilation errors with applications that try to use the old -method. - -Starting with version 1.0.7, you can find out which version of the library -you are using at run-time: - - png_uint_32 libpng_vn = png_access_version_number(); - -The number libpng_vn is constructed from the major version, minor -version with leading zero, and release number with leading zero, -(e.g., libpng_vn for version 1.0.7 is 10007). - -Note that this function does not take a png_ptr, so you can call it -before you've created one. - -You can also check which version of png.h you used when compiling your -application: - - png_uint_32 application_vn = PNG_LIBPNG_VER; - -VIII. Changes to Libpng from version 1.0.x to 1.2.x - -Support for user memory management was enabled by default. To -accomplish this, the functions png_create_read_struct_2(), -png_create_write_struct_2(), png_set_mem_fn(), png_get_mem_ptr(), -png_malloc_default(), and png_free_default() were added. - -Support for the iTXt chunk has been enabled by default as of -version 1.2.41. - -Support for certain MNG features was enabled. - -Support for numbered error messages was added. However, we never got -around to actually numbering the error messages. The function -png_set_strip_error_numbers() was added (Note: the prototype for this -function was inadvertently removed from png.h in PNG_NO_ASSEMBLER_CODE -builds of libpng-1.2.15. It was restored in libpng-1.2.36). - -The png_malloc_warn() function was added at libpng-1.2.3. This issues -a png_warning and returns NULL instead of aborting when it fails to -acquire the requested memory allocation. - -Support for setting user limits on image width and height was enabled -by default. The functions png_set_user_limits(), png_get_user_width_max(), -and png_get_user_height_max() were added at libpng-1.2.6. - -The png_set_add_alpha() function was added at libpng-1.2.7. - -The function png_set_expand_gray_1_2_4_to_8() was added at libpng-1.2.9. -Unlike png_set_gray_1_2_4_to_8(), the new function does not expand the -tRNS chunk to alpha. The png_set_gray_1_2_4_to_8() function is -deprecated. - -A number of macro definitions in support of runtime selection of -assembler code features (especially Intel MMX code support) were -added at libpng-1.2.0: - - PNG_ASM_FLAG_MMX_SUPPORT_COMPILED - PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU - PNG_ASM_FLAG_MMX_READ_COMBINE_ROW - PNG_ASM_FLAG_MMX_READ_INTERLACE - PNG_ASM_FLAG_MMX_READ_FILTER_SUB - PNG_ASM_FLAG_MMX_READ_FILTER_UP - PNG_ASM_FLAG_MMX_READ_FILTER_AVG - PNG_ASM_FLAG_MMX_READ_FILTER_PAETH - PNG_ASM_FLAGS_INITIALIZED - PNG_MMX_READ_FLAGS - PNG_MMX_FLAGS - PNG_MMX_WRITE_FLAGS - PNG_MMX_FLAGS - -We added the following functions in support of runtime -selection of assembler code features: - - png_get_mmx_flagmask() - png_set_mmx_thresholds() - png_get_asm_flags() - png_get_mmx_bitdepth_threshold() - png_get_mmx_rowbytes_threshold() - png_set_asm_flags() - -We replaced all of these functions with simple stubs in libpng-1.2.20, -when the Intel assembler code was removed due to a licensing issue. - -These macros are deprecated: - - PNG_READ_TRANSFORMS_NOT_SUPPORTED - PNG_PROGRESSIVE_READ_NOT_SUPPORTED - PNG_NO_SEQUENTIAL_READ_SUPPORTED - PNG_WRITE_TRANSFORMS_NOT_SUPPORTED - PNG_READ_ANCILLARY_CHUNKS_NOT_SUPPORTED - PNG_WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED - -They have been replaced, respectively, by: - - PNG_NO_READ_TRANSFORMS - PNG_NO_PROGRESSIVE_READ - PNG_NO_SEQUENTIAL_READ - PNG_NO_WRITE_TRANSFORMS - PNG_NO_READ_ANCILLARY_CHUNKS - PNG_NO_WRITE_ANCILLARY_CHUNKS - -PNG_MAX_UINT was replaced with PNG_UINT_31_MAX. It has been -deprecated since libpng-1.0.16 and libpng-1.2.6. - -The function - png_check_sig(sig, num) -was replaced with - !png_sig_cmp(sig, 0, num) -It has been deprecated since libpng-0.90. - -The function - png_set_gray_1_2_4_to_8() -which also expands tRNS to alpha was replaced with - png_set_expand_gray_1_2_4_to_8() -which does not. It has been deprecated since libpng-1.0.18 and 1.2.9. - -IX. Changes to Libpng from version 1.0.x/1.2.x to 1.4.x - -Private libpng prototypes and macro definitions were moved from -png.h and pngconf.h into a new pngpriv.h header file. - -Functions png_set_benign_errors(), png_benign_error(), and -png_chunk_benign_error() were added. - -Support for setting the maximum amount of memory that the application -will allocate for reading chunks was added, as a security measure. -The functions png_set_chunk_cache_max() and png_get_chunk_cache_max() -were added to the library. - -We implemented support for I/O states by adding png_ptr member io_state -and functions png_get_io_chunk_name() and png_get_io_state() in pngget.c - -We added PNG_TRANSFORM_GRAY_TO_RGB to the available high-level -input transforms. - -Checking for and reporting of errors in the IHDR chunk is more thorough. - -Support for global arrays was removed, to improve thread safety. - -Some obsolete/deprecated macros and functions have been removed. - -Typecasted NULL definitions such as - #define png_voidp_NULL (png_voidp)NULL -were eliminated. If you used these in your application, just use -NULL instead. - -The png_struct and info_struct members "trans" and "trans_values" were -changed to "trans_alpha" and "trans_color", respectively. - -The obsolete, unused pnggccrd.c and pngvcrd.c files and related makefiles -were removed. - -The PNG_1_0_X and PNG_1_2_X macros were eliminated. - -The PNG_LEGACY_SUPPORTED macro was eliminated. - -Many WIN32_WCE #ifdefs were removed. - -The functions png_read_init(info_ptr), png_write_init(info_ptr), -png_info_init(info_ptr), png_read_destroy(), and png_write_destroy() -have been removed. They have been deprecated since libpng-0.95. - -The png_permit_empty_plte() was removed. It has been deprecated -since libpng-1.0.9. Use png_permit_mng_features() instead. - -We removed the obsolete stub functions png_get_mmx_flagmask(), -png_set_mmx_thresholds(), png_get_asm_flags(), -png_get_mmx_bitdepth_threshold(), png_get_mmx_rowbytes_threshold(), -png_set_asm_flags(), and png_mmx_supported() - -We removed the obsolete png_check_sig(), png_memcpy_check(), and -png_memset_check() functions. Instead use !png_sig_cmp(), memcpy(), -and memset(), respectively. - -The function png_set_gray_1_2_4_to_8() was removed. It has been -deprecated since libpng-1.0.18 and 1.2.9, when it was replaced with -png_set_expand_gray_1_2_4_to_8() because the former function also -expanded any tRNS chunk to an alpha channel. - -Macros for png_get_uint_16, png_get_uint_32, and png_get_int_32 -were added and are used by default instead of the corresponding -functions. Unfortunately, -from libpng-1.4.0 until 1.4.4, the png_get_uint_16 macro (but not the -function) incorrectly returned a value of type png_uint_32. - -We changed the prototype for png_malloc() from - png_malloc(png_structp png_ptr, png_uint_32 size) -to - png_malloc(png_structp png_ptr, png_alloc_size_t size) - -This also applies to the prototype for the user replacement malloc_fn(). - -The png_calloc() function was added and is used in place of -of "png_malloc(); memset();" except in the case in png_read_png() -where the array consists of pointers; in this case a "for" loop is used -after the png_malloc() to set the pointers to NULL, to give robust. -behavior in case the application runs out of memory part-way through -the process. - -We changed the prototypes of png_get_compression_buffer_size() and -png_set_compression_buffer_size() to work with png_size_t instead of -png_uint_32. - -Support for numbered error messages was removed by default, since we -never got around to actually numbering the error messages. The function -png_set_strip_error_numbers() was removed from the library by default. - -The png_zalloc() and png_zfree() functions are no longer exported. -The png_zalloc() function no longer zeroes out the memory that it -allocates. - -Support for dithering was disabled by default in libpng-1.4.0, because -it has not been well tested and doesn't actually "dither". -The code was not -removed, however, and could be enabled by building libpng with -PNG_READ_DITHER_SUPPORTED defined. In libpng-1.4.2, this support -was reenabled, but the function was renamed png_set_quantize() to -reflect more accurately what it actually does. At the same time, -the PNG_DITHER_[RED,GREEN_BLUE]_BITS macros were also renamed to -PNG_QUANTIZE_[RED,GREEN,BLUE]_BITS, and PNG_READ_DITHER_SUPPORTED -was renamed to PNG_READ_QUANTIZE_SUPPORTED. - -We removed the trailing '.' from the warning and error messages. - -X. Changes to Libpng from version 1.4.x to 1.5.x - -From libpng-1.4.0 until 1.4.4, the png_get_uint_16 macro (but not the -function) incorrectly returned a value of type png_uint_32. - -Checking for invalid palette index on read or write was added at libpng -1.5.10. When an invalid index is found, libpng issues a benign error. -This is enabled by default but can be disabled in each png_ptr with - - png_set_check_for_invalid_index(png_ptr, allowed); - - allowed - one of - 0: disable - 1: enable - -A. Changes that affect users of libpng - -There are no substantial API changes between the non-deprecated parts of -the 1.4.5 API and the 1.5.0 API; however, the ability to directly access -the main libpng control structures, png_struct and png_info, deprecated -in earlier versions of libpng, has been completely removed from -libpng 1.5. - -We no longer include zlib.h in png.h. Applications that need access -to information in zlib.h will need to add the '#include "zlib.h"' -directive. It does not matter whether it is placed prior to or after -the '"#include png.h"' directive. - -We moved the png_strcpy(), png_strncpy(), png_strlen(), png_memcpy(), -png_memcmp(), png_sprintf, and png_memcpy() macros into a private -header file (pngpriv.h) that is not accessible to applications. - -In png_get_iCCP, the type of "profile" was changed from png_charpp -to png_bytepp, and in png_set_iCCP, from png_charp to png_const_bytep. - -There are changes of form in png.h, including new and changed macros to -declare parts of the API. Some API functions with arguments that are -pointers to data not modified within the function have been corrected to -declare these arguments with PNG_CONST. - -Much of the internal use of C macros to control the library build has also -changed and some of this is visible in the exported header files, in -particular the use of macros to control data and API elements visible -during application compilation may require significant revision to -application code. (It is extremely rare for an application to do this.) - -Any program that compiled against libpng 1.4 and did not use deprecated -features or access internal library structures should compile and work -against libpng 1.5, except for the change in the prototype for -png_get_iCCP() and png_set_iCCP() API functions mentioned above. - -libpng 1.5.0 adds PNG_ PASS macros to help in the reading and writing of -interlaced images. The macros return the number of rows and columns in -each pass and information that can be used to de-interlace and (if -absolutely necessary) interlace an image. - -libpng 1.5.0 adds an API png_longjmp(png_ptr, value). This API calls -the application-provided png_longjmp_ptr on the internal, but application -initialized, longjmp buffer. It is provided as a convenience to avoid -the need to use the png_jmpbuf macro, which had the unnecessary side -effect of resetting the internal png_longjmp_ptr value. - -libpng 1.5.0 includes a complete fixed point API. By default this is -present along with the corresponding floating point API. In general the -fixed point API is faster and smaller than the floating point one because -the PNG file format used fixed point, not floating point. This applies -even if the library uses floating point in internal calculations. A new -macro, PNG_FLOATING_ARITHMETIC_SUPPORTED, reveals whether the library -uses floating point arithmetic (the default) or fixed point arithmetic -internally for performance critical calculations such as gamma correction. -In some cases, the gamma calculations may produce slightly different -results. This has changed the results in png_rgb_to_gray and in alpha -composition (png_set_background for example). This applies even if the -original image was already linear (gamma == 1.0) and, therefore, it is -not necessary to linearize the image. This is because libpng has *not* -been changed to optimize that case correctly, yet. - -Fixed point support for the sCAL chunk comes with an important caveat; -the sCAL specification uses a decimal encoding of floating point values -and the accuracy of PNG fixed point values is insufficient for -representation of these values. Consequently a "string" API -(png_get_sCAL_s and png_set_sCAL_s) is the only reliable way of reading -arbitrary sCAL chunks in the absence of either the floating point API or -internal floating point calculations. - -Applications no longer need to include the optional distribution header -file pngusr.h or define the corresponding macros during application -build in order to see the correct variant of the libpng API. From 1.5.0 -application code can check for the corresponding _SUPPORTED macro: - -#ifdef PNG_INCH_CONVERSIONS_SUPPORTED - /* code that uses the inch conversion APIs. */ -#endif - -This macro will only be defined if the inch conversion functions have been -compiled into libpng. The full set of macros, and whether or not support -has been compiled in, are available in the header file pnglibconf.h. -This header file is specific to the libpng build. Notice that prior to -1.5.0 the _SUPPORTED macros would always have the default definition unless -reset by pngusr.h or by explicit settings on the compiler command line. -These settings may produce compiler warnings or errors in 1.5.0 because -of macro redefinition. - -From libpng-1.4.0 until 1.4.4, the png_get_uint_16 macro (but not the -function) incorrectly returned a value of type png_uint_32. libpng 1.5.0 -is consistent with the implementation in 1.4.5 and 1.2.x (where the macro -did not exist.) - -Applications can now choose whether to use these macros or to call the -corresponding function by defining PNG_USE_READ_MACROS or -PNG_NO_USE_READ_MACROS before including png.h. Notice that this is -only supported from 1.5.0 -defining PNG_NO_USE_READ_MACROS prior to 1.5.0 -will lead to a link failure. - -Prior to libpng-1.5.4, the zlib compressor used the same set of parameters -when compressing the IDAT data and textual data such as zTXt and iCCP. -In libpng-1.5.4 we reinitialized the zlib stream for each type of data. -We added five png_set_text_*() functions for setting the parameters to -use with textual data. - -Prior to libpng-1.5.4, the PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED -option was off by default, and slightly inaccurate scaling occurred. -This option can no longer be turned off, and the choice of accurate -or inaccurate 16-to-8 scaling is by using the new png_set_scale_16_to_8() -API for accurate scaling or the old png_set_strip_16_to_8() API for simple -chopping. - -Prior to libpng-1.5.4, the png_set_user_limits() function could only be -used to reduce the width and height limits from the value of -PNG_USER_WIDTH_MAX and PNG_USER_HEIGHT_MAX, although this document said -that it could be used to override them. Now this function will reduce or -increase the limits. - -Starting in libpng-1.5.10, the user limits can be set en masse with the -configuration option PNG_SAFE_LIMITS_SUPPORTED. If this option is enabled, -a set of "safe" limits is applied in pngpriv.h. These can be overridden by -application calls to png_set_user_limits(), png_set_user_chunk_cache_max(), -and/or png_set_user_malloc_max() that increase or decrease the limits. Also, -in libpng-1.5.10 the default width and height limits were increased -from 1,000,000 to 0x7ffffff (i.e., made unlimited). Therefore, the -limits are now - default safe - png_user_width_max 0x7fffffff 1,000,000 - png_user_height_max 0x7fffffff 1,000,000 - png_user_chunk_cache_max 0 (unlimited) 128 - png_user_chunk_malloc_max 0 (unlimited) 8,000,000 - -B. Changes to the build and configuration of libpng - -Details of internal changes to the library code can be found in the CHANGES -file and in the GIT repository logs. These will be of no concern to the vast -majority of library users or builders; however, the few who configure libpng -to a non-default feature set may need to change how this is done. - -There should be no need for library builders to alter build scripts if -these use the distributed build support - configure or the makefiles - -however, users of the makefiles may care to update their build scripts -to build pnglibconf.h where the corresponding makefile does not do so. - -Building libpng with a non-default configuration has changed completely. -The old method using pngusr.h should still work correctly even though the -way pngusr.h is used in the build has been changed; however, library -builders will probably want to examine the changes to take advantage of -new capabilities and to simplify their build system. - -B.1 Specific changes to library configuration capabilities - -The library now supports a complete fixed point implementation and can -thus be used on systems that have no floating point support or very -limited or slow support. Previously gamma correction, an essential part -of complete PNG support, required reasonably fast floating point. - -As part of this the choice of internal implementation has been made -independent of the choice of fixed versus floating point APIs and all the -missing fixed point APIs have been implemented. - -The exact mechanism used to control attributes of API functions has -changed. A single set of operating system independent macro definitions -is used and operating system specific directives are defined in -pnglibconf.h - -As part of this the mechanism used to choose procedure call standards on -those systems that allow a choice has been changed. At present this only -affects certain Microsoft (DOS, Windows) and IBM (OS/2) operating systems -running on Intel processors. As before, PNGAPI is defined where required -to control the exported API functions; however, two new macros, PNGCBAPI -and PNGCAPI, are used instead for callback functions (PNGCBAPI) and -(PNGCAPI) for functions that must match a C library prototype (currently -only png_longjmp_ptr, which must match the C longjmp function.) The new -approach is documented in pngconf.h - -Despite these changes, libpng 1.5.0 only supports the native C function -calling standard on those platforms tested so far (__cdecl on Microsoft -Windows). This is because the support requirements for alternative -calling conventions seem to no longer exist. Developers who find it -necessary to set PNG_API_RULE to 1 should advise the mailing list -(png-mng-implement) of this and library builders who use Openwatcom and -therefore set PNG_API_RULE to 2 should also contact the mailing list. - -A new test program, pngvalid, is provided in addition to pngtest. -pngvalid validates the arithmetic accuracy of the gamma correction -calculations and includes a number of validations of the file format. -A subset of the full range of tests is run when "make check" is done -(in the 'configure' build.) pngvalid also allows total allocated memory -usage to be evaluated and performs additional memory overwrite validation. - -Many changes to individual feature macros have been made. The following -are the changes most likely to be noticed by library builders who -configure libpng: - -1) All feature macros now have consistent naming: - -#define PNG_NO_feature turns the feature off -#define PNG_feature_SUPPORTED turns the feature on - -pnglibconf.h contains one line for each feature macro which is either: - -#define PNG_feature_SUPPORTED - -if the feature is supported or: - -/*#undef PNG_feature_SUPPORTED*/ - -if it is not. Library code consistently checks for the 'SUPPORTED' macro. -It does not, and libpng applications should not, check for the 'NO' macro -which will not normally be defined even if the feature is not supported. -The 'NO' macros are only used internally for setting or not setting the -corresponding 'SUPPORTED' macros. - -Compatibility with the old names is provided as follows: - -PNG_INCH_CONVERSIONS turns on PNG_INCH_CONVERSIONS_SUPPORTED - -And the following definitions disable the corresponding feature: - -PNG_SETJMP_NOT_SUPPORTED disables SETJMP -PNG_READ_TRANSFORMS_NOT_SUPPORTED disables READ_TRANSFORMS -PNG_NO_READ_COMPOSITED_NODIV disables READ_COMPOSITE_NODIV -PNG_WRITE_TRANSFORMS_NOT_SUPPORTED disables WRITE_TRANSFORMS -PNG_READ_ANCILLARY_CHUNKS_NOT_SUPPORTED disables READ_ANCILLARY_CHUNKS -PNG_WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED disables WRITE_ANCILLARY_CHUNKS - -Library builders should remove use of the above, inconsistent, names. - -2) Warning and error message formatting was previously conditional on -the STDIO feature. The library has been changed to use the -CONSOLE_IO feature instead. This means that if CONSOLE_IO is disabled -the library no longer uses the printf(3) functions, even though the -default read/write implementations use (FILE) style stdio.h functions. - -3) Three feature macros now control the fixed/floating point decisions: - -PNG_FLOATING_POINT_SUPPORTED enables the floating point APIs - -PNG_FIXED_POINT_SUPPORTED enables the fixed point APIs; however, in -practice these are normally required internally anyway (because the PNG -file format is fixed point), therefore in most cases PNG_NO_FIXED_POINT -merely stops the function from being exported. - -PNG_FLOATING_ARITHMETIC_SUPPORTED chooses between the internal floating -point implementation or the fixed point one. Typically the fixed point -implementation is larger and slower than the floating point implementation -on a system that supports floating point; however, it may be faster on a -system which lacks floating point hardware and therefore uses a software -emulation. - -4) Added PNG_{READ,WRITE}_INT_FUNCTIONS_SUPPORTED. This allows the -functions to read and write ints to be disabled independently of -PNG_USE_READ_MACROS, which allows libpng to be built with the functions -even though the default is to use the macros - this allows applications -to choose at app buildtime whether or not to use macros (previously -impossible because the functions weren't in the default build.) - -B.2 Changes to the configuration mechanism - -Prior to libpng-1.5.0 library builders who needed to configure libpng -had either to modify the exported pngconf.h header file to add system -specific configuration or had to write feature selection macros into -pngusr.h and cause this to be included into pngconf.h by defining -PNG_USER_CONFIG. The latter mechanism had the disadvantage that an -application built without PNG_USER_CONFIG defined would see the -unmodified, default, libpng API and thus would probably fail to link. - -These mechanisms still work in the configure build and in any makefile -build that builds pnglibconf.h, although the feature selection macros -have changed somewhat as described above. In 1.5.0, however, pngusr.h is -processed only once, when the exported header file pnglibconf.h is built. -pngconf.h no longer includes pngusr.h, therefore pngusr.h is ignored after the -build of pnglibconf.h and it is never included in an application build. - -The rarely used alternative of adding a list of feature macros to the -CFLAGS setting in the build also still works; however, the macros will be -copied to pnglibconf.h and this may produce macro redefinition warnings -when the individual C files are compiled. - -All configuration now only works if pnglibconf.h is built from -scripts/pnglibconf.dfa. This requires the program awk. Brian Kernighan -(the original author of awk) maintains C source code of that awk and this -and all known later implementations (often called by subtly different -names - nawk and gawk for example) are adequate to build pnglibconf.h. -The Sun Microsystems (now Oracle) program 'awk' is an earlier version -and does not work; this may also apply to other systems that have a -functioning awk called 'nawk'. - -Configuration options are now documented in scripts/pnglibconf.dfa. This -file also includes dependency information that ensures a configuration is -consistent; that is, if a feature is switched off dependent features are -also removed. As a recommended alternative to using feature macros in -pngusr.h a system builder may also define equivalent options in pngusr.dfa -(or, indeed, any file) and add that to the configuration by setting -DFA_XTRA to the file name. The makefiles in contrib/pngminim illustrate -how to do this, and a case where pngusr.h is still required. - -XI. Detecting libpng - -The png_get_io_ptr() function has been present since libpng-0.88, has never -changed, and is unaffected by conditional compilation macros. It is the -best choice for use in configure scripts for detecting the presence of any -libpng version since 0.88. In an autoconf "configure.in" you could use - - AC_CHECK_LIB(png, png_get_io_ptr, ... - -XII. Source code repository - -Since about February 2009, version 1.2.34, libpng has been under "git" source -control. The git repository was built from old libpng-x.y.z.tar.gz files -going back to version 0.70. You can access the git repository (read only) -at - - git://libpng.git.sourceforge.net/gitroot/libpng - -or you can browse it via "gitweb" at - - http://libpng.git.sourceforge.net/git/gitweb.cgi?p=libpng - -Patches can be sent to glennrp at users.sourceforge.net or to -png-mng-implement at lists.sourceforge.net or you can upload them to -the libpng bug tracker at - - http://libpng.sourceforge.net - -We also accept patches built from the tar or zip distributions, and -simple verbal discriptions of bug fixes, reported either to the -SourceForge bug tracker, to the png-mng-implement at lists.sf.net -mailing list, or directly to glennrp. - -XIII. Coding style - -Our coding style is similar to the "Allman" style, with curly -braces on separate lines: - - if (condition) - { - action; - } - - else if (another condition) - { - another action; - } - -The braces can be omitted from simple one-line actions: - - if (condition) - return (0); - -We use 3-space indentation, except for continued statements which -are usually indented the same as the first line of the statement -plus four more spaces. - -For macro definitions we use 2-space indentation, always leaving the "#" -in the first column. - - #ifndef PNG_NO_FEATURE - # ifndef PNG_FEATURE_SUPPORTED - # define PNG_FEATURE_SUPPORTED - # endif - #endif - -Comments appear with the leading "/*" at the same indentation as -the statement that follows the comment: - - /* Single-line comment */ - statement; - - /* This is a multiple-line - * comment. - */ - statement; - -Very short comments can be placed after the end of the statement -to which they pertain: - - statement; /* comment */ - -We don't use C++ style ("//") comments. We have, however, -used them in the past in some now-abandoned MMX assembler -code. - -Functions and their curly braces are not indented, and -exported functions are marked with PNGAPI: - - /* This is a public function that is visible to - * application programmers. It does thus-and-so. - */ - void PNGAPI - png_exported_function(png_ptr, png_info, foo) - { - body; - } - -The prototypes for all exported functions appear in png.h, -above the comment that says - - /* Maintainer: Put new public prototypes here ... */ - -We mark all non-exported functions with "/* PRIVATE */"": - - void /* PRIVATE */ - png_non_exported_function(png_ptr, png_info, foo) - { - body; - } - -The prototypes for non-exported functions (except for those in -pngtest) appear in -pngpriv.h -above the comment that says - - /* Maintainer: Put new private prototypes here ^ and in libpngpf.3 */ - -To avoid polluting the global namespace, the names of all exported -functions and variables begin with "png_", and all publicly visible C -preprocessor macros begin with "PNG". We request that applications that -use libpng *not* begin any of their own symbols with either of these strings. - -We put a space after each comma and after each semicolon -in "for" statements, and we put spaces before and after each -C binary operator and after "for" or "while", and before -"?". We don't put a space between a typecast and the expression -being cast, nor do we put one between a function name and the -left parenthesis that follows it: - - for (i = 2; i > 0; --i) - y[i] = a(x) + (int)b; - -We prefer #ifdef and #ifndef to #if defined() and if !defined() -when there is only one macro being tested. - -We prefer to express integers that are used as bit masks in hex format, -with an even number of lower-case hex digits (e.g., 0x00, 0xff, 0x0100). - -We do not use the TAB character for indentation in the C sources. - -Lines do not exceed 80 characters. - -Other rules can be inferred by inspecting the libpng source. - -XIV. Y2K Compliance in libpng - -July 11, 2012 - -Since the PNG Development group is an ad-hoc body, we can't make -an official declaration. - -This is your unofficial assurance that libpng from version 0.71 and -upward through 1.5.12 are Y2K compliant. It is my belief that earlier -versions were also Y2K compliant. - -Libpng only has two year fields. One is a 2-byte unsigned integer that -will hold years up to 65535. The other holds the date in text -format, and will hold years up to 9999. - -The integer is - "png_uint_16 year" in png_time_struct. - -The string is - "char time_buffer[29]" in png_struct. This will no -longer be used in libpng-1.6.x and will be removed from libpng-1.7.0. - -There are seven time-related functions: - - png_convert_to_rfc_1123() in png.c - (formerly png_convert_to_rfc_1152() in error) - png_convert_from_struct_tm() in pngwrite.c, called - in pngwrite.c - png_convert_from_time_t() in pngwrite.c - png_get_tIME() in pngget.c - png_handle_tIME() in pngrutil.c, called in pngread.c - png_set_tIME() in pngset.c - png_write_tIME() in pngwutil.c, called in pngwrite.c - -All appear to handle dates properly in a Y2K environment. The -png_convert_from_time_t() function calls gmtime() to convert from system -clock time, which returns (year - 1900), which we properly convert to -the full 4-digit year. There is a possibility that applications using -libpng are not passing 4-digit years into the png_convert_to_rfc_1123() -function, or that they are incorrectly passing only a 2-digit year -instead of "year - 1900" into the png_convert_from_struct_tm() function, -but this is not under our control. The libpng documentation has always -stated that it works with 4-digit years, and the APIs have been -documented as such. - -The tIME chunk itself is also Y2K compliant. It uses a 2-byte unsigned -integer to hold the year, and can hold years as large as 65535. - -zlib, upon which libpng depends, is also Y2K compliant. It contains -no date-related code. - - - Glenn Randers-Pehrson - libpng maintainer - PNG Development Group diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/Copyright b/gtk+-mingw/share/doc/libxml2-2.8.0/Copyright deleted file mode 100644 index 417e955..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/Copyright +++ /dev/null @@ -1,27 +0,0 @@ -Except where otherwise noted in the source code (e.g. the files hash.c, -list.c and the trio files, which are covered by a similar licence but -with different Copyright notices) all the files are: - - Copyright (C) 1998-2003 Daniel Veillard. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is fur- -nished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- -NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -DANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON- -NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of Daniel Veillard shall not -be used in advertising or otherwise to promote the sale, use or other deal- -ings in this Software without prior written authorization from him. - diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/examples/testHTML.c b/gtk+-mingw/share/doc/libxml2-2.8.0/examples/testHTML.c deleted file mode 100644 index f350342..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/examples/testHTML.c +++ /dev/null @@ -1,880 +0,0 @@ -/* - * testHTML.c : a small tester program for HTML input. - * - * See Copyright for the status of this software. - * - * daniel@veillard.com - */ - -#include "libxml.h" - -#ifdef LIBXML_HTML_ENABLED - -#include -#include - - -#ifdef HAVE_SYS_TYPES_H -#include -#endif -#ifdef HAVE_SYS_STAT_H -#include -#endif -#ifdef HAVE_FCNTL_H -#include -#endif -#ifdef HAVE_UNISTD_H -#include -#endif -#ifdef HAVE_STDLIB_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#ifdef LIBXML_DEBUG_ENABLED -static int debug = 0; -#endif -static int copy = 0; -static int sax = 0; -static int repeat = 0; -static int noout = 0; -#ifdef LIBXML_PUSH_ENABLED -static int push = 0; -#endif /* LIBXML_PUSH_ENABLED */ -static char *encoding = NULL; -static int options = 0; - -static xmlSAXHandler emptySAXHandlerStruct = { - NULL, /* internalSubset */ - NULL, /* isStandalone */ - NULL, /* hasInternalSubset */ - NULL, /* hasExternalSubset */ - NULL, /* resolveEntity */ - NULL, /* getEntity */ - NULL, /* entityDecl */ - NULL, /* notationDecl */ - NULL, /* attributeDecl */ - NULL, /* elementDecl */ - NULL, /* unparsedEntityDecl */ - NULL, /* setDocumentLocator */ - NULL, /* startDocument */ - NULL, /* endDocument */ - NULL, /* startElement */ - NULL, /* endElement */ - NULL, /* reference */ - NULL, /* characters */ - NULL, /* ignorableWhitespace */ - NULL, /* processingInstruction */ - NULL, /* comment */ - NULL, /* xmlParserWarning */ - NULL, /* xmlParserError */ - NULL, /* xmlParserError */ - NULL, /* getParameterEntity */ - NULL, /* cdataBlock */ - NULL, /* externalSubset */ - 1, /* initialized */ - NULL, /* private */ - NULL, /* startElementNsSAX2Func */ - NULL, /* endElementNsSAX2Func */ - NULL /* xmlStructuredErrorFunc */ -}; - -static xmlSAXHandlerPtr emptySAXHandler = &emptySAXHandlerStruct; -extern xmlSAXHandlerPtr debugSAXHandler; - -/************************************************************************ - * * - * Debug Handlers * - * * - ************************************************************************/ - -/** - * isStandaloneDebug: - * @ctxt: An XML parser context - * - * Is this document tagged standalone ? - * - * Returns 1 if true - */ -static int -isStandaloneDebug(void *ctx ATTRIBUTE_UNUSED) -{ - fprintf(stdout, "SAX.isStandalone()\n"); - return(0); -} - -/** - * hasInternalSubsetDebug: - * @ctxt: An XML parser context - * - * Does this document has an internal subset - * - * Returns 1 if true - */ -static int -hasInternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED) -{ - fprintf(stdout, "SAX.hasInternalSubset()\n"); - return(0); -} - -/** - * hasExternalSubsetDebug: - * @ctxt: An XML parser context - * - * Does this document has an external subset - * - * Returns 1 if true - */ -static int -hasExternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED) -{ - fprintf(stdout, "SAX.hasExternalSubset()\n"); - return(0); -} - -/** - * hasInternalSubsetDebug: - * @ctxt: An XML parser context - * - * Does this document has an internal subset - */ -static void -internalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, - const xmlChar *ExternalID, const xmlChar *SystemID) -{ - fprintf(stdout, "SAX.internalSubset(%s,", name); - if (ExternalID == NULL) - fprintf(stdout, " ,"); - else - fprintf(stdout, " %s,", ExternalID); - if (SystemID == NULL) - fprintf(stdout, " )\n"); - else - fprintf(stdout, " %s)\n", SystemID); -} - -/** - * resolveEntityDebug: - * @ctxt: An XML parser context - * @publicId: The public ID of the entity - * @systemId: The system ID of the entity - * - * Special entity resolver, better left to the parser, it has - * more context than the application layer. - * The default behaviour is to NOT resolve the entities, in that case - * the ENTITY_REF nodes are built in the structure (and the parameter - * values). - * - * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. - */ -static xmlParserInputPtr -resolveEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *publicId, const xmlChar *systemId) -{ - /* xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; */ - - - fprintf(stdout, "SAX.resolveEntity("); - if (publicId != NULL) - fprintf(stdout, "%s", (char *)publicId); - else - fprintf(stdout, " "); - if (systemId != NULL) - fprintf(stdout, ", %s)\n", (char *)systemId); - else - fprintf(stdout, ", )\n"); -/********* - if (systemId != NULL) { - return(xmlNewInputFromFile(ctxt, (char *) systemId)); - } - *********/ - return(NULL); -} - -/** - * getEntityDebug: - * @ctxt: An XML parser context - * @name: The entity name - * - * Get an entity by name - * - * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. - */ -static xmlEntityPtr -getEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) -{ - fprintf(stdout, "SAX.getEntity(%s)\n", name); - return(NULL); -} - -/** - * getParameterEntityDebug: - * @ctxt: An XML parser context - * @name: The entity name - * - * Get a parameter entity by name - * - * Returns the xmlParserInputPtr - */ -static xmlEntityPtr -getParameterEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) -{ - fprintf(stdout, "SAX.getParameterEntity(%s)\n", name); - return(NULL); -} - - -/** - * entityDeclDebug: - * @ctxt: An XML parser context - * @name: the entity name - * @type: the entity type - * @publicId: The public ID of the entity - * @systemId: The system ID of the entity - * @content: the entity value (without processing). - * - * An entity definition has been parsed - */ -static void -entityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type, - const xmlChar *publicId, const xmlChar *systemId, xmlChar *content) -{ - fprintf(stdout, "SAX.entityDecl(%s, %d, %s, %s, %s)\n", - name, type, publicId, systemId, content); -} - -/** - * attributeDeclDebug: - * @ctxt: An XML parser context - * @name: the attribute name - * @type: the attribute type - * - * An attribute definition has been parsed - */ -static void -attributeDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *elem, const xmlChar *name, - int type, int def, const xmlChar *defaultValue, - xmlEnumerationPtr tree ATTRIBUTE_UNUSED) -{ - fprintf(stdout, "SAX.attributeDecl(%s, %s, %d, %d, %s, ...)\n", - elem, name, type, def, defaultValue); -} - -/** - * elementDeclDebug: - * @ctxt: An XML parser context - * @name: the element name - * @type: the element type - * @content: the element value (without processing). - * - * An element definition has been parsed - */ -static void -elementDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type, - xmlElementContentPtr content ATTRIBUTE_UNUSED) -{ - fprintf(stdout, "SAX.elementDecl(%s, %d, ...)\n", - name, type); -} - -/** - * notationDeclDebug: - * @ctxt: An XML parser context - * @name: The name of the notation - * @publicId: The public ID of the entity - * @systemId: The system ID of the entity - * - * What to do when a notation declaration has been parsed. - */ -static void -notationDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, - const xmlChar *publicId, const xmlChar *systemId) -{ - fprintf(stdout, "SAX.notationDecl(%s, %s, %s)\n", - (char *) name, (char *) publicId, (char *) systemId); -} - -/** - * unparsedEntityDeclDebug: - * @ctxt: An XML parser context - * @name: The name of the entity - * @publicId: The public ID of the entity - * @systemId: The system ID of the entity - * @notationName: the name of the notation - * - * What to do when an unparsed entity declaration is parsed - */ -static void -unparsedEntityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, - const xmlChar *publicId, const xmlChar *systemId, - const xmlChar *notationName) -{ - fprintf(stdout, "SAX.unparsedEntityDecl(%s, %s, %s, %s)\n", - (char *) name, (char *) publicId, (char *) systemId, - (char *) notationName); -} - -/** - * setDocumentLocatorDebug: - * @ctxt: An XML parser context - * @loc: A SAX Locator - * - * Receive the document locator at startup, actually xmlDefaultSAXLocator - * Everything is available on the context, so this is useless in our case. - */ -static void -setDocumentLocatorDebug(void *ctx ATTRIBUTE_UNUSED, xmlSAXLocatorPtr loc ATTRIBUTE_UNUSED) -{ - fprintf(stdout, "SAX.setDocumentLocator()\n"); -} - -/** - * startDocumentDebug: - * @ctxt: An XML parser context - * - * called when the document start being processed. - */ -static void -startDocumentDebug(void *ctx ATTRIBUTE_UNUSED) -{ - fprintf(stdout, "SAX.startDocument()\n"); -} - -/** - * endDocumentDebug: - * @ctxt: An XML parser context - * - * called when the document end has been detected. - */ -static void -endDocumentDebug(void *ctx ATTRIBUTE_UNUSED) -{ - fprintf(stdout, "SAX.endDocument()\n"); -} - -/** - * startElementDebug: - * @ctxt: An XML parser context - * @name: The element name - * - * called when an opening tag has been processed. - */ -static void -startElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, const xmlChar **atts) -{ - int i; - - fprintf(stdout, "SAX.startElement(%s", (char *) name); - if (atts != NULL) { - for (i = 0;(atts[i] != NULL);i++) { - fprintf(stdout, ", %s", atts[i++]); - if (atts[i] != NULL) { - unsigned char output[40]; - const unsigned char *att = atts[i]; - int outlen, attlen; - fprintf(stdout, "='"); - while ((attlen = strlen((char*)att)) > 0) { - outlen = sizeof output - 1; - htmlEncodeEntities(output, &outlen, att, &attlen, '\''); - output[outlen] = 0; - fprintf(stdout, "%s", (char *) output); - att += attlen; - } - fprintf(stdout, "'"); - } - } - } - fprintf(stdout, ")\n"); -} - -/** - * endElementDebug: - * @ctxt: An XML parser context - * @name: The element name - * - * called when the end of an element has been detected. - */ -static void -endElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) -{ - fprintf(stdout, "SAX.endElement(%s)\n", (char *) name); -} - -/** - * charactersDebug: - * @ctxt: An XML parser context - * @ch: a xmlChar string - * @len: the number of xmlChar - * - * receiving some chars from the parser. - * Question: how much at a time ??? - */ -static void -charactersDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len) -{ - unsigned char output[40]; - int inlen = len, outlen = 30; - - htmlEncodeEntities(output, &outlen, ch, &inlen, 0); - output[outlen] = 0; - - fprintf(stdout, "SAX.characters(%s, %d)\n", output, len); -} - -/** - * cdataDebug: - * @ctxt: An XML parser context - * @ch: a xmlChar string - * @len: the number of xmlChar - * - * receiving some cdata chars from the parser. - * Question: how much at a time ??? - */ -static void -cdataDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len) -{ - unsigned char output[40]; - int inlen = len, outlen = 30; - - htmlEncodeEntities(output, &outlen, ch, &inlen, 0); - output[outlen] = 0; - - fprintf(stdout, "SAX.cdata(%s, %d)\n", output, len); -} - -/** - * referenceDebug: - * @ctxt: An XML parser context - * @name: The entity name - * - * called when an entity reference is detected. - */ -static void -referenceDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) -{ - fprintf(stdout, "SAX.reference(%s)\n", name); -} - -/** - * ignorableWhitespaceDebug: - * @ctxt: An XML parser context - * @ch: a xmlChar string - * @start: the first char in the string - * @len: the number of xmlChar - * - * receiving some ignorable whitespaces from the parser. - * Question: how much at a time ??? - */ -static void -ignorableWhitespaceDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len) -{ - char output[40]; - int i; - - for (i = 0;(i 0) { - ctxt = htmlCreatePushParserCtxt(emptySAXHandler, NULL, - chars, res, filename, XML_CHAR_ENCODING_NONE); - while ((res = fread(chars, 1, size, f)) > 0) { - htmlParseChunk(ctxt, chars, res, 0); - } - htmlParseChunk(ctxt, chars, 0, 1); - doc = ctxt->myDoc; - htmlFreeParserCtxt(ctxt); - } - if (doc != NULL) { - fprintf(stdout, "htmlSAXParseFile returned non-NULL\n"); - xmlFreeDoc(doc); - } - fclose(f); - } - if (!noout) { -#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__) - f = fopen(filename, "rb"); -#else - f = fopen(filename, "r"); -#endif - if (f != NULL) { - int res, size = 3; - char chars[4096]; - htmlParserCtxtPtr ctxt; - - /* if (repeat) */ - size = 4096; - res = fread(chars, 1, 4, f); - if (res > 0) { - ctxt = htmlCreatePushParserCtxt(debugSAXHandler, NULL, - chars, res, filename, XML_CHAR_ENCODING_NONE); - while ((res = fread(chars, 1, size, f)) > 0) { - htmlParseChunk(ctxt, chars, res, 0); - } - htmlParseChunk(ctxt, chars, 0, 1); - doc = ctxt->myDoc; - htmlFreeParserCtxt(ctxt); - } - if (doc != NULL) { - fprintf(stdout, "htmlSAXParseFile returned non-NULL\n"); - xmlFreeDoc(doc); - } - fclose(f); - } - } - } else { -#endif /* LIBXML_PUSH_ENABLED */ - doc = htmlSAXParseFile(filename, NULL, emptySAXHandler, NULL); - if (doc != NULL) { - fprintf(stdout, "htmlSAXParseFile returned non-NULL\n"); - xmlFreeDoc(doc); - } - - if (!noout) { - /* - * Debug callback - */ - doc = htmlSAXParseFile(filename, NULL, debugSAXHandler, NULL); - if (doc != NULL) { - fprintf(stdout, "htmlSAXParseFile returned non-NULL\n"); - xmlFreeDoc(doc); - } - } -#ifdef LIBXML_PUSH_ENABLED - } -#endif /* LIBXML_PUSH_ENABLED */ -} - -static void -parseAndPrintFile(char *filename) { - htmlDocPtr doc = NULL; - - /* - * build an HTML tree from a string; - */ -#ifdef LIBXML_PUSH_ENABLED - if (push) { - FILE *f; - -#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__) - f = fopen(filename, "rb"); -#else - f = fopen(filename, "r"); -#endif - if (f != NULL) { - int res, size = 3; - char chars[4096]; - htmlParserCtxtPtr ctxt; - - /* if (repeat) */ - size = 4096; - res = fread(chars, 1, 4, f); - if (res > 0) { - ctxt = htmlCreatePushParserCtxt(NULL, NULL, - chars, res, filename, XML_CHAR_ENCODING_NONE); - while ((res = fread(chars, 1, size, f)) > 0) { - htmlParseChunk(ctxt, chars, res, 0); - } - htmlParseChunk(ctxt, chars, 0, 1); - doc = ctxt->myDoc; - htmlFreeParserCtxt(ctxt); - } - fclose(f); - } - } else { - doc = htmlReadFile(filename, NULL, options); - } -#else - doc = htmlReadFile(filename,NULL,options); -#endif - if (doc == NULL) { - xmlGenericError(xmlGenericErrorContext, - "Could not parse %s\n", filename); - } - -#ifdef LIBXML_TREE_ENABLED - /* - * test intermediate copy if needed. - */ - if (copy) { - htmlDocPtr tmp; - - tmp = doc; - doc = xmlCopyDoc(doc, 1); - xmlFreeDoc(tmp); - } -#endif - -#ifdef LIBXML_OUTPUT_ENABLED - /* - * print it. - */ - if (!noout) { -#ifdef LIBXML_DEBUG_ENABLED - if (!debug) { - if (encoding) - htmlSaveFileEnc("-", doc, encoding); - else - htmlDocDump(stdout, doc); - } else - xmlDebugDumpDocument(stdout, doc); -#else - if (encoding) - htmlSaveFileEnc("-", doc, encoding); - else - htmlDocDump(stdout, doc); -#endif - } -#endif /* LIBXML_OUTPUT_ENABLED */ - - /* - * free it. - */ - xmlFreeDoc(doc); -} - -int main(int argc, char **argv) { - int i, count; - int files = 0; - - for (i = 1; i < argc ; i++) { -#ifdef LIBXML_DEBUG_ENABLED - if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug"))) - debug++; - else -#endif - if ((!strcmp(argv[i], "-copy")) || (!strcmp(argv[i], "--copy"))) - copy++; -#ifdef LIBXML_PUSH_ENABLED - else if ((!strcmp(argv[i], "-push")) || (!strcmp(argv[i], "--push"))) - push++; -#endif /* LIBXML_PUSH_ENABLED */ - else if ((!strcmp(argv[i], "-sax")) || (!strcmp(argv[i], "--sax"))) - sax++; - else if ((!strcmp(argv[i], "-noout")) || (!strcmp(argv[i], "--noout"))) - noout++; - else if ((!strcmp(argv[i], "-repeat")) || - (!strcmp(argv[i], "--repeat"))) - repeat++; - else if ((!strcmp(argv[i], "-encode")) || - (!strcmp(argv[i], "--encode"))) { - i++; - encoding = argv[i]; - } - } - for (i = 1; i < argc ; i++) { - if ((!strcmp(argv[i], "-encode")) || - (!strcmp(argv[i], "--encode"))) { - i++; - continue; - } - if (argv[i][0] != '-') { - if (repeat) { - for (count = 0;count < 100 * repeat;count++) { - if (sax) - parseSAXFile(argv[i]); - else - parseAndPrintFile(argv[i]); - } - } else { - if (sax) - parseSAXFile(argv[i]); - else - parseAndPrintFile(argv[i]); - } - files ++; - } - } - if (files == 0) { - printf("Usage : %s [--debug] [--copy] [--copy] HTMLfiles ...\n", - argv[0]); - printf("\tParse the HTML files and output the result of the parsing\n"); -#ifdef LIBXML_DEBUG_ENABLED - printf("\t--debug : dump a debug tree of the in-memory document\n"); -#endif - printf("\t--copy : used to test the internal copy implementation\n"); - printf("\t--sax : debug the sequence of SAX callbacks\n"); - printf("\t--repeat : parse the file 100 times, for timing\n"); - printf("\t--noout : do not print the result\n"); -#ifdef LIBXML_PUSH_ENABLED - printf("\t--push : use the push mode parser\n"); -#endif /* LIBXML_PUSH_ENABLED */ - printf("\t--encode encoding : output in the given encoding\n"); - } - xmlCleanupParser(); - xmlMemoryDump(); - - return(0); -} -#else /* !LIBXML_HTML_ENABLED */ -#include -int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { - printf("%s : HTML support not compiled in\n", argv[0]); - return(0); -} -#endif diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/examples/testSAX.c b/gtk+-mingw/share/doc/libxml2-2.8.0/examples/testSAX.c deleted file mode 100644 index cd16268..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/examples/testSAX.c +++ /dev/null @@ -1,1198 +0,0 @@ -/* - * testSAX.c : a small tester program for parsing using the SAX API. - * - * See Copyright for the status of this software. - * - * daniel@veillard.com - */ - -#include "libxml.h" - -#ifdef HAVE_SYS_TIME_H -#include -#endif -#ifdef HAVE_SYS_TIMEB_H -#include -#endif -#ifdef HAVE_TIME_H -#include -#endif - -#ifdef LIBXML_SAX1_ENABLED -#include -#include - -#ifdef HAVE_SYS_TYPES_H -#include -#endif -#ifdef HAVE_SYS_STAT_H -#include -#endif -#ifdef HAVE_FCNTL_H -#include -#endif -#ifdef HAVE_UNISTD_H -#include -#endif -#ifdef HAVE_STDLIB_H -#include -#endif -#ifdef HAVE_STRING_H -#include -#endif - - -#include -#include -#include -#include /* only for xmlNewInputFromFile() */ -#include -#include -#include - -static int debug = 0; -static int copy = 0; -static int recovery = 0; -static int push = 0; -static int speed = 0; -static int noent = 0; -static int quiet = 0; -static int nonull = 0; -static int sax2 = 0; -static int repeat = 0; -static int callbacks = 0; -static int timing = 0; - -/* - * Timing routines. - */ -/* - * Internal timing routines to remove the necessity to have unix-specific - * function calls - */ - -#ifndef HAVE_GETTIMEOFDAY -#ifdef HAVE_SYS_TIMEB_H -#ifdef HAVE_SYS_TIME_H -#ifdef HAVE_FTIME - -static int -my_gettimeofday(struct timeval *tvp, void *tzp) -{ - struct timeb timebuffer; - - ftime(&timebuffer); - if (tvp) { - tvp->tv_sec = timebuffer.time; - tvp->tv_usec = timebuffer.millitm * 1000L; - } - return (0); -} -#define HAVE_GETTIMEOFDAY 1 -#define gettimeofday my_gettimeofday - -#endif /* HAVE_FTIME */ -#endif /* HAVE_SYS_TIME_H */ -#endif /* HAVE_SYS_TIMEB_H */ -#endif /* !HAVE_GETTIMEOFDAY */ - -#if defined(HAVE_GETTIMEOFDAY) -static struct timeval begin, end; - -/* - * startTimer: call where you want to start timing - */ -static void -startTimer(void) -{ - gettimeofday(&begin, NULL); -} - -/* - * endTimer: call where you want to stop timing and to print out a - * message about the timing performed; format is a printf - * type argument - */ -static void XMLCDECL -endTimer(const char *fmt, ...) -{ - long msec; - va_list ap; - - gettimeofday(&end, NULL); - msec = end.tv_sec - begin.tv_sec; - msec *= 1000; - msec += (end.tv_usec - begin.tv_usec) / 1000; - -#ifndef HAVE_STDARG_H -#error "endTimer required stdarg functions" -#endif - va_start(ap, fmt); - vfprintf(stderr, fmt, ap); - va_end(ap); - - fprintf(stderr, " took %ld ms\n", msec); -} -#elif defined(HAVE_TIME_H) -/* - * No gettimeofday function, so we have to make do with calling clock. - * This is obviously less accurate, but there's little we can do about - * that. - */ -#ifndef CLOCKS_PER_SEC -#define CLOCKS_PER_SEC 100 -#endif - -static clock_t begin, end; -static void -startTimer(void) -{ - begin = clock(); -} -static void XMLCDECL -endTimer(const char *fmt, ...) -{ - long msec; - va_list ap; - - end = clock(); - msec = ((end - begin) * 1000) / CLOCKS_PER_SEC; - -#ifndef HAVE_STDARG_H -#error "endTimer required stdarg functions" -#endif - va_start(ap, fmt); - vfprintf(stderr, fmt, ap); - va_end(ap); - fprintf(stderr, " took %ld ms\n", msec); -} -#else - -/* - * We don't have a gettimeofday or time.h, so we just don't do timing - */ -static void -startTimer(void) -{ - /* - * Do nothing - */ -} -static void XMLCDECL -endTimer(char *format, ...) -{ - /* - * We cannot do anything because we don't have a timing function - */ -#ifdef HAVE_STDARG_H - va_start(ap, format); - vfprintf(stderr, format, ap); - va_end(ap); - fprintf(stderr, " was not timed\n", msec); -#else - /* We don't have gettimeofday, time or stdarg.h, what crazy world is - * this ?! - */ -#endif -} -#endif - -/* - * empty SAX block - */ -static xmlSAXHandler emptySAXHandlerStruct = { - NULL, /* internalSubset */ - NULL, /* isStandalone */ - NULL, /* hasInternalSubset */ - NULL, /* hasExternalSubset */ - NULL, /* resolveEntity */ - NULL, /* getEntity */ - NULL, /* entityDecl */ - NULL, /* notationDecl */ - NULL, /* attributeDecl */ - NULL, /* elementDecl */ - NULL, /* unparsedEntityDecl */ - NULL, /* setDocumentLocator */ - NULL, /* startDocument */ - NULL, /* endDocument */ - NULL, /* startElement */ - NULL, /* endElement */ - NULL, /* reference */ - NULL, /* characters */ - NULL, /* ignorableWhitespace */ - NULL, /* processingInstruction */ - NULL, /* comment */ - NULL, /* xmlParserWarning */ - NULL, /* xmlParserError */ - NULL, /* xmlParserError */ - NULL, /* getParameterEntity */ - NULL, /* cdataBlock; */ - NULL, /* externalSubset; */ - 1, - NULL, - NULL, /* startElementNs */ - NULL, /* endElementNs */ - NULL /* xmlStructuredErrorFunc */ -}; - -static xmlSAXHandlerPtr emptySAXHandler = &emptySAXHandlerStruct; -extern xmlSAXHandlerPtr debugSAXHandler; - -/************************************************************************ - * * - * Debug Handlers * - * * - ************************************************************************/ - -/** - * isStandaloneDebug: - * @ctxt: An XML parser context - * - * Is this document tagged standalone ? - * - * Returns 1 if true - */ -static int -isStandaloneDebug(void *ctx ATTRIBUTE_UNUSED) -{ - callbacks++; - if (quiet) - return(0); - fprintf(stdout, "SAX.isStandalone()\n"); - return(0); -} - -/** - * hasInternalSubsetDebug: - * @ctxt: An XML parser context - * - * Does this document has an internal subset - * - * Returns 1 if true - */ -static int -hasInternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED) -{ - callbacks++; - if (quiet) - return(0); - fprintf(stdout, "SAX.hasInternalSubset()\n"); - return(0); -} - -/** - * hasExternalSubsetDebug: - * @ctxt: An XML parser context - * - * Does this document has an external subset - * - * Returns 1 if true - */ -static int -hasExternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED) -{ - callbacks++; - if (quiet) - return(0); - fprintf(stdout, "SAX.hasExternalSubset()\n"); - return(0); -} - -/** - * internalSubsetDebug: - * @ctxt: An XML parser context - * - * Does this document has an internal subset - */ -static void -internalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, - const xmlChar *ExternalID, const xmlChar *SystemID) -{ - callbacks++; - if (quiet) - return; - fprintf(stdout, "SAX.internalSubset(%s,", name); - if (ExternalID == NULL) - fprintf(stdout, " ,"); - else - fprintf(stdout, " %s,", ExternalID); - if (SystemID == NULL) - fprintf(stdout, " )\n"); - else - fprintf(stdout, " %s)\n", SystemID); -} - -/** - * externalSubsetDebug: - * @ctxt: An XML parser context - * - * Does this document has an external subset - */ -static void -externalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, - const xmlChar *ExternalID, const xmlChar *SystemID) -{ - callbacks++; - if (quiet) - return; - fprintf(stdout, "SAX.externalSubset(%s,", name); - if (ExternalID == NULL) - fprintf(stdout, " ,"); - else - fprintf(stdout, " %s,", ExternalID); - if (SystemID == NULL) - fprintf(stdout, " )\n"); - else - fprintf(stdout, " %s)\n", SystemID); -} - -/** - * resolveEntityDebug: - * @ctxt: An XML parser context - * @publicId: The public ID of the entity - * @systemId: The system ID of the entity - * - * Special entity resolver, better left to the parser, it has - * more context than the application layer. - * The default behaviour is to NOT resolve the entities, in that case - * the ENTITY_REF nodes are built in the structure (and the parameter - * values). - * - * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. - */ -static xmlParserInputPtr -resolveEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *publicId, const xmlChar *systemId) -{ - callbacks++; - if (quiet) - return(NULL); - /* xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; */ - - - fprintf(stdout, "SAX.resolveEntity("); - if (publicId != NULL) - fprintf(stdout, "%s", (char *)publicId); - else - fprintf(stdout, " "); - if (systemId != NULL) - fprintf(stdout, ", %s)\n", (char *)systemId); - else - fprintf(stdout, ", )\n"); -/********* - if (systemId != NULL) { - return(xmlNewInputFromFile(ctxt, (char *) systemId)); - } - *********/ - return(NULL); -} - -/** - * getEntityDebug: - * @ctxt: An XML parser context - * @name: The entity name - * - * Get an entity by name - * - * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. - */ -static xmlEntityPtr -getEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) -{ - callbacks++; - if (quiet) - return(NULL); - fprintf(stdout, "SAX.getEntity(%s)\n", name); - return(NULL); -} - -/** - * getParameterEntityDebug: - * @ctxt: An XML parser context - * @name: The entity name - * - * Get a parameter entity by name - * - * Returns the xmlParserInputPtr - */ -static xmlEntityPtr -getParameterEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) -{ - callbacks++; - if (quiet) - return(NULL); - fprintf(stdout, "SAX.getParameterEntity(%s)\n", name); - return(NULL); -} - - -/** - * entityDeclDebug: - * @ctxt: An XML parser context - * @name: the entity name - * @type: the entity type - * @publicId: The public ID of the entity - * @systemId: The system ID of the entity - * @content: the entity value (without processing). - * - * An entity definition has been parsed - */ -static void -entityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type, - const xmlChar *publicId, const xmlChar *systemId, xmlChar *content) -{ -const xmlChar *nullstr = BAD_CAST "(null)"; - /* not all libraries handle printing null pointers nicely */ - if (publicId == NULL) - publicId = nullstr; - if (systemId == NULL) - systemId = nullstr; - if (content == NULL) - content = (xmlChar *)nullstr; - callbacks++; - if (quiet) - return; - fprintf(stdout, "SAX.entityDecl(%s, %d, %s, %s, %s)\n", - name, type, publicId, systemId, content); -} - -/** - * attributeDeclDebug: - * @ctxt: An XML parser context - * @name: the attribute name - * @type: the attribute type - * - * An attribute definition has been parsed - */ -static void -attributeDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar * elem, - const xmlChar * name, int type, int def, - const xmlChar * defaultValue, xmlEnumerationPtr tree) -{ - callbacks++; - if (quiet) - return; - if (defaultValue == NULL) - fprintf(stdout, "SAX.attributeDecl(%s, %s, %d, %d, NULL, ...)\n", - elem, name, type, def); - else - fprintf(stdout, "SAX.attributeDecl(%s, %s, %d, %d, %s, ...)\n", - elem, name, type, def, defaultValue); - xmlFreeEnumeration(tree); -} - -/** - * elementDeclDebug: - * @ctxt: An XML parser context - * @name: the element name - * @type: the element type - * @content: the element value (without processing). - * - * An element definition has been parsed - */ -static void -elementDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type, - xmlElementContentPtr content ATTRIBUTE_UNUSED) -{ - callbacks++; - if (quiet) - return; - fprintf(stdout, "SAX.elementDecl(%s, %d, ...)\n", - name, type); -} - -/** - * notationDeclDebug: - * @ctxt: An XML parser context - * @name: The name of the notation - * @publicId: The public ID of the entity - * @systemId: The system ID of the entity - * - * What to do when a notation declaration has been parsed. - */ -static void -notationDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, - const xmlChar *publicId, const xmlChar *systemId) -{ - callbacks++; - if (quiet) - return; - fprintf(stdout, "SAX.notationDecl(%s, %s, %s)\n", - (char *) name, (char *) publicId, (char *) systemId); -} - -/** - * unparsedEntityDeclDebug: - * @ctxt: An XML parser context - * @name: The name of the entity - * @publicId: The public ID of the entity - * @systemId: The system ID of the entity - * @notationName: the name of the notation - * - * What to do when an unparsed entity declaration is parsed - */ -static void -unparsedEntityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, - const xmlChar *publicId, const xmlChar *systemId, - const xmlChar *notationName) -{ -const xmlChar *nullstr = BAD_CAST "(null)"; - - if (publicId == NULL) - publicId = nullstr; - if (systemId == NULL) - systemId = nullstr; - if (notationName == NULL) - notationName = nullstr; - callbacks++; - if (quiet) - return; - fprintf(stdout, "SAX.unparsedEntityDecl(%s, %s, %s, %s)\n", - (char *) name, (char *) publicId, (char *) systemId, - (char *) notationName); -} - -/** - * setDocumentLocatorDebug: - * @ctxt: An XML parser context - * @loc: A SAX Locator - * - * Receive the document locator at startup, actually xmlDefaultSAXLocator - * Everything is available on the context, so this is useless in our case. - */ -static void -setDocumentLocatorDebug(void *ctx ATTRIBUTE_UNUSED, xmlSAXLocatorPtr loc ATTRIBUTE_UNUSED) -{ - callbacks++; - if (quiet) - return; - fprintf(stdout, "SAX.setDocumentLocator()\n"); -} - -/** - * startDocumentDebug: - * @ctxt: An XML parser context - * - * called when the document start being processed. - */ -static void -startDocumentDebug(void *ctx ATTRIBUTE_UNUSED) -{ - callbacks++; - if (quiet) - return; - fprintf(stdout, "SAX.startDocument()\n"); -} - -/** - * endDocumentDebug: - * @ctxt: An XML parser context - * - * called when the document end has been detected. - */ -static void -endDocumentDebug(void *ctx ATTRIBUTE_UNUSED) -{ - callbacks++; - if (quiet) - return; - fprintf(stdout, "SAX.endDocument()\n"); -} - -/** - * startElementDebug: - * @ctxt: An XML parser context - * @name: The element name - * - * called when an opening tag has been processed. - */ -static void -startElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, const xmlChar **atts) -{ - int i; - - callbacks++; - if (quiet) - return; - fprintf(stdout, "SAX.startElement(%s", (char *) name); - if (atts != NULL) { - for (i = 0;(atts[i] != NULL);i++) { - fprintf(stdout, ", %s='", atts[i++]); - if (atts[i] != NULL) - fprintf(stdout, "%s'", atts[i]); - } - } - fprintf(stdout, ")\n"); -} - -/** - * endElementDebug: - * @ctxt: An XML parser context - * @name: The element name - * - * called when the end of an element has been detected. - */ -static void -endElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) -{ - callbacks++; - if (quiet) - return; - fprintf(stdout, "SAX.endElement(%s)\n", (char *) name); -} - -/** - * charactersDebug: - * @ctxt: An XML parser context - * @ch: a xmlChar string - * @len: the number of xmlChar - * - * receiving some chars from the parser. - * Question: how much at a time ??? - */ -static void -charactersDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len) -{ - char output[40]; - int i; - - callbacks++; - if (quiet) - return; - for (i = 0;(i 0) { - ctxt = xmlCreatePushParserCtxt(emptySAXHandler, NULL, - chars, ret, filename); - while ((ret = fread(chars, 1, 3, f)) > 0) { - xmlParseChunk(ctxt, chars, ret, 0); - } - xmlParseChunk(ctxt, chars, 0, 1); - xmlFreeParserCtxt(ctxt); - } - fclose(f); - } else { - xmlGenericError(xmlGenericErrorContext, - "Cannot read file %s\n", filename); - } - } - /* - * Debug callback - */ -#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__) - f = fopen(filename, "rb"); -#else - f = fopen(filename, "r"); -#endif - if (f != NULL) { - int ret; - char chars[10]; - xmlParserCtxtPtr ctxt; - - ret = fread(chars, 1, 4, f); - if (ret > 0) { - if (sax2) - ctxt = xmlCreatePushParserCtxt(debugSAX2Handler, NULL, - chars, ret, filename); - else - ctxt = xmlCreatePushParserCtxt(debugSAXHandler, NULL, - chars, ret, filename); - while ((ret = fread(chars, 1, 3, f)) > 0) { - xmlParseChunk(ctxt, chars, ret, 0); - } - ret = xmlParseChunk(ctxt, chars, 0, 1); - xmlFreeParserCtxt(ctxt); - if (ret != 0) { - fprintf(stdout, - "xmlSAXUserParseFile returned error %d\n", ret); - } - } - fclose(f); - } - } else { -#endif /* LIBXML_PUSH_ENABLED */ - if (!speed) { - /* - * Empty callbacks for checking - */ - if ((!quiet) && (!nonull)) { - res = xmlSAXUserParseFile(emptySAXHandler, NULL, filename); - if (res != 0) { - fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res); - } - } - - /* - * Debug callback - */ - callbacks = 0; - if (repeat) { - int i; - for (i = 0;i < 99;i++) { - if (sax2) - res = xmlSAXUserParseFile(debugSAX2Handler, NULL, - filename); - else - res = xmlSAXUserParseFile(debugSAXHandler, NULL, - filename); - } - } - if (sax2) - res = xmlSAXUserParseFile(debugSAX2Handler, NULL, filename); - else - res = xmlSAXUserParseFile(debugSAXHandler, NULL, filename); - if (res != 0) { - fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res); - } - if (quiet) - fprintf(stdout, "%d callbacks generated\n", callbacks); - } else { - /* - * test 100x the SAX parse - */ - int i; - - for (i = 0; i<100;i++) - res = xmlSAXUserParseFile(emptySAXHandler, NULL, filename); - if (res != 0) { - fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res); - } - } -#ifdef LIBXML_PUSH_ENABLED - } -#endif -} - - -int main(int argc, char **argv) { - int i; - int files = 0; - - LIBXML_TEST_VERSION /* be safe, plus calls xmlInitParser */ - - for (i = 1; i < argc ; i++) { - if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug"))) - debug++; - else if ((!strcmp(argv[i], "-copy")) || (!strcmp(argv[i], "--copy"))) - copy++; - else if ((!strcmp(argv[i], "-recover")) || - (!strcmp(argv[i], "--recover"))) - recovery++; - else if ((!strcmp(argv[i], "-push")) || - (!strcmp(argv[i], "--push"))) -#ifdef LIBXML_PUSH_ENABLED - push++; -#else - fprintf(stderr,"'push' not enabled in library - ignoring\n"); -#endif /* LIBXML_PUSH_ENABLED */ - else if ((!strcmp(argv[i], "-speed")) || - (!strcmp(argv[i], "--speed"))) - speed++; - else if ((!strcmp(argv[i], "-timing")) || - (!strcmp(argv[i], "--timing"))) { - nonull++; - timing++; - quiet++; - } else if ((!strcmp(argv[i], "-repeat")) || - (!strcmp(argv[i], "--repeat"))) { - repeat++; - quiet++; - } else if ((!strcmp(argv[i], "-noent")) || - (!strcmp(argv[i], "--noent"))) - noent++; - else if ((!strcmp(argv[i], "-quiet")) || - (!strcmp(argv[i], "--quiet"))) - quiet++; - else if ((!strcmp(argv[i], "-sax2")) || - (!strcmp(argv[i], "--sax2"))) - sax2++; - else if ((!strcmp(argv[i], "-nonull")) || - (!strcmp(argv[i], "--nonull"))) - nonull++; - } - if (noent != 0) xmlSubstituteEntitiesDefault(1); - for (i = 1; i < argc ; i++) { - if (argv[i][0] != '-') { - if (timing) { - startTimer(); - } - parseAndPrintFile(argv[i]); - if (timing) { - endTimer("Parsing"); - } - files ++; - } - } - xmlCleanupParser(); - xmlMemoryDump(); - - return(0); -} -#else -int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { - printf("%s : SAX1 parsing support not compiled in\n", argv[0]); - return(0); -} -#endif /* LIBXML_SAX1_ENABLED */ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/examples/testXPath.c b/gtk+-mingw/share/doc/libxml2-2.8.0/examples/testXPath.c deleted file mode 100644 index 677419a..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/examples/testXPath.c +++ /dev/null @@ -1,227 +0,0 @@ -/* - * testXPath.c : a small tester program for XPath. - * - * See Copyright for the status of this software. - * - * daniel@veillard.com - */ - -#include "libxml.h" -#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED) - -#include - -#ifdef HAVE_SYS_TYPES_H -#include -#endif -#ifdef HAVE_SYS_STAT_H -#include -#endif -#ifdef HAVE_FCNTL_H -#include -#endif -#ifdef HAVE_UNISTD_H -#include -#endif -#ifdef HAVE_STDLIB_H -#include -#endif - - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#if defined(LIBXML_XPTR_ENABLED) -#include -static int xptr = 0; -#endif -static int debug = 0; -static int valid = 0; -static int expr = 0; -static int tree = 0; -static int nocdata = 0; -static xmlDocPtr document = NULL; - -/* - * Default document - */ -static xmlChar buffer[] = -"\n\ -\n\ - \n\ - Welcome to Gnome\n\ - \n\ - \n\ - The Linux adventure\n\ -

    bla bla bla ...

    \n\ - \n\ -

    ...

    \n\ -
    \n\ - \n\ - Chapter 2\n\ -

    this is chapter 2 ...

    \n\ -
    \n\ - \n\ - Chapter 3\n\ -

    this is chapter 3 ...

    \n\ -
    \n\ -
    \n\ -"; - - -static void -testXPath(const char *str) { - xmlXPathObjectPtr res; - xmlXPathContextPtr ctxt; - -#if defined(LIBXML_XPTR_ENABLED) - if (xptr) { - ctxt = xmlXPtrNewContext(document, NULL, NULL); - res = xmlXPtrEval(BAD_CAST str, ctxt); - } else { -#endif - ctxt = xmlXPathNewContext(document); - ctxt->node = xmlDocGetRootElement(document); - if (expr) - res = xmlXPathEvalExpression(BAD_CAST str, ctxt); - else { - /* res = xmlXPathEval(BAD_CAST str, ctxt); */ - xmlXPathCompExprPtr comp; - - comp = xmlXPathCompile(BAD_CAST str); - if (comp != NULL) { - if (tree) - xmlXPathDebugDumpCompExpr(stdout, comp, 0); - - res = xmlXPathCompiledEval(comp, ctxt); - xmlXPathFreeCompExpr(comp); - } else - res = NULL; - } -#if defined(LIBXML_XPTR_ENABLED) - } -#endif - xmlXPathDebugDumpObject(stdout, res, 0); - xmlXPathFreeObject(res); - xmlXPathFreeContext(ctxt); -} - -static void -testXPathFile(const char *filename) { - FILE *input; - char expression[5000]; - int len; - - input = fopen(filename, "r"); - if (input == NULL) { - xmlGenericError(xmlGenericErrorContext, - "Cannot open %s for reading\n", filename); - return; - } - while (fgets(expression, 4500, input) != NULL) { - len = strlen(expression); - len--; - while ((len >= 0) && - ((expression[len] == '\n') || (expression[len] == '\t') || - (expression[len] == '\r') || (expression[len] == ' '))) len--; - expression[len + 1] = 0; - if (len >= 0) { - printf("\n========================\nExpression: %s\n", expression) ; - testXPath(expression); - } - } - - fclose(input); -} - -int main(int argc, char **argv) { - int i; - int strings = 0; - int usefile = 0; - char *filename = NULL; - - for (i = 1; i < argc ; i++) { -#if defined(LIBXML_XPTR_ENABLED) - if ((!strcmp(argv[i], "-xptr")) || (!strcmp(argv[i], "--xptr"))) - xptr++; - else -#endif - if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug"))) - debug++; - else if ((!strcmp(argv[i], "-valid")) || (!strcmp(argv[i], "--valid"))) - valid++; - else if ((!strcmp(argv[i], "-expr")) || (!strcmp(argv[i], "--expr"))) - expr++; - else if ((!strcmp(argv[i], "-tree")) || (!strcmp(argv[i], "--tree"))) - tree++; - else if ((!strcmp(argv[i], "-nocdata")) || - (!strcmp(argv[i], "--nocdata"))) - nocdata++; - else if ((!strcmp(argv[i], "-i")) || (!strcmp(argv[i], "--input"))) - filename = argv[++i]; - else if ((!strcmp(argv[i], "-f")) || (!strcmp(argv[i], "--file"))) - usefile++; - } - if (valid != 0) xmlDoValidityCheckingDefaultValue = 1; - xmlLoadExtDtdDefaultValue |= XML_DETECT_IDS; - xmlLoadExtDtdDefaultValue |= XML_COMPLETE_ATTRS; - xmlSubstituteEntitiesDefaultValue = 1; - if (nocdata != 0) { - xmlDefaultSAXHandlerInit(); - xmlDefaultSAXHandler.cdataBlock = NULL; - } - if (document == NULL) { - if (filename == NULL) - document = xmlReadDoc(buffer,NULL,NULL,XML_PARSE_COMPACT); - else - document = xmlReadFile(filename,NULL,XML_PARSE_COMPACT); - } - for (i = 1; i < argc ; i++) { - if ((!strcmp(argv[i], "-i")) || (!strcmp(argv[i], "--input"))) { - i++; continue; - } - if (argv[i][0] != '-') { - if (usefile) - testXPathFile(argv[i]); - else - testXPath(argv[i]); - strings ++; - } - } - if (strings == 0) { - printf("Usage : %s [--debug] [--copy] stringsorfiles ...\n", - argv[0]); - printf("\tParse the XPath strings and output the result of the parsing\n"); - printf("\t--debug : dump a debug version of the result\n"); - printf("\t--valid : switch on DTD support in the parser\n"); -#if defined(LIBXML_XPTR_ENABLED) - printf("\t--xptr : expressions are XPointer expressions\n"); -#endif - printf("\t--expr : debug XPath expressions only\n"); - printf("\t--tree : show the compiled XPath tree\n"); - printf("\t--nocdata : do not generate CDATA nodes\n"); - printf("\t--input filename : or\n"); - printf("\t-i filename : read the document from filename\n"); - printf("\t--file : or\n"); - printf("\t-f : read queries from files, args\n"); - } - if (document != NULL) - xmlFreeDoc(document); - xmlCleanupParser(); - xmlMemoryDump(); - - return(0); -} -#else -#include -int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { - printf("%s : XPath/Debug support not compiled in\n", argv[0]); - return(0); -} -#endif /* LIBXML_XPATH_ENABLED */ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/examples/xmllint.c b/gtk+-mingw/share/doc/libxml2-2.8.0/examples/xmllint.c deleted file mode 100644 index 40a2194..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/examples/xmllint.c +++ /dev/null @@ -1,3768 +0,0 @@ -/* - * xmllint.c : a small tester program for XML input. - * - * See Copyright for the status of this software. - * - * daniel@veillard.com - */ - -#include "libxml.h" - -#include -#include -#include - -#if defined (_WIN32) && !defined(__CYGWIN__) -#if defined (_MSC_VER) || defined(__BORLANDC__) -#include -#pragma comment(lib, "ws2_32.lib") -#define gettimeofday(p1,p2) -#endif /* _MSC_VER */ -#endif /* _WIN32 */ - -#ifdef HAVE_SYS_TIME_H -#include -#endif -#ifdef HAVE_TIME_H -#include -#endif - -#ifdef __MINGW32__ -#define _WINSOCKAPI_ -#include -#include -#undef XML_SOCKLEN_T -#define XML_SOCKLEN_T unsigned int -#endif - -#ifdef HAVE_SYS_TIMEB_H -#include -#endif - -#ifdef HAVE_SYS_TYPES_H -#include -#endif -#ifdef HAVE_SYS_STAT_H -#include -#endif -#ifdef HAVE_FCNTL_H -#include -#endif -#ifdef HAVE_UNISTD_H -#include -#endif -#ifdef HAVE_SYS_MMAN_H -#include -/* seems needed for Solaris */ -#ifndef MAP_FAILED -#define MAP_FAILED ((void *) -1) -#endif -#endif -#ifdef HAVE_STDLIB_H -#include -#endif -#ifdef HAVE_LIBREADLINE -#include -#ifdef HAVE_LIBHISTORY -#include -#endif -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef LIBXML_XINCLUDE_ENABLED -#include -#endif -#ifdef LIBXML_CATALOG_ENABLED -#include -#endif -#include -#include -#ifdef LIBXML_SCHEMATRON_ENABLED -#include -#endif -#ifdef LIBXML_SCHEMAS_ENABLED -#include -#include -#endif -#ifdef LIBXML_PATTERN_ENABLED -#include -#endif -#ifdef LIBXML_C14N_ENABLED -#include -#endif -#ifdef LIBXML_OUTPUT_ENABLED -#include -#endif - -#ifndef XML_XML_DEFAULT_CATALOG -#define XML_XML_DEFAULT_CATALOG "file:///etc/xml/catalog" -#endif - -typedef enum { - XMLLINT_RETURN_OK = 0, /* No error */ - XMLLINT_ERR_UNCLASS = 1, /* Unclassified */ - XMLLINT_ERR_DTD = 2, /* Error in DTD */ - XMLLINT_ERR_VALID = 3, /* Validation error */ - XMLLINT_ERR_RDFILE = 4, /* CtxtReadFile error */ - XMLLINT_ERR_SCHEMACOMP = 5, /* Schema compilation */ - XMLLINT_ERR_OUT = 6, /* Error writing output */ - XMLLINT_ERR_SCHEMAPAT = 7, /* Error in schema pattern */ - XMLLINT_ERR_RDREGIS = 8, /* Error in Reader registration */ - XMLLINT_ERR_MEM = 9, /* Out of memory error */ - XMLLINT_ERR_XPATH = 10 /* XPath evaluation error */ -} xmllintReturnCode; -#ifdef LIBXML_DEBUG_ENABLED -static int shell = 0; -static int debugent = 0; -#endif -static int debug = 0; -static int maxmem = 0; -#ifdef LIBXML_TREE_ENABLED -static int copy = 0; -#endif /* LIBXML_TREE_ENABLED */ -static int recovery = 0; -static int noent = 0; -static int noenc = 0; -static int noblanks = 0; -static int noout = 0; -static int nowrap = 0; -#ifdef LIBXML_OUTPUT_ENABLED -static int format = 0; -static const char *output = NULL; -static int compress = 0; -static int oldout = 0; -#endif /* LIBXML_OUTPUT_ENABLED */ -#ifdef LIBXML_VALID_ENABLED -static int valid = 0; -static int postvalid = 0; -static char * dtdvalid = NULL; -static char * dtdvalidfpi = NULL; -#endif -#ifdef LIBXML_SCHEMAS_ENABLED -static char * relaxng = NULL; -static xmlRelaxNGPtr relaxngschemas = NULL; -static char * schema = NULL; -static xmlSchemaPtr wxschemas = NULL; -#endif -#ifdef LIBXML_SCHEMATRON_ENABLED -static char * schematron = NULL; -static xmlSchematronPtr wxschematron = NULL; -#endif -static int repeat = 0; -static int insert = 0; -#if defined(LIBXML_HTML_ENABLED) || defined(LIBXML_VALID_ENABLED) -static int html = 0; -static int xmlout = 0; -#endif -static int htmlout = 0; -#if defined(LIBXML_HTML_ENABLED) -static int nodefdtd = 0; -#endif -#ifdef LIBXML_PUSH_ENABLED -static int push = 0; -#endif /* LIBXML_PUSH_ENABLED */ -#ifdef HAVE_SYS_MMAN_H -static int memory = 0; -#endif -static int testIO = 0; -static char *encoding = NULL; -#ifdef LIBXML_XINCLUDE_ENABLED -static int xinclude = 0; -#endif -static int dtdattrs = 0; -static int loaddtd = 0; -static xmllintReturnCode progresult = XMLLINT_RETURN_OK; -static int timing = 0; -static int generate = 0; -static int dropdtd = 0; -#ifdef LIBXML_CATALOG_ENABLED -static int catalogs = 0; -static int nocatalogs = 0; -#endif -#ifdef LIBXML_C14N_ENABLED -static int canonical = 0; -static int canonical_11 = 0; -static int exc_canonical = 0; -#endif -#ifdef LIBXML_READER_ENABLED -static int stream = 0; -static int walker = 0; -#endif /* LIBXML_READER_ENABLED */ -static int chkregister = 0; -static int nbregister = 0; -#ifdef LIBXML_SAX1_ENABLED -static int sax1 = 0; -#endif /* LIBXML_SAX1_ENABLED */ -#ifdef LIBXML_PATTERN_ENABLED -static const char *pattern = NULL; -static xmlPatternPtr patternc = NULL; -static xmlStreamCtxtPtr patstream = NULL; -#endif -#ifdef LIBXML_XPATH_ENABLED -static const char *xpathquery = NULL; -#endif -static int options = XML_PARSE_COMPACT; -static int sax = 0; -static int oldxml10 = 0; - -/************************************************************************ - * * - * Entity loading control and customization. * - * * - ************************************************************************/ -#define MAX_PATHS 64 -#ifdef _WIN32 -# define PATH_SEPARATOR ';' -#else -# define PATH_SEPARATOR ':' -#endif -static xmlChar *paths[MAX_PATHS + 1]; -static int nbpaths = 0; -static int load_trace = 0; - -static -void parsePath(const xmlChar *path) { - const xmlChar *cur; - - if (path == NULL) - return; - while (*path != 0) { - if (nbpaths >= MAX_PATHS) { - fprintf(stderr, "MAX_PATHS reached: too many paths\n"); - return; - } - cur = path; - while ((*cur == ' ') || (*cur == PATH_SEPARATOR)) - cur++; - path = cur; - while ((*cur != 0) && (*cur != ' ') && (*cur != PATH_SEPARATOR)) - cur++; - if (cur != path) { - paths[nbpaths] = xmlStrndup(path, cur - path); - if (paths[nbpaths] != NULL) - nbpaths++; - path = cur; - } - } -} - -static xmlExternalEntityLoader defaultEntityLoader = NULL; - -static xmlParserInputPtr -xmllintExternalEntityLoader(const char *URL, const char *ID, - xmlParserCtxtPtr ctxt) { - xmlParserInputPtr ret; - warningSAXFunc warning = NULL; - errorSAXFunc err = NULL; - - int i; - const char *lastsegment = URL; - const char *iter = URL; - - if ((nbpaths > 0) && (iter != NULL)) { - while (*iter != 0) { - if (*iter == '/') - lastsegment = iter + 1; - iter++; - } - } - - if ((ctxt != NULL) && (ctxt->sax != NULL)) { - warning = ctxt->sax->warning; - err = ctxt->sax->error; - ctxt->sax->warning = NULL; - ctxt->sax->error = NULL; - } - - if (defaultEntityLoader != NULL) { - ret = defaultEntityLoader(URL, ID, ctxt); - if (ret != NULL) { - if (warning != NULL) - ctxt->sax->warning = warning; - if (err != NULL) - ctxt->sax->error = err; - if (load_trace) { - fprintf \ - (stderr, - "Loaded URL=\"%s\" ID=\"%s\"\n", - URL ? URL : "(null)", - ID ? ID : "(null)"); - } - return(ret); - } - } - for (i = 0;i < nbpaths;i++) { - xmlChar *newURL; - - newURL = xmlStrdup((const xmlChar *) paths[i]); - newURL = xmlStrcat(newURL, (const xmlChar *) "/"); - newURL = xmlStrcat(newURL, (const xmlChar *) lastsegment); - if (newURL != NULL) { - ret = defaultEntityLoader((const char *)newURL, ID, ctxt); - if (ret != NULL) { - if (warning != NULL) - ctxt->sax->warning = warning; - if (err != NULL) - ctxt->sax->error = err; - if (load_trace) { - fprintf \ - (stderr, - "Loaded URL=\"%s\" ID=\"%s\"\n", - newURL, - ID ? ID : "(null)"); - } - xmlFree(newURL); - return(ret); - } - xmlFree(newURL); - } - } - if (err != NULL) - ctxt->sax->error = err; - if (warning != NULL) { - ctxt->sax->warning = warning; - if (URL != NULL) - warning(ctxt, "failed to load external entity \"%s\"\n", URL); - else if (ID != NULL) - warning(ctxt, "failed to load external entity \"%s\"\n", ID); - } - return(NULL); -} -/************************************************************************ - * * - * Memory allocation consumption debugging * - * * - ************************************************************************/ - -static void -OOM(void) -{ - fprintf(stderr, "Ran out of memory needs > %d bytes\n", maxmem); - progresult = XMLLINT_ERR_MEM; -} - -static void -myFreeFunc(void *mem) -{ - xmlMemFree(mem); -} -static void * -myMallocFunc(size_t size) -{ - void *ret; - - ret = xmlMemMalloc(size); - if (ret != NULL) { - if (xmlMemUsed() > maxmem) { - OOM(); - xmlMemFree(ret); - return (NULL); - } - } - return (ret); -} -static void * -myReallocFunc(void *mem, size_t size) -{ - void *ret; - - ret = xmlMemRealloc(mem, size); - if (ret != NULL) { - if (xmlMemUsed() > maxmem) { - OOM(); - xmlMemFree(ret); - return (NULL); - } - } - return (ret); -} -static char * -myStrdupFunc(const char *str) -{ - char *ret; - - ret = xmlMemoryStrdup(str); - if (ret != NULL) { - if (xmlMemUsed() > maxmem) { - OOM(); - xmlFree(ret); - return (NULL); - } - } - return (ret); -} -/************************************************************************ - * * - * Internal timing routines to remove the necessity to have * - * unix-specific function calls. * - * * - ************************************************************************/ - -#ifndef HAVE_GETTIMEOFDAY -#ifdef HAVE_SYS_TIMEB_H -#ifdef HAVE_SYS_TIME_H -#ifdef HAVE_FTIME - -static int -my_gettimeofday(struct timeval *tvp, void *tzp) -{ - struct timeb timebuffer; - - ftime(&timebuffer); - if (tvp) { - tvp->tv_sec = timebuffer.time; - tvp->tv_usec = timebuffer.millitm * 1000L; - } - return (0); -} -#define HAVE_GETTIMEOFDAY 1 -#define gettimeofday my_gettimeofday - -#endif /* HAVE_FTIME */ -#endif /* HAVE_SYS_TIME_H */ -#endif /* HAVE_SYS_TIMEB_H */ -#endif /* !HAVE_GETTIMEOFDAY */ - -#if defined(HAVE_GETTIMEOFDAY) -static struct timeval begin, end; - -/* - * startTimer: call where you want to start timing - */ -static void -startTimer(void) -{ - gettimeofday(&begin, NULL); -} - -/* - * endTimer: call where you want to stop timing and to print out a - * message about the timing performed; format is a printf - * type argument - */ -static void XMLCDECL -endTimer(const char *fmt, ...) -{ - long msec; - va_list ap; - - gettimeofday(&end, NULL); - msec = end.tv_sec - begin.tv_sec; - msec *= 1000; - msec += (end.tv_usec - begin.tv_usec) / 1000; - -#ifndef HAVE_STDARG_H -#error "endTimer required stdarg functions" -#endif - va_start(ap, fmt); - vfprintf(stderr, fmt, ap); - va_end(ap); - - fprintf(stderr, " took %ld ms\n", msec); -} -#elif defined(HAVE_TIME_H) -/* - * No gettimeofday function, so we have to make do with calling clock. - * This is obviously less accurate, but there's little we can do about - * that. - */ -#ifndef CLOCKS_PER_SEC -#define CLOCKS_PER_SEC 100 -#endif - -static clock_t begin, end; -static void -startTimer(void) -{ - begin = clock(); -} -static void XMLCDECL -endTimer(const char *fmt, ...) -{ - long msec; - va_list ap; - - end = clock(); - msec = ((end - begin) * 1000) / CLOCKS_PER_SEC; - -#ifndef HAVE_STDARG_H -#error "endTimer required stdarg functions" -#endif - va_start(ap, fmt); - vfprintf(stderr, fmt, ap); - va_end(ap); - fprintf(stderr, " took %ld ms\n", msec); -} -#else - -/* - * We don't have a gettimeofday or time.h, so we just don't do timing - */ -static void -startTimer(void) -{ - /* - * Do nothing - */ -} -static void XMLCDECL -endTimer(char *format, ...) -{ - /* - * We cannot do anything because we don't have a timing function - */ -#ifdef HAVE_STDARG_H - va_list ap; - va_start(ap, format); - vfprintf(stderr, format, ap); - va_end(ap); - fprintf(stderr, " was not timed\n"); -#else - /* We don't have gettimeofday, time or stdarg.h, what crazy world is - * this ?! - */ -#endif -} -#endif -/************************************************************************ - * * - * HTML ouput * - * * - ************************************************************************/ -static char buffer[50000]; - -static void -xmlHTMLEncodeSend(void) { - char *result; - - result = (char *) xmlEncodeEntitiesReentrant(NULL, BAD_CAST buffer); - if (result) { - xmlGenericError(xmlGenericErrorContext, "%s", result); - xmlFree(result); - } - buffer[0] = 0; -} - -/** - * xmlHTMLPrintFileInfo: - * @input: an xmlParserInputPtr input - * - * Displays the associated file and line informations for the current input - */ - -static void -xmlHTMLPrintFileInfo(xmlParserInputPtr input) { - int len; - xmlGenericError(xmlGenericErrorContext, "

    "); - - len = strlen(buffer); - if (input != NULL) { - if (input->filename) { - snprintf(&buffer[len], sizeof(buffer) - len, "%s:%d: ", input->filename, - input->line); - } else { - snprintf(&buffer[len], sizeof(buffer) - len, "Entity: line %d: ", input->line); - } - } - xmlHTMLEncodeSend(); -} - -/** - * xmlHTMLPrintFileContext: - * @input: an xmlParserInputPtr input - * - * Displays current context within the input content for error tracking - */ - -static void -xmlHTMLPrintFileContext(xmlParserInputPtr input) { - const xmlChar *cur, *base; - int len; - int n; - - if (input == NULL) return; - xmlGenericError(xmlGenericErrorContext, "

    \n");
    -    cur = input->cur;
    -    base = input->base;
    -    while ((cur > base) && ((*cur == '\n') || (*cur == '\r'))) {
    -	cur--;
    -    }
    -    n = 0;
    -    while ((n++ < 80) && (cur > base) && (*cur != '\n') && (*cur != '\r'))
    -        cur--;
    -    if ((*cur == '\n') || (*cur == '\r')) cur++;
    -    base = cur;
    -    n = 0;
    -    while ((*cur != 0) && (*cur != '\n') && (*cur != '\r') && (n < 79)) {
    -	len = strlen(buffer);
    -        snprintf(&buffer[len], sizeof(buffer) - len, "%c",
    -		    (unsigned char) *cur++);
    -	n++;
    -    }
    -    len = strlen(buffer);
    -    snprintf(&buffer[len], sizeof(buffer) - len, "\n");
    -    cur = input->cur;
    -    while ((*cur == '\n') || (*cur == '\r'))
    -	cur--;
    -    n = 0;
    -    while ((cur != base) && (n++ < 80)) {
    -	len = strlen(buffer);
    -        snprintf(&buffer[len], sizeof(buffer) - len, " ");
    -        base++;
    -    }
    -    len = strlen(buffer);
    -    snprintf(&buffer[len], sizeof(buffer) - len, "^\n");
    -    xmlHTMLEncodeSend();
    -    xmlGenericError(xmlGenericErrorContext, "
    "); -} - -/** - * xmlHTMLError: - * @ctx: an XML parser context - * @msg: the message to display/transmit - * @...: extra parameters for the message display - * - * Display and format an error messages, gives file, line, position and - * extra parameters. - */ -static void XMLCDECL -xmlHTMLError(void *ctx, const char *msg, ...) -{ - xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; - xmlParserInputPtr input; - va_list args; - int len; - - buffer[0] = 0; - input = ctxt->input; - if ((input != NULL) && (input->filename == NULL) && (ctxt->inputNr > 1)) { - input = ctxt->inputTab[ctxt->inputNr - 2]; - } - - xmlHTMLPrintFileInfo(input); - - xmlGenericError(xmlGenericErrorContext, "error: "); - va_start(args, msg); - len = strlen(buffer); - vsnprintf(&buffer[len], sizeof(buffer) - len, msg, args); - va_end(args); - xmlHTMLEncodeSend(); - xmlGenericError(xmlGenericErrorContext, "

    \n"); - - xmlHTMLPrintFileContext(input); - xmlHTMLEncodeSend(); -} - -/** - * xmlHTMLWarning: - * @ctx: an XML parser context - * @msg: the message to display/transmit - * @...: extra parameters for the message display - * - * Display and format a warning messages, gives file, line, position and - * extra parameters. - */ -static void XMLCDECL -xmlHTMLWarning(void *ctx, const char *msg, ...) -{ - xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; - xmlParserInputPtr input; - va_list args; - int len; - - buffer[0] = 0; - input = ctxt->input; - if ((input != NULL) && (input->filename == NULL) && (ctxt->inputNr > 1)) { - input = ctxt->inputTab[ctxt->inputNr - 2]; - } - - - xmlHTMLPrintFileInfo(input); - - xmlGenericError(xmlGenericErrorContext, "warning: "); - va_start(args, msg); - len = strlen(buffer); - vsnprintf(&buffer[len], sizeof(buffer) - len, msg, args); - va_end(args); - xmlHTMLEncodeSend(); - xmlGenericError(xmlGenericErrorContext, "

    \n"); - - xmlHTMLPrintFileContext(input); - xmlHTMLEncodeSend(); -} - -/** - * xmlHTMLValidityError: - * @ctx: an XML parser context - * @msg: the message to display/transmit - * @...: extra parameters for the message display - * - * Display and format an validity error messages, gives file, - * line, position and extra parameters. - */ -static void XMLCDECL -xmlHTMLValidityError(void *ctx, const char *msg, ...) -{ - xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; - xmlParserInputPtr input; - va_list args; - int len; - - buffer[0] = 0; - input = ctxt->input; - if ((input->filename == NULL) && (ctxt->inputNr > 1)) - input = ctxt->inputTab[ctxt->inputNr - 2]; - - xmlHTMLPrintFileInfo(input); - - xmlGenericError(xmlGenericErrorContext, "validity error: "); - len = strlen(buffer); - va_start(args, msg); - vsnprintf(&buffer[len], sizeof(buffer) - len, msg, args); - va_end(args); - xmlHTMLEncodeSend(); - xmlGenericError(xmlGenericErrorContext, "

    \n"); - - xmlHTMLPrintFileContext(input); - xmlHTMLEncodeSend(); - progresult = XMLLINT_ERR_VALID; -} - -/** - * xmlHTMLValidityWarning: - * @ctx: an XML parser context - * @msg: the message to display/transmit - * @...: extra parameters for the message display - * - * Display and format a validity warning messages, gives file, line, - * position and extra parameters. - */ -static void XMLCDECL -xmlHTMLValidityWarning(void *ctx, const char *msg, ...) -{ - xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; - xmlParserInputPtr input; - va_list args; - int len; - - buffer[0] = 0; - input = ctxt->input; - if ((input->filename == NULL) && (ctxt->inputNr > 1)) - input = ctxt->inputTab[ctxt->inputNr - 2]; - - xmlHTMLPrintFileInfo(input); - - xmlGenericError(xmlGenericErrorContext, "validity warning: "); - va_start(args, msg); - len = strlen(buffer); - vsnprintf(&buffer[len], sizeof(buffer) - len, msg, args); - va_end(args); - xmlHTMLEncodeSend(); - xmlGenericError(xmlGenericErrorContext, "

    \n"); - - xmlHTMLPrintFileContext(input); - xmlHTMLEncodeSend(); -} - -/************************************************************************ - * * - * Shell Interface * - * * - ************************************************************************/ -#ifdef LIBXML_DEBUG_ENABLED -#ifdef LIBXML_XPATH_ENABLED -/** - * xmlShellReadline: - * @prompt: the prompt value - * - * Read a string - * - * Returns a pointer to it or NULL on EOF the caller is expected to - * free the returned string. - */ -static char * -xmlShellReadline(char *prompt) { -#ifdef HAVE_LIBREADLINE - char *line_read; - - /* Get a line from the user. */ - line_read = readline (prompt); - - /* If the line has any text in it, save it on the history. */ - if (line_read && *line_read) - add_history (line_read); - - return (line_read); -#else - char line_read[501]; - char *ret; - int len; - - if (prompt != NULL) - fprintf(stdout, "%s", prompt); - if (!fgets(line_read, 500, stdin)) - return(NULL); - line_read[500] = 0; - len = strlen(line_read); - ret = (char *) malloc(len + 1); - if (ret != NULL) { - memcpy (ret, line_read, len + 1); - } - return(ret); -#endif -} -#endif /* LIBXML_XPATH_ENABLED */ -#endif /* LIBXML_DEBUG_ENABLED */ - -/************************************************************************ - * * - * I/O Interfaces * - * * - ************************************************************************/ - -static int myRead(FILE *f, char * buf, int len) { - return(fread(buf, 1, len, f)); -} -static void myClose(FILE *f) { - if (f != stdin) { - fclose(f); - } -} - -/************************************************************************ - * * - * SAX based tests * - * * - ************************************************************************/ - -/* - * empty SAX block - */ -static xmlSAXHandler emptySAXHandlerStruct = { - NULL, /* internalSubset */ - NULL, /* isStandalone */ - NULL, /* hasInternalSubset */ - NULL, /* hasExternalSubset */ - NULL, /* resolveEntity */ - NULL, /* getEntity */ - NULL, /* entityDecl */ - NULL, /* notationDecl */ - NULL, /* attributeDecl */ - NULL, /* elementDecl */ - NULL, /* unparsedEntityDecl */ - NULL, /* setDocumentLocator */ - NULL, /* startDocument */ - NULL, /* endDocument */ - NULL, /* startElement */ - NULL, /* endElement */ - NULL, /* reference */ - NULL, /* characters */ - NULL, /* ignorableWhitespace */ - NULL, /* processingInstruction */ - NULL, /* comment */ - NULL, /* xmlParserWarning */ - NULL, /* xmlParserError */ - NULL, /* xmlParserError */ - NULL, /* getParameterEntity */ - NULL, /* cdataBlock; */ - NULL, /* externalSubset; */ - XML_SAX2_MAGIC, - NULL, - NULL, /* startElementNs */ - NULL, /* endElementNs */ - NULL /* xmlStructuredErrorFunc */ -}; - -static xmlSAXHandlerPtr emptySAXHandler = &emptySAXHandlerStruct; -extern xmlSAXHandlerPtr debugSAXHandler; -static int callbacks; - -/** - * isStandaloneDebug: - * @ctxt: An XML parser context - * - * Is this document tagged standalone ? - * - * Returns 1 if true - */ -static int -isStandaloneDebug(void *ctx ATTRIBUTE_UNUSED) -{ - callbacks++; - if (noout) - return(0); - fprintf(stdout, "SAX.isStandalone()\n"); - return(0); -} - -/** - * hasInternalSubsetDebug: - * @ctxt: An XML parser context - * - * Does this document has an internal subset - * - * Returns 1 if true - */ -static int -hasInternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED) -{ - callbacks++; - if (noout) - return(0); - fprintf(stdout, "SAX.hasInternalSubset()\n"); - return(0); -} - -/** - * hasExternalSubsetDebug: - * @ctxt: An XML parser context - * - * Does this document has an external subset - * - * Returns 1 if true - */ -static int -hasExternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED) -{ - callbacks++; - if (noout) - return(0); - fprintf(stdout, "SAX.hasExternalSubset()\n"); - return(0); -} - -/** - * internalSubsetDebug: - * @ctxt: An XML parser context - * - * Does this document has an internal subset - */ -static void -internalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, - const xmlChar *ExternalID, const xmlChar *SystemID) -{ - callbacks++; - if (noout) - return; - fprintf(stdout, "SAX.internalSubset(%s,", name); - if (ExternalID == NULL) - fprintf(stdout, " ,"); - else - fprintf(stdout, " %s,", ExternalID); - if (SystemID == NULL) - fprintf(stdout, " )\n"); - else - fprintf(stdout, " %s)\n", SystemID); -} - -/** - * externalSubsetDebug: - * @ctxt: An XML parser context - * - * Does this document has an external subset - */ -static void -externalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, - const xmlChar *ExternalID, const xmlChar *SystemID) -{ - callbacks++; - if (noout) - return; - fprintf(stdout, "SAX.externalSubset(%s,", name); - if (ExternalID == NULL) - fprintf(stdout, " ,"); - else - fprintf(stdout, " %s,", ExternalID); - if (SystemID == NULL) - fprintf(stdout, " )\n"); - else - fprintf(stdout, " %s)\n", SystemID); -} - -/** - * resolveEntityDebug: - * @ctxt: An XML parser context - * @publicId: The public ID of the entity - * @systemId: The system ID of the entity - * - * Special entity resolver, better left to the parser, it has - * more context than the application layer. - * The default behaviour is to NOT resolve the entities, in that case - * the ENTITY_REF nodes are built in the structure (and the parameter - * values). - * - * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. - */ -static xmlParserInputPtr -resolveEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *publicId, const xmlChar *systemId) -{ - callbacks++; - if (noout) - return(NULL); - /* xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; */ - - - fprintf(stdout, "SAX.resolveEntity("); - if (publicId != NULL) - fprintf(stdout, "%s", (char *)publicId); - else - fprintf(stdout, " "); - if (systemId != NULL) - fprintf(stdout, ", %s)\n", (char *)systemId); - else - fprintf(stdout, ", )\n"); - return(NULL); -} - -/** - * getEntityDebug: - * @ctxt: An XML parser context - * @name: The entity name - * - * Get an entity by name - * - * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. - */ -static xmlEntityPtr -getEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) -{ - callbacks++; - if (noout) - return(NULL); - fprintf(stdout, "SAX.getEntity(%s)\n", name); - return(NULL); -} - -/** - * getParameterEntityDebug: - * @ctxt: An XML parser context - * @name: The entity name - * - * Get a parameter entity by name - * - * Returns the xmlParserInputPtr - */ -static xmlEntityPtr -getParameterEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) -{ - callbacks++; - if (noout) - return(NULL); - fprintf(stdout, "SAX.getParameterEntity(%s)\n", name); - return(NULL); -} - - -/** - * entityDeclDebug: - * @ctxt: An XML parser context - * @name: the entity name - * @type: the entity type - * @publicId: The public ID of the entity - * @systemId: The system ID of the entity - * @content: the entity value (without processing). - * - * An entity definition has been parsed - */ -static void -entityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type, - const xmlChar *publicId, const xmlChar *systemId, xmlChar *content) -{ -const xmlChar *nullstr = BAD_CAST "(null)"; - /* not all libraries handle printing null pointers nicely */ - if (publicId == NULL) - publicId = nullstr; - if (systemId == NULL) - systemId = nullstr; - if (content == NULL) - content = (xmlChar *)nullstr; - callbacks++; - if (noout) - return; - fprintf(stdout, "SAX.entityDecl(%s, %d, %s, %s, %s)\n", - name, type, publicId, systemId, content); -} - -/** - * attributeDeclDebug: - * @ctxt: An XML parser context - * @name: the attribute name - * @type: the attribute type - * - * An attribute definition has been parsed - */ -static void -attributeDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar * elem, - const xmlChar * name, int type, int def, - const xmlChar * defaultValue, xmlEnumerationPtr tree) -{ - callbacks++; - if (noout) - return; - if (defaultValue == NULL) - fprintf(stdout, "SAX.attributeDecl(%s, %s, %d, %d, NULL, ...)\n", - elem, name, type, def); - else - fprintf(stdout, "SAX.attributeDecl(%s, %s, %d, %d, %s, ...)\n", - elem, name, type, def, defaultValue); - xmlFreeEnumeration(tree); -} - -/** - * elementDeclDebug: - * @ctxt: An XML parser context - * @name: the element name - * @type: the element type - * @content: the element value (without processing). - * - * An element definition has been parsed - */ -static void -elementDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type, - xmlElementContentPtr content ATTRIBUTE_UNUSED) -{ - callbacks++; - if (noout) - return; - fprintf(stdout, "SAX.elementDecl(%s, %d, ...)\n", - name, type); -} - -/** - * notationDeclDebug: - * @ctxt: An XML parser context - * @name: The name of the notation - * @publicId: The public ID of the entity - * @systemId: The system ID of the entity - * - * What to do when a notation declaration has been parsed. - */ -static void -notationDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, - const xmlChar *publicId, const xmlChar *systemId) -{ - callbacks++; - if (noout) - return; - fprintf(stdout, "SAX.notationDecl(%s, %s, %s)\n", - (char *) name, (char *) publicId, (char *) systemId); -} - -/** - * unparsedEntityDeclDebug: - * @ctxt: An XML parser context - * @name: The name of the entity - * @publicId: The public ID of the entity - * @systemId: The system ID of the entity - * @notationName: the name of the notation - * - * What to do when an unparsed entity declaration is parsed - */ -static void -unparsedEntityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, - const xmlChar *publicId, const xmlChar *systemId, - const xmlChar *notationName) -{ -const xmlChar *nullstr = BAD_CAST "(null)"; - - if (publicId == NULL) - publicId = nullstr; - if (systemId == NULL) - systemId = nullstr; - if (notationName == NULL) - notationName = nullstr; - callbacks++; - if (noout) - return; - fprintf(stdout, "SAX.unparsedEntityDecl(%s, %s, %s, %s)\n", - (char *) name, (char *) publicId, (char *) systemId, - (char *) notationName); -} - -/** - * setDocumentLocatorDebug: - * @ctxt: An XML parser context - * @loc: A SAX Locator - * - * Receive the document locator at startup, actually xmlDefaultSAXLocator - * Everything is available on the context, so this is useless in our case. - */ -static void -setDocumentLocatorDebug(void *ctx ATTRIBUTE_UNUSED, xmlSAXLocatorPtr loc ATTRIBUTE_UNUSED) -{ - callbacks++; - if (noout) - return; - fprintf(stdout, "SAX.setDocumentLocator()\n"); -} - -/** - * startDocumentDebug: - * @ctxt: An XML parser context - * - * called when the document start being processed. - */ -static void -startDocumentDebug(void *ctx ATTRIBUTE_UNUSED) -{ - callbacks++; - if (noout) - return; - fprintf(stdout, "SAX.startDocument()\n"); -} - -/** - * endDocumentDebug: - * @ctxt: An XML parser context - * - * called when the document end has been detected. - */ -static void -endDocumentDebug(void *ctx ATTRIBUTE_UNUSED) -{ - callbacks++; - if (noout) - return; - fprintf(stdout, "SAX.endDocument()\n"); -} - -/** - * startElementDebug: - * @ctxt: An XML parser context - * @name: The element name - * - * called when an opening tag has been processed. - */ -static void -startElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, const xmlChar **atts) -{ - int i; - - callbacks++; - if (noout) - return; - fprintf(stdout, "SAX.startElement(%s", (char *) name); - if (atts != NULL) { - for (i = 0;(atts[i] != NULL);i++) { - fprintf(stdout, ", %s='", atts[i++]); - if (atts[i] != NULL) - fprintf(stdout, "%s'", atts[i]); - } - } - fprintf(stdout, ")\n"); -} - -/** - * endElementDebug: - * @ctxt: An XML parser context - * @name: The element name - * - * called when the end of an element has been detected. - */ -static void -endElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) -{ - callbacks++; - if (noout) - return; - fprintf(stdout, "SAX.endElement(%s)\n", (char *) name); -} - -/** - * charactersDebug: - * @ctxt: An XML parser context - * @ch: a xmlChar string - * @len: the number of xmlChar - * - * receiving some chars from the parser. - * Question: how much at a time ??? - */ -static void -charactersDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len) -{ - char out[40]; - int i; - - callbacks++; - if (noout) - return; - for (i = 0;(i 0) { - fprintf(stderr, "%s fails to validate\n", filename); - progresult = XMLLINT_ERR_VALID; - } else { - fprintf(stderr, "%s validation generated an internal error\n", - filename); - progresult = XMLLINT_ERR_VALID; - } - } - xmlSchemaFreeValidCtxt(vctxt); - } else -#endif - { - /* - * Create the parser context amd hook the input - */ - ctxt = xmlNewParserCtxt(); - if (ctxt == NULL) { - xmlFreeParserInputBuffer(buf); - goto error; - } - old_sax = ctxt->sax; - ctxt->sax = handler; - ctxt->userData = (void *) user_data; - inputStream = xmlNewIOInputStream(ctxt, buf, XML_CHAR_ENCODING_NONE); - if (inputStream == NULL) { - xmlFreeParserInputBuffer(buf); - goto error; - } - inputPush(ctxt, inputStream); - - /* do the parsing */ - xmlParseDocument(ctxt); - - if (ctxt->myDoc != NULL) { - fprintf(stderr, "SAX generated a doc !\n"); - xmlFreeDoc(ctxt->myDoc); - ctxt->myDoc = NULL; - } - } - -error: - if (ctxt != NULL) { - ctxt->sax = old_sax; - xmlFreeParserCtxt(ctxt); - } -} - -/************************************************************************ - * * - * Stream Test processing * - * * - ************************************************************************/ -#ifdef LIBXML_READER_ENABLED -static void processNode(xmlTextReaderPtr reader) { - const xmlChar *name, *value; - int type, empty; - - type = xmlTextReaderNodeType(reader); - empty = xmlTextReaderIsEmptyElement(reader); - - if (debug) { - name = xmlTextReaderConstName(reader); - if (name == NULL) - name = BAD_CAST "--"; - - value = xmlTextReaderConstValue(reader); - - - printf("%d %d %s %d %d", - xmlTextReaderDepth(reader), - type, - name, - empty, - xmlTextReaderHasValue(reader)); - if (value == NULL) - printf("\n"); - else { - printf(" %s\n", value); - } - } -#ifdef LIBXML_PATTERN_ENABLED - if (patternc) { - xmlChar *path = NULL; - int match = -1; - - if (type == XML_READER_TYPE_ELEMENT) { - /* do the check only on element start */ - match = xmlPatternMatch(patternc, xmlTextReaderCurrentNode(reader)); - - if (match) { -#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) - path = xmlGetNodePath(xmlTextReaderCurrentNode(reader)); - printf("Node %s matches pattern %s\n", path, pattern); -#else - printf("Node %s matches pattern %s\n", - xmlTextReaderConstName(reader), pattern); -#endif - } - } - if (patstream != NULL) { - int ret; - - if (type == XML_READER_TYPE_ELEMENT) { - ret = xmlStreamPush(patstream, - xmlTextReaderConstLocalName(reader), - xmlTextReaderConstNamespaceUri(reader)); - if (ret < 0) { - fprintf(stderr, "xmlStreamPush() failure\n"); - xmlFreeStreamCtxt(patstream); - patstream = NULL; - } else if (ret != match) { -#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) - if (path == NULL) { - path = xmlGetNodePath( - xmlTextReaderCurrentNode(reader)); - } -#endif - fprintf(stderr, - "xmlPatternMatch and xmlStreamPush disagree\n"); - if (path != NULL) - fprintf(stderr, " pattern %s node %s\n", - pattern, path); - else - fprintf(stderr, " pattern %s node %s\n", - pattern, xmlTextReaderConstName(reader)); - } - - } - if ((type == XML_READER_TYPE_END_ELEMENT) || - ((type == XML_READER_TYPE_ELEMENT) && (empty))) { - ret = xmlStreamPop(patstream); - if (ret < 0) { - fprintf(stderr, "xmlStreamPop() failure\n"); - xmlFreeStreamCtxt(patstream); - patstream = NULL; - } - } - } - if (path != NULL) - xmlFree(path); - } -#endif -} - -static void streamFile(char *filename) { - xmlTextReaderPtr reader; - int ret; -#ifdef HAVE_SYS_MMAN_H - int fd = -1; - struct stat info; - const char *base = NULL; - xmlParserInputBufferPtr input = NULL; - - if (memory) { - if (stat(filename, &info) < 0) - return; - if ((fd = open(filename, O_RDONLY)) < 0) - return; - base = mmap(NULL, info.st_size, PROT_READ, MAP_SHARED, fd, 0) ; - if (base == (void *) MAP_FAILED) - return; - - reader = xmlReaderForMemory(base, info.st_size, filename, - NULL, options); - } else -#endif - reader = xmlReaderForFile(filename, NULL, options); -#ifdef LIBXML_PATTERN_ENABLED - if (pattern != NULL) { - patternc = xmlPatterncompile((const xmlChar *) pattern, NULL, 0, NULL); - if (patternc == NULL) { - xmlGenericError(xmlGenericErrorContext, - "Pattern %s failed to compile\n", pattern); - progresult = XMLLINT_ERR_SCHEMAPAT; - pattern = NULL; - } - } - if (patternc != NULL) { - patstream = xmlPatternGetStreamCtxt(patternc); - if (patstream != NULL) { - ret = xmlStreamPush(patstream, NULL, NULL); - if (ret < 0) { - fprintf(stderr, "xmlStreamPush() failure\n"); - xmlFreeStreamCtxt(patstream); - patstream = NULL; - } - } - } -#endif - - - if (reader != NULL) { -#ifdef LIBXML_VALID_ENABLED - if (valid) - xmlTextReaderSetParserProp(reader, XML_PARSER_VALIDATE, 1); - else -#endif /* LIBXML_VALID_ENABLED */ - xmlTextReaderSetParserProp(reader, XML_PARSER_LOADDTD, 1); -#ifdef LIBXML_SCHEMAS_ENABLED - if (relaxng != NULL) { - if ((timing) && (!repeat)) { - startTimer(); - } - ret = xmlTextReaderRelaxNGValidate(reader, relaxng); - if (ret < 0) { - xmlGenericError(xmlGenericErrorContext, - "Relax-NG schema %s failed to compile\n", relaxng); - progresult = XMLLINT_ERR_SCHEMACOMP; - relaxng = NULL; - } - if ((timing) && (!repeat)) { - endTimer("Compiling the schemas"); - } - } - if (schema != NULL) { - if ((timing) && (!repeat)) { - startTimer(); - } - ret = xmlTextReaderSchemaValidate(reader, schema); - if (ret < 0) { - xmlGenericError(xmlGenericErrorContext, - "XSD schema %s failed to compile\n", schema); - progresult = XMLLINT_ERR_SCHEMACOMP; - schema = NULL; - } - if ((timing) && (!repeat)) { - endTimer("Compiling the schemas"); - } - } -#endif - - /* - * Process all nodes in sequence - */ - if ((timing) && (!repeat)) { - startTimer(); - } - ret = xmlTextReaderRead(reader); - while (ret == 1) { - if ((debug) -#ifdef LIBXML_PATTERN_ENABLED - || (patternc) -#endif - ) - processNode(reader); - ret = xmlTextReaderRead(reader); - } - if ((timing) && (!repeat)) { -#ifdef LIBXML_SCHEMAS_ENABLED - if (relaxng != NULL) - endTimer("Parsing and validating"); - else -#endif -#ifdef LIBXML_VALID_ENABLED - if (valid) - endTimer("Parsing and validating"); - else -#endif - endTimer("Parsing"); - } - -#ifdef LIBXML_VALID_ENABLED - if (valid) { - if (xmlTextReaderIsValid(reader) != 1) { - xmlGenericError(xmlGenericErrorContext, - "Document %s does not validate\n", filename); - progresult = XMLLINT_ERR_VALID; - } - } -#endif /* LIBXML_VALID_ENABLED */ -#ifdef LIBXML_SCHEMAS_ENABLED - if ((relaxng != NULL) || (schema != NULL)) { - if (xmlTextReaderIsValid(reader) != 1) { - fprintf(stderr, "%s fails to validate\n", filename); - progresult = XMLLINT_ERR_VALID; - } else { - fprintf(stderr, "%s validates\n", filename); - } - } -#endif - /* - * Done, cleanup and status - */ - xmlFreeTextReader(reader); - if (ret != 0) { - fprintf(stderr, "%s : failed to parse\n", filename); - progresult = XMLLINT_ERR_UNCLASS; - } - } else { - fprintf(stderr, "Unable to open %s\n", filename); - progresult = XMLLINT_ERR_UNCLASS; - } -#ifdef LIBXML_PATTERN_ENABLED - if (patstream != NULL) { - xmlFreeStreamCtxt(patstream); - patstream = NULL; - } -#endif -#ifdef HAVE_SYS_MMAN_H - if (memory) { - xmlFreeParserInputBuffer(input); - munmap((char *) base, info.st_size); - close(fd); - } -#endif -} - -static void walkDoc(xmlDocPtr doc) { - xmlTextReaderPtr reader; - int ret; - -#ifdef LIBXML_PATTERN_ENABLED - xmlNodePtr root; - const xmlChar *namespaces[22]; - int i; - xmlNsPtr ns; - - root = xmlDocGetRootElement(doc); - for (ns = root->nsDef, i = 0;ns != NULL && i < 20;ns=ns->next) { - namespaces[i++] = ns->href; - namespaces[i++] = ns->prefix; - } - namespaces[i++] = NULL; - namespaces[i] = NULL; - - if (pattern != NULL) { - patternc = xmlPatterncompile((const xmlChar *) pattern, doc->dict, - 0, &namespaces[0]); - if (patternc == NULL) { - xmlGenericError(xmlGenericErrorContext, - "Pattern %s failed to compile\n", pattern); - progresult = XMLLINT_ERR_SCHEMAPAT; - pattern = NULL; - } - } - if (patternc != NULL) { - patstream = xmlPatternGetStreamCtxt(patternc); - if (patstream != NULL) { - ret = xmlStreamPush(patstream, NULL, NULL); - if (ret < 0) { - fprintf(stderr, "xmlStreamPush() failure\n"); - xmlFreeStreamCtxt(patstream); - patstream = NULL; - } - } - } -#endif /* LIBXML_PATTERN_ENABLED */ - reader = xmlReaderWalker(doc); - if (reader != NULL) { - if ((timing) && (!repeat)) { - startTimer(); - } - ret = xmlTextReaderRead(reader); - while (ret == 1) { - if ((debug) -#ifdef LIBXML_PATTERN_ENABLED - || (patternc) -#endif - ) - processNode(reader); - ret = xmlTextReaderRead(reader); - } - if ((timing) && (!repeat)) { - endTimer("walking through the doc"); - } - xmlFreeTextReader(reader); - if (ret != 0) { - fprintf(stderr, "failed to walk through the doc\n"); - progresult = XMLLINT_ERR_UNCLASS; - } - } else { - fprintf(stderr, "Failed to crate a reader from the document\n"); - progresult = XMLLINT_ERR_UNCLASS; - } -#ifdef LIBXML_PATTERN_ENABLED - if (patstream != NULL) { - xmlFreeStreamCtxt(patstream); - patstream = NULL; - } -#endif -} -#endif /* LIBXML_READER_ENABLED */ - -#ifdef LIBXML_XPATH_ENABLED -/************************************************************************ - * * - * XPath Query * - * * - ************************************************************************/ - -static void doXPathDump(xmlXPathObjectPtr cur) { - switch(cur->type) { - case XPATH_NODESET: { - int i; - xmlNodePtr node; -#ifdef LIBXML_OUTPUT_ENABLED - xmlSaveCtxtPtr ctxt; - - if ((cur->nodesetval == NULL) || (cur->nodesetval->nodeNr <= 0)) { - fprintf(stderr, "XPath set is empty\n"); - progresult = XMLLINT_ERR_XPATH; - break; - } - ctxt = xmlSaveToFd(1, NULL, 0); - if (ctxt == NULL) { - fprintf(stderr, "Out of memory for XPath\n"); - progresult = XMLLINT_ERR_MEM; - return; - } - for (i = 0;i < cur->nodesetval->nodeNr;i++) { - node = cur->nodesetval->nodeTab[i]; - xmlSaveTree(ctxt, node); - } - xmlSaveClose(ctxt); -#else - printf("xpath returned %d nodes\n", cur->nodesetval->nodeNr); -#endif - break; - } - case XPATH_BOOLEAN: - if (cur->boolval) printf("true"); - else printf("false"); - break; - case XPATH_NUMBER: - switch (xmlXPathIsInf(cur->floatval)) { - case 1: - printf("Infinity"); - break; - case -1: - printf("-Infinity"); - break; - default: - if (xmlXPathIsNaN(cur->floatval)) { - printf("NaN"); - } else { - printf("%0g", cur->floatval); - } - } - break; - case XPATH_STRING: - printf("%s", (const char *) cur->stringval); - break; - case XPATH_UNDEFINED: - fprintf(stderr, "XPath Object is uninitialized\n"); - progresult = XMLLINT_ERR_XPATH; - break; - default: - fprintf(stderr, "XPath object of unexpected type\n"); - progresult = XMLLINT_ERR_XPATH; - break; - } -} - -static void doXPathQuery(xmlDocPtr doc, const char *query) { - xmlXPathContextPtr ctxt; - xmlXPathObjectPtr res; - - ctxt = xmlXPathNewContext(doc); - if (ctxt == NULL) { - fprintf(stderr, "Out of memory for XPath\n"); - progresult = XMLLINT_ERR_MEM; - return; - } - ctxt->node = xmlDocGetRootElement(doc); - res = xmlXPathEval(BAD_CAST query, ctxt); - xmlXPathFreeContext(ctxt); - - if (res == NULL) { - fprintf(stderr, "XPath evaluation failure\n"); - progresult = XMLLINT_ERR_XPATH; - return; - } - doXPathDump(res); - xmlXPathFreeObject(res); -} -#endif /* LIBXML_XPATH_ENABLED */ - -/************************************************************************ - * * - * Tree Test processing * - * * - ************************************************************************/ -static void parseAndPrintFile(char *filename, xmlParserCtxtPtr rectxt) { - xmlDocPtr doc = NULL; -#ifdef LIBXML_TREE_ENABLED - xmlDocPtr tmp; -#endif /* LIBXML_TREE_ENABLED */ - - if ((timing) && (!repeat)) - startTimer(); - - -#ifdef LIBXML_TREE_ENABLED - if (filename == NULL) { - if (generate) { - xmlNodePtr n; - - doc = xmlNewDoc(BAD_CAST "1.0"); - n = xmlNewDocNode(doc, NULL, BAD_CAST "info", NULL); - xmlNodeSetContent(n, BAD_CAST "abc"); - xmlDocSetRootElement(doc, n); - } - } -#endif /* LIBXML_TREE_ENABLED */ -#ifdef LIBXML_HTML_ENABLED -#ifdef LIBXML_PUSH_ENABLED - else if ((html) && (push)) { - FILE *f; - -#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__) - f = fopen(filename, "rb"); -#else - f = fopen(filename, "r"); -#endif - if (f != NULL) { - int res, size = 3; - char chars[4096]; - htmlParserCtxtPtr ctxt; - - /* if (repeat) */ - size = 4096; - res = fread(chars, 1, 4, f); - if (res > 0) { - ctxt = htmlCreatePushParserCtxt(NULL, NULL, - chars, res, filename, XML_CHAR_ENCODING_NONE); - while ((res = fread(chars, 1, size, f)) > 0) { - htmlParseChunk(ctxt, chars, res, 0); - } - htmlParseChunk(ctxt, chars, 0, 1); - doc = ctxt->myDoc; - htmlFreeParserCtxt(ctxt); - } - fclose(f); - } - } -#endif /* LIBXML_PUSH_ENABLED */ -#ifdef HAVE_SYS_MMAN_H - else if ((html) && (memory)) { - int fd; - struct stat info; - const char *base; - if (stat(filename, &info) < 0) - return; - if ((fd = open(filename, O_RDONLY)) < 0) - return; - base = mmap(NULL, info.st_size, PROT_READ, MAP_SHARED, fd, 0) ; - if (base == (void *) MAP_FAILED) - return; - - doc = htmlReadMemory((char *) base, info.st_size, filename, - NULL, options); - - munmap((char *) base, info.st_size); - close(fd); - } -#endif - else if (html) { - doc = htmlReadFile(filename, NULL, options); - } -#endif /* LIBXML_HTML_ENABLED */ - else { -#ifdef LIBXML_PUSH_ENABLED - /* - * build an XML tree from a string; - */ - if (push) { - FILE *f; - - /* '-' Usually means stdin - */ - if ((filename[0] == '-') && (filename[1] == 0)) { - f = stdin; - } else { -#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__) - f = fopen(filename, "rb"); -#else - f = fopen(filename, "r"); -#endif - } - if (f != NULL) { - int ret; - int res, size = 1024; - char chars[1024]; - xmlParserCtxtPtr ctxt; - - /* if (repeat) size = 1024; */ - res = fread(chars, 1, 4, f); - if (res > 0) { - ctxt = xmlCreatePushParserCtxt(NULL, NULL, - chars, res, filename); - xmlCtxtUseOptions(ctxt, options); - while ((res = fread(chars, 1, size, f)) > 0) { - xmlParseChunk(ctxt, chars, res, 0); - } - xmlParseChunk(ctxt, chars, 0, 1); - doc = ctxt->myDoc; - ret = ctxt->wellFormed; - xmlFreeParserCtxt(ctxt); - if (!ret) { - xmlFreeDoc(doc); - doc = NULL; - } - } - if (f != stdin) - fclose(f); - } - } else -#endif /* LIBXML_PUSH_ENABLED */ - if (testIO) { - if ((filename[0] == '-') && (filename[1] == 0)) { - doc = xmlReadFd(0, NULL, NULL, options); - } else { - FILE *f; - -#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__) - f = fopen(filename, "rb"); -#else - f = fopen(filename, "r"); -#endif - if (f != NULL) { - if (rectxt == NULL) - doc = xmlReadIO((xmlInputReadCallback) myRead, - (xmlInputCloseCallback) myClose, f, - filename, NULL, options); - else - doc = xmlCtxtReadIO(rectxt, - (xmlInputReadCallback) myRead, - (xmlInputCloseCallback) myClose, f, - filename, NULL, options); - } else - doc = NULL; - } - } else if (htmlout) { - xmlParserCtxtPtr ctxt; - - if (rectxt == NULL) - ctxt = xmlNewParserCtxt(); - else - ctxt = rectxt; - if (ctxt == NULL) { - doc = NULL; - } else { - ctxt->sax->error = xmlHTMLError; - ctxt->sax->warning = xmlHTMLWarning; - ctxt->vctxt.error = xmlHTMLValidityError; - ctxt->vctxt.warning = xmlHTMLValidityWarning; - - doc = xmlCtxtReadFile(ctxt, filename, NULL, options); - - if (rectxt == NULL) - xmlFreeParserCtxt(ctxt); - } -#ifdef HAVE_SYS_MMAN_H - } else if (memory) { - int fd; - struct stat info; - const char *base; - if (stat(filename, &info) < 0) - return; - if ((fd = open(filename, O_RDONLY)) < 0) - return; - base = mmap(NULL, info.st_size, PROT_READ, MAP_SHARED, fd, 0) ; - if (base == (void *) MAP_FAILED) - return; - - if (rectxt == NULL) - doc = xmlReadMemory((char *) base, info.st_size, - filename, NULL, options); - else - doc = xmlCtxtReadMemory(rectxt, (char *) base, info.st_size, - filename, NULL, options); - - munmap((char *) base, info.st_size); - close(fd); -#endif -#ifdef LIBXML_VALID_ENABLED - } else if (valid) { - xmlParserCtxtPtr ctxt = NULL; - - if (rectxt == NULL) - ctxt = xmlNewParserCtxt(); - else - ctxt = rectxt; - if (ctxt == NULL) { - doc = NULL; - } else { - doc = xmlCtxtReadFile(ctxt, filename, NULL, options); - - if (ctxt->valid == 0) - progresult = XMLLINT_ERR_RDFILE; - if (rectxt == NULL) - xmlFreeParserCtxt(ctxt); - } -#endif /* LIBXML_VALID_ENABLED */ - } else { - if (rectxt != NULL) - doc = xmlCtxtReadFile(rectxt, filename, NULL, options); - else { -#ifdef LIBXML_SAX1_ENABLED - if (sax1) - doc = xmlParseFile(filename); - else -#endif /* LIBXML_SAX1_ENABLED */ - doc = xmlReadFile(filename, NULL, options); - } - } - } - - /* - * If we don't have a document we might as well give up. Do we - * want an error message here? */ - if (doc == NULL) { - progresult = XMLLINT_ERR_UNCLASS; - return; - } - - if ((timing) && (!repeat)) { - endTimer("Parsing"); - } - - /* - * Remove DOCTYPE nodes - */ - if (dropdtd) { - xmlDtdPtr dtd; - - dtd = xmlGetIntSubset(doc); - if (dtd != NULL) { - xmlUnlinkNode((xmlNodePtr)dtd); - xmlFreeDtd(dtd); - } - } - -#ifdef LIBXML_XINCLUDE_ENABLED - if (xinclude) { - if ((timing) && (!repeat)) { - startTimer(); - } - if (xmlXIncludeProcessFlags(doc, options) < 0) - progresult = XMLLINT_ERR_UNCLASS; - if ((timing) && (!repeat)) { - endTimer("Xinclude processing"); - } - } -#endif - -#ifdef LIBXML_XPATH_ENABLED - if (xpathquery != NULL) { - doXPathQuery(doc, xpathquery); - } -#endif - -#ifdef LIBXML_DEBUG_ENABLED -#ifdef LIBXML_XPATH_ENABLED - /* - * shell interaction - */ - if (shell) { - xmlXPathOrderDocElems(doc); - xmlShell(doc, filename, xmlShellReadline, stdout); - } -#endif -#endif - -#ifdef LIBXML_TREE_ENABLED - /* - * test intermediate copy if needed. - */ - if (copy) { - tmp = doc; - if (timing) { - startTimer(); - } - doc = xmlCopyDoc(doc, 1); - if (timing) { - endTimer("Copying"); - } - if (timing) { - startTimer(); - } - xmlFreeDoc(tmp); - if (timing) { - endTimer("Freeing original"); - } - } -#endif /* LIBXML_TREE_ENABLED */ - -#ifdef LIBXML_VALID_ENABLED - if ((insert) && (!html)) { - const xmlChar* list[256]; - int nb, i; - xmlNodePtr node; - - if (doc->children != NULL) { - node = doc->children; - while ((node != NULL) && (node->last == NULL)) node = node->next; - if (node != NULL) { - nb = xmlValidGetValidElements(node->last, NULL, list, 256); - if (nb < 0) { - fprintf(stderr, "could not get valid list of elements\n"); - } else if (nb == 0) { - fprintf(stderr, "No element can be inserted under root\n"); - } else { - fprintf(stderr, "%d element types can be inserted under root:\n", - nb); - for (i = 0;i < nb;i++) { - fprintf(stderr, "%s\n", (char *) list[i]); - } - } - } - } - }else -#endif /* LIBXML_VALID_ENABLED */ -#ifdef LIBXML_READER_ENABLED - if (walker) { - walkDoc(doc); - } -#endif /* LIBXML_READER_ENABLED */ -#ifdef LIBXML_OUTPUT_ENABLED - if (noout == 0) { - int ret; - - /* - * print it. - */ -#ifdef LIBXML_DEBUG_ENABLED - if (!debug) { -#endif - if ((timing) && (!repeat)) { - startTimer(); - } -#ifdef LIBXML_HTML_ENABLED - if ((html) && (!xmlout)) { - if (compress) { - htmlSaveFile(output ? output : "-", doc); - } - else if (encoding != NULL) { - if (format == 1) { - htmlSaveFileFormat(output ? output : "-", doc, encoding, 1); - } - else { - htmlSaveFileFormat(output ? output : "-", doc, encoding, 0); - } - } - else if (format == 1) { - htmlSaveFileFormat(output ? output : "-", doc, NULL, 1); - } - else { - FILE *out; - if (output == NULL) - out = stdout; - else { - out = fopen(output,"wb"); - } - if (out != NULL) { - if (htmlDocDump(out, doc) < 0) - progresult = XMLLINT_ERR_OUT; - - if (output != NULL) - fclose(out); - } else { - fprintf(stderr, "failed to open %s\n", output); - progresult = XMLLINT_ERR_OUT; - } - } - if ((timing) && (!repeat)) { - endTimer("Saving"); - } - } else -#endif -#ifdef LIBXML_C14N_ENABLED - if (canonical) { - xmlChar *result = NULL; - int size; - - size = xmlC14NDocDumpMemory(doc, NULL, XML_C14N_1_0, NULL, 1, &result); - if (size >= 0) { - if (write(1, result, size) == -1) { - fprintf(stderr, "Can't write data\n"); - } - xmlFree(result); - } else { - fprintf(stderr, "Failed to canonicalize\n"); - progresult = XMLLINT_ERR_OUT; - } - } else if (canonical) { - xmlChar *result = NULL; - int size; - - size = xmlC14NDocDumpMemory(doc, NULL, XML_C14N_1_1, NULL, 1, &result); - if (size >= 0) { - if (write(1, result, size) == -1) { - fprintf(stderr, "Can't write data\n"); - } - xmlFree(result); - } else { - fprintf(stderr, "Failed to canonicalize\n"); - progresult = XMLLINT_ERR_OUT; - } - } else - if (exc_canonical) { - xmlChar *result = NULL; - int size; - - size = xmlC14NDocDumpMemory(doc, NULL, XML_C14N_EXCLUSIVE_1_0, NULL, 1, &result); - if (size >= 0) { - if (write(1, result, size) == -1) { - fprintf(stderr, "Can't write data\n"); - } - xmlFree(result); - } else { - fprintf(stderr, "Failed to canonicalize\n"); - progresult = XMLLINT_ERR_OUT; - } - } else -#endif -#ifdef HAVE_SYS_MMAN_H - if (memory) { - xmlChar *result; - int len; - - if (encoding != NULL) { - if (format == 1) { - xmlDocDumpFormatMemoryEnc(doc, &result, &len, encoding, 1); - } else { - xmlDocDumpMemoryEnc(doc, &result, &len, encoding); - } - } else { - if (format == 1) - xmlDocDumpFormatMemory(doc, &result, &len, 1); - else - xmlDocDumpMemory(doc, &result, &len); - } - if (result == NULL) { - fprintf(stderr, "Failed to save\n"); - progresult = XMLLINT_ERR_OUT; - } else { - if (write(1, result, len) == -1) { - fprintf(stderr, "Can't write data\n"); - } - xmlFree(result); - } - - } else -#endif /* HAVE_SYS_MMAN_H */ - if (compress) { - xmlSaveFile(output ? output : "-", doc); - } else if (oldout) { - if (encoding != NULL) { - if (format == 1) { - ret = xmlSaveFormatFileEnc(output ? output : "-", doc, - encoding, 1); - } - else { - ret = xmlSaveFileEnc(output ? output : "-", doc, - encoding); - } - if (ret < 0) { - fprintf(stderr, "failed save to %s\n", - output ? output : "-"); - progresult = XMLLINT_ERR_OUT; - } - } else if (format == 1) { - ret = xmlSaveFormatFile(output ? output : "-", doc, 1); - if (ret < 0) { - fprintf(stderr, "failed save to %s\n", - output ? output : "-"); - progresult = XMLLINT_ERR_OUT; - } - } else { - FILE *out; - if (output == NULL) - out = stdout; - else { - out = fopen(output,"wb"); - } - if (out != NULL) { - if (xmlDocDump(out, doc) < 0) - progresult = XMLLINT_ERR_OUT; - - if (output != NULL) - fclose(out); - } else { - fprintf(stderr, "failed to open %s\n", output); - progresult = XMLLINT_ERR_OUT; - } - } - } else { - xmlSaveCtxtPtr ctxt; - int saveOpts = 0; - - if (format == 1) - saveOpts |= XML_SAVE_FORMAT; - else if (format == 2) - saveOpts |= XML_SAVE_WSNONSIG; - -#if defined(LIBXML_HTML_ENABLED) || defined(LIBXML_VALID_ENABLED) - if (xmlout) - saveOpts |= XML_SAVE_AS_XML; -#endif - - if (output == NULL) - ctxt = xmlSaveToFd(1, encoding, saveOpts); - else - ctxt = xmlSaveToFilename(output, encoding, saveOpts); - - if (ctxt != NULL) { - if (xmlSaveDoc(ctxt, doc) < 0) { - fprintf(stderr, "failed save to %s\n", - output ? output : "-"); - progresult = XMLLINT_ERR_OUT; - } - xmlSaveClose(ctxt); - } else { - progresult = XMLLINT_ERR_OUT; - } - } - if ((timing) && (!repeat)) { - endTimer("Saving"); - } -#ifdef LIBXML_DEBUG_ENABLED - } else { - FILE *out; - if (output == NULL) - out = stdout; - else { - out = fopen(output,"wb"); - } - if (out != NULL) { - xmlDebugDumpDocument(out, doc); - - if (output != NULL) - fclose(out); - } else { - fprintf(stderr, "failed to open %s\n", output); - progresult = XMLLINT_ERR_OUT; - } - } -#endif - } -#endif /* LIBXML_OUTPUT_ENABLED */ - -#ifdef LIBXML_VALID_ENABLED - /* - * A posteriori validation test - */ - if ((dtdvalid != NULL) || (dtdvalidfpi != NULL)) { - xmlDtdPtr dtd; - - if ((timing) && (!repeat)) { - startTimer(); - } - if (dtdvalid != NULL) - dtd = xmlParseDTD(NULL, (const xmlChar *)dtdvalid); - else - dtd = xmlParseDTD((const xmlChar *)dtdvalidfpi, NULL); - if ((timing) && (!repeat)) { - endTimer("Parsing DTD"); - } - if (dtd == NULL) { - if (dtdvalid != NULL) - xmlGenericError(xmlGenericErrorContext, - "Could not parse DTD %s\n", dtdvalid); - else - xmlGenericError(xmlGenericErrorContext, - "Could not parse DTD %s\n", dtdvalidfpi); - progresult = XMLLINT_ERR_DTD; - } else { - xmlValidCtxtPtr cvp; - - if ((cvp = xmlNewValidCtxt()) == NULL) { - xmlGenericError(xmlGenericErrorContext, - "Couldn't allocate validation context\n"); - exit(-1); - } - cvp->userData = (void *) stderr; - cvp->error = (xmlValidityErrorFunc) fprintf; - cvp->warning = (xmlValidityWarningFunc) fprintf; - - if ((timing) && (!repeat)) { - startTimer(); - } - if (!xmlValidateDtd(cvp, doc, dtd)) { - if (dtdvalid != NULL) - xmlGenericError(xmlGenericErrorContext, - "Document %s does not validate against %s\n", - filename, dtdvalid); - else - xmlGenericError(xmlGenericErrorContext, - "Document %s does not validate against %s\n", - filename, dtdvalidfpi); - progresult = XMLLINT_ERR_VALID; - } - if ((timing) && (!repeat)) { - endTimer("Validating against DTD"); - } - xmlFreeValidCtxt(cvp); - xmlFreeDtd(dtd); - } - } else if (postvalid) { - xmlValidCtxtPtr cvp; - - if ((cvp = xmlNewValidCtxt()) == NULL) { - xmlGenericError(xmlGenericErrorContext, - "Couldn't allocate validation context\n"); - exit(-1); - } - - if ((timing) && (!repeat)) { - startTimer(); - } - cvp->userData = (void *) stderr; - cvp->error = (xmlValidityErrorFunc) fprintf; - cvp->warning = (xmlValidityWarningFunc) fprintf; - if (!xmlValidateDocument(cvp, doc)) { - xmlGenericError(xmlGenericErrorContext, - "Document %s does not validate\n", filename); - progresult = XMLLINT_ERR_VALID; - } - if ((timing) && (!repeat)) { - endTimer("Validating"); - } - xmlFreeValidCtxt(cvp); - } -#endif /* LIBXML_VALID_ENABLED */ -#ifdef LIBXML_SCHEMATRON_ENABLED - if (wxschematron != NULL) { - xmlSchematronValidCtxtPtr ctxt; - int ret; - int flag; - - if ((timing) && (!repeat)) { - startTimer(); - } - - if (debug) - flag = XML_SCHEMATRON_OUT_XML; - else - flag = XML_SCHEMATRON_OUT_TEXT; - if (noout) - flag |= XML_SCHEMATRON_OUT_QUIET; - ctxt = xmlSchematronNewValidCtxt(wxschematron, flag); -#if 0 - xmlSchematronSetValidErrors(ctxt, - (xmlSchematronValidityErrorFunc) fprintf, - (xmlSchematronValidityWarningFunc) fprintf, - stderr); -#endif - ret = xmlSchematronValidateDoc(ctxt, doc); - if (ret == 0) { - fprintf(stderr, "%s validates\n", filename); - } else if (ret > 0) { - fprintf(stderr, "%s fails to validate\n", filename); - progresult = XMLLINT_ERR_VALID; - } else { - fprintf(stderr, "%s validation generated an internal error\n", - filename); - progresult = XMLLINT_ERR_VALID; - } - xmlSchematronFreeValidCtxt(ctxt); - if ((timing) && (!repeat)) { - endTimer("Validating"); - } - } -#endif -#ifdef LIBXML_SCHEMAS_ENABLED - if (relaxngschemas != NULL) { - xmlRelaxNGValidCtxtPtr ctxt; - int ret; - - if ((timing) && (!repeat)) { - startTimer(); - } - - ctxt = xmlRelaxNGNewValidCtxt(relaxngschemas); - xmlRelaxNGSetValidErrors(ctxt, - (xmlRelaxNGValidityErrorFunc) fprintf, - (xmlRelaxNGValidityWarningFunc) fprintf, - stderr); - ret = xmlRelaxNGValidateDoc(ctxt, doc); - if (ret == 0) { - fprintf(stderr, "%s validates\n", filename); - } else if (ret > 0) { - fprintf(stderr, "%s fails to validate\n", filename); - progresult = XMLLINT_ERR_VALID; - } else { - fprintf(stderr, "%s validation generated an internal error\n", - filename); - progresult = XMLLINT_ERR_VALID; - } - xmlRelaxNGFreeValidCtxt(ctxt); - if ((timing) && (!repeat)) { - endTimer("Validating"); - } - } else if (wxschemas != NULL) { - xmlSchemaValidCtxtPtr ctxt; - int ret; - - if ((timing) && (!repeat)) { - startTimer(); - } - - ctxt = xmlSchemaNewValidCtxt(wxschemas); - xmlSchemaSetValidErrors(ctxt, - (xmlSchemaValidityErrorFunc) fprintf, - (xmlSchemaValidityWarningFunc) fprintf, - stderr); - ret = xmlSchemaValidateDoc(ctxt, doc); - if (ret == 0) { - fprintf(stderr, "%s validates\n", filename); - } else if (ret > 0) { - fprintf(stderr, "%s fails to validate\n", filename); - progresult = XMLLINT_ERR_VALID; - } else { - fprintf(stderr, "%s validation generated an internal error\n", - filename); - progresult = XMLLINT_ERR_VALID; - } - xmlSchemaFreeValidCtxt(ctxt); - if ((timing) && (!repeat)) { - endTimer("Validating"); - } - } -#endif - -#ifdef LIBXML_DEBUG_ENABLED -#if defined(LIBXML_HTML_ENABLED) || defined(LIBXML_VALID_ENABLED) - if ((debugent) && (!html)) - xmlDebugDumpEntities(stderr, doc); -#endif -#endif - - /* - * free it. - */ - if ((timing) && (!repeat)) { - startTimer(); - } - xmlFreeDoc(doc); - if ((timing) && (!repeat)) { - endTimer("Freeing"); - } -} - -/************************************************************************ - * * - * Usage and Main * - * * - ************************************************************************/ - -static void showVersion(const char *name) { - fprintf(stderr, "%s: using libxml version %s\n", name, xmlParserVersion); - fprintf(stderr, " compiled with: "); - if (xmlHasFeature(XML_WITH_THREAD)) fprintf(stderr, "Threads "); - if (xmlHasFeature(XML_WITH_TREE)) fprintf(stderr, "Tree "); - if (xmlHasFeature(XML_WITH_OUTPUT)) fprintf(stderr, "Output "); - if (xmlHasFeature(XML_WITH_PUSH)) fprintf(stderr, "Push "); - if (xmlHasFeature(XML_WITH_READER)) fprintf(stderr, "Reader "); - if (xmlHasFeature(XML_WITH_PATTERN)) fprintf(stderr, "Patterns "); - if (xmlHasFeature(XML_WITH_WRITER)) fprintf(stderr, "Writer "); - if (xmlHasFeature(XML_WITH_SAX1)) fprintf(stderr, "SAXv1 "); - if (xmlHasFeature(XML_WITH_FTP)) fprintf(stderr, "FTP "); - if (xmlHasFeature(XML_WITH_HTTP)) fprintf(stderr, "HTTP "); - if (xmlHasFeature(XML_WITH_VALID)) fprintf(stderr, "DTDValid "); - if (xmlHasFeature(XML_WITH_HTML)) fprintf(stderr, "HTML "); - if (xmlHasFeature(XML_WITH_LEGACY)) fprintf(stderr, "Legacy "); - if (xmlHasFeature(XML_WITH_C14N)) fprintf(stderr, "C14N "); - if (xmlHasFeature(XML_WITH_CATALOG)) fprintf(stderr, "Catalog "); - if (xmlHasFeature(XML_WITH_XPATH)) fprintf(stderr, "XPath "); - if (xmlHasFeature(XML_WITH_XPTR)) fprintf(stderr, "XPointer "); - if (xmlHasFeature(XML_WITH_XINCLUDE)) fprintf(stderr, "XInclude "); - if (xmlHasFeature(XML_WITH_ICONV)) fprintf(stderr, "Iconv "); - if (xmlHasFeature(XML_WITH_ISO8859X)) fprintf(stderr, "ISO8859X "); - if (xmlHasFeature(XML_WITH_UNICODE)) fprintf(stderr, "Unicode "); - if (xmlHasFeature(XML_WITH_REGEXP)) fprintf(stderr, "Regexps "); - if (xmlHasFeature(XML_WITH_AUTOMATA)) fprintf(stderr, "Automata "); - if (xmlHasFeature(XML_WITH_EXPR)) fprintf(stderr, "Expr "); - if (xmlHasFeature(XML_WITH_SCHEMAS)) fprintf(stderr, "Schemas "); - if (xmlHasFeature(XML_WITH_SCHEMATRON)) fprintf(stderr, "Schematron "); - if (xmlHasFeature(XML_WITH_MODULES)) fprintf(stderr, "Modules "); - if (xmlHasFeature(XML_WITH_DEBUG)) fprintf(stderr, "Debug "); - if (xmlHasFeature(XML_WITH_DEBUG_MEM)) fprintf(stderr, "MemDebug "); - if (xmlHasFeature(XML_WITH_DEBUG_RUN)) fprintf(stderr, "RunDebug "); - if (xmlHasFeature(XML_WITH_ZLIB)) fprintf(stderr, "Zlib "); - if (xmlHasFeature(XML_WITH_LZMA)) fprintf(stderr, "Lzma "); - fprintf(stderr, "\n"); -} - -static void usage(const char *name) { - printf("Usage : %s [options] XMLfiles ...\n", name); -#ifdef LIBXML_OUTPUT_ENABLED - printf("\tParse the XML files and output the result of the parsing\n"); -#else - printf("\tParse the XML files\n"); -#endif /* LIBXML_OUTPUT_ENABLED */ - printf("\t--version : display the version of the XML library used\n"); -#ifdef LIBXML_DEBUG_ENABLED - printf("\t--debug : dump a debug tree of the in-memory document\n"); - printf("\t--shell : run a navigating shell\n"); - printf("\t--debugent : debug the entities defined in the document\n"); -#else -#ifdef LIBXML_READER_ENABLED - printf("\t--debug : dump the nodes content when using --stream\n"); -#endif /* LIBXML_READER_ENABLED */ -#endif -#ifdef LIBXML_TREE_ENABLED - printf("\t--copy : used to test the internal copy implementation\n"); -#endif /* LIBXML_TREE_ENABLED */ - printf("\t--recover : output what was parsable on broken XML documents\n"); - printf("\t--huge : remove any internal arbitrary parser limits\n"); - printf("\t--noent : substitute entity references by their value\n"); - printf("\t--noenc : ignore any encoding specified inside the document\n"); - printf("\t--noout : don't output the result tree\n"); - printf("\t--path 'paths': provide a set of paths for resources\n"); - printf("\t--load-trace : print trace of all external entites loaded\n"); - printf("\t--nonet : refuse to fetch DTDs or entities over network\n"); - printf("\t--nocompact : do not generate compact text nodes\n"); - printf("\t--htmlout : output results as HTML\n"); - printf("\t--nowrap : do not put HTML doc wrapper\n"); -#ifdef LIBXML_VALID_ENABLED - printf("\t--valid : validate the document in addition to std well-formed check\n"); - printf("\t--postvalid : do a posteriori validation, i.e after parsing\n"); - printf("\t--dtdvalid URL : do a posteriori validation against a given DTD\n"); - printf("\t--dtdvalidfpi FPI : same but name the DTD with a Public Identifier\n"); -#endif /* LIBXML_VALID_ENABLED */ - printf("\t--timing : print some timings\n"); - printf("\t--output file or -o file: save to a given file\n"); - printf("\t--repeat : repeat 100 times, for timing or profiling\n"); - printf("\t--insert : ad-hoc test for valid insertions\n"); -#ifdef LIBXML_OUTPUT_ENABLED -#ifdef HAVE_ZLIB_H - printf("\t--compress : turn on gzip compression of output\n"); -#endif -#endif /* LIBXML_OUTPUT_ENABLED */ -#ifdef LIBXML_HTML_ENABLED - printf("\t--html : use the HTML parser\n"); - printf("\t--xmlout : force to use the XML serializer when using --html\n"); - printf("\t--nodefdtd : do not default HTML doctype\n"); -#endif -#ifdef LIBXML_PUSH_ENABLED - printf("\t--push : use the push mode of the parser\n"); -#endif /* LIBXML_PUSH_ENABLED */ -#ifdef HAVE_SYS_MMAN_H - printf("\t--memory : parse from memory\n"); -#endif - printf("\t--maxmem nbbytes : limits memory allocation to nbbytes bytes\n"); - printf("\t--nowarning : do not emit warnings from parser/validator\n"); - printf("\t--noblanks : drop (ignorable?) blanks spaces\n"); - printf("\t--nocdata : replace cdata section with text nodes\n"); -#ifdef LIBXML_OUTPUT_ENABLED - printf("\t--format : reformat/reindent the input\n"); - printf("\t--encode encoding : output in the given encoding\n"); - printf("\t--dropdtd : remove the DOCTYPE of the input docs\n"); - printf("\t--pretty STYLE : pretty-print in a particular style\n"); - printf("\t 0 Do not pretty print\n"); - printf("\t 1 Format the XML content, as --format\n"); - printf("\t 2 Add whitespace inside tags, preserving content\n"); -#endif /* LIBXML_OUTPUT_ENABLED */ - printf("\t--c14n : save in W3C canonical format v1.0 (with comments)\n"); - printf("\t--c14n11 : save in W3C canonical format v1.1 (with comments)\n"); - printf("\t--exc-c14n : save in W3C exclusive canonical format (with comments)\n"); -#ifdef LIBXML_C14N_ENABLED -#endif /* LIBXML_C14N_ENABLED */ - printf("\t--nsclean : remove redundant namespace declarations\n"); - printf("\t--testIO : test user I/O support\n"); -#ifdef LIBXML_CATALOG_ENABLED - printf("\t--catalogs : use SGML catalogs from $SGML_CATALOG_FILES\n"); - printf("\t otherwise XML Catalogs starting from \n"); - printf("\t %s are activated by default\n", XML_XML_DEFAULT_CATALOG); - printf("\t--nocatalogs: deactivate all catalogs\n"); -#endif - printf("\t--auto : generate a small doc on the fly\n"); -#ifdef LIBXML_XINCLUDE_ENABLED - printf("\t--xinclude : do XInclude processing\n"); - printf("\t--noxincludenode : same but do not generate XInclude nodes\n"); - printf("\t--nofixup-base-uris : do not fixup xml:base uris\n"); -#endif - printf("\t--loaddtd : fetch external DTD\n"); - printf("\t--dtdattr : loaddtd + populate the tree with inherited attributes \n"); -#ifdef LIBXML_READER_ENABLED - printf("\t--stream : use the streaming interface to process very large files\n"); - printf("\t--walker : create a reader and walk though the resulting doc\n"); -#endif /* LIBXML_READER_ENABLED */ -#ifdef LIBXML_PATTERN_ENABLED - printf("\t--pattern pattern_value : test the pattern support\n"); -#endif - printf("\t--chkregister : verify the node registration code\n"); -#ifdef LIBXML_SCHEMAS_ENABLED - printf("\t--relaxng schema : do RelaxNG validation against the schema\n"); - printf("\t--schema schema : do validation against the WXS schema\n"); -#endif -#ifdef LIBXML_SCHEMATRON_ENABLED - printf("\t--schematron schema : do validation against a schematron\n"); -#endif -#ifdef LIBXML_SAX1_ENABLED - printf("\t--sax1: use the old SAX1 interfaces for processing\n"); -#endif - printf("\t--sax: do not build a tree but work just at the SAX level\n"); - printf("\t--oldxml10: use XML-1.0 parsing rules before the 5th edition\n"); -#ifdef LIBXML_XPATH_ENABLED - printf("\t--xpath expr: evaluate the XPath expression, inply --noout\n"); -#endif - - printf("\nLibxml project home page: http://xmlsoft.org/\n"); - printf("To report bugs or get some help check: http://xmlsoft.org/bugs.html\n"); -} - -static void registerNode(xmlNodePtr node) -{ - node->_private = malloc(sizeof(long)); - *(long*)node->_private = (long) 0x81726354; - nbregister++; -} - -static void deregisterNode(xmlNodePtr node) -{ - assert(node->_private != NULL); - assert(*(long*)node->_private == (long) 0x81726354); - free(node->_private); - nbregister--; -} - -int -main(int argc, char **argv) { - int i, acount; - int files = 0; - int version = 0; - const char* indent; - - if (argc <= 1) { - usage(argv[0]); - return(1); - } - LIBXML_TEST_VERSION - for (i = 1; i < argc ; i++) { - if (!strcmp(argv[i], "-")) - break; - - if (argv[i][0] != '-') - continue; - if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug"))) - debug++; - else -#ifdef LIBXML_DEBUG_ENABLED - if ((!strcmp(argv[i], "-shell")) || - (!strcmp(argv[i], "--shell"))) { - shell++; - noout = 1; - } else -#endif -#ifdef LIBXML_TREE_ENABLED - if ((!strcmp(argv[i], "-copy")) || (!strcmp(argv[i], "--copy"))) - copy++; - else -#endif /* LIBXML_TREE_ENABLED */ - if ((!strcmp(argv[i], "-recover")) || - (!strcmp(argv[i], "--recover"))) { - recovery++; - options |= XML_PARSE_RECOVER; - } else if ((!strcmp(argv[i], "-huge")) || - (!strcmp(argv[i], "--huge"))) { - options |= XML_PARSE_HUGE; - } else if ((!strcmp(argv[i], "-noent")) || - (!strcmp(argv[i], "--noent"))) { - noent++; - options |= XML_PARSE_NOENT; - } else if ((!strcmp(argv[i], "-noenc")) || - (!strcmp(argv[i], "--noenc"))) { - noenc++; - options |= XML_PARSE_IGNORE_ENC; - } else if ((!strcmp(argv[i], "-nsclean")) || - (!strcmp(argv[i], "--nsclean"))) { - options |= XML_PARSE_NSCLEAN; - } else if ((!strcmp(argv[i], "-nocdata")) || - (!strcmp(argv[i], "--nocdata"))) { - options |= XML_PARSE_NOCDATA; - } else if ((!strcmp(argv[i], "-nodict")) || - (!strcmp(argv[i], "--nodict"))) { - options |= XML_PARSE_NODICT; - } else if ((!strcmp(argv[i], "-version")) || - (!strcmp(argv[i], "--version"))) { - showVersion(argv[0]); - version = 1; - } else if ((!strcmp(argv[i], "-noout")) || - (!strcmp(argv[i], "--noout"))) - noout++; -#ifdef LIBXML_OUTPUT_ENABLED - else if ((!strcmp(argv[i], "-o")) || - (!strcmp(argv[i], "-output")) || - (!strcmp(argv[i], "--output"))) { - i++; - output = argv[i]; - } -#endif /* LIBXML_OUTPUT_ENABLED */ - else if ((!strcmp(argv[i], "-htmlout")) || - (!strcmp(argv[i], "--htmlout"))) - htmlout++; - else if ((!strcmp(argv[i], "-nowrap")) || - (!strcmp(argv[i], "--nowrap"))) - nowrap++; -#ifdef LIBXML_HTML_ENABLED - else if ((!strcmp(argv[i], "-html")) || - (!strcmp(argv[i], "--html"))) { - html++; - } - else if ((!strcmp(argv[i], "-xmlout")) || - (!strcmp(argv[i], "--xmlout"))) { - xmlout++; - } else if ((!strcmp(argv[i], "-nodefdtd")) || - (!strcmp(argv[i], "--nodefdtd"))) { - nodefdtd++; - options |= HTML_PARSE_NODEFDTD; - } -#endif /* LIBXML_HTML_ENABLED */ - else if ((!strcmp(argv[i], "-loaddtd")) || - (!strcmp(argv[i], "--loaddtd"))) { - loaddtd++; - options |= XML_PARSE_DTDLOAD; - } else if ((!strcmp(argv[i], "-dtdattr")) || - (!strcmp(argv[i], "--dtdattr"))) { - loaddtd++; - dtdattrs++; - options |= XML_PARSE_DTDATTR; - } -#ifdef LIBXML_VALID_ENABLED - else if ((!strcmp(argv[i], "-valid")) || - (!strcmp(argv[i], "--valid"))) { - valid++; - options |= XML_PARSE_DTDVALID; - } else if ((!strcmp(argv[i], "-postvalid")) || - (!strcmp(argv[i], "--postvalid"))) { - postvalid++; - loaddtd++; - options |= XML_PARSE_DTDLOAD; - } else if ((!strcmp(argv[i], "-dtdvalid")) || - (!strcmp(argv[i], "--dtdvalid"))) { - i++; - dtdvalid = argv[i]; - loaddtd++; - options |= XML_PARSE_DTDLOAD; - } else if ((!strcmp(argv[i], "-dtdvalidfpi")) || - (!strcmp(argv[i], "--dtdvalidfpi"))) { - i++; - dtdvalidfpi = argv[i]; - loaddtd++; - options |= XML_PARSE_DTDLOAD; - } -#endif /* LIBXML_VALID_ENABLED */ - else if ((!strcmp(argv[i], "-dropdtd")) || - (!strcmp(argv[i], "--dropdtd"))) - dropdtd++; - else if ((!strcmp(argv[i], "-insert")) || - (!strcmp(argv[i], "--insert"))) - insert++; - else if ((!strcmp(argv[i], "-timing")) || - (!strcmp(argv[i], "--timing"))) - timing++; - else if ((!strcmp(argv[i], "-auto")) || - (!strcmp(argv[i], "--auto"))) - generate++; - else if ((!strcmp(argv[i], "-repeat")) || - (!strcmp(argv[i], "--repeat"))) { - if (repeat) - repeat *= 10; - else - repeat = 100; - } -#ifdef LIBXML_PUSH_ENABLED - else if ((!strcmp(argv[i], "-push")) || - (!strcmp(argv[i], "--push"))) - push++; -#endif /* LIBXML_PUSH_ENABLED */ -#ifdef HAVE_SYS_MMAN_H - else if ((!strcmp(argv[i], "-memory")) || - (!strcmp(argv[i], "--memory"))) - memory++; -#endif - else if ((!strcmp(argv[i], "-testIO")) || - (!strcmp(argv[i], "--testIO"))) - testIO++; -#ifdef LIBXML_XINCLUDE_ENABLED - else if ((!strcmp(argv[i], "-xinclude")) || - (!strcmp(argv[i], "--xinclude"))) { - xinclude++; - options |= XML_PARSE_XINCLUDE; - } - else if ((!strcmp(argv[i], "-noxincludenode")) || - (!strcmp(argv[i], "--noxincludenode"))) { - xinclude++; - options |= XML_PARSE_XINCLUDE; - options |= XML_PARSE_NOXINCNODE; - } - else if ((!strcmp(argv[i], "-nofixup-base-uris")) || - (!strcmp(argv[i], "--nofixup-base-uris"))) { - xinclude++; - options |= XML_PARSE_XINCLUDE; - options |= XML_PARSE_NOBASEFIX; - } -#endif -#ifdef LIBXML_OUTPUT_ENABLED -#ifdef HAVE_ZLIB_H - else if ((!strcmp(argv[i], "-compress")) || - (!strcmp(argv[i], "--compress"))) { - compress++; - xmlSetCompressMode(9); - } -#endif -#endif /* LIBXML_OUTPUT_ENABLED */ - else if ((!strcmp(argv[i], "-nowarning")) || - (!strcmp(argv[i], "--nowarning"))) { - xmlGetWarningsDefaultValue = 0; - xmlPedanticParserDefault(0); - options |= XML_PARSE_NOWARNING; - } - else if ((!strcmp(argv[i], "-pedantic")) || - (!strcmp(argv[i], "--pedantic"))) { - xmlGetWarningsDefaultValue = 1; - xmlPedanticParserDefault(1); - options |= XML_PARSE_PEDANTIC; - } -#ifdef LIBXML_DEBUG_ENABLED - else if ((!strcmp(argv[i], "-debugent")) || - (!strcmp(argv[i], "--debugent"))) { - debugent++; - xmlParserDebugEntities = 1; - } -#endif -#ifdef LIBXML_C14N_ENABLED - else if ((!strcmp(argv[i], "-c14n")) || - (!strcmp(argv[i], "--c14n"))) { - canonical++; - options |= XML_PARSE_NOENT | XML_PARSE_DTDATTR | XML_PARSE_DTDLOAD; - } - else if ((!strcmp(argv[i], "-c14n11")) || - (!strcmp(argv[i], "--c14n11"))) { - canonical_11++; - options |= XML_PARSE_NOENT | XML_PARSE_DTDATTR | XML_PARSE_DTDLOAD; - } - else if ((!strcmp(argv[i], "-exc-c14n")) || - (!strcmp(argv[i], "--exc-c14n"))) { - exc_canonical++; - options |= XML_PARSE_NOENT | XML_PARSE_DTDATTR | XML_PARSE_DTDLOAD; - } -#endif -#ifdef LIBXML_CATALOG_ENABLED - else if ((!strcmp(argv[i], "-catalogs")) || - (!strcmp(argv[i], "--catalogs"))) { - catalogs++; - } else if ((!strcmp(argv[i], "-nocatalogs")) || - (!strcmp(argv[i], "--nocatalogs"))) { - nocatalogs++; - } -#endif - else if ((!strcmp(argv[i], "-encode")) || - (!strcmp(argv[i], "--encode"))) { - i++; - encoding = argv[i]; - /* - * OK it's for testing purposes - */ - xmlAddEncodingAlias("UTF-8", "DVEnc"); - } - else if ((!strcmp(argv[i], "-noblanks")) || - (!strcmp(argv[i], "--noblanks"))) { - noblanks++; - xmlKeepBlanksDefault(0); - } - else if ((!strcmp(argv[i], "-maxmem")) || - (!strcmp(argv[i], "--maxmem"))) { - i++; - if (sscanf(argv[i], "%d", &maxmem) == 1) { - xmlMemSetup(myFreeFunc, myMallocFunc, myReallocFunc, - myStrdupFunc); - } else { - maxmem = 0; - } - } - else if ((!strcmp(argv[i], "-format")) || - (!strcmp(argv[i], "--format"))) { - noblanks++; -#ifdef LIBXML_OUTPUT_ENABLED - format = 1; -#endif /* LIBXML_OUTPUT_ENABLED */ - xmlKeepBlanksDefault(0); - } - else if ((!strcmp(argv[i], "-pretty")) || - (!strcmp(argv[i], "--pretty"))) { - i++; -#ifdef LIBXML_OUTPUT_ENABLED - format = atoi(argv[i]); - if (format == 1) { - noblanks++; - xmlKeepBlanksDefault(0); - } -#endif /* LIBXML_OUTPUT_ENABLED */ - } -#ifdef LIBXML_READER_ENABLED - else if ((!strcmp(argv[i], "-stream")) || - (!strcmp(argv[i], "--stream"))) { - stream++; - } - else if ((!strcmp(argv[i], "-walker")) || - (!strcmp(argv[i], "--walker"))) { - walker++; - noout++; - } -#endif /* LIBXML_READER_ENABLED */ -#ifdef LIBXML_SAX1_ENABLED - else if ((!strcmp(argv[i], "-sax1")) || - (!strcmp(argv[i], "--sax1"))) { - sax1++; - options |= XML_PARSE_SAX1; - } -#endif /* LIBXML_SAX1_ENABLED */ - else if ((!strcmp(argv[i], "-sax")) || - (!strcmp(argv[i], "--sax"))) { - sax++; - } - else if ((!strcmp(argv[i], "-chkregister")) || - (!strcmp(argv[i], "--chkregister"))) { - chkregister++; -#ifdef LIBXML_SCHEMAS_ENABLED - } else if ((!strcmp(argv[i], "-relaxng")) || - (!strcmp(argv[i], "--relaxng"))) { - i++; - relaxng = argv[i]; - noent++; - options |= XML_PARSE_NOENT; - } else if ((!strcmp(argv[i], "-schema")) || - (!strcmp(argv[i], "--schema"))) { - i++; - schema = argv[i]; - noent++; -#endif -#ifdef LIBXML_SCHEMATRON_ENABLED - } else if ((!strcmp(argv[i], "-schematron")) || - (!strcmp(argv[i], "--schematron"))) { - i++; - schematron = argv[i]; - noent++; -#endif - } else if ((!strcmp(argv[i], "-nonet")) || - (!strcmp(argv[i], "--nonet"))) { - options |= XML_PARSE_NONET; - xmlSetExternalEntityLoader(xmlNoNetExternalEntityLoader); - } else if ((!strcmp(argv[i], "-nocompact")) || - (!strcmp(argv[i], "--nocompact"))) { - options &= ~XML_PARSE_COMPACT; - } else if ((!strcmp(argv[i], "-load-trace")) || - (!strcmp(argv[i], "--load-trace"))) { - load_trace++; - } else if ((!strcmp(argv[i], "-path")) || - (!strcmp(argv[i], "--path"))) { - i++; - parsePath(BAD_CAST argv[i]); -#ifdef LIBXML_PATTERN_ENABLED - } else if ((!strcmp(argv[i], "-pattern")) || - (!strcmp(argv[i], "--pattern"))) { - i++; - pattern = argv[i]; -#endif -#ifdef LIBXML_XPATH_ENABLED - } else if ((!strcmp(argv[i], "-xpath")) || - (!strcmp(argv[i], "--xpath"))) { - i++; - noout++; - xpathquery = argv[i]; -#endif - } else if ((!strcmp(argv[i], "-oldxml10")) || - (!strcmp(argv[i], "--oldxml10"))) { - oldxml10++; - options |= XML_PARSE_OLD10; - } else { - fprintf(stderr, "Unknown option %s\n", argv[i]); - usage(argv[0]); - return(1); - } - } - -#ifdef LIBXML_CATALOG_ENABLED - if (nocatalogs == 0) { - if (catalogs) { - const char *catal; - - catal = getenv("SGML_CATALOG_FILES"); - if (catal != NULL) { - xmlLoadCatalogs(catal); - } else { - fprintf(stderr, "Variable $SGML_CATALOG_FILES not set\n"); - } - } - } -#endif - -#ifdef LIBXML_SAX1_ENABLED - if (sax1) - xmlSAXDefaultVersion(1); - else - xmlSAXDefaultVersion(2); -#endif /* LIBXML_SAX1_ENABLED */ - - if (chkregister) { - xmlRegisterNodeDefault(registerNode); - xmlDeregisterNodeDefault(deregisterNode); - } - - indent = getenv("XMLLINT_INDENT"); - if(indent != NULL) { - xmlTreeIndentString = indent; - } - - - defaultEntityLoader = xmlGetExternalEntityLoader(); - xmlSetExternalEntityLoader(xmllintExternalEntityLoader); - - xmlLineNumbersDefault(1); - if (loaddtd != 0) - xmlLoadExtDtdDefaultValue |= XML_DETECT_IDS; - if (dtdattrs) - xmlLoadExtDtdDefaultValue |= XML_COMPLETE_ATTRS; - if (noent != 0) xmlSubstituteEntitiesDefault(1); -#ifdef LIBXML_VALID_ENABLED - if (valid != 0) xmlDoValidityCheckingDefaultValue = 1; -#endif /* LIBXML_VALID_ENABLED */ - if ((htmlout) && (!nowrap)) { - xmlGenericError(xmlGenericErrorContext, - "\n"); - xmlGenericError(xmlGenericErrorContext, - "%s output\n", - argv[0]); - xmlGenericError(xmlGenericErrorContext, - "

    %s output

    \n", - argv[0]); - } - -#ifdef LIBXML_SCHEMATRON_ENABLED - if ((schematron != NULL) && (sax == 0) -#ifdef LIBXML_READER_ENABLED - && (stream == 0) -#endif /* LIBXML_READER_ENABLED */ - ) { - xmlSchematronParserCtxtPtr ctxt; - - /* forces loading the DTDs */ - xmlLoadExtDtdDefaultValue |= 1; - options |= XML_PARSE_DTDLOAD; - if (timing) { - startTimer(); - } - ctxt = xmlSchematronNewParserCtxt(schematron); -#if 0 - xmlSchematronSetParserErrors(ctxt, - (xmlSchematronValidityErrorFunc) fprintf, - (xmlSchematronValidityWarningFunc) fprintf, - stderr); -#endif - wxschematron = xmlSchematronParse(ctxt); - if (wxschematron == NULL) { - xmlGenericError(xmlGenericErrorContext, - "Schematron schema %s failed to compile\n", schematron); - progresult = XMLLINT_ERR_SCHEMACOMP; - schematron = NULL; - } - xmlSchematronFreeParserCtxt(ctxt); - if (timing) { - endTimer("Compiling the schemas"); - } - } -#endif -#ifdef LIBXML_SCHEMAS_ENABLED - if ((relaxng != NULL) && (sax == 0) -#ifdef LIBXML_READER_ENABLED - && (stream == 0) -#endif /* LIBXML_READER_ENABLED */ - ) { - xmlRelaxNGParserCtxtPtr ctxt; - - /* forces loading the DTDs */ - xmlLoadExtDtdDefaultValue |= 1; - options |= XML_PARSE_DTDLOAD; - if (timing) { - startTimer(); - } - ctxt = xmlRelaxNGNewParserCtxt(relaxng); - xmlRelaxNGSetParserErrors(ctxt, - (xmlRelaxNGValidityErrorFunc) fprintf, - (xmlRelaxNGValidityWarningFunc) fprintf, - stderr); - relaxngschemas = xmlRelaxNGParse(ctxt); - if (relaxngschemas == NULL) { - xmlGenericError(xmlGenericErrorContext, - "Relax-NG schema %s failed to compile\n", relaxng); - progresult = XMLLINT_ERR_SCHEMACOMP; - relaxng = NULL; - } - xmlRelaxNGFreeParserCtxt(ctxt); - if (timing) { - endTimer("Compiling the schemas"); - } - } else if ((schema != NULL) -#ifdef LIBXML_READER_ENABLED - && (stream == 0) -#endif - ) { - xmlSchemaParserCtxtPtr ctxt; - - if (timing) { - startTimer(); - } - ctxt = xmlSchemaNewParserCtxt(schema); - xmlSchemaSetParserErrors(ctxt, - (xmlSchemaValidityErrorFunc) fprintf, - (xmlSchemaValidityWarningFunc) fprintf, - stderr); - wxschemas = xmlSchemaParse(ctxt); - if (wxschemas == NULL) { - xmlGenericError(xmlGenericErrorContext, - "WXS schema %s failed to compile\n", schema); - progresult = XMLLINT_ERR_SCHEMACOMP; - schema = NULL; - } - xmlSchemaFreeParserCtxt(ctxt); - if (timing) { - endTimer("Compiling the schemas"); - } - } -#endif /* LIBXML_SCHEMAS_ENABLED */ -#ifdef LIBXML_PATTERN_ENABLED - if ((pattern != NULL) -#ifdef LIBXML_READER_ENABLED - && (walker == 0) -#endif - ) { - patternc = xmlPatterncompile((const xmlChar *) pattern, NULL, 0, NULL); - if (patternc == NULL) { - xmlGenericError(xmlGenericErrorContext, - "Pattern %s failed to compile\n", pattern); - progresult = XMLLINT_ERR_SCHEMAPAT; - pattern = NULL; - } - } -#endif /* LIBXML_PATTERN_ENABLED */ - for (i = 1; i < argc ; i++) { - if ((!strcmp(argv[i], "-encode")) || - (!strcmp(argv[i], "--encode"))) { - i++; - continue; - } else if ((!strcmp(argv[i], "-o")) || - (!strcmp(argv[i], "-output")) || - (!strcmp(argv[i], "--output"))) { - i++; - continue; - } -#ifdef LIBXML_VALID_ENABLED - if ((!strcmp(argv[i], "-dtdvalid")) || - (!strcmp(argv[i], "--dtdvalid"))) { - i++; - continue; - } - if ((!strcmp(argv[i], "-path")) || - (!strcmp(argv[i], "--path"))) { - i++; - continue; - } - if ((!strcmp(argv[i], "-dtdvalidfpi")) || - (!strcmp(argv[i], "--dtdvalidfpi"))) { - i++; - continue; - } -#endif /* LIBXML_VALID_ENABLED */ - if ((!strcmp(argv[i], "-relaxng")) || - (!strcmp(argv[i], "--relaxng"))) { - i++; - continue; - } - if ((!strcmp(argv[i], "-maxmem")) || - (!strcmp(argv[i], "--maxmem"))) { - i++; - continue; - } - if ((!strcmp(argv[i], "-pretty")) || - (!strcmp(argv[i], "--pretty"))) { - i++; - continue; - } - if ((!strcmp(argv[i], "-schema")) || - (!strcmp(argv[i], "--schema"))) { - i++; - continue; - } - if ((!strcmp(argv[i], "-schematron")) || - (!strcmp(argv[i], "--schematron"))) { - i++; - continue; - } -#ifdef LIBXML_PATTERN_ENABLED - if ((!strcmp(argv[i], "-pattern")) || - (!strcmp(argv[i], "--pattern"))) { - i++; - continue; - } -#endif -#ifdef LIBXML_XPATH_ENABLED - if ((!strcmp(argv[i], "-xpath")) || - (!strcmp(argv[i], "--xpath"))) { - i++; - continue; - } -#endif - if ((timing) && (repeat)) - startTimer(); - /* Remember file names. "-" means stdin. */ - if ((argv[i][0] != '-') || (strcmp(argv[i], "-") == 0)) { - if (repeat) { - xmlParserCtxtPtr ctxt = NULL; - - for (acount = 0;acount < repeat;acount++) { -#ifdef LIBXML_READER_ENABLED - if (stream != 0) { - streamFile(argv[i]); - } else { -#endif /* LIBXML_READER_ENABLED */ - if (sax) { - testSAX(argv[i]); - } else { - if (ctxt == NULL) - ctxt = xmlNewParserCtxt(); - parseAndPrintFile(argv[i], ctxt); - } -#ifdef LIBXML_READER_ENABLED - } -#endif /* LIBXML_READER_ENABLED */ - } - if (ctxt != NULL) - xmlFreeParserCtxt(ctxt); - } else { - nbregister = 0; - -#ifdef LIBXML_READER_ENABLED - if (stream != 0) - streamFile(argv[i]); - else -#endif /* LIBXML_READER_ENABLED */ - if (sax) { - testSAX(argv[i]); - } else { - parseAndPrintFile(argv[i], NULL); - } - - if ((chkregister) && (nbregister != 0)) { - fprintf(stderr, "Registration count off: %d\n", nbregister); - progresult = XMLLINT_ERR_RDREGIS; - } - } - files ++; - if ((timing) && (repeat)) { - endTimer("%d iterations", repeat); - } - } - } - if (generate) - parseAndPrintFile(NULL, NULL); - if ((htmlout) && (!nowrap)) { - xmlGenericError(xmlGenericErrorContext, "\n"); - } - if ((files == 0) && (!generate) && (version == 0)) { - usage(argv[0]); - } -#ifdef LIBXML_SCHEMATRON_ENABLED - if (wxschematron != NULL) - xmlSchematronFree(wxschematron); -#endif -#ifdef LIBXML_SCHEMAS_ENABLED - if (relaxngschemas != NULL) - xmlRelaxNGFree(relaxngschemas); - if (wxschemas != NULL) - xmlSchemaFree(wxschemas); - xmlRelaxNGCleanupTypes(); -#endif -#ifdef LIBXML_PATTERN_ENABLED - if (patternc != NULL) - xmlFreePattern(patternc); -#endif - xmlCleanupParser(); - xmlMemoryDump(); - - return(progresult); -} - diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/DOM.gif b/gtk+-mingw/share/doc/libxml2-2.8.0/html/DOM.gif deleted file mode 100644 index a44882f..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/DOM.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/FAQ.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/FAQ.html deleted file mode 100644 index 0bfd387..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/FAQ.html +++ /dev/null @@ -1,282 +0,0 @@ - - -FAQ
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    The XML C parser and toolkit of Gnome

    FAQ

    Main Menu
    Related links

    Table of Contents:

    License(s)

    1. Licensing Terms for libxml -

      libxml2 is released under the MIT - License; see the file Copyright in the distribution for the precise - wording

      -
    2. -
    3. Can I embed libxml2 in a proprietary application ? -

      Yes. The MIT License allows you to keep proprietary the changes you - made to libxml, but it would be graceful to send-back bug fixes and - improvements as patches for possible incorporation in the main - development tree.

      -
    4. -

    Installation

    1. Do Not Use - libxml1, use libxml2
    2. -

      -
    3. Where can I get libxml ? -

      The original distribution comes from xmlsoft.org or gnome.org

      -

      Most Linux and BSD distributions include libxml, this is probably the - safer way for end-users to use libxml.

      -

      David Doolin provides precompiled Windows versions at http://www.ce.berkeley.edu/~doolin/code/libxmlwin32/

      -
    4. -

      -
    5. I see libxml and libxml2 releases, which one should I install ? -
      • If you are not constrained by backward compatibility issues with - existing applications, install libxml2 only
      • -
      • If you are not doing development, you can safely install both. - Usually the packages libxml and libxml2 are - compatible (this is not the case for development packages).
      • -
      • If you are a developer and your system provides separate packaging - for shared libraries and the development components, it is possible - to install libxml and libxml2, and also libxml-devel - and libxml2-devel - too for libxml2 >= 2.3.0
      • -
      • If you are developing a new application, please develop against - libxml2(-devel)
      • -
    6. -
    7. I can't install the libxml package, it conflicts with libxml0 -

      You probably have an old libxml0 package used to provide the shared - library for libxml.so.0, you can probably safely remove it. The libxml - packages provided on xmlsoft.org provide - libxml.so.0

      -
    8. -
    9. I can't install the libxml(2) RPM package due to failed - dependencies -

      The most generic solution is to re-fetch the latest src.rpm , and - rebuild it locally with

      -

      rpm --rebuild libxml(2)-xxx.src.rpm.

      -

      If everything goes well it will generate two binary rpm packages (one - providing the shared libs and xmllint, and the other one, the -devel - package, providing includes, static libraries and scripts needed to build - applications with libxml(2)) that you can install locally.

      -
    10. -

    Compilation

    1. What is the process to compile libxml2 ? -

      As most UNIX libraries libxml2 follows the "standard":

      -

      gunzip -c xxx.tar.gz | tar xvf -

      -

      cd libxml-xxxx

      -

      ./configure --help

      -

      to see the options, then the compilation/installation proper

      -

      ./configure [possible options]

      -

      make

      -

      make install

      -

      At that point you may have to rerun ldconfig or a similar utility to - update your list of installed shared libs.

      -
    2. -
    3. What other libraries are needed to compile/install libxml2 ? -

      Libxml2 does not require any other library, the normal C ANSI API - should be sufficient (please report any violation to this rule you may - find).

      -

      However if found at configuration time libxml2 will detect and use the - following libs:

      -
      • libz : a - highly portable and available widely compression library.
      • -
      • iconv: a powerful character encoding conversion library. It is - included by default in recent glibc libraries, so it doesn't need to - be installed specifically on Linux. It now seems a part - of the official UNIX specification. Here is one implementation of the - library which source can be found here.
      • -
    4. -

      -
    5. Make check fails on some platforms -

      Sometimes the regression tests' results don't completely match the - value produced by the parser, and the makefile uses diff to print the - delta. On some platforms the diff return breaks the compilation process; - if the diff is small this is probably not a serious problem.

      -

      Sometimes (especially on Solaris) make checks fail due to limitations - in make. Try using GNU-make instead.

      -
    6. -
    7. I use the SVN version and there is no configure script -

      The configure script (and other Makefiles) are generated. Use the - autogen.sh script to regenerate the configure script and Makefiles, - like:

      -

      ./autogen.sh --prefix=/usr --disable-shared

      -
    8. -
    9. I have troubles when running make tests with gcc-3.0 -

      It seems the initial release of gcc-3.0 has a problem with the - optimizer which miscompiles the URI module. Please use another - compiler.

      -
    10. -

    Developer corner

    1. Troubles compiling or linking programs using libxml2 -

      Usually the problem comes from the fact that the compiler doesn't get - the right compilation or linking flags. There is a small shell script - xml2-config which is installed as part of libxml2 usual - install process which provides those flags. Use

      -

      xml2-config --cflags

      -

      to get the compilation flags and

      -

      xml2-config --libs

      -

      to get the linker flags. Usually this is done directly from the - Makefile as:

      -

      CFLAGS=`xml2-config --cflags`

      -

      LIBS=`xml2-config --libs`

      -
    2. -
    3. I want to install my own copy of libxml2 in my home directory and - link my programs against it, but it doesn't work -

      There are many different ways to accomplish this. Here is one way to - do this under Linux. Suppose your home directory is /home/user. - Then:

      -
      • Create a subdirectory, let's call it myxml
      • -
      • unpack the libxml2 distribution into that subdirectory
      • -
      • chdir into the unpacked distribution - (/home/user/myxml/libxml2 )
      • -
      • configure the library using the "--prefix" switch, - specifying an installation subdirectory in - /home/user/myxml, e.g. -

        ./configure --prefix /home/user/myxml/xmlinst {other - configuration options}

        -
      • -
      • now run make followed by make install
      • -
      • At this point, the installation subdirectory contains the complete - "private" include files, library files and binary program files (e.g. - xmllint), located in -

        /home/user/myxml/xmlinst/lib, - /home/user/myxml/xmlinst/include and - /home/user/myxml/xmlinst/bin

        - respectively.
      • -
      • In order to use this "private" library, you should first add it to - the beginning of your default PATH (so that your own private program - files such as xmllint will be used instead of the normal system - ones). To do this, the Bash command would be -

        export PATH=/home/user/myxml/xmlinst/bin:$PATH

        -
      • -
      • Now suppose you have a program test1.c that you would - like to compile with your "private" library. Simply compile it using - the command -

        gcc `xml2-config --cflags --libs` -o test test.c

        - Note that, because your PATH has been set with - /home/user/myxml/xmlinst/bin at the beginning, the xml2-config - program which you just installed will be used instead of the system - default one, and this will automatically get the correct - libraries linked with your program.
      • -
    4. - -

      -
    5. xmlDocDump() generates output on one line. -

      Libxml2 will not invent spaces in the content of a - document since all spaces in the content of a document are - significant. If you build a tree from the API and want - indentation:

      -
      1. the correct way is to generate those yourself too.
      2. -
      3. the dangerous way is to ask libxml2 to add those blanks to your - content modifying the content of your document in the - process. The result may not be what you expect. There is - NO way to guarantee that such a modification won't - affect other parts of the content of your document. See xmlKeepBlanksDefault - () and xmlSaveFormatFile - ()
      4. -
    6. -

      -
    7. Extra nodes in the document: -

      For an XML file as below:

      -
      <?xml version="1.0"?>
      -<PLAN xmlns="http://www.argus.ca/autotest/1.0/">
      -<NODE CommFlag="0"/>
      -<NODE CommFlag="1"/>
      -</PLAN>
      -

      after parsing it with the function - pxmlDoc=xmlParseFile(...);

      -

      I want to the get the content of the first node (node with the - CommFlag="0")

      -

      so I did it as following;

      -
      xmlNodePtr pnode;
      -pnode=pxmlDoc->children->children;
      -

      but it does not work. If I change it to

      -
      pnode=pxmlDoc->children->children->next;
      -

      then it works. Can someone explain it to me.

      -

      -

      In XML all characters in the content of the document are significant - including blanks and formatting line breaks.

      -

      The extra nodes you are wondering about are just that, text nodes with - the formatting spaces which are part of the document but that people tend - to forget. There is a function xmlKeepBlanksDefault - () to remove those at parse time, but that's an heuristic, and its - use should be limited to cases where you are certain there is no - mixed-content in the document.

      -
    8. -
    9. I get compilation errors of existing code like when accessing - root or child fields of nodes. -

      You are compiling code developed for libxml version 1 and using a - libxml2 development environment. Either switch back to libxml v1 devel or - even better fix the code to compile with libxml2 (or both) by following the instructions.

      -
    10. -
    11. I get compilation errors about non existing - xmlRootNode or xmlChildrenNode - fields. -

      The source code you are using has been upgraded to be able to compile with both libxml - and libxml2, but you need to install a more recent version: - libxml(-devel) >= 1.8.8 or libxml2(-devel) >= 2.1.0

      -
    12. -
    13. Random crashes in threaded applications -

      Read and follow all advices on the thread - safety page, and make 100% sure you never call xmlCleanupParser() - while the library or an XML document might still be in use by another - thread.

      -
    14. -
    15. The example provided in the web page does not compile. -

      It's hard to maintain the documentation in sync with the code - <grin/> ...

      -

      Check the previous points 1/ and 2/ raised before, and please send - patches.

      -
    16. -
    17. Where can I get more examples and information than provided on the - web page? -

      Ideally a libxml2 book would be nice. I have no such plan ... But you - can:

      -
      • check more deeply the existing - generated doc
      • -
      • have a look at the set of - examples.
      • -
      • look for examples of use for libxml2 function using the Gnome code - or by asking on Google.
      • -
      • Browse - the libxml2 source , I try to write code as clean and documented - as possible, so looking at it may be helpful. In particular the code - of xmllint.c and of the various testXXX.c test programs should - provide good examples of how to do things with the library.
      • -
    18. -

      -
    19. What about C++ ? -

      libxml2 is written in pure C in order to allow easy reuse on a number - of platforms, including embedded systems. I don't intend to convert to - C++.

      -

      There is however a C++ wrapper which may fulfill your needs:

      -
    20. -
    21. How to validate a document a posteriori ? -

      It is possible to validate documents which had not been validated at - initial parsing time or documents which have been built from scratch - using the API. Use the xmlValidateDtd() - function. It is also possible to simply add a DTD to an existing - document:

      -
      xmlDocPtr doc; /* your existing document */
      -xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /* parse the DTD */
      -
      -        dtd->name = xmlStrDup((xmlChar*)"root_name"); /* use the given root */
      -
      -        doc->intSubset = dtd;
      -        if (doc->children == NULL) xmlAddChild((xmlNodePtr)doc, (xmlNodePtr)dtd);
      -        else xmlAddPrevSibling(doc->children, (xmlNodePtr)dtd);
      -          
      -
    22. -
    23. So what is this funky "xmlChar" used all the time? -

      It is a null terminated sequence of utf-8 characters. And only utf-8! - You need to convert strings encoded in different ways to utf-8 before - passing them to the API. This can be accomplished with the iconv library - for instance.

      -
    24. -
    25. etc ...
    26. -

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/Libxml2-Logo-180x168.gif b/gtk+-mingw/share/doc/libxml2-2.8.0/html/Libxml2-Logo-180x168.gif deleted file mode 100644 index ebded4f..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/Libxml2-Logo-180x168.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/Libxml2-Logo-90x34.gif b/gtk+-mingw/share/doc/libxml2-2.8.0/html/Libxml2-Logo-90x34.gif deleted file mode 100644 index b96fff0..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/Libxml2-Logo-90x34.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/encoding.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/encoding.html deleted file mode 100644 index 93de5bf..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/encoding.html +++ /dev/null @@ -1,207 +0,0 @@ - - -Encodings support
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    The XML C parser and toolkit of Gnome

    Encodings support

    Main Menu
    Related links

    If you are not really familiar with Internationalization (usual shortcut -is I18N) , Unicode, characters and glyphs, I suggest you read a presentation -by Tim Bray on Unicode and why you should care about it.

    If you don't understand why it does not make sense to have a string -without knowing what encoding it uses, then as Joel Spolsky said please do not -write another line of code until you finish reading that article.. It is -a prerequisite to understand this page, and avoid a lot of problems with -libxml2, XML or text processing in general.

    Table of Content:

    1. What does internationalization support - mean ?
    2. -
    3. The internal encoding, how and - why
    4. -
    5. How is it implemented ?
    6. -
    7. Default supported encodings
    8. -
    9. How to extend the existing - support
    10. -

    What does internationalization support mean ?

    XML was designed from the start to allow the support of any character set -by using Unicode. Any conformant XML parser has to support the UTF-8 and -UTF-16 default encodings which can both express the full unicode ranges. UTF8 -is a variable length encoding whose greatest points are to reuse the same -encoding for ASCII and to save space for Western encodings, but it is a bit -more complex to handle in practice. UTF-16 use 2 bytes per character (and -sometimes combines two pairs), it makes implementation easier, but looks a -bit overkill for Western languages encoding. Moreover the XML specification -allows the document to be encoded in other encodings at the condition that -they are clearly labeled as such. For example the following is a wellformed -XML document encoded in ISO-8859-1 and using accentuated letters that we -French like for both markup and content:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    -<très>là </très>

    Having internationalization support in libxml2 means the following:

    • the document is properly parsed
    • -
    • information about it's encoding is saved
    • -
    • it can be modified
    • -
    • it can be saved in its original encoding
    • -
    • it can also be saved in another encoding supported by libxml2 (for - example straight UTF8 or even an ASCII form)
    • -

    Another very important point is that the whole libxml2 API, with the -exception of a few routines to read with a specific encoding or save to a -specific encoding, is completely agnostic about the original encoding of the -document.

    It should be noted too that the HTML parser embedded in libxml2 now obey -the same rules too, the following document will be (as of 2.2.2) handled in -an internationalized fashion by libxml2 too:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
    -                      "http://www.w3.org/TR/REC-html40/loose.dtd">
    -<html lang="fr">
    -<head>
    -  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
    -</head>
    -<body>
    -<p>W3C crée des standards pour le Web.</body>
    -</html>

    The internal encoding, how and why

    One of the core decisions was to force all documents to be converted to a -default internal encoding, and that encoding to be UTF-8, here are the -rationales for those choices:

    • keeping the native encoding in the internal form would force the libxml - users (or the code associated) to be fully aware of the encoding of the - original document, for examples when adding a text node to a document, - the content would have to be provided in the document encoding, i.e. the - client code would have to check it before hand, make sure it's conformant - to the encoding, etc ... Very hard in practice, though in some specific - cases this may make sense.
    • -
    • the second decision was which encoding. From the XML spec only UTF8 and - UTF16 really makes sense as being the two only encodings for which there - is mandatory support. UCS-4 (32 bits fixed size encoding) could be - considered an intelligent choice too since it's a direct Unicode mapping - support. I selected UTF-8 on the basis of efficiency and compatibility - with surrounding software: -
      • UTF-8 while a bit more complex to convert from/to (i.e. slightly - more costly to import and export CPU wise) is also far more compact - than UTF-16 (and UCS-4) for a majority of the documents I see it used - for right now (RPM RDF catalogs, advogato data, various configuration - file formats, etc.) and the key point for today's computer - architecture is efficient uses of caches. If one nearly double the - memory requirement to store the same amount of data, this will trash - caches (main memory/external caches/internal caches) and my take is - that this harms the system far more than the CPU requirements needed - for the conversion to UTF-8
      • -
      • Most of libxml2 version 1 users were using it with straight ASCII - most of the time, doing the conversion with an internal encoding - requiring all their code to be rewritten was a serious show-stopper - for using UTF-16 or UCS-4.
      • -
      • UTF-8 is being used as the de-facto internal encoding standard for - related code like the pango - upcoming Gnome text widget, and a lot of Unix code (yet another place - where Unix programmer base takes a different approach from Microsoft - - they are using UTF-16)
      • -
    • -

    What does this mean in practice for the libxml2 user:

    • xmlChar, the libxml2 data type is a byte, those bytes must be assembled - as UTF-8 valid strings. The proper way to terminate an xmlChar * string - is simply to append 0 byte, as usual.
    • -
    • One just need to make sure that when using chars outside the ASCII set, - the values has been properly converted to UTF-8
    • -

    How is it implemented ?

    Let's describe how all this works within libxml, basically the I18N -(internationalization) support get triggered only during I/O operation, i.e. -when reading a document or saving one. Let's look first at the reading -sequence:

    1. when a document is processed, we usually don't know the encoding, a - simple heuristic allows to detect UTF-16 and UCS-4 from encodings where - the ASCII range (0-0x7F) maps with ASCII
    2. -
    3. the xml declaration if available is parsed, including the encoding - declaration. At that point, if the autodetected encoding is different - from the one declared a call to xmlSwitchEncoding() is issued.
    4. -
    5. If there is no encoding declaration, then the input has to be in either - UTF-8 or UTF-16, if it is not then at some point when processing the - input, the converter/checker of UTF-8 form will raise an encoding error. - You may end-up with a garbled document, or no document at all ! Example: -
      ~/XML -> ./xmllint err.xml 
      -err.xml:1: error: Input is not proper UTF-8, indicate encoding !
      -<très>là </très>
      -   ^
      -err.xml:1: error: Bytes: 0xE8 0x73 0x3E 0x6C
      -<très>là </très>
      -   ^
      -
    6. -
    7. xmlSwitchEncoding() does an encoding name lookup, canonicalize it, and - then search the default registered encoding converters for that encoding. - If it's not within the default set and iconv() support has been compiled - it, it will ask iconv for such an encoder. If this fails then the parser - will report an error and stops processing: -
      ~/XML -> ./xmllint err2.xml 
      -err2.xml:1: error: Unsupported encoding UnsupportedEnc
      -<?xml version="1.0" encoding="UnsupportedEnc"?>
      -                                             ^
      -
    8. -
    9. From that point the encoder processes progressively the input (it is - plugged as a front-end to the I/O module) for that entity. It captures - and converts on-the-fly the document to be parsed to UTF-8. The parser - itself just does UTF-8 checking of this input and process it - transparently. The only difference is that the encoding information has - been added to the parsing context (more precisely to the input - corresponding to this entity).
    10. -
    11. The result (when using DOM) is an internal form completely in UTF-8 - with just an encoding information on the document node.
    12. -

    Ok then what happens when saving the document (assuming you -collected/built an xmlDoc DOM like structure) ? It depends on the function -called, xmlSaveFile() will just try to save in the original encoding, while -xmlSaveFileTo() and xmlSaveFileEnc() can optionally save to a given -encoding:

    1. if no encoding is given, libxml2 will look for an encoding value - associated to the document and if it exists will try to save to that - encoding, -

      otherwise everything is written in the internal form, i.e. UTF-8

      -
    2. -
    3. so if an encoding was specified, either at the API level or on the - document, libxml2 will again canonicalize the encoding name, lookup for a - converter in the registered set or through iconv. If not found the - function will return an error code
    4. -
    5. the converter is placed before the I/O buffer layer, as another kind of - buffer, then libxml2 will simply push the UTF-8 serialization to through - that buffer, which will then progressively be converted and pushed onto - the I/O layer.
    6. -
    7. It is possible that the converter code fails on some input, for example - trying to push an UTF-8 encoded Chinese character through the UTF-8 to - ISO-8859-1 converter won't work. Since the encoders are progressive they - will just report the error and the number of bytes converted, at that - point libxml2 will decode the offending character, remove it from the - buffer and replace it with the associated charRef encoding &#123; and - resume the conversion. This guarantees that any document will be saved - without losses (except for markup names where this is not legal, this is - a problem in the current version, in practice avoid using non-ascii - characters for tag or attribute names). A special "ascii" encoding name - is used to save documents to a pure ascii form can be used when - portability is really crucial
    8. -

    Here are a few examples based on the same test document and assumin a -terminal using ISO-8859-1 as the text encoding:

    ~/XML -> ./xmllint isolat1 
    -<?xml version="1.0" encoding="ISO-8859-1"?>
    -<très>là</très>
    -~/XML -> ./xmllint --encode UTF-8 isolat1 
    -<?xml version="1.0" encoding="UTF-8"?>
    -<très>là  </très>
    -~/XML -> 

    The same processing is applied (and reuse most of the code) for HTML I18N -processing. Looking up and modifying the content encoding is a bit more -difficult since it is located in a <meta> tag under the <head>, -so a couple of functions htmlGetMetaEncoding() and htmlSetMetaEncoding() have -been provided. The parser also attempts to switch encoding on the fly when -detecting such a tag on input. Except for that the processing is the same -(and again reuses the same code).

    Default supported encodings

    libxml2 has a set of default converters for the following encodings -(located in encoding.c):

    1. UTF-8 is supported by default (null handlers)
    2. -
    3. UTF-16, both little and big endian
    4. -
    5. ISO-Latin-1 (ISO-8859-1) covering most western languages
    6. -
    7. ASCII, useful mostly for saving
    8. -
    9. HTML, a specific handler for the conversion of UTF-8 to ASCII with HTML - predefined entities like &copy; for the Copyright sign.
    10. -

    More over when compiled on an Unix platform with iconv support the full -set of encodings supported by iconv can be instantly be used by libxml. On a -linux machine with glibc-2.1 the list of supported encodings and aliases fill -3 full pages, and include UCS-4, the full set of ISO-Latin encodings, and the -various Japanese ones.

    To convert from the UTF-8 values returned from the API to another encoding -then it is possible to use the function provided from the encoding module like UTF8Toisolat1, or use the -POSIX iconv() -API directly.

    Encoding aliases

    From 2.2.3, libxml2 has support to register encoding names aliases. The -goal is to be able to parse document whose encoding is supported but where -the name differs (for example from the default set of names accepted by -iconv). The following functions allow to register and handle new aliases for -existing encodings. Once registered libxml2 will automatically lookup the -aliases when handling a document:

    • int xmlAddEncodingAlias(const char *name, const char *alias);
    • -
    • int xmlDelEncodingAlias(const char *alias);
    • -
    • const char * xmlGetEncodingAlias(const char *alias);
    • -
    • void xmlCleanupEncodingAliases(void);
    • -

    How to extend the existing support

    Well adding support for new encoding, or overriding one of the encoders -(assuming it is buggy) should not be hard, just write input and output -conversion routines to/from UTF-8, and register them using -xmlNewCharEncodingHandler(name, xxxToUTF8, UTF8Toxxx), and they will be -called automatically if the parser(s) encounter such an encoding name -(register it uppercase, this will help). The description of the encoders, -their arguments and expected return values are described in the encoding.h -header.

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/examples.xml b/gtk+-mingw/share/doc/libxml2-2.8.0/html/examples.xml deleted file mode 100644 index a237a0e..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/examples.xml +++ /dev/null @@ -1,751 +0,0 @@ - - - Parse and validate an XML file with an xmlReader - Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the process and activating options like entities substitution, and DTD attributes defaulting. (Note that the XMLReader functions require libxml2 version later than 2.6.) - reader2 <valid_xml_filename> - reader2 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp - Daniel Veillard - see Copyright for the status of this software. -
    xmlReader
    - - <libxml/xmlreader.h> - - - - - - - - - - - - - - - - - - - - - -
    - - Load a document, locate subelements with XPath, modify said elements and save the resulting document. - Shows how to make a full round-trip from a load/edit/save - xpath2 <xml-file> <xpath-expr> <new-value> - xpath2 test3.xml '//discarded' discarded > xpath2.tmp ; diff xpath2.tmp xpath2.res ; rm xpath2.tmp - Aleksey Sanin and Daniel Veillard - see Copyright for the status of this software. -
    XPath
    - - <libxml/parser.h> - <libxml/xpath.h> - <libxml/xpathInternals.h> - <libxml/tree.h> - - - - - - - - - - - - - - - - - - - -
    - - Evaluate XPath expression and prints result node set. - Shows how to evaluate XPath expression and register known namespaces in XPath context. - xpath1 <xml-file> <xpath-expr> [<known-ns-list>] - ./xpath1 test3.xml '//child2' > xpath1.tmp ; diff xpath1.tmp xpath1.res ; rm xpath1.tmp - Aleksey Sanin - see Copyright for the status of this software. -
    XPath
    - - <libxml/parser.h> - <libxml/xpath.h> - <libxml/xpathInternals.h> - <libxml/tree.h> - - - - - - - - - - - - - - - - - - - - - - - - -
    - - Parse an XML document in memory to a tree and free it - Demonstrate the use of xmlReadMemory() to read an XML file into a tree and and xmlFreeDoc() to free the resulting tree - parse3 - parse3 - Daniel Veillard - see Copyright for the status of this software. -
    Parsing
    - - <libxml/tree.h> - <libxml/parser.h> - - - - - - - - - -
    - - Output to char buffer - Demonstrate the use of xmlDocDumpMemory to output document to a character buffer - io2 - io2 > io2.tmp ; diff io2.tmp io2.res ; rm -f io2.tmp - John Fleck - see Copyright for the status of this software. -
    InputOutput
    - - <libxml/parser.h> - - - - - - - - - - - - -
    - - Creates a tree - Shows how to create document, nodes and dump it to stdout or file. - tree2 <filename> -Default output: stdout - tree2 > tree2.tmp ; diff tree2.tmp tree2.res ; rm tree2.tmp - Lucas Brasilino <brasilino@recife.pe.gov.br> - see Copyright for the status of this software -
    Tree
    - - <libxml/tree.h> - <libxml/parser.h> - - - - - - - - - - - - - - - - -
    - - Parse an XML file with an xmlReader - Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the informations about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.) - reader1 <filename> - reader1 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp - Daniel Veillard - see Copyright for the status of this software. -
    xmlReader
    - - <libxml/xmlreader.h> - - - - - - - - - - - - - - - - - -
    - - use various APIs for the xmlWriter - tests a number of APIs for the xmlWriter, especially the various methods to write to a filename, to a memory buffer, to a new document, or to a subtree. It shows how to do encoding string conversions too. The resulting documents are then serialized. - testWriter - testWriter ; for i in 1 2 3 4 ; do diff writer.xml writer$$i.res ; done ; rm writer*.res - Alfred Mickautsch - see Copyright for the status of this software. -
    xmlWriter
    - - <libxml/encoding.h> - <libxml/xmlwriter.h> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - Parse an XML document chunk by chunk to a tree and free it - Demonstrate the use of xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and and xmlFreeDoc() to free the resulting tree - parse4 test3.xml - parse4 test3.xml - Daniel Veillard - see Copyright for the status of this software. -
    Parsing
    - - <libxml/tree.h> - <libxml/parser.h> - - - - - - - - -
    - - Show how to extract subdocuments with xmlReader - Demonstrate the use of xmlTextReaderPreservePattern() to parse an XML file with the xmlReader while collecting only some subparts of the document. (Note that the XMLReader functions require libxml2 version later than 2.6.) - reader3 - reader3 > reader3.tmp ; diff reader3.tmp reader3.res ; rm reader3.tmp - Daniel Veillard - see Copyright for the status of this software. -
    xmlReader
    - - <libxml/xmlreader.h> - - - - - - - - - - -
    - - Example of custom Input/Output - Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is used in an XInclude method context to show how dynamic document can be built in a clean way. - io1 - io1 > io1.tmp ; diff io1.tmp io1.res ; rm -f io1.tmp - Daniel Veillard - see Copyright for the status of this software. -
    InputOutput
    - - <libxml/parser.h> - <libxml/xmlIO.h> - <libxml/xinclude.h> - <libxml/tree.h> - - - - - - - -
    - - Parse an XML file to a tree and free it - Demonstrate the use of xmlReadFile() to read an XML file into a tree and and xmlFreeDoc() to free the resulting tree - parse1 test1.xml - parse1 test1.xml - Daniel Veillard - see Copyright for the status of this software. -
    Parsing
    - - <libxml/tree.h> - <libxml/parser.h> - - - - -
    - - Navigates a tree to print element names - Parse a file to a tree, use xmlDocGetRootElement() to get the root element, then walk the document and print all the element name in document order. - tree1 filename_or_URL - tree1 test2.xml > tree1.tmp ; diff tree1.tmp tree1.res ; rm tree1.tmp - Dodji Seketeli - see Copyright for the status of this software. -
    Tree
    - - <libxml/tree.h> - <libxml/parser.h> - - - - - - -
    - - Parse multiple XML files reusing an xmlReader - Demonstrate the use of xmlReaderForFile() and xmlReaderNewFile to parse XML files while reusing the reader object and parser context. (Note that the XMLReader functions require libxml2 version later than 2.6.) - reader4 <filename> [ filename ... ] - reader4 test1.xml test2.xml test3.xml > reader4.tmp ; diff reader4.tmp reader4.res ; rm reader4.tmp - Graham Bennett - see Copyright for the status of this software. -
    xmlReader
    - - <libxml/xmlreader.h> - - - - - - - - - -
    - - Parse and validate an XML file to a tree and free the result - Create a parser context for an XML file, then parse and validate the file, creating a tree, check the validation result and xmlFreeDoc() to free the resulting tree. - parse2 test2.xml - parse2 test2.xml - Daniel Veillard - see Copyright for the status of this software. -
    Parsing
    - - <libxml/tree.h> - <libxml/parser.h> - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - -
    -
    - - - - -
    -
    - - -
    -
    - - -
    -
    - - - - -
    -
    - -
    -
    -
    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/examples.xsl b/gtk+-mingw/share/doc/libxml2-2.8.0/html/examples.xsl deleted file mode 100644 index 74aaaa2..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/examples.xsl +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - ../ - Examples Menu - - -
    - - -
    - -
    - - - - -
  • -
    - - - - - -
  • line : Type from
  • -
    - - - - - -
  • line : Function from
  • -
    - - - - - -
  • line : Macro from
  • -
    - - - -

    :

    -

    -

    Includes:

    -
      - - - -
    -

    Uses:

    -
      - - - - -
    -

    Usage:

    -

    -

    Author:

    -
    - - -
  • :

    -
      - - - -
    • :
    • -
      -
    -
  • -
    - - -

    The examples are stored per section depending on the main focus - of the example:

    -
      - - - - -
    -

    Getting the compilation options and libraries dependancies needed -to generate binaries from the examples is best done on Linux/Unix by using -the xml2-config script which should have been installed as part of make -install step or when installing the libxml2 development package:

    -
    gcc -o example `xml2-config --cflags` example.c `xml2-config --libs`
    -
    - - - - -

    Examples

    - -
    -
    - - - Libxml2 set of examples - - - - - - - - - - - - - - - - -
    - - - - - -
    - - - - - - -
    - - - - -
    - - - - -
    - - -

    Daniel Veillard

    -
    -
    -
    -
    -
    - - -
    -
    - -
    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/book1.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/book1.html deleted file mode 100644 index 6771189..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/book1.html +++ /dev/null @@ -1,13 +0,0 @@ - - -Reference Manual for libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Reference Manual for libxml2

    API Menu
    API Indexes
    Related links

    Table of Contents

    • DOCBparser: old DocBook SGML parser
    • HTMLparser: interface for an HTML 4.0 non-verifying parser
    • HTMLtree: specific APIs to process HTML tree, especially serialization
    • SAX: Old SAX version 1 handler, deprecated
    • SAX2: SAX2 parser interface used to build the DOM tree
    • c14n: Provide Canonical XML and Exclusive XML Canonicalization
    • catalog: interfaces to the Catalog handling system
    • chvalid: Unicode character range checking
    • debugXML: Tree debugging APIs
    • dict: string dictionnary
    • encoding: interface for the encoding conversion functions
    • entities: interface for the XML entities handling
    • globals: interface for all global variables of the library
    • hash: Chained hash tables
    • list: lists interfaces
    • nanoftp: minimal FTP implementation
    • nanohttp: minimal HTTP implementation
    • parser: the core parser module
    • parserInternals: internals routines exported by the parser.
    • pattern: pattern expression handling
    • relaxng: implementation of the Relax-NG validation
    • schemasInternals: internal interfaces for XML Schemas
    • schematron: XML Schemastron implementation
    • threads: interfaces for thread handling
    • tree: interfaces for tree manipulation
    • uri: library of generic URI related routines
    • valid: The DTD validation
    • xinclude: implementation of XInclude
    • xlink: unfinished XLink detection module
    • xmlIO: interface for the I/O interfaces used by the parser
    • xmlautomata: API to build regexp automata
    • xmlerror: error handling
    • xmlexports: macros for marking symbols as exportable/importable.
    • xmlmemory: interface for the memory allocator
    • xmlmodule: dynamic module loading
    • xmlreader: the XMLReader implementation
    • xmlregexp: regular expressions handling
    • xmlsave: the XML document serializer
    • xmlschemas: incomplete XML Schemas structure implementation
    • xmlschemastypes: implementation of XML Schema Datatypes
    • xmlstring: set of routines to process strings
    • xmlunicode: Unicode character APIs
    • xmlversion: compile-time version informations
    • xmlwriter: text writing API for XML
    • xpath: XML Path Language implementation
    • xpathInternals: internal interfaces for XML Path Language implementation
    • xpointer: API to handle XML Pointers

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/home.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/home.png deleted file mode 100644 index 1700361..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/home.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/index.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/index.html deleted file mode 100644 index 6771189..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - -Reference Manual for libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Reference Manual for libxml2

    API Menu
    API Indexes
    Related links

    Table of Contents

    • DOCBparser: old DocBook SGML parser
    • HTMLparser: interface for an HTML 4.0 non-verifying parser
    • HTMLtree: specific APIs to process HTML tree, especially serialization
    • SAX: Old SAX version 1 handler, deprecated
    • SAX2: SAX2 parser interface used to build the DOM tree
    • c14n: Provide Canonical XML and Exclusive XML Canonicalization
    • catalog: interfaces to the Catalog handling system
    • chvalid: Unicode character range checking
    • debugXML: Tree debugging APIs
    • dict: string dictionnary
    • encoding: interface for the encoding conversion functions
    • entities: interface for the XML entities handling
    • globals: interface for all global variables of the library
    • hash: Chained hash tables
    • list: lists interfaces
    • nanoftp: minimal FTP implementation
    • nanohttp: minimal HTTP implementation
    • parser: the core parser module
    • parserInternals: internals routines exported by the parser.
    • pattern: pattern expression handling
    • relaxng: implementation of the Relax-NG validation
    • schemasInternals: internal interfaces for XML Schemas
    • schematron: XML Schemastron implementation
    • threads: interfaces for thread handling
    • tree: interfaces for tree manipulation
    • uri: library of generic URI related routines
    • valid: The DTD validation
    • xinclude: implementation of XInclude
    • xlink: unfinished XLink detection module
    • xmlIO: interface for the I/O interfaces used by the parser
    • xmlautomata: API to build regexp automata
    • xmlerror: error handling
    • xmlexports: macros for marking symbols as exportable/importable.
    • xmlmemory: interface for the memory allocator
    • xmlmodule: dynamic module loading
    • xmlreader: the XMLReader implementation
    • xmlregexp: regular expressions handling
    • xmlsave: the XML document serializer
    • xmlschemas: incomplete XML Schemas structure implementation
    • xmlschemastypes: implementation of XML Schema Datatypes
    • xmlstring: set of routines to process strings
    • xmlunicode: Unicode character APIs
    • xmlversion: compile-time version informations
    • xmlwriter: text writing API for XML
    • xpath: XML Path Language implementation
    • xpathInternals: internal interfaces for XML Path Language implementation
    • xpointer: API to handle XML Pointers

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/left.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/left.png deleted file mode 100644 index 2d05b3d..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/left.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-DOCBparser.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-DOCBparser.html deleted file mode 100644 index b00dad4..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-DOCBparser.html +++ /dev/null @@ -1,51 +0,0 @@ - - -Module DOCBparser from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module DOCBparser from libxml2

    API Menu
    API Indexes
    Related links

    This module is deprecated

    interface for a DocBook SGML non-verifying parser This code is DEPRECATED, and should not be used anymore.

    Table of Contents

    Typedef xmlParserInputPtr docbParserInputPtr
    -
    Typedef xmlParserCtxt docbParserCtxt
    -
    Typedef xmlParserCtxtPtr docbParserCtxtPtr
    -
    Typedef xmlParserInput docbParserInput
    -
    Typedef xmlDocPtr docbDocPtr
    -
    Typedef xmlSAXHandler docbSAXHandler
    -
    Typedef xmlSAXHandlerPtr docbSAXHandlerPtr
    -
    void	docbFreeParserCtxt		(docbParserCtxtPtr ctxt)
    -
    docbDocPtr	docbParseDoc		(xmlChar * cur, 
    const char * encoding)
    -
    docbParserCtxtPtr	docbCreateFileParserCtxt	(const char * filename, 
    const char * encoding)
    -
    docbDocPtr	docbSAXParseFile	(const char * filename, 
    const char * encoding,
    docbSAXHandlerPtr sax,
    void * userData)
    -
    docbDocPtr	docbSAXParseDoc		(xmlChar * cur, 
    const char * encoding,
    docbSAXHandlerPtr sax,
    void * userData)
    -
    docbParserCtxtPtr	docbCreatePushParserCtxt	(docbSAXHandlerPtr sax, 
    void * user_data,
    const char * chunk,
    int size,
    const char * filename,
    xmlCharEncoding enc)
    -
    int	docbEncodeEntities		(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen,
    int quoteChar)
    -
    docbDocPtr	docbParseFile		(const char * filename, 
    const char * encoding)
    -
    int	docbParseDocument		(docbParserCtxtPtr ctxt)
    -
    int	docbParseChunk			(docbParserCtxtPtr ctxt, 
    const char * chunk,
    int size,
    int terminate)
    -

    Description

    -

    Function: docbFreeParserCtxt

    void	docbFreeParserCtxt		(docbParserCtxtPtr ctxt)
    -

    Free all the memory used by a parser context. However the parsed document in ctxt->myDoc is not freed.

    -
    ctxt:an SGML parser context

    Function: docbParseDoc

    docbDocPtr	docbParseDoc		(xmlChar * cur, 
    const char * encoding)
    -

    parse an SGML in-memory document and build a tree.

    -
    cur:a pointer to an array of xmlChar
    encoding:a free form C string describing the SGML document encoding, or NULL
    Returns:the resulting document tree

    Function: docbCreateFileParserCtxt

    docbParserCtxtPtr	docbCreateFileParserCtxt	(const char * filename, 
    const char * encoding)
    -

    Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.

    -
    filename:the filename
    encoding:the SGML document encoding, or NULL
    Returns:the new parser context or NULL

    Function: docbSAXParseFile

    docbDocPtr	docbSAXParseFile	(const char * filename, 
    const char * encoding,
    docbSAXHandlerPtr sax,
    void * userData)
    -

    parse an SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.

    -
    filename:the filename
    encoding:a free form C string describing the SGML document encoding, or NULL
    sax:the SAX handler block
    userData:if using SAX, this pointer will be provided on callbacks.
    Returns:the resulting document tree

    Function: docbSAXParseDoc

    docbDocPtr	docbSAXParseDoc		(xmlChar * cur, 
    const char * encoding,
    docbSAXHandlerPtr sax,
    void * userData)
    -

    parse an SGML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.

    -
    cur:a pointer to an array of xmlChar
    encoding:a free form C string describing the SGML document encoding, or NULL
    sax:the SAX handler block
    userData:if using SAX, this pointer will be provided on callbacks.
    Returns:the resulting document tree

    Function: docbCreatePushParserCtxt

    docbParserCtxtPtr	docbCreatePushParserCtxt	(docbSAXHandlerPtr sax, 
    void * user_data,
    const char * chunk,
    int size,
    const char * filename,
    xmlCharEncoding enc)
    -

    Create a parser context for using the DocBook SGML parser in push mode To allow content encoding detection, @size should be >= 4 The value of @filename is used for fetching external entities and error/warning reports.

    -
    sax:a SAX handler
    user_data:The user data returned on SAX callbacks
    chunk:a pointer to an array of chars
    size:number of chars in the array
    filename:an optional file name or URI
    enc:an optional encoding
    Returns:the new parser context or NULL

    Function: docbEncodeEntities

    int	docbEncodeEntities		(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen,
    int quoteChar)
    -

    Take a block of UTF-8 chars in and try to convert it to an ASCII plus SGML entities block of chars out.

    -
    out:a pointer to an array of bytes to store the result
    outlen:the length of @out
    in:a pointer to an array of UTF-8 chars
    inlen:the length of @in
    quoteChar:the quote character to escape (' or ") or zero.
    Returns:0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.

    Function: docbParseFile

    docbDocPtr	docbParseFile		(const char * filename, 
    const char * encoding)
    -

    parse a Docbook SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.

    -
    filename:the filename
    encoding:a free form C string describing document encoding, or NULL
    Returns:the resulting document tree

    Function: docbParseDocument

    int	docbParseDocument		(docbParserCtxtPtr ctxt)
    -

    parse an SGML document (and build a tree if using the standard SAX interface).

    -
    ctxt:an SGML parser context
    Returns:0, -1 in case of error. the parser context is augmented as a result of the parsing.

    Function: docbParseChunk

    int	docbParseChunk			(docbParserCtxtPtr ctxt, 
    const char * chunk,
    int size,
    int terminate)
    -

    Parse a Chunk of memory

    -
    ctxt:an XML parser context
    chunk:an char array
    size:the size in byte of the chunk
    terminate:last chunk indicator
    Returns:zero if no error, the xmlParserErrors otherwise.

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-HTMLparser.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-HTMLparser.html deleted file mode 100644 index f5f77af..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-HTMLparser.html +++ /dev/null @@ -1,184 +0,0 @@ - - -Module HTMLparser from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module HTMLparser from libxml2

    API Menu
    API Indexes
    Related links

    this module implements an HTML 4.0 non-verifying parser with API compatible with the XML parser ones. It should be able to parse "real world" HTML, even if severely broken from a specification point of view.

    Table of Contents

    #define htmlDefaultSubelement
    #define htmlElementAllowedHereDesc
    #define htmlRequiredAttrs
    Typedef xmlDocPtr htmlDocPtr
    -
    Structure htmlElemDesc
    struct _htmlElemDesc -
    Typedef htmlElemDesc * htmlElemDescPtr
    -
    Structure htmlEntityDesc
    struct _htmlEntityDesc -
    Typedef htmlEntityDesc * htmlEntityDescPtr
    -
    Typedef xmlNodePtr htmlNodePtr
    -
    Typedef xmlParserCtxt htmlParserCtxt
    -
    Typedef xmlParserCtxtPtr htmlParserCtxtPtr
    -
    Typedef xmlParserInput htmlParserInput
    -
    Typedef xmlParserInputPtr htmlParserInputPtr
    -
    Typedef xmlParserNodeInfo htmlParserNodeInfo
    -
    Enum htmlParserOption
    -
    Typedef xmlSAXHandler htmlSAXHandler
    -
    Typedef xmlSAXHandlerPtr htmlSAXHandlerPtr
    -
    Enum htmlStatus
    -
    int	UTF8ToHtml			(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen)
    -
    htmlStatus	htmlAttrAllowed		(const htmlElemDesc * elt, 
    const xmlChar * attr,
    int legacy)
    -
    int	htmlAutoCloseTag		(htmlDocPtr doc, 
    const xmlChar * name,
    htmlNodePtr elem)
    -
    htmlParserCtxtPtr	htmlCreateMemoryParserCtxt	(const char * buffer, 
    int size)
    -
    htmlParserCtxtPtr	htmlCreatePushParserCtxt	(htmlSAXHandlerPtr sax, 
    void * user_data,
    const char * chunk,
    int size,
    const char * filename,
    xmlCharEncoding enc)
    -
    htmlDocPtr	htmlCtxtReadDoc		(htmlParserCtxtPtr ctxt, 
    const xmlChar * cur,
    const char * URL,
    const char * encoding,
    int options)
    -
    htmlDocPtr	htmlCtxtReadFd		(htmlParserCtxtPtr ctxt, 
    int fd,
    const char * URL,
    const char * encoding,
    int options)
    -
    htmlDocPtr	htmlCtxtReadFile	(htmlParserCtxtPtr ctxt, 
    const char * filename,
    const char * encoding,
    int options)
    -
    htmlDocPtr	htmlCtxtReadIO		(htmlParserCtxtPtr ctxt, 
    xmlInputReadCallback ioread,
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    -
    htmlDocPtr	htmlCtxtReadMemory	(htmlParserCtxtPtr ctxt, 
    const char * buffer,
    int size,
    const char * URL,
    const char * encoding,
    int options)
    -
    void	htmlCtxtReset			(htmlParserCtxtPtr ctxt)
    -
    int	htmlCtxtUseOptions		(htmlParserCtxtPtr ctxt, 
    int options)
    -
    int	htmlElementAllowedHere		(const htmlElemDesc * parent, 
    const xmlChar * elt)
    -
    htmlStatus	htmlElementStatusHere	(const htmlElemDesc * parent, 
    const htmlElemDesc * elt)
    -
    int	htmlEncodeEntities		(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen,
    int quoteChar)
    -
    const htmlEntityDesc *	htmlEntityLookup	(const xmlChar * name)
    -
    const htmlEntityDesc *	htmlEntityValueLookup	(unsigned int value)
    -
    void	htmlFreeParserCtxt		(htmlParserCtxtPtr ctxt)
    -
    int	htmlHandleOmittedElem		(int val)
    -
    int	htmlIsAutoClosed		(htmlDocPtr doc, 
    htmlNodePtr elem)
    -
    int	htmlIsScriptAttribute		(const xmlChar * name)
    -
    htmlParserCtxtPtr	htmlNewParserCtxt	(void)
    -
    htmlStatus	htmlNodeStatus		(const htmlNodePtr node, 
    int legacy)
    -
    int	htmlParseCharRef		(htmlParserCtxtPtr ctxt)
    -
    int	htmlParseChunk			(htmlParserCtxtPtr ctxt, 
    const char * chunk,
    int size,
    int terminate)
    -
    htmlDocPtr	htmlParseDoc		(xmlChar * cur, 
    const char * encoding)
    -
    int	htmlParseDocument		(htmlParserCtxtPtr ctxt)
    -
    void	htmlParseElement		(htmlParserCtxtPtr ctxt)
    -
    const htmlEntityDesc *	htmlParseEntityRef	(htmlParserCtxtPtr ctxt, 
    const xmlChar ** str)
    -
    htmlDocPtr	htmlParseFile		(const char * filename, 
    const char * encoding)
    -
    htmlDocPtr	htmlReadDoc		(const xmlChar * cur, 
    const char * URL,
    const char * encoding,
    int options)
    -
    htmlDocPtr	htmlReadFd		(int fd, 
    const char * URL,
    const char * encoding,
    int options)
    -
    htmlDocPtr	htmlReadFile		(const char * filename, 
    const char * encoding,
    int options)
    -
    htmlDocPtr	htmlReadIO		(xmlInputReadCallback ioread, 
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    -
    htmlDocPtr	htmlReadMemory		(const char * buffer, 
    int size,
    const char * URL,
    const char * encoding,
    int options)
    -
    htmlDocPtr	htmlSAXParseDoc		(xmlChar * cur, 
    const char * encoding,
    htmlSAXHandlerPtr sax,
    void * userData)
    -
    htmlDocPtr	htmlSAXParseFile	(const char * filename, 
    const char * encoding,
    htmlSAXHandlerPtr sax,
    void * userData)
    -
    const htmlElemDesc *	htmlTagLookup	(const xmlChar * tag)
    -

    Description

    -

    Macro: htmlDefaultSubelement

    #define htmlDefaultSubelement

    Returns the default subelement for this element

    -

    Macro: htmlElementAllowedHereDesc

    #define htmlElementAllowedHereDesc

    Checks whether an HTML element description may be a direct child of the specified element. Returns 1 if allowed; 0 otherwise.

    -

    Macro: htmlRequiredAttrs

    #define htmlRequiredAttrs

    Returns the attributes required for the specified element.

    -

    Structure htmlElemDesc

    Structure htmlElemDesc
    struct _htmlElemDesc { - const char * name : The tag name - char startTag : Whether the start tag can be implied - char endTag : Whether the end tag can be implied - char saveEndTag : Whether the end tag should be saved - char empty : Is this an empty element ? - char depr : Is this a deprecated element ? - char dtd : 1: only in Loose DTD, 2: only Frameset - char isinline : is this a block 0 or inline 1 element - const char * desc : the description NRK Jan.2003 * New fiel - const char ** subelts : allowed sub-elements of this element - const char * defaultsubelt : subelement for suggested auto-repair if - const char ** attrs_opt : Optional Attributes - const char ** attrs_depr : Additional deprecated attributes - const char ** attrs_req : Required attributes -}

    Structure htmlEntityDesc

    Structure htmlEntityDesc
    struct _htmlEntityDesc { - unsigned int value : the UNICODE value for the character - const char * name : The entity name - const char * desc : the description -}

    Enum htmlParserOption

    Enum htmlParserOption {
    -    HTML_PARSE_RECOVER = 1 : Relaxed parsing
    -    HTML_PARSE_NODEFDTD = 4 : do not default a doctype if not found
    -    HTML_PARSE_NOERROR = 32 : suppress error reports
    -    HTML_PARSE_NOWARNING = 64 : suppress warning reports
    -    HTML_PARSE_PEDANTIC = 128 : pedantic error reporting
    -    HTML_PARSE_NOBLANKS = 256 : remove blank nodes
    -    HTML_PARSE_NONET = 2048 : Forbid network access
    -    HTML_PARSE_NOIMPLIED = 8192 : Do not add implied html/body... elements
    -    HTML_PARSE_COMPACT = 65536 : compact small text nodes
    -    HTML_PARSE_IGNORE_ENC = 2097152 : ignore internal document encoding hint
    -}
    -

    Enum htmlStatus

    Enum htmlStatus {
    -    HTML_NA = 0 : something we don't check at all
    -    HTML_INVALID = 1
    -    HTML_DEPRECATED = 2
    -    HTML_VALID = 4
    -    HTML_REQUIRED = 12 : VALID bit set so ( & HTML_VALID ) is TRUE
    -}
    -

    Function: UTF8ToHtml

    int	UTF8ToHtml			(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen)
    -

    Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.

    -
    out:a pointer to an array of bytes to store the result
    outlen:the length of @out
    in:a pointer to an array of UTF-8 chars
    inlen:the length of @in
    Returns:0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.

    Function: htmlAttrAllowed

    htmlStatus	htmlAttrAllowed		(const htmlElemDesc * elt, 
    const xmlChar * attr,
    int legacy)
    -

    Checks whether an attribute is valid for an element Has full knowledge of Required and Deprecated attributes

    -
    elt:HTML element
    attr:HTML attribute
    legacy:whether to allow deprecated attributes
    Returns:one of HTML_REQUIRED, HTML_VALID, HTML_DEPRECATED, HTML_INVALID

    Function: htmlAutoCloseTag

    int	htmlAutoCloseTag		(htmlDocPtr doc, 
    const xmlChar * name,
    htmlNodePtr elem)
    -

    The HTML DTD allows a tag to implicitly close other tags. The list is kept in htmlStartClose array. This function checks if the element or one of it's children would autoclose the given tag.

    -
    doc:the HTML document
    name:The tag name
    elem:the HTML element
    Returns:1 if autoclose, 0 otherwise

    Function: htmlCreateMemoryParserCtxt

    htmlParserCtxtPtr	htmlCreateMemoryParserCtxt	(const char * buffer, 
    int size)
    -

    Create a parser context for an HTML in-memory document.

    -
    buffer:a pointer to a char array
    size:the size of the array
    Returns:the new parser context or NULL

    Function: htmlCreatePushParserCtxt

    htmlParserCtxtPtr	htmlCreatePushParserCtxt	(htmlSAXHandlerPtr sax, 
    void * user_data,
    const char * chunk,
    int size,
    const char * filename,
    xmlCharEncoding enc)
    -

    Create a parser context for using the HTML parser in push mode The value of @filename is used for fetching external entities and error/warning reports.

    -
    sax:a SAX handler
    user_data:The user data returned on SAX callbacks
    chunk:a pointer to an array of chars
    size:number of chars in the array
    filename:an optional file name or URI
    enc:an optional encoding
    Returns:the new parser context or NULL

    Function: htmlCtxtReadDoc

    htmlDocPtr	htmlCtxtReadDoc		(htmlParserCtxtPtr ctxt, 
    const xmlChar * cur,
    const char * URL,
    const char * encoding,
    int options)
    -

    parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context

    -
    ctxt:an HTML parser context
    cur:a pointer to a zero terminated string
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlCtxtReadFd

    htmlDocPtr	htmlCtxtReadFd		(htmlParserCtxtPtr ctxt, 
    int fd,
    const char * URL,
    const char * encoding,
    int options)
    -

    parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context

    -
    ctxt:an HTML parser context
    fd:an open file descriptor
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlCtxtReadFile

    htmlDocPtr	htmlCtxtReadFile	(htmlParserCtxtPtr ctxt, 
    const char * filename,
    const char * encoding,
    int options)
    -

    parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context

    -
    ctxt:an HTML parser context
    filename:a file or URL
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlCtxtReadIO

    htmlDocPtr	htmlCtxtReadIO		(htmlParserCtxtPtr ctxt, 
    xmlInputReadCallback ioread,
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    -

    parse an HTML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context

    -
    ctxt:an HTML parser context
    ioread:an I/O read function
    ioclose:an I/O close function
    ioctx:an I/O handler
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlCtxtReadMemory

    htmlDocPtr	htmlCtxtReadMemory	(htmlParserCtxtPtr ctxt, 
    const char * buffer,
    int size,
    const char * URL,
    const char * encoding,
    int options)
    -

    parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context

    -
    ctxt:an HTML parser context
    buffer:a pointer to a char array
    size:the size of the array
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlCtxtReset

    void	htmlCtxtReset			(htmlParserCtxtPtr ctxt)
    -

    Reset a parser context

    -
    ctxt:an HTML parser context

    Function: htmlCtxtUseOptions

    int	htmlCtxtUseOptions		(htmlParserCtxtPtr ctxt, 
    int options)
    -

    Applies the options to the parser context

    -
    ctxt:an HTML parser context
    options:a combination of htmlParserOption(s)
    Returns:0 in case of success, the set of unknown or unimplemented options in case of error.

    Function: htmlElementAllowedHere

    int	htmlElementAllowedHere		(const htmlElemDesc * parent, 
    const xmlChar * elt)
    -

    Checks whether an HTML element may be a direct child of a parent element. Note - doesn't check for deprecated elements

    -
    parent:HTML parent element
    elt:HTML element
    Returns:1 if allowed; 0 otherwise.

    Function: htmlElementStatusHere

    htmlStatus	htmlElementStatusHere	(const htmlElemDesc * parent, 
    const htmlElemDesc * elt)
    -

    Checks whether an HTML element may be a direct child of a parent element. and if so whether it is valid or deprecated.

    -
    parent:HTML parent element
    elt:HTML element
    Returns:one of HTML_VALID, HTML_DEPRECATED, HTML_INVALID

    Function: htmlEncodeEntities

    int	htmlEncodeEntities		(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen,
    int quoteChar)
    -

    Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.

    -
    out:a pointer to an array of bytes to store the result
    outlen:the length of @out
    in:a pointer to an array of UTF-8 chars
    inlen:the length of @in
    quoteChar:the quote character to escape (' or ") or zero.
    Returns:0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.

    Function: htmlEntityLookup

    const htmlEntityDesc *	htmlEntityLookup	(const xmlChar * name)
    -

    Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed.

    -
    name:the entity name
    Returns:the associated htmlEntityDescPtr if found, NULL otherwise.

    Function: htmlEntityValueLookup

    const htmlEntityDesc *	htmlEntityValueLookup	(unsigned int value)
    -

    Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed.

    -
    value:the entity's unicode value
    Returns:the associated htmlEntityDescPtr if found, NULL otherwise.

    Function: htmlFreeParserCtxt

    void	htmlFreeParserCtxt		(htmlParserCtxtPtr ctxt)
    -

    Free all the memory used by a parser context. However the parsed document in ctxt->myDoc is not freed.

    -
    ctxt:an HTML parser context

    Function: htmlHandleOmittedElem

    int	htmlHandleOmittedElem		(int val)
    -

    Set and return the previous value for handling HTML omitted tags.

    -
    val:int 0 or 1
    Returns:the last value for 0 for no handling, 1 for auto insertion.

    Function: htmlIsAutoClosed

    int	htmlIsAutoClosed		(htmlDocPtr doc, 
    htmlNodePtr elem)
    -

    The HTML DTD allows a tag to implicitly close other tags. The list is kept in htmlStartClose array. This function checks if a tag is autoclosed by one of it's child

    -
    doc:the HTML document
    elem:the HTML element
    Returns:1 if autoclosed, 0 otherwise

    Function: htmlIsScriptAttribute

    int	htmlIsScriptAttribute		(const xmlChar * name)
    -

    Check if an attribute is of content type Script

    -
    name:an attribute name
    Returns:1 is the attribute is a script 0 otherwise

    Function: htmlNewParserCtxt

    htmlParserCtxtPtr	htmlNewParserCtxt	(void)
    -

    Allocate and initialize a new parser context.

    -
    Returns:the htmlParserCtxtPtr or NULL in case of allocation error

    Function: htmlNodeStatus

    htmlStatus	htmlNodeStatus		(const htmlNodePtr node, 
    int legacy)
    -

    Checks whether the tree node is valid. Experimental (the author only uses the HTML enhancements in a SAX parser)

    -
    node:an htmlNodePtr in a tree
    legacy:whether to allow deprecated elements (YES is faster here for Element nodes)
    Returns:for Element nodes, a return from htmlElementAllowedHere (if legacy allowed) or htmlElementStatusHere (otherwise). for Attribute nodes, a return from htmlAttrAllowed for other nodes, HTML_NA (no checks performed)

    Function: htmlParseCharRef

    int	htmlParseCharRef		(htmlParserCtxtPtr ctxt)
    -

    parse Reference declarations [66] CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';'

    -
    ctxt:an HTML parser context
    Returns:the value parsed (as an int)

    Function: htmlParseChunk

    int	htmlParseChunk			(htmlParserCtxtPtr ctxt, 
    const char * chunk,
    int size,
    int terminate)
    -

    Parse a Chunk of memory

    -
    ctxt:an HTML parser context
    chunk:an char array
    size:the size in byte of the chunk
    terminate:last chunk indicator
    Returns:zero if no error, the xmlParserErrors otherwise.

    Function: htmlParseDoc

    htmlDocPtr	htmlParseDoc		(xmlChar * cur, 
    const char * encoding)
    -

    parse an HTML in-memory document and build a tree.

    -
    cur:a pointer to an array of xmlChar
    encoding:a free form C string describing the HTML document encoding, or NULL
    Returns:the resulting document tree

    Function: htmlParseDocument

    int	htmlParseDocument		(htmlParserCtxtPtr ctxt)
    -

    parse an HTML document (and build a tree if using the standard SAX interface).

    -
    ctxt:an HTML parser context
    Returns:0, -1 in case of error. the parser context is augmented as a result of the parsing.

    Function: htmlParseElement

    void	htmlParseElement		(htmlParserCtxtPtr ctxt)
    -

    parse an HTML element, this is highly recursive this is kept for compatibility with previous code versions [39] element ::= EmptyElemTag | STag content ETag [41] Attribute ::= Name Eq AttValue

    -
    ctxt:an HTML parser context

    Function: htmlParseEntityRef

    const htmlEntityDesc *	htmlParseEntityRef	(htmlParserCtxtPtr ctxt, 
    const xmlChar ** str)
    -

    parse an HTML ENTITY references [68] EntityRef ::= '&' Name ';'

    -
    ctxt:an HTML parser context
    str:location to store the entity name
    Returns:the associated htmlEntityDescPtr if found, or NULL otherwise, if non-NULL *str will have to be freed by the caller.

    Function: htmlParseFile

    htmlDocPtr	htmlParseFile		(const char * filename, 
    const char * encoding)
    -

    parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.

    -
    filename:the filename
    encoding:a free form C string describing the HTML document encoding, or NULL
    Returns:the resulting document tree

    Function: htmlReadDoc

    htmlDocPtr	htmlReadDoc		(const xmlChar * cur, 
    const char * URL,
    const char * encoding,
    int options)
    -

    parse an XML in-memory document and build a tree.

    -
    cur:a pointer to a zero terminated string
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlReadFd

    htmlDocPtr	htmlReadFd		(int fd, 
    const char * URL,
    const char * encoding,
    int options)
    -

    parse an XML from a file descriptor and build a tree.

    -
    fd:an open file descriptor
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlReadFile

    htmlDocPtr	htmlReadFile		(const char * filename, 
    const char * encoding,
    int options)
    -

    parse an XML file from the filesystem or the network.

    -
    filename:a file or URL
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlReadIO

    htmlDocPtr	htmlReadIO		(xmlInputReadCallback ioread, 
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    -

    parse an HTML document from I/O functions and source and build a tree.

    -
    ioread:an I/O read function
    ioclose:an I/O close function
    ioctx:an I/O handler
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlReadMemory

    htmlDocPtr	htmlReadMemory		(const char * buffer, 
    int size,
    const char * URL,
    const char * encoding,
    int options)
    -

    parse an XML in-memory document and build a tree.

    -
    buffer:a pointer to a char array
    size:the size of the array
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlSAXParseDoc

    htmlDocPtr	htmlSAXParseDoc		(xmlChar * cur, 
    const char * encoding,
    htmlSAXHandlerPtr sax,
    void * userData)
    -

    Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks to handle parse events. If sax is NULL, fallback to the default DOM behavior and return a tree.

    -
    cur:a pointer to an array of xmlChar
    encoding:a free form C string describing the HTML document encoding, or NULL
    sax:the SAX handler block
    userData:if using SAX, this pointer will be provided on callbacks.
    Returns:the resulting document tree unless SAX is NULL or the document is not well formed.

    Function: htmlSAXParseFile

    htmlDocPtr	htmlSAXParseFile	(const char * filename, 
    const char * encoding,
    htmlSAXHandlerPtr sax,
    void * userData)
    -

    parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.

    -
    filename:the filename
    encoding:a free form C string describing the HTML document encoding, or NULL
    sax:the SAX handler block
    userData:if using SAX, this pointer will be provided on callbacks.
    Returns:the resulting document tree unless SAX is NULL or the document is not well formed.

    Function: htmlTagLookup

    const htmlElemDesc *	htmlTagLookup	(const xmlChar * tag)
    -

    Lookup the HTML tag in the ElementTable

    -
    tag:The tag name in lowercase
    Returns:the related htmlElemDescPtr or NULL if not found.

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-HTMLtree.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-HTMLtree.html deleted file mode 100644 index 0c89727..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-HTMLtree.html +++ /dev/null @@ -1,73 +0,0 @@ - - -Module HTMLtree from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module HTMLtree from libxml2

    API Menu
    API Indexes
    Related links

    this module implements a few function needed to process tree in an HTML specific way.

    Table of Contents

    #define HTML_COMMENT_NODE
    #define HTML_ENTITY_REF_NODE
    #define HTML_PI_NODE
    #define HTML_PRESERVE_NODE
    #define HTML_TEXT_NODE
    void	htmlDocContentDumpFormatOutput	(xmlOutputBufferPtr buf, 
    xmlDocPtr cur,
    const char * encoding,
    int format)
    -
    void	htmlDocContentDumpOutput	(xmlOutputBufferPtr buf, 
    xmlDocPtr cur,
    const char * encoding)
    -
    int	htmlDocDump			(FILE * f, 
    xmlDocPtr cur)
    -
    void	htmlDocDumpMemory		(xmlDocPtr cur, 
    xmlChar ** mem,
    int * size)
    -
    void	htmlDocDumpMemoryFormat		(xmlDocPtr cur, 
    xmlChar ** mem,
    int * size,
    int format)
    -
    const xmlChar *	htmlGetMetaEncoding	(htmlDocPtr doc)
    -
    int	htmlIsBooleanAttr		(const xmlChar * name)
    -
    htmlDocPtr	htmlNewDoc		(const xmlChar * URI, 
    const xmlChar * ExternalID)
    -
    htmlDocPtr	htmlNewDocNoDtD		(const xmlChar * URI, 
    const xmlChar * ExternalID)
    -
    int	htmlNodeDump			(xmlBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur)
    -
    void	htmlNodeDumpFile		(FILE * out, 
    xmlDocPtr doc,
    xmlNodePtr cur)
    -
    int	htmlNodeDumpFileFormat		(FILE * out, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    const char * encoding,
    int format)
    -
    void	htmlNodeDumpFormatOutput	(xmlOutputBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    const char * encoding,
    int format)
    -
    void	htmlNodeDumpOutput		(xmlOutputBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    const char * encoding)
    -
    int	htmlSaveFile			(const char * filename, 
    xmlDocPtr cur)
    -
    int	htmlSaveFileEnc			(const char * filename, 
    xmlDocPtr cur,
    const char * encoding)
    -
    int	htmlSaveFileFormat		(const char * filename, 
    xmlDocPtr cur,
    const char * encoding,
    int format)
    -
    int	htmlSetMetaEncoding		(htmlDocPtr doc, 
    const xmlChar * encoding)
    -

    Description

    -

    Macro: HTML_COMMENT_NODE

    #define HTML_COMMENT_NODE

    Macro. A comment in a HTML document is really implemented the same way as a comment in an XML document.

    -

    Macro: HTML_ENTITY_REF_NODE

    #define HTML_ENTITY_REF_NODE

    Macro. An entity reference in a HTML document is really implemented the same way as an entity reference in an XML document.

    -

    Macro: HTML_PI_NODE

    #define HTML_PI_NODE

    Macro. A processing instruction in a HTML document is really implemented the same way as a processing instruction in an XML document.

    -

    Macro: HTML_PRESERVE_NODE

    #define HTML_PRESERVE_NODE

    Macro. A preserved node in a HTML document is really implemented the same way as a CDATA section in an XML document.

    -

    Macro: HTML_TEXT_NODE

    #define HTML_TEXT_NODE

    Macro. A text node in a HTML document is really implemented the same way as a text node in an XML document.

    -

    Function: htmlDocContentDumpFormatOutput

    void	htmlDocContentDumpFormatOutput	(xmlOutputBufferPtr buf, 
    xmlDocPtr cur,
    const char * encoding,
    int format)
    -

    Dump an HTML document.

    -
    buf:the HTML buffer output
    cur:the document
    encoding:the encoding string
    format:should formatting spaces been added

    Function: htmlDocContentDumpOutput

    void	htmlDocContentDumpOutput	(xmlOutputBufferPtr buf, 
    xmlDocPtr cur,
    const char * encoding)
    -

    Dump an HTML document. Formating return/spaces are added.

    -
    buf:the HTML buffer output
    cur:the document
    encoding:the encoding string

    Function: htmlDocDump

    int	htmlDocDump			(FILE * f, 
    xmlDocPtr cur)
    -

    Dump an HTML document to an open FILE.

    -
    f:the FILE*
    cur:the document
    Returns:the number of byte written or -1 in case of failure.

    Function: htmlDocDumpMemory

    void	htmlDocDumpMemory		(xmlDocPtr cur, 
    xmlChar ** mem,
    int * size)
    -

    Dump an HTML document in memory and return the xmlChar * and it's size. It's up to the caller to free the memory.

    -
    cur:the document
    mem:OUT: the memory pointer
    size:OUT: the memory length

    Function: htmlDocDumpMemoryFormat

    void	htmlDocDumpMemoryFormat		(xmlDocPtr cur, 
    xmlChar ** mem,
    int * size,
    int format)
    -

    Dump an HTML document in memory and return the xmlChar * and it's size. It's up to the caller to free the memory.

    -
    cur:the document
    mem:OUT: the memory pointer
    size:OUT: the memory length
    format:should formatting spaces been added

    Function: htmlGetMetaEncoding

    const xmlChar *	htmlGetMetaEncoding	(htmlDocPtr doc)
    -

    Encoding definition lookup in the Meta tags

    -
    doc:the document
    Returns:the current encoding as flagged in the HTML source

    Function: htmlIsBooleanAttr

    int	htmlIsBooleanAttr		(const xmlChar * name)
    -

    Determine if a given attribute is a boolean attribute.

    -
    name:the name of the attribute to check
    Returns:false if the attribute is not boolean, true otherwise.

    Function: htmlNewDoc

    htmlDocPtr	htmlNewDoc		(const xmlChar * URI, 
    const xmlChar * ExternalID)
    -

    Creates a new HTML document

    -
    URI:URI for the dtd, or NULL
    ExternalID:the external ID of the DTD, or NULL
    Returns:a new document

    Function: htmlNewDocNoDtD

    htmlDocPtr	htmlNewDocNoDtD		(const xmlChar * URI, 
    const xmlChar * ExternalID)
    -

    Creates a new HTML document without a DTD node if @URI and @ExternalID are NULL

    -
    URI:URI for the dtd, or NULL
    ExternalID:the external ID of the DTD, or NULL
    Returns:a new document, do not initialize the DTD if not provided

    Function: htmlNodeDump

    int	htmlNodeDump			(xmlBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur)
    -

    Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.

    -
    buf:the HTML buffer output
    doc:the document
    cur:the current node
    Returns:the number of byte written or -1 in case of error

    Function: htmlNodeDumpFile

    void	htmlNodeDumpFile		(FILE * out, 
    xmlDocPtr doc,
    xmlNodePtr cur)
    -

    Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.

    -
    out:the FILE pointer
    doc:the document
    cur:the current node

    Function: htmlNodeDumpFileFormat

    int	htmlNodeDumpFileFormat		(FILE * out, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    const char * encoding,
    int format)
    -

    Dump an HTML node, recursive behaviour,children are printed too. TODO: if encoding == NULL try to save in the doc encoding

    -
    out:the FILE pointer
    doc:the document
    cur:the current node
    encoding:the document encoding
    format:should formatting spaces been added
    Returns:the number of byte written or -1 in case of failure.

    Function: htmlNodeDumpFormatOutput

    void	htmlNodeDumpFormatOutput	(xmlOutputBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    const char * encoding,
    int format)
    -

    Dump an HTML node, recursive behaviour,children are printed too.

    -
    buf:the HTML buffer output
    doc:the document
    cur:the current node
    encoding:the encoding string
    format:should formatting spaces been added

    Function: htmlNodeDumpOutput

    void	htmlNodeDumpOutput		(xmlOutputBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    const char * encoding)
    -

    Dump an HTML node, recursive behaviour,children are printed too, and formatting returns/spaces are added.

    -
    buf:the HTML buffer output
    doc:the document
    cur:the current node
    encoding:the encoding string

    Function: htmlSaveFile

    int	htmlSaveFile			(const char * filename, 
    xmlDocPtr cur)
    -

    Dump an HTML document to a file. If @filename is "-" the stdout file is used.

    -
    filename:the filename (or URL)
    cur:the document
    Returns:the number of byte written or -1 in case of failure.

    Function: htmlSaveFileEnc

    int	htmlSaveFileEnc			(const char * filename, 
    xmlDocPtr cur,
    const char * encoding)
    -

    Dump an HTML document to a file using a given encoding and formatting returns/spaces are added.

    -
    filename:the filename
    cur:the document
    encoding:the document encoding
    Returns:the number of byte written or -1 in case of failure.

    Function: htmlSaveFileFormat

    int	htmlSaveFileFormat		(const char * filename, 
    xmlDocPtr cur,
    const char * encoding,
    int format)
    -

    Dump an HTML document to a file using a given encoding.

    -
    filename:the filename
    cur:the document
    encoding:the document encoding
    format:should formatting spaces been added
    Returns:the number of byte written or -1 in case of failure.

    Function: htmlSetMetaEncoding

    int	htmlSetMetaEncoding		(htmlDocPtr doc, 
    const xmlChar * encoding)
    -

    Sets the current encoding in the Meta tags NOTE: this will not change the document content encoding, just the META flag associated.

    -
    doc:the document
    encoding:the encoding string
    Returns:0 in case of success and -1 in case of error

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-SAX.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-SAX.html deleted file mode 100644 index f77a9df..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-SAX.html +++ /dev/null @@ -1,125 +0,0 @@ - - -Module SAX from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module SAX from libxml2

    API Menu
    API Indexes
    Related links

    This module is deprecated

    DEPRECATED set of SAX version 1 interfaces used to build the DOM tree.

    Table of Contents

    void	comment			(void * ctx, 
    const xmlChar * value)
    -
    int	checkNamespace			(void * ctx, 
    xmlChar * namespace)
    -
    int	getColumnNumber			(void * ctx)
    -
    void	entityDecl			(void * ctx, 
    const xmlChar * name,
    int type,
    const xmlChar * publicId,
    const xmlChar * systemId,
    xmlChar * content)
    -
    void	attribute			(void * ctx, 
    const xmlChar * fullname,
    const xmlChar * value)
    -
    xmlNsPtr	getNamespace		(void * ctx)
    -
    void	setDocumentLocator		(void * ctx, 
    xmlSAXLocatorPtr loc)
    -
    void	initxmlDefaultSAXHandler	(xmlSAXHandlerV1 * hdlr, 
    int warning)
    -
    void	ignorableWhitespace		(void * ctx, 
    const xmlChar * ch,
    int len)
    -
    int	hasExternalSubset		(void * ctx)
    -
    void	unparsedEntityDecl		(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId,
    const xmlChar * notationName)
    -
    void	globalNamespace			(void * ctx, 
    const xmlChar * href,
    const xmlChar * prefix)
    -
    int	hasInternalSubset		(void * ctx)
    -
    void	reference			(void * ctx, 
    const xmlChar * name)
    -
    void	notationDecl			(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId)
    -
    const xmlChar *	getSystemId		(void * ctx)
    -
    void	externalSubset			(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    -
    xmlParserInputPtr	resolveEntity	(void * ctx, 
    const xmlChar * publicId,
    const xmlChar * systemId)
    -
    void	startDocument			(void * ctx)
    -
    void	setNamespace			(void * ctx, 
    const xmlChar * name)
    -
    void	cdataBlock			(void * ctx, 
    const xmlChar * value,
    int len)
    -
    const xmlChar *	getPublicId		(void * ctx)
    -
    void	inithtmlDefaultSAXHandler	(xmlSAXHandlerV1 * hdlr)
    -
    void	processingInstruction		(void * ctx, 
    const xmlChar * target,
    const xmlChar * data)
    -
    void	endElement			(void * ctx, 
    const xmlChar * name)
    -
    void	namespaceDecl			(void * ctx, 
    const xmlChar * href,
    const xmlChar * prefix)
    -
    void	initdocbDefaultSAXHandler	(xmlSAXHandlerV1 * hdlr)
    -
    xmlEntityPtr	getEntity		(void * ctx, 
    const xmlChar * name)
    -
    void	characters			(void * ctx, 
    const xmlChar * ch,
    int len)
    -
    void	elementDecl			(void * ctx, 
    const xmlChar * name,
    int type,
    xmlElementContentPtr content)
    -
    void	startElement			(void * ctx, 
    const xmlChar * fullname,
    const xmlChar ** atts)
    -
    xmlEntityPtr	getParameterEntity	(void * ctx, 
    const xmlChar * name)
    -
    void	attributeDecl			(void * ctx, 
    const xmlChar * elem,
    const xmlChar * fullname,
    int type,
    int def,
    const xmlChar * defaultValue,
    xmlEnumerationPtr tree)
    -
    int	isStandalone			(void * ctx)
    -
    void	internalSubset			(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    -
    void	endDocument			(void * ctx)
    -
    int	getLineNumber			(void * ctx)
    -

    Description

    -

    Function: comment

    void	comment			(void * ctx, 
    const xmlChar * value)
    -

    A comment has been parsed. DEPRECATED: use xmlSAX2Comment()

    -
    ctx:the user data (XML parser context)
    value:the comment content

    Function: checkNamespace

    int	checkNamespace			(void * ctx, 
    xmlChar * namespace)
    -

    Check that the current element namespace is the same as the one read upon parsing. DEPRECATED

    -
    ctx:the user data (XML parser context)
    namespace:the namespace to check against
    Returns:1 if true 0 otherwise

    Function: getColumnNumber

    int	getColumnNumber			(void * ctx)
    -

    Provide the column number of the current parsing point. DEPRECATED: use xmlSAX2GetColumnNumber()

    -
    ctx:the user data (XML parser context)
    Returns:an int

    Function: entityDecl

    void	entityDecl			(void * ctx, 
    const xmlChar * name,
    int type,
    const xmlChar * publicId,
    const xmlChar * systemId,
    xmlChar * content)
    -

    An entity definition has been parsed DEPRECATED: use xmlSAX2EntityDecl()

    -
    ctx:the user data (XML parser context)
    name:the entity name
    type:the entity type
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    content:the entity value (without processing).

    Function: attribute

    void	attribute			(void * ctx, 
    const xmlChar * fullname,
    const xmlChar * value)
    -

    Handle an attribute that has been read by the parser. The default handling is to convert the attribute into an DOM subtree and past it in a new xmlAttr element added to the element. DEPRECATED: use xmlSAX2Attribute()

    -
    ctx:the user data (XML parser context)
    fullname:The attribute name, including namespace prefix
    value:The attribute value

    Function: getNamespace

    xmlNsPtr	getNamespace		(void * ctx)
    -

    Get the current element namespace. DEPRECATED

    -
    ctx:the user data (XML parser context)
    Returns:the xmlNsPtr or NULL if none

    Function: setDocumentLocator

    void	setDocumentLocator		(void * ctx, 
    xmlSAXLocatorPtr loc)
    -

    Receive the document locator at startup, actually xmlDefaultSAXLocator Everything is available on the context, so this is useless in our case. DEPRECATED

    -
    ctx:the user data (XML parser context)
    loc:A SAX Locator

    Function: initxmlDefaultSAXHandler

    void	initxmlDefaultSAXHandler	(xmlSAXHandlerV1 * hdlr, 
    int warning)
    -

    Initialize the default XML SAX version 1 handler DEPRECATED: use xmlSAX2InitDefaultSAXHandler() for the new SAX2 blocks

    -
    hdlr:the SAX handler
    warning:flag if non-zero sets the handler warning procedure

    Function: ignorableWhitespace

    void	ignorableWhitespace		(void * ctx, 
    const xmlChar * ch,
    int len)
    -

    receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use characters DEPRECATED: use xmlSAX2IgnorableWhitespace()

    -
    ctx:the user data (XML parser context)
    ch:a xmlChar string
    len:the number of xmlChar

    Function: hasExternalSubset

    int	hasExternalSubset		(void * ctx)
    -

    Does this document has an external subset DEPRECATED: use xmlSAX2HasExternalSubset()

    -
    ctx:the user data (XML parser context)
    Returns:1 if true

    Function: unparsedEntityDecl

    void	unparsedEntityDecl		(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId,
    const xmlChar * notationName)
    -

    What to do when an unparsed entity declaration is parsed DEPRECATED: use xmlSAX2UnparsedEntityDecl()

    -
    ctx:the user data (XML parser context)
    name:The name of the entity
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    notationName:the name of the notation

    Function: globalNamespace

    void	globalNamespace			(void * ctx, 
    const xmlChar * href,
    const xmlChar * prefix)
    -

    An old global namespace has been parsed. DEPRECATED

    -
    ctx:the user data (XML parser context)
    href:the namespace associated URN
    prefix:the namespace prefix

    Function: hasInternalSubset

    int	hasInternalSubset		(void * ctx)
    -

    Does this document has an internal subset DEPRECATED: use xmlSAX2HasInternalSubset()

    -
    ctx:the user data (XML parser context)
    Returns:1 if true

    Function: reference

    void	reference			(void * ctx, 
    const xmlChar * name)
    -

    called when an entity reference is detected. DEPRECATED: use xmlSAX2Reference()

    -
    ctx:the user data (XML parser context)
    name:The entity name

    Function: notationDecl

    void	notationDecl			(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId)
    -

    What to do when a notation declaration has been parsed. DEPRECATED: use xmlSAX2NotationDecl()

    -
    ctx:the user data (XML parser context)
    name:The name of the notation
    publicId:The public ID of the entity
    systemId:The system ID of the entity

    Function: getSystemId

    const xmlChar *	getSystemId		(void * ctx)
    -

    Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd DEPRECATED: use xmlSAX2GetSystemId()

    -
    ctx:the user data (XML parser context)
    Returns:a xmlChar *

    Function: externalSubset

    void	externalSubset			(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    -

    Callback on external subset declaration. DEPRECATED: use xmlSAX2ExternalSubset()

    -
    ctx:the user data (XML parser context)
    name:the root element name
    ExternalID:the external ID
    SystemID:the SYSTEM ID (e.g. filename or URL)

    Function: resolveEntity

    xmlParserInputPtr	resolveEntity	(void * ctx, 
    const xmlChar * publicId,
    const xmlChar * systemId)
    -

    The entity loader, to control the loading of external entities, the application can either: - override this resolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() function to set up it's own entity resolution routine DEPRECATED: use xmlSAX2ResolveEntity()

    -
    ctx:the user data (XML parser context)
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    Returns:the xmlParserInputPtr if inlined or NULL for DOM behaviour.

    Function: startDocument

    void	startDocument			(void * ctx)
    -

    called when the document start being processed. DEPRECATED: use xmlSAX2StartDocument()

    -
    ctx:the user data (XML parser context)

    Function: setNamespace

    void	setNamespace			(void * ctx, 
    const xmlChar * name)
    -

    Set the current element namespace. DEPRECATED

    -
    ctx:the user data (XML parser context)
    name:the namespace prefix

    Function: cdataBlock

    void	cdataBlock			(void * ctx, 
    const xmlChar * value,
    int len)
    -

    called when a pcdata block has been parsed DEPRECATED: use xmlSAX2CDataBlock()

    -
    ctx:the user data (XML parser context)
    value:The pcdata content
    len:the block length

    Function: getPublicId

    const xmlChar *	getPublicId		(void * ctx)
    -

    Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN" DEPRECATED: use xmlSAX2GetPublicId()

    -
    ctx:the user data (XML parser context)
    Returns:a xmlChar *

    Function: inithtmlDefaultSAXHandler

    void	inithtmlDefaultSAXHandler	(xmlSAXHandlerV1 * hdlr)
    -

    Initialize the default HTML SAX version 1 handler DEPRECATED: use xmlSAX2InitHtmlDefaultSAXHandler() for the new SAX2 blocks

    -
    hdlr:the SAX handler

    Function: processingInstruction

    void	processingInstruction		(void * ctx, 
    const xmlChar * target,
    const xmlChar * data)
    -

    A processing instruction has been parsed. DEPRECATED: use xmlSAX2ProcessingInstruction()

    -
    ctx:the user data (XML parser context)
    target:the target name
    data:the PI data's

    Function: endElement

    void	endElement			(void * ctx, 
    const xmlChar * name)
    -

    called when the end of an element has been detected. DEPRECATED: use xmlSAX2EndElement()

    -
    ctx:the user data (XML parser context)
    name:The element name

    Function: namespaceDecl

    void	namespaceDecl			(void * ctx, 
    const xmlChar * href,
    const xmlChar * prefix)
    -

    A namespace has been parsed. DEPRECATED

    -
    ctx:the user data (XML parser context)
    href:the namespace associated URN
    prefix:the namespace prefix

    Function: initdocbDefaultSAXHandler

    void	initdocbDefaultSAXHandler	(xmlSAXHandlerV1 * hdlr)
    -

    Initialize the default DocBook SAX version 1 handler DEPRECATED: use xmlSAX2InitDocbDefaultSAXHandler() for the new SAX2 blocks

    -
    hdlr:the SAX handler

    Function: getEntity

    xmlEntityPtr	getEntity		(void * ctx, 
    const xmlChar * name)
    -

    Get an entity by name DEPRECATED: use xmlSAX2GetEntity()

    -
    ctx:the user data (XML parser context)
    name:The entity name
    Returns:the xmlEntityPtr if found.

    Function: characters

    void	characters			(void * ctx, 
    const xmlChar * ch,
    int len)
    -

    receiving some chars from the parser. DEPRECATED: use xmlSAX2Characters()

    -
    ctx:the user data (XML parser context)
    ch:a xmlChar string
    len:the number of xmlChar

    Function: elementDecl

    void	elementDecl			(void * ctx, 
    const xmlChar * name,
    int type,
    xmlElementContentPtr content)
    -

    An element definition has been parsed DEPRECATED: use xmlSAX2ElementDecl()

    -
    ctx:the user data (XML parser context)
    name:the element name
    type:the element type
    content:the element value tree

    Function: startElement

    void	startElement			(void * ctx, 
    const xmlChar * fullname,
    const xmlChar ** atts)
    -

    called when an opening tag has been processed. DEPRECATED: use xmlSAX2StartElement()

    -
    ctx:the user data (XML parser context)
    fullname:The element name, including namespace prefix
    atts:An array of name/value attributes pairs, NULL terminated

    Function: getParameterEntity

    xmlEntityPtr	getParameterEntity	(void * ctx, 
    const xmlChar * name)
    -

    Get a parameter entity by name DEPRECATED: use xmlSAX2GetParameterEntity()

    -
    ctx:the user data (XML parser context)
    name:The entity name
    Returns:the xmlEntityPtr if found.

    Function: attributeDecl

    void	attributeDecl			(void * ctx, 
    const xmlChar * elem,
    const xmlChar * fullname,
    int type,
    int def,
    const xmlChar * defaultValue,
    xmlEnumerationPtr tree)
    -

    An attribute definition has been parsed DEPRECATED: use xmlSAX2AttributeDecl()

    -
    ctx:the user data (XML parser context)
    elem:the name of the element
    fullname:the attribute name
    type:the attribute type
    def:the type of default value
    defaultValue:the attribute default value
    tree:the tree of enumerated value set

    Function: isStandalone

    int	isStandalone			(void * ctx)
    -

    Is this document tagged standalone ? DEPRECATED: use xmlSAX2IsStandalone()

    -
    ctx:the user data (XML parser context)
    Returns:1 if true

    Function: internalSubset

    void	internalSubset			(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    -

    Callback on internal subset declaration. DEPRECATED: use xmlSAX2InternalSubset()

    -
    ctx:the user data (XML parser context)
    name:the root element name
    ExternalID:the external ID
    SystemID:the SYSTEM ID (e.g. filename or URL)

    Function: endDocument

    void	endDocument			(void * ctx)
    -

    called when the document end has been detected. DEPRECATED: use xmlSAX2EndDocument()

    -
    ctx:the user data (XML parser context)

    Function: getLineNumber

    int	getLineNumber			(void * ctx)
    -

    Provide the line number of the current parsing point. DEPRECATED: use xmlSAX2GetLineNumber()

    -
    ctx:the user data (XML parser context)
    Returns:an int

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-SAX2.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-SAX2.html deleted file mode 100644 index 5447450..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-SAX2.html +++ /dev/null @@ -1,128 +0,0 @@ - - -Module SAX2 from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module SAX2 from libxml2

    API Menu
    API Indexes
    Related links

    those are the default SAX2 interfaces used by the library when building DOM tree.

    Table of Contents

    void	docbDefaultSAXHandlerInit	(void)
    -
    void	htmlDefaultSAXHandlerInit	(void)
    -
    void	xmlDefaultSAXHandlerInit	(void)
    -
    void	xmlSAX2AttributeDecl		(void * ctx, 
    const xmlChar * elem,
    const xmlChar * fullname,
    int type,
    int def,
    const xmlChar * defaultValue,
    xmlEnumerationPtr tree)
    -
    void	xmlSAX2CDataBlock		(void * ctx, 
    const xmlChar * value,
    int len)
    -
    void	xmlSAX2Characters		(void * ctx, 
    const xmlChar * ch,
    int len)
    -
    void	xmlSAX2Comment			(void * ctx, 
    const xmlChar * value)
    -
    void	xmlSAX2ElementDecl		(void * ctx, 
    const xmlChar * name,
    int type,
    xmlElementContentPtr content)
    -
    void	xmlSAX2EndDocument		(void * ctx)
    -
    void	xmlSAX2EndElement		(void * ctx, 
    const xmlChar * name)
    -
    void	xmlSAX2EndElementNs		(void * ctx, 
    const xmlChar * localname,
    const xmlChar * prefix,
    const xmlChar * URI)
    -
    void	xmlSAX2EntityDecl		(void * ctx, 
    const xmlChar * name,
    int type,
    const xmlChar * publicId,
    const xmlChar * systemId,
    xmlChar * content)
    -
    void	xmlSAX2ExternalSubset		(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    -
    int	xmlSAX2GetColumnNumber		(void * ctx)
    -
    xmlEntityPtr	xmlSAX2GetEntity	(void * ctx, 
    const xmlChar * name)
    -
    int	xmlSAX2GetLineNumber		(void * ctx)
    -
    xmlEntityPtr	xmlSAX2GetParameterEntity	(void * ctx, 
    const xmlChar * name)
    -
    const xmlChar *	xmlSAX2GetPublicId	(void * ctx)
    -
    const xmlChar *	xmlSAX2GetSystemId	(void * ctx)
    -
    int	xmlSAX2HasExternalSubset	(void * ctx)
    -
    int	xmlSAX2HasInternalSubset	(void * ctx)
    -
    void	xmlSAX2IgnorableWhitespace	(void * ctx, 
    const xmlChar * ch,
    int len)
    -
    void	xmlSAX2InitDefaultSAXHandler	(xmlSAXHandler * hdlr, 
    int warning)
    -
    void	xmlSAX2InitDocbDefaultSAXHandler	(xmlSAXHandler * hdlr)
    -
    void	xmlSAX2InitHtmlDefaultSAXHandler	(xmlSAXHandler * hdlr)
    -
    void	xmlSAX2InternalSubset		(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    -
    int	xmlSAX2IsStandalone		(void * ctx)
    -
    void	xmlSAX2NotationDecl		(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId)
    -
    void	xmlSAX2ProcessingInstruction	(void * ctx, 
    const xmlChar * target,
    const xmlChar * data)
    -
    void	xmlSAX2Reference		(void * ctx, 
    const xmlChar * name)
    -
    xmlParserInputPtr	xmlSAX2ResolveEntity	(void * ctx, 
    const xmlChar * publicId,
    const xmlChar * systemId)
    -
    void	xmlSAX2SetDocumentLocator	(void * ctx, 
    xmlSAXLocatorPtr loc)
    -
    void	xmlSAX2StartDocument		(void * ctx)
    -
    void	xmlSAX2StartElement		(void * ctx, 
    const xmlChar * fullname,
    const xmlChar ** atts)
    -
    void	xmlSAX2StartElementNs		(void * ctx, 
    const xmlChar * localname,
    const xmlChar * prefix,
    const xmlChar * URI,
    int nb_namespaces,
    const xmlChar ** namespaces,
    int nb_attributes,
    int nb_defaulted,
    const xmlChar ** attributes)
    -
    void	xmlSAX2UnparsedEntityDecl	(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId,
    const xmlChar * notationName)
    -
    int	xmlSAXDefaultVersion		(int version)
    -
    int	xmlSAXVersion			(xmlSAXHandler * hdlr, 
    int version)
    -

    Description

    -

    Function: docbDefaultSAXHandlerInit

    void	docbDefaultSAXHandlerInit	(void)
    -

    Initialize the default SAX handler

    -

    Function: htmlDefaultSAXHandlerInit

    void	htmlDefaultSAXHandlerInit	(void)
    -

    Initialize the default SAX handler

    -

    Function: xmlDefaultSAXHandlerInit

    void	xmlDefaultSAXHandlerInit	(void)
    -

    Initialize the default SAX2 handler

    -

    Function: xmlSAX2AttributeDecl

    void	xmlSAX2AttributeDecl		(void * ctx, 
    const xmlChar * elem,
    const xmlChar * fullname,
    int type,
    int def,
    const xmlChar * defaultValue,
    xmlEnumerationPtr tree)
    -

    An attribute definition has been parsed

    -
    ctx:the user data (XML parser context)
    elem:the name of the element
    fullname:the attribute name
    type:the attribute type
    def:the type of default value
    defaultValue:the attribute default value
    tree:the tree of enumerated value set

    Function: xmlSAX2CDataBlock

    void	xmlSAX2CDataBlock		(void * ctx, 
    const xmlChar * value,
    int len)
    -

    called when a pcdata block has been parsed

    -
    ctx:the user data (XML parser context)
    value:The pcdata content
    len:the block length

    Function: xmlSAX2Characters

    void	xmlSAX2Characters		(void * ctx, 
    const xmlChar * ch,
    int len)
    -

    receiving some chars from the parser.

    -
    ctx:the user data (XML parser context)
    ch:a xmlChar string
    len:the number of xmlChar

    Function: xmlSAX2Comment

    void	xmlSAX2Comment			(void * ctx, 
    const xmlChar * value)
    -

    A xmlSAX2Comment has been parsed.

    -
    ctx:the user data (XML parser context)
    value:the xmlSAX2Comment content

    Function: xmlSAX2ElementDecl

    void	xmlSAX2ElementDecl		(void * ctx, 
    const xmlChar * name,
    int type,
    xmlElementContentPtr content)
    -

    An element definition has been parsed

    -
    ctx:the user data (XML parser context)
    name:the element name
    type:the element type
    content:the element value tree

    Function: xmlSAX2EndDocument

    void	xmlSAX2EndDocument		(void * ctx)
    -

    called when the document end has been detected.

    -
    ctx:the user data (XML parser context)

    Function: xmlSAX2EndElement

    void	xmlSAX2EndElement		(void * ctx, 
    const xmlChar * name)
    -

    called when the end of an element has been detected.

    -
    ctx:the user data (XML parser context)
    name:The element name

    Function: xmlSAX2EndElementNs

    void	xmlSAX2EndElementNs		(void * ctx, 
    const xmlChar * localname,
    const xmlChar * prefix,
    const xmlChar * URI)
    -

    SAX2 callback when an element end has been detected by the parser. It provides the namespace informations for the element.

    -
    ctx:the user data (XML parser context)
    localname:the local name of the element
    prefix:the element namespace prefix if available
    URI:the element namespace name if available

    Function: xmlSAX2EntityDecl

    void	xmlSAX2EntityDecl		(void * ctx, 
    const xmlChar * name,
    int type,
    const xmlChar * publicId,
    const xmlChar * systemId,
    xmlChar * content)
    -

    An entity definition has been parsed

    -
    ctx:the user data (XML parser context)
    name:the entity name
    type:the entity type
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    content:the entity value (without processing).

    Function: xmlSAX2ExternalSubset

    void	xmlSAX2ExternalSubset		(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    -

    Callback on external subset declaration.

    -
    ctx:the user data (XML parser context)
    name:the root element name
    ExternalID:the external ID
    SystemID:the SYSTEM ID (e.g. filename or URL)

    Function: xmlSAX2GetColumnNumber

    int	xmlSAX2GetColumnNumber		(void * ctx)
    -

    Provide the column number of the current parsing point.

    -
    ctx:the user data (XML parser context)
    Returns:an int

    Function: xmlSAX2GetEntity

    xmlEntityPtr	xmlSAX2GetEntity	(void * ctx, 
    const xmlChar * name)
    -

    Get an entity by name

    -
    ctx:the user data (XML parser context)
    name:The entity name
    Returns:the xmlEntityPtr if found.

    Function: xmlSAX2GetLineNumber

    int	xmlSAX2GetLineNumber		(void * ctx)
    -

    Provide the line number of the current parsing point.

    -
    ctx:the user data (XML parser context)
    Returns:an int

    Function: xmlSAX2GetParameterEntity

    xmlEntityPtr	xmlSAX2GetParameterEntity	(void * ctx, 
    const xmlChar * name)
    -

    Get a parameter entity by name

    -
    ctx:the user data (XML parser context)
    name:The entity name
    Returns:the xmlEntityPtr if found.

    Function: xmlSAX2GetPublicId

    const xmlChar *	xmlSAX2GetPublicId	(void * ctx)
    -

    Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN"

    -
    ctx:the user data (XML parser context)
    Returns:a xmlChar *

    Function: xmlSAX2GetSystemId

    const xmlChar *	xmlSAX2GetSystemId	(void * ctx)
    -

    Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd

    -
    ctx:the user data (XML parser context)
    Returns:a xmlChar *

    Function: xmlSAX2HasExternalSubset

    int	xmlSAX2HasExternalSubset	(void * ctx)
    -

    Does this document has an external subset

    -
    ctx:the user data (XML parser context)
    Returns:1 if true

    Function: xmlSAX2HasInternalSubset

    int	xmlSAX2HasInternalSubset	(void * ctx)
    -

    Does this document has an internal subset

    -
    ctx:the user data (XML parser context)
    Returns:1 if true

    Function: xmlSAX2IgnorableWhitespace

    void	xmlSAX2IgnorableWhitespace	(void * ctx, 
    const xmlChar * ch,
    int len)
    -

    receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use xmlSAX2Characters

    -
    ctx:the user data (XML parser context)
    ch:a xmlChar string
    len:the number of xmlChar

    Function: xmlSAX2InitDefaultSAXHandler

    void	xmlSAX2InitDefaultSAXHandler	(xmlSAXHandler * hdlr, 
    int warning)
    -

    Initialize the default XML SAX2 handler

    -
    hdlr:the SAX handler
    warning:flag if non-zero sets the handler warning procedure

    Function: xmlSAX2InitDocbDefaultSAXHandler

    void	xmlSAX2InitDocbDefaultSAXHandler	(xmlSAXHandler * hdlr)
    -

    Initialize the default DocBook SAX2 handler

    -
    hdlr:the SAX handler

    Function: xmlSAX2InitHtmlDefaultSAXHandler

    void	xmlSAX2InitHtmlDefaultSAXHandler	(xmlSAXHandler * hdlr)
    -

    Initialize the default HTML SAX2 handler

    -
    hdlr:the SAX handler

    Function: xmlSAX2InternalSubset

    void	xmlSAX2InternalSubset		(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    -

    Callback on internal subset declaration.

    -
    ctx:the user data (XML parser context)
    name:the root element name
    ExternalID:the external ID
    SystemID:the SYSTEM ID (e.g. filename or URL)

    Function: xmlSAX2IsStandalone

    int	xmlSAX2IsStandalone		(void * ctx)
    -

    Is this document tagged standalone ?

    -
    ctx:the user data (XML parser context)
    Returns:1 if true

    Function: xmlSAX2NotationDecl

    void	xmlSAX2NotationDecl		(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId)
    -

    What to do when a notation declaration has been parsed.

    -
    ctx:the user data (XML parser context)
    name:The name of the notation
    publicId:The public ID of the entity
    systemId:The system ID of the entity

    Function: xmlSAX2ProcessingInstruction

    void	xmlSAX2ProcessingInstruction	(void * ctx, 
    const xmlChar * target,
    const xmlChar * data)
    -

    A processing instruction has been parsed.

    -
    ctx:the user data (XML parser context)
    target:the target name
    data:the PI data's

    Function: xmlSAX2Reference

    void	xmlSAX2Reference		(void * ctx, 
    const xmlChar * name)
    -

    called when an entity xmlSAX2Reference is detected.

    -
    ctx:the user data (XML parser context)
    name:The entity name

    Function: xmlSAX2ResolveEntity

    xmlParserInputPtr	xmlSAX2ResolveEntity	(void * ctx, 
    const xmlChar * publicId,
    const xmlChar * systemId)
    -

    The entity loader, to control the loading of external entities, the application can either: - override this xmlSAX2ResolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() function to set up it's own entity resolution routine

    -
    ctx:the user data (XML parser context)
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    Returns:the xmlParserInputPtr if inlined or NULL for DOM behaviour.

    Function: xmlSAX2SetDocumentLocator

    void	xmlSAX2SetDocumentLocator	(void * ctx, 
    xmlSAXLocatorPtr loc)
    -

    Receive the document locator at startup, actually xmlDefaultSAXLocator Everything is available on the context, so this is useless in our case.

    -
    ctx:the user data (XML parser context)
    loc:A SAX Locator

    Function: xmlSAX2StartDocument

    void	xmlSAX2StartDocument		(void * ctx)
    -

    called when the document start being processed.

    -
    ctx:the user data (XML parser context)

    Function: xmlSAX2StartElement

    void	xmlSAX2StartElement		(void * ctx, 
    const xmlChar * fullname,
    const xmlChar ** atts)
    -

    called when an opening tag has been processed.

    -
    ctx:the user data (XML parser context)
    fullname:The element name, including namespace prefix
    atts:An array of name/value attributes pairs, NULL terminated

    Function: xmlSAX2StartElementNs

    void	xmlSAX2StartElementNs		(void * ctx, 
    const xmlChar * localname,
    const xmlChar * prefix,
    const xmlChar * URI,
    int nb_namespaces,
    const xmlChar ** namespaces,
    int nb_attributes,
    int nb_defaulted,
    const xmlChar ** attributes)
    -

    SAX2 callback when an element start has been detected by the parser. It provides the namespace informations for the element, as well as the new namespace declarations on the element.

    -
    ctx:the user data (XML parser context)
    localname:the local name of the element
    prefix:the element namespace prefix if available
    URI:the element namespace name if available
    nb_namespaces:number of namespace definitions on that node
    namespaces:pointer to the array of prefix/URI pairs namespace definitions
    nb_attributes:the number of attributes on that node
    nb_defaulted:the number of defaulted attributes.
    attributes:pointer to the array of (localname/prefix/URI/value/end) attribute values.

    Function: xmlSAX2UnparsedEntityDecl

    void	xmlSAX2UnparsedEntityDecl	(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId,
    const xmlChar * notationName)
    -

    What to do when an unparsed entity declaration is parsed

    -
    ctx:the user data (XML parser context)
    name:The name of the entity
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    notationName:the name of the notation

    Function: xmlSAXDefaultVersion

    int	xmlSAXDefaultVersion		(int version)
    -

    Set the default version of SAX used globally by the library. By default, during initialization the default is set to 2. Note that it is generally a better coding style to use xmlSAXVersion() to set up the version explicitly for a given parsing context.

    -
    version:the version, 1 or 2
    Returns:the previous value in case of success and -1 in case of error.

    Function: xmlSAXVersion

    int	xmlSAXVersion			(xmlSAXHandler * hdlr, 
    int version)
    -

    Initialize the default XML SAX handler according to the version

    -
    hdlr:the SAX handler
    version:the version, 1 or 2
    Returns:0 in case of success and -1 in case of error.

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-c14n.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-c14n.html deleted file mode 100644 index 2e61a98..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-c14n.html +++ /dev/null @@ -1,38 +0,0 @@ - - -Module c14n from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module c14n from libxml2

    API Menu
    API Indexes
    Related links

    the c14n modules provides a "Canonical XML" implementation

    Table of Contents

    Enum xmlC14NMode
    -
    int	xmlC14NDocDumpMemory		(xmlDocPtr doc, 
    xmlNodeSetPtr nodes,
    int mode,
    xmlChar ** inclusive_ns_prefixes,
    int with_comments,
    xmlChar ** doc_txt_ptr)
    -
    int	xmlC14NDocSave			(xmlDocPtr doc, 
    xmlNodeSetPtr nodes,
    int mode,
    xmlChar ** inclusive_ns_prefixes,
    int with_comments,
    const char * filename,
    int compression)
    -
    int	xmlC14NDocSaveTo		(xmlDocPtr doc, 
    xmlNodeSetPtr nodes,
    int mode,
    xmlChar ** inclusive_ns_prefixes,
    int with_comments,
    xmlOutputBufferPtr buf)
    -
    int	xmlC14NExecute			(xmlDocPtr doc, 
    xmlC14NIsVisibleCallback is_visible_callback,
    void * user_data,
    int mode,
    xmlChar ** inclusive_ns_prefixes,
    int with_comments,
    xmlOutputBufferPtr buf)
    -
    Function type: xmlC14NIsVisibleCallback
    -int	xmlC14NIsVisibleCallback	(void * user_data, 
    xmlNodePtr node,
    xmlNodePtr parent) -
    -

    Description

    -

    Enum xmlC14NMode

    Enum xmlC14NMode {
    -    XML_C14N_1_0 = 0 : Origianal C14N 1.0 spec
    -    XML_C14N_EXCLUSIVE_1_0 = 1 : Exclusive C14N 1.0 spec
    -    XML_C14N_1_1 = 2 : C14N 1.1 spec
    -}
    -

    Function: xmlC14NDocDumpMemory

    int	xmlC14NDocDumpMemory		(xmlDocPtr doc, 
    xmlNodeSetPtr nodes,
    int mode,
    xmlChar ** inclusive_ns_prefixes,
    int with_comments,
    xmlChar ** doc_txt_ptr)
    -

    Dumps the canonized image of given XML document into memory. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)

    -
    doc:the XML document for canonization
    nodes:the nodes set to be included in the canonized image or NULL if all document nodes should be included
    mode:the c14n mode (see @xmlC14NMode)
    inclusive_ns_prefixes:the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)
    with_comments:include comments in the result (!=0) or not (==0)
    doc_txt_ptr:the memory pointer for allocated canonical XML text; the caller of this functions is responsible for calling xmlFree() to free allocated memory
    Returns:the number of bytes written on success or a negative value on fail

    Function: xmlC14NDocSave

    int	xmlC14NDocSave			(xmlDocPtr doc, 
    xmlNodeSetPtr nodes,
    int mode,
    xmlChar ** inclusive_ns_prefixes,
    int with_comments,
    const char * filename,
    int compression)
    -

    Dumps the canonized image of given XML document into the file. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)

    -
    doc:the XML document for canonization
    nodes:the nodes set to be included in the canonized image or NULL if all document nodes should be included
    mode:the c14n mode (see @xmlC14NMode)
    inclusive_ns_prefixes:the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)
    with_comments:include comments in the result (!=0) or not (==0)
    filename:the filename to store canonical XML image
    compression:the compression level (zlib requred): -1 - libxml default, 0 - uncompressed, >0 - compression level
    Returns:the number of bytes written success or a negative value on fail

    Function: xmlC14NDocSaveTo

    int	xmlC14NDocSaveTo		(xmlDocPtr doc, 
    xmlNodeSetPtr nodes,
    int mode,
    xmlChar ** inclusive_ns_prefixes,
    int with_comments,
    xmlOutputBufferPtr buf)
    -

    Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)

    -
    doc:the XML document for canonization
    nodes:the nodes set to be included in the canonized image or NULL if all document nodes should be included
    mode:the c14n mode (see @xmlC14NMode)
    inclusive_ns_prefixes:the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)
    with_comments:include comments in the result (!=0) or not (==0)
    buf:the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output
    Returns:non-negative value on success or a negative value on fail

    Function: xmlC14NExecute

    int	xmlC14NExecute			(xmlDocPtr doc, 
    xmlC14NIsVisibleCallback is_visible_callback,
    void * user_data,
    int mode,
    xmlChar ** inclusive_ns_prefixes,
    int with_comments,
    xmlOutputBufferPtr buf)
    -

    Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)

    -
    doc:the XML document for canonization
    is_visible_callback:the function to use to determine is node visible or not
    user_data:the first parameter for @is_visible_callback function (in most cases, it is nodes set)
    mode:the c14n mode (see @xmlC14NMode)
    inclusive_ns_prefixes:the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)
    with_comments:include comments in the result (!=0) or not (==0)
    buf:the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output
    Returns:non-negative value on success or a negative value on fail

    Function type: xmlC14NIsVisibleCallback

    Function type: xmlC14NIsVisibleCallback
    -int	xmlC14NIsVisibleCallback	(void * user_data, 
    xmlNodePtr node,
    xmlNodePtr parent) -

    Signature for a C14N callback on visible nodes

    user_data:user data
    node:the curent node
    parent:the parent node
    Returns:1 if the node should be included

    -

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-catalog.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-catalog.html deleted file mode 100644 index d6d28f8..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-catalog.html +++ /dev/null @@ -1,142 +0,0 @@ - - -Module catalog from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module catalog from libxml2

    API Menu
    API Indexes
    Related links

    the catalog module implements the support for XML Catalogs and SGML catalogs

    Table of Contents

    #define XML_CATALOGS_NAMESPACE
    #define XML_CATALOG_PI
    Structure xmlCatalog
    struct _xmlCatalog -The content of this structure is not made public by the API. -
    Enum xmlCatalogAllow
    -
    Enum xmlCatalogPrefer
    -
    Typedef xmlCatalog * xmlCatalogPtr
    -
    int	xmlACatalogAdd			(xmlCatalogPtr catal, 
    const xmlChar * type,
    const xmlChar * orig,
    const xmlChar * replace)
    -
    void	xmlACatalogDump			(xmlCatalogPtr catal, 
    FILE * out)
    -
    int	xmlACatalogRemove		(xmlCatalogPtr catal, 
    const xmlChar * value)
    -
    xmlChar *	xmlACatalogResolve	(xmlCatalogPtr catal, 
    const xmlChar * pubID,
    const xmlChar * sysID)
    -
    xmlChar *	xmlACatalogResolvePublic	(xmlCatalogPtr catal, 
    const xmlChar * pubID)
    -
    xmlChar *	xmlACatalogResolveSystem	(xmlCatalogPtr catal, 
    const xmlChar * sysID)
    -
    xmlChar *	xmlACatalogResolveURI	(xmlCatalogPtr catal, 
    const xmlChar * URI)
    -
    int	xmlCatalogAdd			(const xmlChar * type, 
    const xmlChar * orig,
    const xmlChar * replace)
    -
    void *	xmlCatalogAddLocal		(void * catalogs, 
    const xmlChar * URL)
    -
    void	xmlCatalogCleanup		(void)
    -
    int	xmlCatalogConvert		(void)
    -
    void	xmlCatalogDump			(FILE * out)
    -
    void	xmlCatalogFreeLocal		(void * catalogs)
    -
    xmlCatalogAllow	xmlCatalogGetDefaults	(void)
    -
    const xmlChar *	xmlCatalogGetPublic	(const xmlChar * pubID)
    -
    const xmlChar *	xmlCatalogGetSystem	(const xmlChar * sysID)
    -
    int	xmlCatalogIsEmpty		(xmlCatalogPtr catal)
    -
    xmlChar *	xmlCatalogLocalResolve	(void * catalogs, 
    const xmlChar * pubID,
    const xmlChar * sysID)
    -
    xmlChar *	xmlCatalogLocalResolveURI	(void * catalogs, 
    const xmlChar * URI)
    -
    int	xmlCatalogRemove		(const xmlChar * value)
    -
    xmlChar *	xmlCatalogResolve	(const xmlChar * pubID, 
    const xmlChar * sysID)
    -
    xmlChar *	xmlCatalogResolvePublic	(const xmlChar * pubID)
    -
    xmlChar *	xmlCatalogResolveSystem	(const xmlChar * sysID)
    -
    xmlChar *	xmlCatalogResolveURI	(const xmlChar * URI)
    -
    int	xmlCatalogSetDebug		(int level)
    -
    xmlCatalogPrefer	xmlCatalogSetDefaultPrefer	(xmlCatalogPrefer prefer)
    -
    void	xmlCatalogSetDefaults		(xmlCatalogAllow allow)
    -
    int	xmlConvertSGMLCatalog		(xmlCatalogPtr catal)
    -
    void	xmlFreeCatalog			(xmlCatalogPtr catal)
    -
    void	xmlInitializeCatalog		(void)
    -
    xmlCatalogPtr	xmlLoadACatalog		(const char * filename)
    -
    int	xmlLoadCatalog			(const char * filename)
    -
    void	xmlLoadCatalogs			(const char * pathss)
    -
    xmlCatalogPtr	xmlLoadSGMLSuperCatalog	(const char * filename)
    -
    xmlCatalogPtr	xmlNewCatalog		(int sgml)
    -
    xmlDocPtr	xmlParseCatalogFile	(const char * filename)
    -

    Description

    -

    Macro: XML_CATALOGS_NAMESPACE

    #define XML_CATALOGS_NAMESPACE

    The namespace for the XML Catalogs elements.

    -

    Macro: XML_CATALOG_PI

    #define XML_CATALOG_PI

    The specific XML Catalog Processing Instuction name.

    -

    Structure xmlCatalog

    Structure xmlCatalog
    struct _xmlCatalog { -The content of this structure is not made public by the API. -}

    Enum xmlCatalogAllow

    Enum xmlCatalogAllow {
    -    XML_CATA_ALLOW_NONE = 0
    -    XML_CATA_ALLOW_GLOBAL = 1
    -    XML_CATA_ALLOW_DOCUMENT = 2
    -    XML_CATA_ALLOW_ALL = 3
    -}
    -

    Enum xmlCatalogPrefer

    Enum xmlCatalogPrefer {
    -    XML_CATA_PREFER_NONE = 0
    -    XML_CATA_PREFER_PUBLIC = 1
    -    XML_CATA_PREFER_SYSTEM = 2
    -}
    -

    Function: xmlACatalogAdd

    int	xmlACatalogAdd			(xmlCatalogPtr catal, 
    const xmlChar * type,
    const xmlChar * orig,
    const xmlChar * replace)
    -

    Add an entry in the catalog, it may overwrite existing but different entries.

    -
    catal:a Catalog
    type:the type of record to add to the catalog
    orig:the system, public or prefix to match
    replace:the replacement value for the match
    Returns:0 if successful, -1 otherwise

    Function: xmlACatalogDump

    void	xmlACatalogDump			(xmlCatalogPtr catal, 
    FILE * out)
    -

    Dump the given catalog to the given file.

    -
    catal:a Catalog
    out:the file.

    Function: xmlACatalogRemove

    int	xmlACatalogRemove		(xmlCatalogPtr catal, 
    const xmlChar * value)
    -

    Remove an entry from the catalog

    -
    catal:a Catalog
    value:the value to remove
    Returns:the number of entries removed if successful, -1 otherwise

    Function: xmlACatalogResolve

    xmlChar *	xmlACatalogResolve	(xmlCatalogPtr catal, 
    const xmlChar * pubID,
    const xmlChar * sysID)
    -

    Do a complete resolution lookup of an External Identifier

    -
    catal:a Catalog
    pubID:the public ID string
    sysID:the system ID string
    Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

    Function: xmlACatalogResolvePublic

    xmlChar *	xmlACatalogResolvePublic	(xmlCatalogPtr catal, 
    const xmlChar * pubID)
    -

    Try to lookup the catalog local reference associated to a public ID in that catalog

    -
    catal:a Catalog
    pubID:the public ID string
    Returns:the local resource if found or NULL otherwise, the value returned must be freed by the caller.

    Function: xmlACatalogResolveSystem

    xmlChar *	xmlACatalogResolveSystem	(xmlCatalogPtr catal, 
    const xmlChar * sysID)
    -

    Try to lookup the catalog resource for a system ID

    -
    catal:a Catalog
    sysID:the system ID string
    Returns:the resource if found or NULL otherwise, the value returned must be freed by the caller.

    Function: xmlACatalogResolveURI

    xmlChar *	xmlACatalogResolveURI	(xmlCatalogPtr catal, 
    const xmlChar * URI)
    -

    Do a complete resolution lookup of an URI

    -
    catal:a Catalog
    URI:the URI
    Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

    Function: xmlCatalogAdd

    int	xmlCatalogAdd			(const xmlChar * type, 
    const xmlChar * orig,
    const xmlChar * replace)
    -

    Add an entry in the catalog, it may overwrite existing but different entries. If called before any other catalog routine, allows to override the default shared catalog put in place by xmlInitializeCatalog();

    -
    type:the type of record to add to the catalog
    orig:the system, public or prefix to match
    replace:the replacement value for the match
    Returns:0 if successful, -1 otherwise

    Function: xmlCatalogAddLocal

    void *	xmlCatalogAddLocal		(void * catalogs, 
    const xmlChar * URL)
    -

    Add the new entry to the catalog list

    -
    catalogs:a document's list of catalogs
    URL:the URL to a new local catalog
    Returns:the updated list

    Function: xmlCatalogCleanup

    void	xmlCatalogCleanup		(void)
    -

    Free up all the memory associated with catalogs

    -

    Function: xmlCatalogConvert

    int	xmlCatalogConvert		(void)
    -

    Convert all the SGML catalog entries as XML ones

    -
    Returns:the number of entries converted if successful, -1 otherwise

    Function: xmlCatalogDump

    void	xmlCatalogDump			(FILE * out)
    -

    Dump all the global catalog content to the given file.

    -
    out:the file.

    Function: xmlCatalogFreeLocal

    void	xmlCatalogFreeLocal		(void * catalogs)
    -

    Free up the memory associated to the catalog list

    -
    catalogs:a document's list of catalogs

    Function: xmlCatalogGetDefaults

    xmlCatalogAllow	xmlCatalogGetDefaults	(void)
    -

    Used to get the user preference w.r.t. to what catalogs should be accepted

    -
    Returns:the current xmlCatalogAllow value

    Function: xmlCatalogGetPublic

    const xmlChar *	xmlCatalogGetPublic	(const xmlChar * pubID)
    -

    Try to lookup the catalog reference associated to a public ID DEPRECATED, use xmlCatalogResolvePublic()

    -
    pubID:the public ID string
    Returns:the resource if found or NULL otherwise.

    Function: xmlCatalogGetSystem

    const xmlChar *	xmlCatalogGetSystem	(const xmlChar * sysID)
    -

    Try to lookup the catalog reference associated to a system ID DEPRECATED, use xmlCatalogResolveSystem()

    -
    sysID:the system ID string
    Returns:the resource if found or NULL otherwise.

    Function: xmlCatalogIsEmpty

    int	xmlCatalogIsEmpty		(xmlCatalogPtr catal)
    -

    Check is a catalog is empty

    -
    catal:should this create an SGML catalog
    Returns:1 if the catalog is empty, 0 if not, amd -1 in case of error.

    Function: xmlCatalogLocalResolve

    xmlChar *	xmlCatalogLocalResolve	(void * catalogs, 
    const xmlChar * pubID,
    const xmlChar * sysID)
    -

    Do a complete resolution lookup of an External Identifier using a document's private catalog list

    -
    catalogs:a document's list of catalogs
    pubID:the public ID string
    sysID:the system ID string
    Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

    Function: xmlCatalogLocalResolveURI

    xmlChar *	xmlCatalogLocalResolveURI	(void * catalogs, 
    const xmlChar * URI)
    -

    Do a complete resolution lookup of an URI using a document's private catalog list

    -
    catalogs:a document's list of catalogs
    URI:the URI
    Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

    Function: xmlCatalogRemove

    int	xmlCatalogRemove		(const xmlChar * value)
    -

    Remove an entry from the catalog

    -
    value:the value to remove
    Returns:the number of entries removed if successful, -1 otherwise

    Function: xmlCatalogResolve

    xmlChar *	xmlCatalogResolve	(const xmlChar * pubID, 
    const xmlChar * sysID)
    -

    Do a complete resolution lookup of an External Identifier

    -
    pubID:the public ID string
    sysID:the system ID string
    Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

    Function: xmlCatalogResolvePublic

    xmlChar *	xmlCatalogResolvePublic	(const xmlChar * pubID)
    -

    Try to lookup the catalog reference associated to a public ID

    -
    pubID:the public ID string
    Returns:the resource if found or NULL otherwise, the value returned must be freed by the caller.

    Function: xmlCatalogResolveSystem

    xmlChar *	xmlCatalogResolveSystem	(const xmlChar * sysID)
    -

    Try to lookup the catalog resource for a system ID

    -
    sysID:the system ID string
    Returns:the resource if found or NULL otherwise, the value returned must be freed by the caller.

    Function: xmlCatalogResolveURI

    xmlChar *	xmlCatalogResolveURI	(const xmlChar * URI)
    -

    Do a complete resolution lookup of an URI

    -
    URI:the URI
    Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

    Function: xmlCatalogSetDebug

    int	xmlCatalogSetDebug		(int level)
    -

    Used to set the debug level for catalog operation, 0 disable debugging, 1 enable it

    -
    level:the debug level of catalogs required
    Returns:the previous value of the catalog debugging level

    Function: xmlCatalogSetDefaultPrefer

    xmlCatalogPrefer	xmlCatalogSetDefaultPrefer	(xmlCatalogPrefer prefer)
    -

    Allows to set the preference between public and system for deletion in XML Catalog resolution. C.f. section 4.1.1 of the spec Values accepted are XML_CATA_PREFER_PUBLIC or XML_CATA_PREFER_SYSTEM

    -
    prefer:the default preference for delegation
    Returns:the previous value of the default preference for delegation

    Function: xmlCatalogSetDefaults

    void	xmlCatalogSetDefaults		(xmlCatalogAllow allow)
    -

    Used to set the user preference w.r.t. to what catalogs should be accepted

    -
    allow:what catalogs should be accepted

    Function: xmlConvertSGMLCatalog

    int	xmlConvertSGMLCatalog		(xmlCatalogPtr catal)
    -

    Convert all the SGML catalog entries as XML ones

    -
    catal:the catalog
    Returns:the number of entries converted if successful, -1 otherwise

    Function: xmlFreeCatalog

    void	xmlFreeCatalog			(xmlCatalogPtr catal)
    -

    Free the memory allocated to a Catalog

    -
    catal:a Catalog

    Function: xmlInitializeCatalog

    void	xmlInitializeCatalog		(void)
    -

    Do the catalog initialization. this function is not thread safe, catalog initialization should preferably be done once at startup

    -

    Function: xmlLoadACatalog

    xmlCatalogPtr	xmlLoadACatalog		(const char * filename)
    -

    Load the catalog and build the associated data structures. This can be either an XML Catalog or an SGML Catalog It will recurse in SGML CATALOG entries. On the other hand XML Catalogs are not handled recursively.

    -
    filename:a file path
    Returns:the catalog parsed or NULL in case of error

    Function: xmlLoadCatalog

    int	xmlLoadCatalog			(const char * filename)
    -

    Load the catalog and makes its definitions effective for the default external entity loader. It will recurse in SGML CATALOG entries. this function is not thread safe, catalog initialization should preferably be done once at startup

    -
    filename:a file path
    Returns:0 in case of success -1 in case of error

    Function: xmlLoadCatalogs

    void	xmlLoadCatalogs			(const char * pathss)
    -

    Load the catalogs and makes their definitions effective for the default external entity loader. this function is not thread safe, catalog initialization should preferably be done once at startup

    -
    pathss:a list of directories separated by a colon or a space.

    Function: xmlLoadSGMLSuperCatalog

    xmlCatalogPtr	xmlLoadSGMLSuperCatalog	(const char * filename)
    -

    Load an SGML super catalog. It won't expand CATALOG or DELEGATE references. This is only needed for manipulating SGML Super Catalogs like adding and removing CATALOG or DELEGATE entries.

    -
    filename:a file path
    Returns:the catalog parsed or NULL in case of error

    Function: xmlNewCatalog

    xmlCatalogPtr	xmlNewCatalog		(int sgml)
    -

    create a new Catalog.

    -
    sgml:should this create an SGML catalog
    Returns:the xmlCatalogPtr or NULL in case of error

    Function: xmlParseCatalogFile

    xmlDocPtr	xmlParseCatalogFile	(const char * filename)
    -

    parse an XML file and build a tree. It's like xmlParseFile() except it bypass all catalog lookups.

    -
    filename:the filename
    Returns:the resulting document tree or NULL in case of error

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-chvalid.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-chvalid.html deleted file mode 100644 index 177e9f6..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-chvalid.html +++ /dev/null @@ -1,72 +0,0 @@ - - -Module chvalid from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module chvalid from libxml2

    API Menu
    API Indexes
    Related links

    this module exports interfaces for the character range validation APIs This file is automatically generated from the cvs source definition files using the genChRanges.py Python script

    Table of Contents

    #define xmlIsBaseCharQ
    #define xmlIsBaseChar_ch
    #define xmlIsBlankQ
    #define xmlIsBlank_ch
    #define xmlIsCharQ
    #define xmlIsChar_ch
    #define xmlIsCombiningQ
    #define xmlIsDigitQ
    #define xmlIsDigit_ch
    #define xmlIsExtenderQ
    #define xmlIsExtender_ch
    #define xmlIsIdeographicQ
    #define xmlIsPubidCharQ
    #define xmlIsPubidChar_ch
    Structure xmlChLRange
    struct _xmlChLRange -
    Typedef xmlChLRange * xmlChLRangePtr
    -
    Structure xmlChRangeGroup
    struct _xmlChRangeGroup -
    Typedef xmlChRangeGroup * xmlChRangeGroupPtr
    -
    Structure xmlChSRange
    struct _xmlChSRange -
    Typedef xmlChSRange * xmlChSRangePtr
    -
    int	xmlCharInRange			(unsigned int val, 
    const xmlChRangeGroup * rptr)
    -
    int	xmlIsBaseChar			(unsigned int ch)
    -
    int	xmlIsBlank			(unsigned int ch)
    -
    int	xmlIsChar			(unsigned int ch)
    -
    int	xmlIsCombining			(unsigned int ch)
    -
    int	xmlIsDigit			(unsigned int ch)
    -
    int	xmlIsExtender			(unsigned int ch)
    -
    int	xmlIsIdeographic		(unsigned int ch)
    -
    int	xmlIsPubidChar			(unsigned int ch)
    -

    Description

    -

    Macro: xmlIsBaseCharQ

    #define xmlIsBaseCharQ

    Automatically generated by genChRanges.py

    -

    Macro: xmlIsBaseChar_ch

    #define xmlIsBaseChar_ch

    Automatically generated by genChRanges.py

    -

    Macro: xmlIsBlankQ

    #define xmlIsBlankQ

    Automatically generated by genChRanges.py

    -

    Macro: xmlIsBlank_ch

    #define xmlIsBlank_ch

    Automatically generated by genChRanges.py

    -

    Macro: xmlIsCharQ

    #define xmlIsCharQ

    Automatically generated by genChRanges.py

    -

    Macro: xmlIsChar_ch

    #define xmlIsChar_ch

    Automatically generated by genChRanges.py

    -

    Macro: xmlIsCombiningQ

    #define xmlIsCombiningQ

    Automatically generated by genChRanges.py

    -

    Macro: xmlIsDigitQ

    #define xmlIsDigitQ

    Automatically generated by genChRanges.py

    -

    Macro: xmlIsDigit_ch

    #define xmlIsDigit_ch

    Automatically generated by genChRanges.py

    -

    Macro: xmlIsExtenderQ

    #define xmlIsExtenderQ

    Automatically generated by genChRanges.py

    -

    Macro: xmlIsExtender_ch

    #define xmlIsExtender_ch

    Automatically generated by genChRanges.py

    -

    Macro: xmlIsIdeographicQ

    #define xmlIsIdeographicQ

    Automatically generated by genChRanges.py

    -

    Macro: xmlIsPubidCharQ

    #define xmlIsPubidCharQ

    Automatically generated by genChRanges.py

    -

    Macro: xmlIsPubidChar_ch

    #define xmlIsPubidChar_ch

    Automatically generated by genChRanges.py

    -

    Structure xmlChLRange

    Structure xmlChLRange
    struct _xmlChLRange { - unsigned int low - unsigned int high -}

    Structure xmlChRangeGroup

    Structure xmlChRangeGroup
    struct _xmlChRangeGroup { - int nbShortRange - int nbLongRange - const xmlChSRange * shortRange : points to an array of ranges - const xmlChLRange * longRange -}

    Structure xmlChSRange

    Structure xmlChSRange
    struct _xmlChSRange { - unsigned short low - unsigned short high -}

    Function: xmlCharInRange

    int	xmlCharInRange			(unsigned int val, 
    const xmlChRangeGroup * rptr)
    -

    Does a binary search of the range table to determine if char is valid

    -
    val:character to be validated
    rptr:pointer to range to be used to validate
    Returns:true if character valid, false otherwise

    Function: xmlIsBaseChar

    int	xmlIsBaseChar			(unsigned int ch)
    -

    This function is DEPRECATED. Use xmlIsBaseChar_ch or xmlIsBaseCharQ instead

    -
    ch:character to validate
    Returns:true if argument valid, false otherwise

    Function: xmlIsBlank

    int	xmlIsBlank			(unsigned int ch)
    -

    This function is DEPRECATED. Use xmlIsBlank_ch or xmlIsBlankQ instead

    -
    ch:character to validate
    Returns:true if argument valid, false otherwise

    Function: xmlIsChar

    int	xmlIsChar			(unsigned int ch)
    -

    This function is DEPRECATED. Use xmlIsChar_ch or xmlIsCharQ instead

    -
    ch:character to validate
    Returns:true if argument valid, false otherwise

    Function: xmlIsCombining

    int	xmlIsCombining			(unsigned int ch)
    -

    This function is DEPRECATED. Use xmlIsCombiningQ instead

    -
    ch:character to validate
    Returns:true if argument valid, false otherwise

    Function: xmlIsDigit

    int	xmlIsDigit			(unsigned int ch)
    -

    This function is DEPRECATED. Use xmlIsDigit_ch or xmlIsDigitQ instead

    -
    ch:character to validate
    Returns:true if argument valid, false otherwise

    Function: xmlIsExtender

    int	xmlIsExtender			(unsigned int ch)
    -

    This function is DEPRECATED. Use xmlIsExtender_ch or xmlIsExtenderQ instead

    -
    ch:character to validate
    Returns:true if argument valid, false otherwise

    Function: xmlIsIdeographic

    int	xmlIsIdeographic		(unsigned int ch)
    -

    This function is DEPRECATED. Use xmlIsIdeographicQ instead

    -
    ch:character to validate
    Returns:true if argument valid, false otherwise

    Function: xmlIsPubidChar

    int	xmlIsPubidChar			(unsigned int ch)
    -

    This function is DEPRECATED. Use xmlIsPubidChar_ch or xmlIsPubidCharQ instead

    -
    ch:character to validate
    Returns:true if argument valid, false otherwise

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-debugXML.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-debugXML.html deleted file mode 100644 index 3426e14..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-debugXML.html +++ /dev/null @@ -1,120 +0,0 @@ - - -Module debugXML from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module debugXML from libxml2

    API Menu
    API Indexes
    Related links

    Interfaces to a set of routines used for debugging the tree produced by the XML parser.

    Table of Contents

    Structure xmlShellCtxt
    struct _xmlShellCtxt -
    Typedef xmlShellCtxt * xmlShellCtxtPtr
    -
    const char *	xmlBoolToText		(int boolval)
    -
    int	xmlDebugCheckDocument		(FILE * output, 
    xmlDocPtr doc)
    -
    void	xmlDebugDumpAttr		(FILE * output, 
    xmlAttrPtr attr,
    int depth)
    -
    void	xmlDebugDumpAttrList		(FILE * output, 
    xmlAttrPtr attr,
    int depth)
    -
    void	xmlDebugDumpDTD			(FILE * output, 
    xmlDtdPtr dtd)
    -
    void	xmlDebugDumpDocument		(FILE * output, 
    xmlDocPtr doc)
    -
    void	xmlDebugDumpDocumentHead	(FILE * output, 
    xmlDocPtr doc)
    -
    void	xmlDebugDumpEntities		(FILE * output, 
    xmlDocPtr doc)
    -
    void	xmlDebugDumpNode		(FILE * output, 
    xmlNodePtr node,
    int depth)
    -
    void	xmlDebugDumpNodeList		(FILE * output, 
    xmlNodePtr node,
    int depth)
    -
    void	xmlDebugDumpOneNode		(FILE * output, 
    xmlNodePtr node,
    int depth)
    -
    void	xmlDebugDumpString		(FILE * output, 
    const xmlChar * str)
    -
    int	xmlLsCountNode			(xmlNodePtr node)
    -
    void	xmlLsOneNode			(FILE * output, 
    xmlNodePtr node)
    -
    void	xmlShell			(xmlDocPtr doc, 
    char * filename,
    xmlShellReadlineFunc input,
    FILE * output)
    -
    int	xmlShellBase			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2)
    -
    int	xmlShellCat			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2)
    -
    Function type: xmlShellCmd
    -int	xmlShellCmd			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2) -
    -
    int	xmlShellDir			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2)
    -
    int	xmlShellDu			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr tree,
    xmlNodePtr node2)
    -
    int	xmlShellList			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2)
    -
    int	xmlShellLoad			(xmlShellCtxtPtr ctxt, 
    char * filename,
    xmlNodePtr node,
    xmlNodePtr node2)
    -
    void	xmlShellPrintNode		(xmlNodePtr node)
    -
    void	xmlShellPrintXPathError		(int errorType, 
    const char * arg)
    -
    void	xmlShellPrintXPathResult	(xmlXPathObjectPtr list)
    -
    int	xmlShellPwd			(xmlShellCtxtPtr ctxt, 
    char * buffer,
    xmlNodePtr node,
    xmlNodePtr node2)
    -
    Function type: xmlShellReadlineFunc
    -char *	xmlShellReadlineFunc		(char * prompt)
    -
    -
    int	xmlShellSave			(xmlShellCtxtPtr ctxt, 
    char * filename,
    xmlNodePtr node,
    xmlNodePtr node2)
    -
    int	xmlShellValidate		(xmlShellCtxtPtr ctxt, 
    char * dtd,
    xmlNodePtr node,
    xmlNodePtr node2)
    -
    int	xmlShellWrite			(xmlShellCtxtPtr ctxt, 
    char * filename,
    xmlNodePtr node,
    xmlNodePtr node2)
    -

    Description

    -

    Structure xmlShellCtxt

    Structure xmlShellCtxt
    struct _xmlShellCtxt { - char * filename - xmlDocPtr doc - xmlNodePtr node - xmlXPathContextPtr pctxt - int loaded - FILE * output - xmlShellReadlineFunc input -}

    Function: xmlBoolToText

    const char *	xmlBoolToText		(int boolval)
    -

    Convenient way to turn bool into text

    -
    boolval:a bool to turn into text
    Returns:a pointer to either "True" or "False"

    Function: xmlDebugCheckDocument

    int	xmlDebugCheckDocument		(FILE * output, 
    xmlDocPtr doc)
    -

    Check the document for potential content problems, and output the errors to @output

    -
    output:the FILE * for the output
    doc:the document
    Returns:the number of errors found

    Function: xmlDebugDumpAttr

    void	xmlDebugDumpAttr		(FILE * output, 
    xmlAttrPtr attr,
    int depth)
    -

    Dumps debug information for the attribute

    -
    output:the FILE * for the output
    attr:the attribute
    depth:the indentation level.

    Function: xmlDebugDumpAttrList

    void	xmlDebugDumpAttrList		(FILE * output, 
    xmlAttrPtr attr,
    int depth)
    -

    Dumps debug information for the attribute list

    -
    output:the FILE * for the output
    attr:the attribute list
    depth:the indentation level.

    Function: xmlDebugDumpDTD

    void	xmlDebugDumpDTD			(FILE * output, 
    xmlDtdPtr dtd)
    -

    Dumps debug information for the DTD

    -
    output:the FILE * for the output
    dtd:the DTD

    Function: xmlDebugDumpDocument

    void	xmlDebugDumpDocument		(FILE * output, 
    xmlDocPtr doc)
    -

    Dumps debug information for the document, it's recursive

    -
    output:the FILE * for the output
    doc:the document

    Function: xmlDebugDumpDocumentHead

    void	xmlDebugDumpDocumentHead	(FILE * output, 
    xmlDocPtr doc)
    -

    Dumps debug information cncerning the document, not recursive

    -
    output:the FILE * for the output
    doc:the document

    Function: xmlDebugDumpEntities

    void	xmlDebugDumpEntities		(FILE * output, 
    xmlDocPtr doc)
    -

    Dumps debug information for all the entities in use by the document

    -
    output:the FILE * for the output
    doc:the document

    Function: xmlDebugDumpNode

    void	xmlDebugDumpNode		(FILE * output, 
    xmlNodePtr node,
    int depth)
    -

    Dumps debug information for the element node, it is recursive

    -
    output:the FILE * for the output
    node:the node
    depth:the indentation level.

    Function: xmlDebugDumpNodeList

    void	xmlDebugDumpNodeList		(FILE * output, 
    xmlNodePtr node,
    int depth)
    -

    Dumps debug information for the list of element node, it is recursive

    -
    output:the FILE * for the output
    node:the node list
    depth:the indentation level.

    Function: xmlDebugDumpOneNode

    void	xmlDebugDumpOneNode		(FILE * output, 
    xmlNodePtr node,
    int depth)
    -

    Dumps debug information for the element node, it is not recursive

    -
    output:the FILE * for the output
    node:the node
    depth:the indentation level.

    Function: xmlDebugDumpString

    void	xmlDebugDumpString		(FILE * output, 
    const xmlChar * str)
    -

    Dumps informations about the string, shorten it if necessary

    -
    output:the FILE * for the output
    str:the string

    Function: xmlLsCountNode

    int	xmlLsCountNode			(xmlNodePtr node)
    -

    Count the children of @node.

    -
    node:the node to count
    Returns:the number of children of @node.

    Function: xmlLsOneNode

    void	xmlLsOneNode			(FILE * output, 
    xmlNodePtr node)
    -

    Dump to @output the type and name of @node.

    -
    output:the FILE * for the output
    node:the node to dump

    Function: xmlShell

    void	xmlShell			(xmlDocPtr doc, 
    char * filename,
    xmlShellReadlineFunc input,
    FILE * output)
    -

    Implements the XML shell This allow to load, validate, view, modify and save a document using a environment similar to a UNIX commandline.

    -
    doc:the initial document
    filename:the output buffer
    input:the line reading function
    output:the output FILE*, defaults to stdout if NULL

    Function: xmlShellBase

    int	xmlShellBase			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2)
    -

    Implements the XML shell function "base" dumps the current XML base of the node

    -
    ctxt:the shell context
    arg:unused
    node:a node
    node2:unused
    Returns:0

    Function: xmlShellCat

    int	xmlShellCat			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2)
    -

    Implements the XML shell function "cat" dumps the serialization node content (XML or HTML).

    -
    ctxt:the shell context
    arg:unused
    node:a node
    node2:unused
    Returns:0

    Function type: xmlShellCmd

    Function type: xmlShellCmd
    -int	xmlShellCmd			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2) -

    This is a generic signature for the XML shell functions.

    ctxt:a shell context
    arg:a string argument
    node:a first node
    node2:a second node
    Returns:an int, negative returns indicating errors.

    -

    Function: xmlShellDir

    int	xmlShellDir			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2)
    -

    Implements the XML shell function "dir" dumps informations about the node (namespace, attributes, content).

    -
    ctxt:the shell context
    arg:unused
    node:a node
    node2:unused
    Returns:0

    Function: xmlShellDu

    int	xmlShellDu			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr tree,
    xmlNodePtr node2)
    -

    Implements the XML shell function "du" show the structure of the subtree under node @tree If @tree is null, the command works on the current node.

    -
    ctxt:the shell context
    arg:unused
    tree:a node defining a subtree
    node2:unused
    Returns:0 or -1 in case of error

    Function: xmlShellList

    int	xmlShellList			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2)
    -

    Implements the XML shell function "ls" Does an Unix like listing of the given node (like a directory)

    -
    ctxt:the shell context
    arg:unused
    node:a node
    node2:unused
    Returns:0

    Function: xmlShellLoad

    int	xmlShellLoad			(xmlShellCtxtPtr ctxt, 
    char * filename,
    xmlNodePtr node,
    xmlNodePtr node2)
    -

    Implements the XML shell function "load" loads a new document specified by the filename

    -
    ctxt:the shell context
    filename:the file name
    node:unused
    node2:unused
    Returns:0 or -1 if loading failed

    Function: xmlShellPrintNode

    void	xmlShellPrintNode		(xmlNodePtr node)
    -

    Print node to the output FILE

    -
    node:a non-null node to print to the output FILE

    Function: xmlShellPrintXPathError

    void	xmlShellPrintXPathError		(int errorType, 
    const char * arg)
    -

    Print the xpath error to libxml default error channel

    -
    errorType:valid xpath error id
    arg:the argument that cause xpath to fail

    Function: xmlShellPrintXPathResult

    void	xmlShellPrintXPathResult	(xmlXPathObjectPtr list)
    -

    Prints result to the output FILE

    -
    list:a valid result generated by an xpath evaluation

    Function: xmlShellPwd

    int	xmlShellPwd			(xmlShellCtxtPtr ctxt, 
    char * buffer,
    xmlNodePtr node,
    xmlNodePtr node2)
    -

    Implements the XML shell function "pwd" Show the full path from the root to the node, if needed building thumblers when similar elements exists at a given ancestor level. The output is compatible with XPath commands.

    -
    ctxt:the shell context
    buffer:the output buffer
    node:a node
    node2:unused
    Returns:0 or -1 in case of error

    Function type: xmlShellReadlineFunc

    Function type: xmlShellReadlineFunc
    -char *	xmlShellReadlineFunc		(char * prompt)
    -

    This is a generic signature for the XML shell input function.

    prompt:a string prompt
    Returns:a string which will be freed by the Shell.

    -

    Function: xmlShellSave

    int	xmlShellSave			(xmlShellCtxtPtr ctxt, 
    char * filename,
    xmlNodePtr node,
    xmlNodePtr node2)
    -

    Implements the XML shell function "save" Write the current document to the filename, or it's original name

    -
    ctxt:the shell context
    filename:the file name (optional)
    node:unused
    node2:unused
    Returns:0 or -1 in case of error

    Function: xmlShellValidate

    int	xmlShellValidate		(xmlShellCtxtPtr ctxt, 
    char * dtd,
    xmlNodePtr node,
    xmlNodePtr node2)
    -

    Implements the XML shell function "validate" Validate the document, if a DTD path is provided, then the validation is done against the given DTD.

    -
    ctxt:the shell context
    dtd:the DTD URI (optional)
    node:unused
    node2:unused
    Returns:0 or -1 in case of error

    Function: xmlShellWrite

    int	xmlShellWrite			(xmlShellCtxtPtr ctxt, 
    char * filename,
    xmlNodePtr node,
    xmlNodePtr node2)
    -

    Implements the XML shell function "write" Write the current node to the filename, it saves the serialization of the subtree under the @node specified

    -
    ctxt:the shell context
    filename:the file name
    node:a node in the tree
    node2:unused
    Returns:0 or -1 in case of error

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-dict.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-dict.html deleted file mode 100644 index 2de32b0..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-dict.html +++ /dev/null @@ -1,52 +0,0 @@ - - -Module dict from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module dict from libxml2

    API Menu
    API Indexes
    Related links

    dictionary of reusable strings, just used to avoid allocation and freeing operations.

    Table of Contents

    Structure xmlDict
    struct _xmlDict -The content of this structure is not made public by the API. -
    Typedef xmlDict * xmlDictPtr
    -
    void	xmlDictCleanup			(void)
    -
    xmlDictPtr	xmlDictCreate		(void)
    -
    xmlDictPtr	xmlDictCreateSub	(xmlDictPtr sub)
    -
    const xmlChar *	xmlDictExists		(xmlDictPtr dict, 
    const xmlChar * name,
    int len)
    -
    void	xmlDictFree			(xmlDictPtr dict)
    -
    const xmlChar *	xmlDictLookup		(xmlDictPtr dict, 
    const xmlChar * name,
    int len)
    -
    int	xmlDictOwns			(xmlDictPtr dict, 
    const xmlChar * str)
    -
    const xmlChar *	xmlDictQLookup		(xmlDictPtr dict, 
    const xmlChar * prefix,
    const xmlChar * name)
    -
    int	xmlDictReference		(xmlDictPtr dict)
    -
    int	xmlDictSize			(xmlDictPtr dict)
    -
    int	xmlInitializeDict		(void)
    -

    Description

    -

    Structure xmlDict

    Structure xmlDict
    struct _xmlDict { -The content of this structure is not made public by the API. -}

    Function: xmlDictCleanup

    void	xmlDictCleanup			(void)
    -

    Free the dictionary mutex. Do not call unless sure the library is not in use anymore !

    -

    Function: xmlDictCreate

    xmlDictPtr	xmlDictCreate		(void)
    -

    Create a new dictionary

    -
    Returns:the newly created dictionnary, or NULL if an error occured.

    Function: xmlDictCreateSub

    xmlDictPtr	xmlDictCreateSub	(xmlDictPtr sub)
    -

    Create a new dictionary, inheriting strings from the read-only dictionnary @sub. On lookup, strings are first searched in the new dictionnary, then in @sub, and if not found are created in the new dictionnary.

    -
    sub:an existing dictionnary
    Returns:the newly created dictionnary, or NULL if an error occured.

    Function: xmlDictExists

    const xmlChar *	xmlDictExists		(xmlDictPtr dict, 
    const xmlChar * name,
    int len)
    -

    Check if the @name exists in the dictionnary @dict.

    -
    dict:the dictionnary
    name:the name of the userdata
    len:the length of the name, if -1 it is recomputed
    Returns:the internal copy of the name or NULL if not found.

    Function: xmlDictFree

    void	xmlDictFree			(xmlDictPtr dict)
    -

    Free the hash @dict and its contents. The userdata is deallocated with @f if provided.

    -
    dict:the dictionnary

    Function: xmlDictLookup

    const xmlChar *	xmlDictLookup		(xmlDictPtr dict, 
    const xmlChar * name,
    int len)
    -

    Add the @name to the dictionnary @dict if not present.

    -
    dict:the dictionnary
    name:the name of the userdata
    len:the length of the name, if -1 it is recomputed
    Returns:the internal copy of the name or NULL in case of internal error

    Function: xmlDictOwns

    int	xmlDictOwns			(xmlDictPtr dict, 
    const xmlChar * str)
    -

    check if a string is owned by the disctionary

    -
    dict:the dictionnary
    str:the string
    Returns:1 if true, 0 if false and -1 in case of error -1 in case of error

    Function: xmlDictQLookup

    const xmlChar *	xmlDictQLookup		(xmlDictPtr dict, 
    const xmlChar * prefix,
    const xmlChar * name)
    -

    Add the QName @prefix:@name to the hash @dict if not present.

    -
    dict:the dictionnary
    prefix:the prefix
    name:the name
    Returns:the internal copy of the QName or NULL in case of internal error

    Function: xmlDictReference

    int	xmlDictReference		(xmlDictPtr dict)
    -

    Increment the reference counter of a dictionary

    -
    dict:the dictionnary
    Returns:0 in case of success and -1 in case of error

    Function: xmlDictSize

    int	xmlDictSize			(xmlDictPtr dict)
    -

    Query the number of elements installed in the hash @dict.

    -
    dict:the dictionnary
    Returns:the number of elements in the dictionnary or -1 in case of error

    Function: xmlInitializeDict

    int	xmlInitializeDict		(void)
    -

    Do the dictionary mutex initialization. this function is not thread safe, initialization should preferably be done once at startup

    -
    Returns:0 if initialization was already done, and 1 if that call led to the initialization

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-encoding.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-encoding.html deleted file mode 100644 index 70f56f8..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-encoding.html +++ /dev/null @@ -1,124 +0,0 @@ - - -Module encoding from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module encoding from libxml2

    API Menu
    API Indexes
    Related links

    interface for the encoding conversion functions needed for XML basic encoding and iconv() support. Related specs are rfc2044 (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646] UTF-8 and UTF-16 in Annexes [ISO-8859-1] ISO Latin-1 characters codes. [UNICODE] The Unicode Consortium, "The Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 1992. UTF-8 is described in Unicode Technical Report #4. [US-ASCII] Coded Character Set--7-bit American Standard Code for Information Interchange, ANSI X3.4-1986.

    Table of Contents

    Structure uconv_t
    struct _uconv_t -
    Enum xmlCharEncoding
    -
    Structure xmlCharEncodingHandler
    struct _xmlCharEncodingHandler -
    Typedef xmlCharEncodingHandler * xmlCharEncodingHandlerPtr
    -
    int	UTF8Toisolat1			(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen)
    -
    int	isolat1ToUTF8			(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen)
    -
    int	xmlAddEncodingAlias		(const char * name, 
    const char * alias)
    -
    int	xmlCharEncCloseFunc		(xmlCharEncodingHandler * handler)
    -
    int	xmlCharEncFirstLine		(xmlCharEncodingHandler * handler, 
    xmlBufferPtr out,
    xmlBufferPtr in)
    -
    int	xmlCharEncInFunc		(xmlCharEncodingHandler * handler, 
    xmlBufferPtr out,
    xmlBufferPtr in)
    -
    int	xmlCharEncOutFunc		(xmlCharEncodingHandler * handler, 
    xmlBufferPtr out,
    xmlBufferPtr in)
    -
    Function type: xmlCharEncodingInputFunc
    -int	xmlCharEncodingInputFunc	(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen) -
    -
    Function type: xmlCharEncodingOutputFunc
    -int	xmlCharEncodingOutputFunc	(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen) -
    -
    void	xmlCleanupCharEncodingHandlers	(void)
    -
    void	xmlCleanupEncodingAliases	(void)
    -
    int	xmlDelEncodingAlias		(const char * alias)
    -
    xmlCharEncoding	xmlDetectCharEncoding	(const unsigned char * in, 
    int len)
    -
    xmlCharEncodingHandlerPtr	xmlFindCharEncodingHandler	(const char * name)
    -
    xmlCharEncodingHandlerPtr	xmlGetCharEncodingHandler	(xmlCharEncoding enc)
    -
    const char *	xmlGetCharEncodingName	(xmlCharEncoding enc)
    -
    const char *	xmlGetEncodingAlias	(const char * alias)
    -
    void	xmlInitCharEncodingHandlers	(void)
    -
    xmlCharEncodingHandlerPtr	xmlNewCharEncodingHandler	(const char * name, 
    xmlCharEncodingInputFunc input,
    xmlCharEncodingOutputFunc output)
    -
    xmlCharEncoding	xmlParseCharEncoding	(const char * name)
    -
    void	xmlRegisterCharEncodingHandler	(xmlCharEncodingHandlerPtr handler)
    -

    Description

    -

    Structure uconv_t

    Structure uconv_t
    struct _uconv_t { - UConverter * uconv : for conversion between an encoding and - UConverter * utf8 : for conversion between UTF-8 and UTF-16 -}

    Enum xmlCharEncoding

    Enum xmlCharEncoding {
    -    XML_CHAR_ENCODING_ERROR = -1 : No char encoding detected
    -    XML_CHAR_ENCODING_NONE = 0 : No char encoding detected
    -    XML_CHAR_ENCODING_UTF8 = 1 : UTF-8
    -    XML_CHAR_ENCODING_UTF16LE = 2 : UTF-16 little endian
    -    XML_CHAR_ENCODING_UTF16BE = 3 : UTF-16 big endian
    -    XML_CHAR_ENCODING_UCS4LE = 4 : UCS-4 little endian
    -    XML_CHAR_ENCODING_UCS4BE = 5 : UCS-4 big endian
    -    XML_CHAR_ENCODING_EBCDIC = 6 : EBCDIC uh!
    -    XML_CHAR_ENCODING_UCS4_2143 = 7 : UCS-4 unusual ordering
    -    XML_CHAR_ENCODING_UCS4_3412 = 8 : UCS-4 unusual ordering
    -    XML_CHAR_ENCODING_UCS2 = 9 : UCS-2
    -    XML_CHAR_ENCODING_8859_1 = 10 : ISO-8859-1 ISO Latin 1
    -    XML_CHAR_ENCODING_8859_2 = 11 : ISO-8859-2 ISO Latin 2
    -    XML_CHAR_ENCODING_8859_3 = 12 : ISO-8859-3
    -    XML_CHAR_ENCODING_8859_4 = 13 : ISO-8859-4
    -    XML_CHAR_ENCODING_8859_5 = 14 : ISO-8859-5
    -    XML_CHAR_ENCODING_8859_6 = 15 : ISO-8859-6
    -    XML_CHAR_ENCODING_8859_7 = 16 : ISO-8859-7
    -    XML_CHAR_ENCODING_8859_8 = 17 : ISO-8859-8
    -    XML_CHAR_ENCODING_8859_9 = 18 : ISO-8859-9
    -    XML_CHAR_ENCODING_2022_JP = 19 : ISO-2022-JP
    -    XML_CHAR_ENCODING_SHIFT_JIS = 20 : Shift_JIS
    -    XML_CHAR_ENCODING_EUC_JP = 21 : EUC-JP
    -    XML_CHAR_ENCODING_ASCII = 22 : pure ASCII
    -}
    -

    Structure xmlCharEncodingHandler

    Structure xmlCharEncodingHandler
    struct _xmlCharEncodingHandler { - char * name - xmlCharEncodingInputFunc input - xmlCharEncodingOutputFunc output - iconv_t iconv_in - iconv_t iconv_out - uconv_t * uconv_in - uconv_t * uconv_out -}

    Function: UTF8Toisolat1

    int	UTF8Toisolat1			(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen)
    -

    Take a block of UTF-8 chars in and try to convert it to an ISO Latin 1 block of chars out.

    -
    out:a pointer to an array of bytes to store the result
    outlen:the length of @out
    in:a pointer to an array of UTF-8 chars
    inlen:the length of @in
    Returns:the number of bytes written if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.

    Function: isolat1ToUTF8

    int	isolat1ToUTF8			(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen)
    -

    Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8 block of chars out.

    -
    out:a pointer to an array of bytes to store the result
    outlen:the length of @out
    in:a pointer to an array of ISO Latin 1 chars
    inlen:the length of @in
    Returns:the number of bytes written if success, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.

    Function: xmlAddEncodingAlias

    int	xmlAddEncodingAlias		(const char * name, 
    const char * alias)
    -

    Registers an alias @alias for an encoding named @name. Existing alias will be overwritten.

    -
    name:the encoding name as parsed, in UTF-8 format (ASCII actually)
    alias:the alias name as parsed, in UTF-8 format (ASCII actually)
    Returns:0 in case of success, -1 in case of error

    Function: xmlCharEncCloseFunc

    int	xmlCharEncCloseFunc		(xmlCharEncodingHandler * handler)
    -

    Generic front-end for encoding handler close function

    -
    handler:char enconding transformation data structure
    Returns:0 if success, or -1 in case of error

    Function: xmlCharEncFirstLine

    int	xmlCharEncFirstLine		(xmlCharEncodingHandler * handler, 
    xmlBufferPtr out,
    xmlBufferPtr in)
    -

    Front-end for the encoding handler input function, but handle only the very first line, i.e. limit itself to 45 chars.

    -
    handler:char enconding transformation data structure
    out:an xmlBuffer for the output.
    in:an xmlBuffer for the input
    Returns:the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or

    Function: xmlCharEncInFunc

    int	xmlCharEncInFunc		(xmlCharEncodingHandler * handler, 
    xmlBufferPtr out,
    xmlBufferPtr in)
    -

    Generic front-end for the encoding handler input function

    -
    handler:char encoding transformation data structure
    out:an xmlBuffer for the output.
    in:an xmlBuffer for the input
    Returns:the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or

    Function: xmlCharEncOutFunc

    int	xmlCharEncOutFunc		(xmlCharEncodingHandler * handler, 
    xmlBufferPtr out,
    xmlBufferPtr in)
    -

    Generic front-end for the encoding handler output function a first call with @in == NULL has to be made firs to initiate the output in case of non-stateless encoding needing to initiate their state or the output (like the BOM in UTF16). In case of UTF8 sequence conversion errors for the given encoder, the content will be automatically remapped to a CharRef sequence.

    -
    handler:char enconding transformation data structure
    out:an xmlBuffer for the output.
    in:an xmlBuffer for the input
    Returns:the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or

    Function type: xmlCharEncodingInputFunc

    Function type: xmlCharEncodingInputFunc
    -int	xmlCharEncodingInputFunc	(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen) -

    Take a block of chars in the original encoding and try to convert it to an UTF-8 block of chars out.

    out:a pointer to an array of bytes to store the UTF-8 result
    outlen:the length of @out
    in:a pointer to an array of chars in the original encoding
    inlen:the length of @in
    Returns:the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets consumed.

    -

    Function type: xmlCharEncodingOutputFunc

    Function type: xmlCharEncodingOutputFunc
    -int	xmlCharEncodingOutputFunc	(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen) -

    Take a block of UTF-8 chars in and try to convert it to another encoding. Note: a first call designed to produce heading info is called with in = NULL. If stateful this should also initialize the encoder state.

    out:a pointer to an array of bytes to store the result
    outlen:the length of @out
    in:a pointer to an array of UTF-8 chars
    inlen:the length of @in
    Returns:the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets produced.

    -

    Function: xmlCleanupCharEncodingHandlers

    void	xmlCleanupCharEncodingHandlers	(void)
    -

    Cleanup the memory allocated for the char encoding support, it unregisters all the encoding handlers and the aliases.

    -

    Function: xmlCleanupEncodingAliases

    void	xmlCleanupEncodingAliases	(void)
    -

    Unregisters all aliases

    -

    Function: xmlDelEncodingAlias

    int	xmlDelEncodingAlias		(const char * alias)
    -

    Unregisters an encoding alias @alias

    -
    alias:the alias name as parsed, in UTF-8 format (ASCII actually)
    Returns:0 in case of success, -1 in case of error

    Function: xmlDetectCharEncoding

    xmlCharEncoding	xmlDetectCharEncoding	(const unsigned char * in, 
    int len)
    -

    Guess the encoding of the entity using the first bytes of the entity content according to the non-normative appendix F of the XML-1.0 recommendation.

    -
    in:a pointer to the first bytes of the XML entity, must be at least 2 bytes long (at least 4 if encoding is UTF4 variant).
    len:pointer to the length of the buffer
    Returns:one of the XML_CHAR_ENCODING_... values.

    Function: xmlFindCharEncodingHandler

    xmlCharEncodingHandlerPtr	xmlFindCharEncodingHandler	(const char * name)
    -

    Search in the registered set the handler able to read/write that encoding.

    -
    name:a string describing the char encoding.
    Returns:the handler or NULL if not found

    Function: xmlGetCharEncodingHandler

    xmlCharEncodingHandlerPtr	xmlGetCharEncodingHandler	(xmlCharEncoding enc)
    -

    Search in the registered set the handler able to read/write that encoding.

    -
    enc:an xmlCharEncoding value.
    Returns:the handler or NULL if not found

    Function: xmlGetCharEncodingName

    const char *	xmlGetCharEncodingName	(xmlCharEncoding enc)
    -

    The "canonical" name for XML encoding. C.f. http://www.w3.org/TR/REC-xml#charencoding Section 4.3.3 Character Encoding in Entities

    -
    enc:the encoding
    Returns:the canonical name for the given encoding

    Function: xmlGetEncodingAlias

    const char *	xmlGetEncodingAlias	(const char * alias)
    -

    Lookup an encoding name for the given alias.

    -
    alias:the alias name as parsed, in UTF-8 format (ASCII actually)
    Returns:NULL if not found, otherwise the original name

    Function: xmlInitCharEncodingHandlers

    void	xmlInitCharEncodingHandlers	(void)
    -

    Initialize the char encoding support, it registers the default encoding supported. NOTE: while public, this function usually doesn't need to be called in normal processing.

    -

    Function: xmlNewCharEncodingHandler

    xmlCharEncodingHandlerPtr	xmlNewCharEncodingHandler	(const char * name, 
    xmlCharEncodingInputFunc input,
    xmlCharEncodingOutputFunc output)
    -

    Create and registers an xmlCharEncodingHandler.

    -
    name:the encoding name, in UTF-8 format (ASCII actually)
    input:the xmlCharEncodingInputFunc to read that encoding
    output:the xmlCharEncodingOutputFunc to write that encoding
    Returns:the xmlCharEncodingHandlerPtr created (or NULL in case of error).

    Function: xmlParseCharEncoding

    xmlCharEncoding	xmlParseCharEncoding	(const char * name)
    -

    Compare the string to the encoding schemes already known. Note that the comparison is case insensitive accordingly to the section [XML] 4.3.3 Character Encoding in Entities.

    -
    name:the encoding name as parsed, in UTF-8 format (ASCII actually)
    Returns:one of the XML_CHAR_ENCODING_... values or XML_CHAR_ENCODING_NONE if not recognized.

    Function: xmlRegisterCharEncodingHandler

    void	xmlRegisterCharEncodingHandler	(xmlCharEncodingHandlerPtr handler)
    -

    Register the char encoding handler, surprising, isn't it ?

    -
    handler:the xmlCharEncodingHandlerPtr handler block

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-entities.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-entities.html deleted file mode 100644 index 989805a..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-entities.html +++ /dev/null @@ -1,79 +0,0 @@ - - -Module entities from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module entities from libxml2

    API Menu
    API Indexes
    Related links

    this module provides some of the entity API needed for the parser and applications.

    Table of Contents

    Structure xmlEntitiesTable
    struct _xmlHashTable -The content of this structure is not made public by the API. -
    Typedef xmlEntitiesTable * xmlEntitiesTablePtr
    -
    Enum xmlEntityType
    -
    xmlEntityPtr	xmlAddDocEntity		(xmlDocPtr doc, 
    const xmlChar * name,
    int type,
    const xmlChar * ExternalID,
    const xmlChar * SystemID,
    const xmlChar * content)
    -
    xmlEntityPtr	xmlAddDtdEntity		(xmlDocPtr doc, 
    const xmlChar * name,
    int type,
    const xmlChar * ExternalID,
    const xmlChar * SystemID,
    const xmlChar * content)
    -
    void	xmlCleanupPredefinedEntities	(void)
    -
    xmlEntitiesTablePtr	xmlCopyEntitiesTable	(xmlEntitiesTablePtr table)
    -
    xmlEntitiesTablePtr	xmlCreateEntitiesTable	(void)
    -
    void	xmlDumpEntitiesTable		(xmlBufferPtr buf, 
    xmlEntitiesTablePtr table)
    -
    void	xmlDumpEntityDecl		(xmlBufferPtr buf, 
    xmlEntityPtr ent)
    -
    const xmlChar *	xmlEncodeEntities	(xmlDocPtr doc, 
    const xmlChar * input)
    -
    xmlChar *	xmlEncodeEntitiesReentrant	(xmlDocPtr doc, 
    const xmlChar * input)
    -
    xmlChar *	xmlEncodeSpecialChars	(xmlDocPtr doc, 
    const xmlChar * input)
    -
    void	xmlFreeEntitiesTable		(xmlEntitiesTablePtr table)
    -
    xmlEntityPtr	xmlGetDocEntity		(xmlDocPtr doc, 
    const xmlChar * name)
    -
    xmlEntityPtr	xmlGetDtdEntity		(xmlDocPtr doc, 
    const xmlChar * name)
    -
    xmlEntityPtr	xmlGetParameterEntity	(xmlDocPtr doc, 
    const xmlChar * name)
    -
    xmlEntityPtr	xmlGetPredefinedEntity	(const xmlChar * name)
    -
    void	xmlInitializePredefinedEntities	(void)
    -
    xmlEntityPtr	xmlNewEntity		(xmlDocPtr doc, 
    const xmlChar * name,
    int type,
    const xmlChar * ExternalID,
    const xmlChar * SystemID,
    const xmlChar * content)
    -

    Description

    -

    Structure xmlEntitiesTable

    Structure xmlEntitiesTable
    struct _xmlHashTable { -The content of this structure is not made public by the API. -}

    Enum xmlEntityType

    Enum xmlEntityType {
    -    XML_INTERNAL_GENERAL_ENTITY = 1
    -    XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2
    -    XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3
    -    XML_INTERNAL_PARAMETER_ENTITY = 4
    -    XML_EXTERNAL_PARAMETER_ENTITY = 5
    -    XML_INTERNAL_PREDEFINED_ENTITY = 6
    -}
    -

    Function: xmlAddDocEntity

    xmlEntityPtr	xmlAddDocEntity		(xmlDocPtr doc, 
    const xmlChar * name,
    int type,
    const xmlChar * ExternalID,
    const xmlChar * SystemID,
    const xmlChar * content)
    -

    Register a new entity for this document.

    -
    doc:the document
    name:the entity name
    type:the entity type XML_xxx_yyy_ENTITY
    ExternalID:the entity external ID if available
    SystemID:the entity system ID if available
    content:the entity content
    Returns:a pointer to the entity or NULL in case of error

    Function: xmlAddDtdEntity

    xmlEntityPtr	xmlAddDtdEntity		(xmlDocPtr doc, 
    const xmlChar * name,
    int type,
    const xmlChar * ExternalID,
    const xmlChar * SystemID,
    const xmlChar * content)
    -

    Register a new entity for this document DTD external subset.

    -
    doc:the document
    name:the entity name
    type:the entity type XML_xxx_yyy_ENTITY
    ExternalID:the entity external ID if available
    SystemID:the entity system ID if available
    content:the entity content
    Returns:a pointer to the entity or NULL in case of error

    Function: xmlCleanupPredefinedEntities

    void	xmlCleanupPredefinedEntities	(void)
    -

    Cleanup up the predefined entities table. Deprecated call

    -

    Function: xmlCopyEntitiesTable

    xmlEntitiesTablePtr	xmlCopyEntitiesTable	(xmlEntitiesTablePtr table)
    -

    Build a copy of an entity table.

    -
    table:An entity table
    Returns:the new xmlEntitiesTablePtr or NULL in case of error.

    Function: xmlCreateEntitiesTable

    xmlEntitiesTablePtr	xmlCreateEntitiesTable	(void)
    -

    create and initialize an empty entities hash table. This really doesn't make sense and should be deprecated

    -
    Returns:the xmlEntitiesTablePtr just created or NULL in case of error.

    Function: xmlDumpEntitiesTable

    void	xmlDumpEntitiesTable		(xmlBufferPtr buf, 
    xmlEntitiesTablePtr table)
    -

    This will dump the content of the entity table as an XML DTD definition

    -
    buf:An XML buffer.
    table:An entity table

    Function: xmlDumpEntityDecl

    void	xmlDumpEntityDecl		(xmlBufferPtr buf, 
    xmlEntityPtr ent)
    -

    This will dump the content of the entity table as an XML DTD definition

    -
    buf:An XML buffer.
    ent:An entity table

    Function: xmlEncodeEntities

    const xmlChar *	xmlEncodeEntities	(xmlDocPtr doc, 
    const xmlChar * input)
    -

    TODO: remove xmlEncodeEntities, once we are not afraid of breaking binary compatibility People must migrate their code to xmlEncodeEntitiesReentrant ! This routine will issue a warning when encountered.

    -
    doc:the document containing the string
    input:A string to convert to XML.
    Returns:NULL

    Function: xmlEncodeEntitiesReentrant

    xmlChar *	xmlEncodeEntitiesReentrant	(xmlDocPtr doc, 
    const xmlChar * input)
    -

    Do a global encoding of a string, replacing the predefined entities and non ASCII values with their entities and CharRef counterparts. Contrary to xmlEncodeEntities, this routine is reentrant, and result must be deallocated.

    -
    doc:the document containing the string
    input:A string to convert to XML.
    Returns:A newly allocated string with the substitution done.

    Function: xmlEncodeSpecialChars

    xmlChar *	xmlEncodeSpecialChars	(xmlDocPtr doc, 
    const xmlChar * input)
    -

    Do a global encoding of a string, replacing the predefined entities this routine is reentrant, and result must be deallocated.

    -
    doc:the document containing the string
    input:A string to convert to XML.
    Returns:A newly allocated string with the substitution done.

    Function: xmlFreeEntitiesTable

    void	xmlFreeEntitiesTable		(xmlEntitiesTablePtr table)
    -

    Deallocate the memory used by an entities hash table.

    -
    table:An entity table

    Function: xmlGetDocEntity

    xmlEntityPtr	xmlGetDocEntity		(xmlDocPtr doc, 
    const xmlChar * name)
    -

    Do an entity lookup in the document entity hash table and

    -
    doc:the document referencing the entity
    name:the entity name
    Returns:the corresponding entity, otherwise a lookup is done in the predefined entities too. Returns A pointer to the entity structure or NULL if not found.

    Function: xmlGetDtdEntity

    xmlEntityPtr	xmlGetDtdEntity		(xmlDocPtr doc, 
    const xmlChar * name)
    -

    Do an entity lookup in the DTD entity hash table and

    -
    doc:the document referencing the entity
    name:the entity name
    Returns:the corresponding entity, if found. Note: the first argument is the document node, not the DTD node. Returns A pointer to the entity structure or NULL if not found.

    Function: xmlGetParameterEntity

    xmlEntityPtr	xmlGetParameterEntity	(xmlDocPtr doc, 
    const xmlChar * name)
    -

    Do an entity lookup in the internal and external subsets and

    -
    doc:the document referencing the entity
    name:the entity name
    Returns:the corresponding parameter entity, if found. Returns A pointer to the entity structure or NULL if not found.

    Function: xmlGetPredefinedEntity

    xmlEntityPtr	xmlGetPredefinedEntity	(const xmlChar * name)
    -

    Check whether this name is an predefined entity.

    -
    name:the entity name
    Returns:NULL if not, otherwise the entity

    Function: xmlInitializePredefinedEntities

    void	xmlInitializePredefinedEntities	(void)
    -

    Set up the predefined entities. Deprecated call

    -

    Function: xmlNewEntity

    xmlEntityPtr	xmlNewEntity		(xmlDocPtr doc, 
    const xmlChar * name,
    int type,
    const xmlChar * ExternalID,
    const xmlChar * SystemID,
    const xmlChar * content)
    -

    Create a new entity, this differs from xmlAddDocEntity() that if the document is NULL or has no internal subset defined, then an unlinked entity structure will be returned, it is then the responsability of the caller to link it to the document later or free it when not needed anymore.

    -
    doc:the document
    name:the entity name
    type:the entity type XML_xxx_yyy_ENTITY
    ExternalID:the entity external ID if available
    SystemID:the entity system ID if available
    content:the entity content
    Returns:a pointer to the entity or NULL in case of error

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-globals.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-globals.html deleted file mode 100644 index 04986ef..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-globals.html +++ /dev/null @@ -1,152 +0,0 @@ - - -Module globals from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module globals from libxml2

    API Menu
    API Indexes
    Related links

    all the global variables and thread handling for those variables is handled by this module. The bottom of this file is automatically generated by build_glob.py based on the description file global.data

    Table of Contents

    Structure xmlGlobalState
    struct _xmlGlobalState -
    Typedef xmlGlobalState * xmlGlobalStatePtr
    -
    void	xmlCleanupGlobals		(void)
    -
    xmlDeregisterNodeFunc	xmlDeregisterNodeDefault	(xmlDeregisterNodeFunc func)
    -
    Function type: xmlDeregisterNodeFunc
    -void	xmlDeregisterNodeFunc		(xmlNodePtr node)
    -
    -
    void	xmlInitGlobals			(void)
    -
    void	xmlInitializeGlobalState	(xmlGlobalStatePtr gs)
    -
    xmlOutputBufferCreateFilenameFunc	xmlOutputBufferCreateFilenameDefault	(xmlOutputBufferCreateFilenameFunc func)
    -
    Function type: xmlOutputBufferCreateFilenameFunc
    -xmlOutputBufferPtr	xmlOutputBufferCreateFilenameFunc	(const char * URI, 
    xmlCharEncodingHandlerPtr encoder,
    int compression) -
    -
    xmlParserInputBufferCreateFilenameFunc	xmlParserInputBufferCreateFilenameDefault	(xmlParserInputBufferCreateFilenameFunc func)
    -
    Function type: xmlParserInputBufferCreateFilenameFunc
    -xmlParserInputBufferPtr	xmlParserInputBufferCreateFilenameFunc	(const char * URI, 
    xmlCharEncoding enc) -
    -
    xmlRegisterNodeFunc	xmlRegisterNodeDefault	(xmlRegisterNodeFunc func)
    -
    Function type: xmlRegisterNodeFunc
    -void	xmlRegisterNodeFunc		(xmlNodePtr node)
    -
    -
    xmlBufferAllocationScheme	xmlThrDefBufferAllocScheme	(xmlBufferAllocationScheme v)
    -
    int	xmlThrDefDefaultBufferSize	(int v)
    -
    xmlDeregisterNodeFunc	xmlThrDefDeregisterNodeDefault	(xmlDeregisterNodeFunc func)
    -
    int	xmlThrDefDoValidityCheckingDefaultValue	(int v)
    -
    int	xmlThrDefGetWarningsDefaultValue	(int v)
    -
    int	xmlThrDefIndentTreeOutput	(int v)
    -
    int	xmlThrDefKeepBlanksDefaultValue	(int v)
    -
    int	xmlThrDefLineNumbersDefaultValue	(int v)
    -
    int	xmlThrDefLoadExtDtdDefaultValue	(int v)
    -
    xmlOutputBufferCreateFilenameFunc	xmlThrDefOutputBufferCreateFilenameDefault	(xmlOutputBufferCreateFilenameFunc func)
    -
    int	xmlThrDefParserDebugEntities	(int v)
    -
    xmlParserInputBufferCreateFilenameFunc	xmlThrDefParserInputBufferCreateFilenameDefault	(xmlParserInputBufferCreateFilenameFunc func)
    -
    int	xmlThrDefPedanticParserDefaultValue	(int v)
    -
    xmlRegisterNodeFunc	xmlThrDefRegisterNodeDefault	(xmlRegisterNodeFunc func)
    -
    int	xmlThrDefSaveNoEmptyTags	(int v)
    -
    void	xmlThrDefSetGenericErrorFunc	(void * ctx, 
    xmlGenericErrorFunc handler)
    -
    void	xmlThrDefSetStructuredErrorFunc	(void * ctx, 
    xmlStructuredErrorFunc handler)
    -
    int	xmlThrDefSubstituteEntitiesDefaultValue	(int v)
    -
    const char *	xmlThrDefTreeIndentString	(const char * v)
    -

    Description

    -

    Structure xmlGlobalState

    Structure xmlGlobalState
    struct _xmlGlobalState { - const char * xmlParserVersion - xmlSAXLocator xmlDefaultSAXLocator - xmlSAXHandlerV1 xmlDefaultSAXHandler - xmlSAXHandlerV1 docbDefaultSAXHandler - xmlSAXHandlerV1 htmlDefaultSAXHandler - xmlFreeFunc xmlFree - xmlMallocFunc xmlMalloc - xmlStrdupFunc xmlMemStrdup - xmlReallocFunc xmlRealloc - xmlGenericErrorFunc xmlGenericError - xmlStructuredErrorFunc xmlStructuredError - void * xmlGenericErrorContext - int oldXMLWDcompatibility - xmlBufferAllocationScheme xmlBufferAllocScheme - int xmlDefaultBufferSize - int xmlSubstituteEntitiesDefaultValue - int xmlDoValidityCheckingDefaultValue - int xmlGetWarningsDefaultValue - int xmlKeepBlanksDefaultValue - int xmlLineNumbersDefaultValue - int xmlLoadExtDtdDefaultValue - int xmlParserDebugEntities - int xmlPedanticParserDefaultValue - int xmlSaveNoEmptyTags - int xmlIndentTreeOutput - const char * xmlTreeIndentString - xmlRegisterNodeFunc xmlRegisterNodeDefaultValue - xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue - xmlMallocFunc xmlMallocAtomic - xmlError xmlLastError - xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue - xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue - void * xmlStructuredErrorContext -}

    Function: xmlCleanupGlobals

    void	xmlCleanupGlobals		(void)
    -

    Additional cleanup for multi-threading

    -

    Function: xmlDeregisterNodeDefault

    xmlDeregisterNodeFunc	xmlDeregisterNodeDefault	(xmlDeregisterNodeFunc func)
    -

    Registers a callback for node destruction

    -
    func:function pointer to the new DeregisterNodeFunc
    Returns:the previous value of the deregistration function

    Function type: xmlDeregisterNodeFunc

    Function type: xmlDeregisterNodeFunc
    -void	xmlDeregisterNodeFunc		(xmlNodePtr node)
    -

    Signature for the deregistration callback of a discarded node

    node:the current node

    -

    Function: xmlInitGlobals

    void	xmlInitGlobals			(void)
    -

    Additional initialisation for multi-threading

    -

    Function: xmlInitializeGlobalState

    void	xmlInitializeGlobalState	(xmlGlobalStatePtr gs)
    -

    xmlInitializeGlobalState() initialize a global state with all the default values of the library.

    -
    gs:a pointer to a newly allocated global state

    Function: xmlOutputBufferCreateFilenameDefault

    xmlOutputBufferCreateFilenameFunc	xmlOutputBufferCreateFilenameDefault	(xmlOutputBufferCreateFilenameFunc func)
    -

    Registers a callback for URI output file handling

    -
    func:function pointer to the new OutputBufferCreateFilenameFunc
    Returns:the old value of the registration function

    Function type: xmlOutputBufferCreateFilenameFunc

    Function type: xmlOutputBufferCreateFilenameFunc
    -xmlOutputBufferPtr	xmlOutputBufferCreateFilenameFunc	(const char * URI, 
    xmlCharEncodingHandlerPtr encoder,
    int compression) -

    Signature for the function doing the lookup for a suitable output method corresponding to an URI.

    URI:the URI to write to
    encoder:
    compression:
    Returns:the new xmlOutputBufferPtr in case of success or NULL if no method was found.

    -

    Function: xmlParserInputBufferCreateFilenameDefault

    xmlParserInputBufferCreateFilenameFunc	xmlParserInputBufferCreateFilenameDefault	(xmlParserInputBufferCreateFilenameFunc func)
    -

    Registers a callback for URI input file handling

    -
    func:function pointer to the new ParserInputBufferCreateFilenameFunc
    Returns:the old value of the registration function

    Function type: xmlParserInputBufferCreateFilenameFunc

    Function type: xmlParserInputBufferCreateFilenameFunc
    -xmlParserInputBufferPtr	xmlParserInputBufferCreateFilenameFunc	(const char * URI, 
    xmlCharEncoding enc) -

    Signature for the function doing the lookup for a suitable input method corresponding to an URI.

    URI:the URI to read from
    enc:the requested source encoding
    Returns:the new xmlParserInputBufferPtr in case of success or NULL if no method was found.

    -

    Function: xmlRegisterNodeDefault

    xmlRegisterNodeFunc	xmlRegisterNodeDefault	(xmlRegisterNodeFunc func)
    -

    Registers a callback for node creation

    -
    func:function pointer to the new RegisterNodeFunc
    Returns:the old value of the registration function

    Function type: xmlRegisterNodeFunc

    Function type: xmlRegisterNodeFunc
    -void	xmlRegisterNodeFunc		(xmlNodePtr node)
    -

    Signature for the registration callback of a created node

    node:the current node

    -

    Function: xmlThrDefBufferAllocScheme

    xmlBufferAllocationScheme	xmlThrDefBufferAllocScheme	(xmlBufferAllocationScheme v)
    -

    -
    v:
    Returns:

    Function: xmlThrDefDefaultBufferSize

    int	xmlThrDefDefaultBufferSize	(int v)
    -

    -
    v:
    Returns:

    Function: xmlThrDefDeregisterNodeDefault

    xmlDeregisterNodeFunc	xmlThrDefDeregisterNodeDefault	(xmlDeregisterNodeFunc func)
    -

    -
    func:
    Returns:

    Function: xmlThrDefDoValidityCheckingDefaultValue

    int	xmlThrDefDoValidityCheckingDefaultValue	(int v)
    -

    -
    v:
    Returns:

    Function: xmlThrDefGetWarningsDefaultValue

    int	xmlThrDefGetWarningsDefaultValue	(int v)
    -

    -
    v:
    Returns:

    Function: xmlThrDefIndentTreeOutput

    int	xmlThrDefIndentTreeOutput	(int v)
    -

    -
    v:
    Returns:

    Function: xmlThrDefKeepBlanksDefaultValue

    int	xmlThrDefKeepBlanksDefaultValue	(int v)
    -

    -
    v:
    Returns:

    Function: xmlThrDefLineNumbersDefaultValue

    int	xmlThrDefLineNumbersDefaultValue	(int v)
    -

    -
    v:
    Returns:

    Function: xmlThrDefLoadExtDtdDefaultValue

    int	xmlThrDefLoadExtDtdDefaultValue	(int v)
    -

    -
    v:
    Returns:

    Function: xmlThrDefOutputBufferCreateFilenameDefault

    xmlOutputBufferCreateFilenameFunc	xmlThrDefOutputBufferCreateFilenameDefault	(xmlOutputBufferCreateFilenameFunc func)
    -

    -
    func:
    Returns:

    Function: xmlThrDefParserDebugEntities

    int	xmlThrDefParserDebugEntities	(int v)
    -

    -
    v:
    Returns:

    Function: xmlThrDefParserInputBufferCreateFilenameDefault

    xmlParserInputBufferCreateFilenameFunc	xmlThrDefParserInputBufferCreateFilenameDefault	(xmlParserInputBufferCreateFilenameFunc func)
    -

    -
    func:
    Returns:

    Function: xmlThrDefPedanticParserDefaultValue

    int	xmlThrDefPedanticParserDefaultValue	(int v)
    -

    -
    v:
    Returns:

    Function: xmlThrDefRegisterNodeDefault

    xmlRegisterNodeFunc	xmlThrDefRegisterNodeDefault	(xmlRegisterNodeFunc func)
    -

    -
    func:
    Returns:

    Function: xmlThrDefSaveNoEmptyTags

    int	xmlThrDefSaveNoEmptyTags	(int v)
    -

    -
    v:
    Returns:

    Function: xmlThrDefSetGenericErrorFunc

    void	xmlThrDefSetGenericErrorFunc	(void * ctx, 
    xmlGenericErrorFunc handler)
    -

    -
    ctx:
    handler:

    Function: xmlThrDefSetStructuredErrorFunc

    void	xmlThrDefSetStructuredErrorFunc	(void * ctx, 
    xmlStructuredErrorFunc handler)
    -

    -
    ctx:
    handler:

    Function: xmlThrDefSubstituteEntitiesDefaultValue

    int	xmlThrDefSubstituteEntitiesDefaultValue	(int v)
    -

    -
    v:
    Returns:

    Function: xmlThrDefTreeIndentString

    const char *	xmlThrDefTreeIndentString	(const char * v)
    -

    -
    v:
    Returns:

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-hash.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-hash.html deleted file mode 100644 index 922e3f1..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-hash.html +++ /dev/null @@ -1,116 +0,0 @@ - - -Module hash from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module hash from libxml2

    API Menu
    API Indexes
    Related links

    This module implements the hash table support used in various places in the library.

    Table of Contents

    #define XML_CAST_FPTR
    Structure xmlHashTable
    struct _xmlHashTable -The content of this structure is not made public by the API. -
    Typedef xmlHashTable * xmlHashTablePtr
    -
    int	xmlHashAddEntry			(xmlHashTablePtr table, 
    const xmlChar * name,
    void * userdata)
    -
    int	xmlHashAddEntry2		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    void * userdata)
    -
    int	xmlHashAddEntry3		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    void * userdata)
    -
    Function type: xmlHashCopier
    -void *	xmlHashCopier			(void * payload, 
    xmlChar * name) -
    -
    xmlHashTablePtr	xmlHashCopy		(xmlHashTablePtr table, 
    xmlHashCopier f)
    -
    xmlHashTablePtr	xmlHashCreate		(int size)
    -
    xmlHashTablePtr	xmlHashCreateDict	(int size, 
    xmlDictPtr dict)
    -
    Function type: xmlHashDeallocator
    -void	xmlHashDeallocator		(void * payload, 
    xmlChar * name) -
    -
    void	xmlHashFree			(xmlHashTablePtr table, 
    xmlHashDeallocator f)
    -
    void *	xmlHashLookup			(xmlHashTablePtr table, 
    const xmlChar * name)
    -
    void *	xmlHashLookup2			(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2)
    -
    void *	xmlHashLookup3			(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3)
    -
    void *	xmlHashQLookup			(xmlHashTablePtr table, 
    const xmlChar * prefix,
    const xmlChar * name)
    -
    void *	xmlHashQLookup2			(xmlHashTablePtr table, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * prefix2,
    const xmlChar * name2)
    -
    void *	xmlHashQLookup3			(xmlHashTablePtr table, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * prefix2,
    const xmlChar * name2,
    const xmlChar * prefix3,
    const xmlChar * name3)
    -
    int	xmlHashRemoveEntry		(xmlHashTablePtr table, 
    const xmlChar * name,
    xmlHashDeallocator f)
    -
    int	xmlHashRemoveEntry2		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    xmlHashDeallocator f)
    -
    int	xmlHashRemoveEntry3		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    xmlHashDeallocator f)
    -
    void	xmlHashScan			(xmlHashTablePtr table, 
    xmlHashScanner f,
    void * data)
    -
    void	xmlHashScan3			(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    xmlHashScanner f,
    void * data)
    -
    void	xmlHashScanFull			(xmlHashTablePtr table, 
    xmlHashScannerFull f,
    void * data)
    -
    void	xmlHashScanFull3		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    xmlHashScannerFull f,
    void * data)
    -
    Function type: xmlHashScanner
    -void	xmlHashScanner			(void * payload, 
    void * data,
    xmlChar * name) -
    -
    Function type: xmlHashScannerFull
    -void	xmlHashScannerFull		(void * payload, 
    void * data,
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3) -
    -
    int	xmlHashSize			(xmlHashTablePtr table)
    -
    int	xmlHashUpdateEntry		(xmlHashTablePtr table, 
    const xmlChar * name,
    void * userdata,
    xmlHashDeallocator f)
    -
    int	xmlHashUpdateEntry2		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    void * userdata,
    xmlHashDeallocator f)
    -
    int	xmlHashUpdateEntry3		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    void * userdata,
    xmlHashDeallocator f)
    -

    Description

    -

    Macro: XML_CAST_FPTR

    #define XML_CAST_FPTR

    Macro to do a casting from an object pointer to a function pointer without encountering a warning from gcc #define XML_CAST_FPTR(fptr) (*(void **)(&fptr)) This macro violated ISO C aliasing rules (gcc4 on s390 broke) so it is disabled now

    -

    Structure xmlHashTable

    Structure xmlHashTable
    struct _xmlHashTable { -The content of this structure is not made public by the API. -}

    Function: xmlHashAddEntry

    int	xmlHashAddEntry			(xmlHashTablePtr table, 
    const xmlChar * name,
    void * userdata)
    -

    Add the @userdata to the hash @table. This can later be retrieved by using the @name. Duplicate names generate errors.

    -
    table:the hash table
    name:the name of the userdata
    userdata:a pointer to the userdata
    Returns:0 the addition succeeded and -1 in case of error.

    Function: xmlHashAddEntry2

    int	xmlHashAddEntry2		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    void * userdata)
    -

    Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Duplicate tuples generate errors.

    -
    table:the hash table
    name:the name of the userdata
    name2:a second name of the userdata
    userdata:a pointer to the userdata
    Returns:0 the addition succeeded and -1 in case of error.

    Function: xmlHashAddEntry3

    int	xmlHashAddEntry3		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    void * userdata)
    -

    Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Duplicate entries generate errors.

    -
    table:the hash table
    name:the name of the userdata
    name2:a second name of the userdata
    name3:a third name of the userdata
    userdata:a pointer to the userdata
    Returns:0 the addition succeeded and -1 in case of error.

    Function type: xmlHashCopier

    Function type: xmlHashCopier
    -void *	xmlHashCopier			(void * payload, 
    xmlChar * name) -

    Callback to copy data from a hash.

    payload:the data in the hash
    name:the name associated
    Returns:a copy of the data or NULL in case of error.

    -

    Function: xmlHashCopy

    xmlHashTablePtr	xmlHashCopy		(xmlHashTablePtr table, 
    xmlHashCopier f)
    -

    Scan the hash @table and applied @f to each value.

    -
    table:the hash table
    f:the copier function for items in the hash
    Returns:the new table or NULL in case of error.

    Function: xmlHashCreate

    xmlHashTablePtr	xmlHashCreate		(int size)
    -

    Create a new xmlHashTablePtr.

    -
    size:the size of the hash table
    Returns:the newly created object, or NULL if an error occured.

    Function: xmlHashCreateDict

    xmlHashTablePtr	xmlHashCreateDict	(int size, 
    xmlDictPtr dict)
    -

    Create a new xmlHashTablePtr which will use @dict as the internal dictionary

    -
    size:the size of the hash table
    dict:a dictionary to use for the hash
    Returns:the newly created object, or NULL if an error occured.

    Function type: xmlHashDeallocator

    Function type: xmlHashDeallocator
    -void	xmlHashDeallocator		(void * payload, 
    xmlChar * name) -

    Callback to free data from a hash.

    payload:the data in the hash
    name:the name associated

    -

    Function: xmlHashFree

    void	xmlHashFree			(xmlHashTablePtr table, 
    xmlHashDeallocator f)
    -

    Free the hash @table and its contents. The userdata is deallocated with @f if provided.

    -
    table:the hash table
    f:the deallocator function for items in the hash

    Function: xmlHashLookup

    void *	xmlHashLookup			(xmlHashTablePtr table, 
    const xmlChar * name)
    -

    Find the userdata specified by the @name.

    -
    table:the hash table
    name:the name of the userdata
    Returns:the pointer to the userdata

    Function: xmlHashLookup2

    void *	xmlHashLookup2			(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2)
    -

    Find the userdata specified by the (@name, @name2) tuple.

    -
    table:the hash table
    name:the name of the userdata
    name2:a second name of the userdata
    Returns:the pointer to the userdata

    Function: xmlHashLookup3

    void *	xmlHashLookup3			(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3)
    -

    Find the userdata specified by the (@name, @name2, @name3) tuple.

    -
    table:the hash table
    name:the name of the userdata
    name2:a second name of the userdata
    name3:a third name of the userdata
    Returns:the a pointer to the userdata

    Function: xmlHashQLookup

    void *	xmlHashQLookup			(xmlHashTablePtr table, 
    const xmlChar * prefix,
    const xmlChar * name)
    -

    Find the userdata specified by the QName @prefix:@name/@name.

    -
    table:the hash table
    prefix:the prefix of the userdata
    name:the name of the userdata
    Returns:the pointer to the userdata

    Function: xmlHashQLookup2

    void *	xmlHashQLookup2			(xmlHashTablePtr table, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * prefix2,
    const xmlChar * name2)
    -

    Find the userdata specified by the QNames tuple

    -
    table:the hash table
    prefix:the prefix of the userdata
    name:the name of the userdata
    prefix2:the second prefix of the userdata
    name2:a second name of the userdata
    Returns:the pointer to the userdata

    Function: xmlHashQLookup3

    void *	xmlHashQLookup3			(xmlHashTablePtr table, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * prefix2,
    const xmlChar * name2,
    const xmlChar * prefix3,
    const xmlChar * name3)
    -

    Find the userdata specified by the (@name, @name2, @name3) tuple.

    -
    table:the hash table
    prefix:the prefix of the userdata
    name:the name of the userdata
    prefix2:the second prefix of the userdata
    name2:a second name of the userdata
    prefix3:the third prefix of the userdata
    name3:a third name of the userdata
    Returns:the a pointer to the userdata

    Function: xmlHashRemoveEntry

    int	xmlHashRemoveEntry		(xmlHashTablePtr table, 
    const xmlChar * name,
    xmlHashDeallocator f)
    -

    Find the userdata specified by the @name and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.

    -
    table:the hash table
    name:the name of the userdata
    f:the deallocator function for removed item (if any)
    Returns:0 if the removal succeeded and -1 in case of error or not found.

    Function: xmlHashRemoveEntry2

    int	xmlHashRemoveEntry2		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    xmlHashDeallocator f)
    -

    Find the userdata specified by the (@name, @name2) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.

    -
    table:the hash table
    name:the name of the userdata
    name2:a second name of the userdata
    f:the deallocator function for removed item (if any)
    Returns:0 if the removal succeeded and -1 in case of error or not found.

    Function: xmlHashRemoveEntry3

    int	xmlHashRemoveEntry3		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    xmlHashDeallocator f)
    -

    Find the userdata specified by the (@name, @name2, @name3) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.

    -
    table:the hash table
    name:the name of the userdata
    name2:a second name of the userdata
    name3:a third name of the userdata
    f:the deallocator function for removed item (if any)
    Returns:0 if the removal succeeded and -1 in case of error or not found.

    Function: xmlHashScan

    void	xmlHashScan			(xmlHashTablePtr table, 
    xmlHashScanner f,
    void * data)
    -

    Scan the hash @table and applied @f to each value.

    -
    table:the hash table
    f:the scanner function for items in the hash
    data:extra data passed to f

    Function: xmlHashScan3

    void	xmlHashScan3			(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    xmlHashScanner f,
    void * data)
    -

    Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.

    -
    table:the hash table
    name:the name of the userdata or NULL
    name2:a second name of the userdata or NULL
    name3:a third name of the userdata or NULL
    f:the scanner function for items in the hash
    data:extra data passed to f

    Function: xmlHashScanFull

    void	xmlHashScanFull			(xmlHashTablePtr table, 
    xmlHashScannerFull f,
    void * data)
    -

    Scan the hash @table and applied @f to each value.

    -
    table:the hash table
    f:the scanner function for items in the hash
    data:extra data passed to f

    Function: xmlHashScanFull3

    void	xmlHashScanFull3		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    xmlHashScannerFull f,
    void * data)
    -

    Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.

    -
    table:the hash table
    name:the name of the userdata or NULL
    name2:a second name of the userdata or NULL
    name3:a third name of the userdata or NULL
    f:the scanner function for items in the hash
    data:extra data passed to f

    Function type: xmlHashScanner

    Function type: xmlHashScanner
    -void	xmlHashScanner			(void * payload, 
    void * data,
    xmlChar * name) -

    Callback when scanning data in a hash with the simple scanner.

    payload:the data in the hash
    data:extra scannner data
    name:the name associated

    -

    Function type: xmlHashScannerFull

    Function type: xmlHashScannerFull
    -void	xmlHashScannerFull		(void * payload, 
    void * data,
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3) -

    Callback when scanning data in a hash with the full scanner.

    payload:the data in the hash
    data:extra scannner data
    name:the name associated
    name2:the second name associated
    name3:the third name associated

    -

    Function: xmlHashSize

    int	xmlHashSize			(xmlHashTablePtr table)
    -

    Query the number of elements installed in the hash @table.

    -
    table:the hash table
    Returns:the number of elements in the hash table or -1 in case of error

    Function: xmlHashUpdateEntry

    int	xmlHashUpdateEntry		(xmlHashTablePtr table, 
    const xmlChar * name,
    void * userdata,
    xmlHashDeallocator f)
    -

    Add the @userdata to the hash @table. This can later be retrieved by using the @name. Existing entry for this @name will be removed and freed with @f if found.

    -
    table:the hash table
    name:the name of the userdata
    userdata:a pointer to the userdata
    f:the deallocator function for replaced item (if any)
    Returns:0 the addition succeeded and -1 in case of error.

    Function: xmlHashUpdateEntry2

    int	xmlHashUpdateEntry2		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    void * userdata,
    xmlHashDeallocator f)
    -

    Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Existing entry for this tuple will be removed and freed with @f if found.

    -
    table:the hash table
    name:the name of the userdata
    name2:a second name of the userdata
    userdata:a pointer to the userdata
    f:the deallocator function for replaced item (if any)
    Returns:0 the addition succeeded and -1 in case of error.

    Function: xmlHashUpdateEntry3

    int	xmlHashUpdateEntry3		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    void * userdata,
    xmlHashDeallocator f)
    -

    Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Existing entry for this tuple will be removed and freed with @f if found.

    -
    table:the hash table
    name:the name of the userdata
    name2:a second name of the userdata
    name3:a third name of the userdata
    userdata:a pointer to the userdata
    f:the deallocator function for replaced item (if any)
    Returns:0 the addition succeeded and -1 in case of error.

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-lib.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-lib.html deleted file mode 100644 index 6771189..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-lib.html +++ /dev/null @@ -1,13 +0,0 @@ - - -Reference Manual for libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Reference Manual for libxml2

    API Menu
    API Indexes
    Related links

    Table of Contents

    • DOCBparser: old DocBook SGML parser
    • HTMLparser: interface for an HTML 4.0 non-verifying parser
    • HTMLtree: specific APIs to process HTML tree, especially serialization
    • SAX: Old SAX version 1 handler, deprecated
    • SAX2: SAX2 parser interface used to build the DOM tree
    • c14n: Provide Canonical XML and Exclusive XML Canonicalization
    • catalog: interfaces to the Catalog handling system
    • chvalid: Unicode character range checking
    • debugXML: Tree debugging APIs
    • dict: string dictionnary
    • encoding: interface for the encoding conversion functions
    • entities: interface for the XML entities handling
    • globals: interface for all global variables of the library
    • hash: Chained hash tables
    • list: lists interfaces
    • nanoftp: minimal FTP implementation
    • nanohttp: minimal HTTP implementation
    • parser: the core parser module
    • parserInternals: internals routines exported by the parser.
    • pattern: pattern expression handling
    • relaxng: implementation of the Relax-NG validation
    • schemasInternals: internal interfaces for XML Schemas
    • schematron: XML Schemastron implementation
    • threads: interfaces for thread handling
    • tree: interfaces for tree manipulation
    • uri: library of generic URI related routines
    • valid: The DTD validation
    • xinclude: implementation of XInclude
    • xlink: unfinished XLink detection module
    • xmlIO: interface for the I/O interfaces used by the parser
    • xmlautomata: API to build regexp automata
    • xmlerror: error handling
    • xmlexports: macros for marking symbols as exportable/importable.
    • xmlmemory: interface for the memory allocator
    • xmlmodule: dynamic module loading
    • xmlreader: the XMLReader implementation
    • xmlregexp: regular expressions handling
    • xmlsave: the XML document serializer
    • xmlschemas: incomplete XML Schemas structure implementation
    • xmlschemastypes: implementation of XML Schema Datatypes
    • xmlstring: set of routines to process strings
    • xmlunicode: Unicode character APIs
    • xmlversion: compile-time version informations
    • xmlwriter: text writing API for XML
    • xpath: XML Path Language implementation
    • xpathInternals: internal interfaces for XML Path Language implementation
    • xpointer: API to handle XML Pointers

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-list.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-list.html deleted file mode 100644 index 33e60d1..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-list.html +++ /dev/null @@ -1,120 +0,0 @@ - - -Module list from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module list from libxml2

    API Menu
    API Indexes
    Related links

    this module implement the list support used in various place in the library.

    Table of Contents

    Structure xmlLink
    struct _xmlLink -The content of this structure is not made public by the API. -
    Typedef xmlLink * xmlLinkPtr
    -
    Structure xmlList
    struct _xmlList -The content of this structure is not made public by the API. -
    Typedef xmlList * xmlListPtr
    -
    void *	xmlLinkGetData			(xmlLinkPtr lk)
    -
    int	xmlListAppend			(xmlListPtr l, 
    void * data)
    -
    void	xmlListClear			(xmlListPtr l)
    -
    int	xmlListCopy			(xmlListPtr cur, 
    const xmlListPtr old)
    -
    xmlListPtr	xmlListCreate		(xmlListDeallocator deallocator, 
    xmlListDataCompare compare)
    -
    Function type: xmlListDataCompare
    -int	xmlListDataCompare		(const void * data0, 
    const void * data1) -
    -
    Function type: xmlListDeallocator
    -void	xmlListDeallocator		(xmlLinkPtr lk)
    -
    -
    void	xmlListDelete			(xmlListPtr l)
    -
    xmlListPtr	xmlListDup		(const xmlListPtr old)
    -
    int	xmlListEmpty			(xmlListPtr l)
    -
    xmlLinkPtr	xmlListEnd		(xmlListPtr l)
    -
    xmlLinkPtr	xmlListFront		(xmlListPtr l)
    -
    int	xmlListInsert			(xmlListPtr l, 
    void * data)
    -
    void	xmlListMerge			(xmlListPtr l1, 
    xmlListPtr l2)
    -
    void	xmlListPopBack			(xmlListPtr l)
    -
    void	xmlListPopFront			(xmlListPtr l)
    -
    int	xmlListPushBack			(xmlListPtr l, 
    void * data)
    -
    int	xmlListPushFront		(xmlListPtr l, 
    void * data)
    -
    int	xmlListRemoveAll		(xmlListPtr l, 
    void * data)
    -
    int	xmlListRemoveFirst		(xmlListPtr l, 
    void * data)
    -
    int	xmlListRemoveLast		(xmlListPtr l, 
    void * data)
    -
    void	xmlListReverse			(xmlListPtr l)
    -
    void *	xmlListReverseSearch		(xmlListPtr l, 
    void * data)
    -
    void	xmlListReverseWalk		(xmlListPtr l, 
    xmlListWalker walker,
    const void * user)
    -
    void *	xmlListSearch			(xmlListPtr l, 
    void * data)
    -
    int	xmlListSize			(xmlListPtr l)
    -
    void	xmlListSort			(xmlListPtr l)
    -
    void	xmlListWalk			(xmlListPtr l, 
    xmlListWalker walker,
    const void * user)
    -
    Function type: xmlListWalker
    -int	xmlListWalker			(const void * data, 
    const void * user) -
    -

    Description

    -

    Structure xmlLink

    Structure xmlLink
    struct _xmlLink { -The content of this structure is not made public by the API. -}

    Structure xmlList

    Structure xmlList
    struct _xmlList { -The content of this structure is not made public by the API. -}

    Function: xmlLinkGetData

    void *	xmlLinkGetData			(xmlLinkPtr lk)
    -

    See Returns.

    -
    lk:a link
    Returns:a pointer to the data referenced from this link

    Function: xmlListAppend

    int	xmlListAppend			(xmlListPtr l, 
    void * data)
    -

    Insert data in the ordered list at the end for this value

    -
    l:a list
    data:the data
    Returns:0 in case of success, 1 in case of failure

    Function: xmlListClear

    void	xmlListClear			(xmlListPtr l)
    -

    Remove the all data in the list

    -
    l:a list

    Function: xmlListCopy

    int	xmlListCopy			(xmlListPtr cur, 
    const xmlListPtr old)
    -

    Move all the element from the old list in the new list

    -
    cur:the new list
    old:the old list
    Returns:0 in case of success 1 in case of error

    Function: xmlListCreate

    xmlListPtr	xmlListCreate		(xmlListDeallocator deallocator, 
    xmlListDataCompare compare)
    -

    Create a new list

    -
    deallocator:an optional deallocator function
    compare:an optional comparison function
    Returns:the new list or NULL in case of error

    Function type: xmlListDataCompare

    Function type: xmlListDataCompare
    -int	xmlListDataCompare		(const void * data0, 
    const void * data1) -

    Callback function used to compare 2 data.

    data0:the first data
    data1:the second data
    Returns:0 is equality, -1 or 1 otherwise depending on the ordering.

    -

    Function type: xmlListDeallocator

    Function type: xmlListDeallocator
    -void	xmlListDeallocator		(xmlLinkPtr lk)
    -

    Callback function used to free data from a list.

    lk:the data to deallocate

    -

    Function: xmlListDelete

    void	xmlListDelete			(xmlListPtr l)
    -

    Deletes the list and its associated data

    -
    l:a list

    Function: xmlListDup

    xmlListPtr	xmlListDup		(const xmlListPtr old)
    -

    Duplicate the list

    -
    old:the list
    Returns:a new copy of the list or NULL in case of error

    Function: xmlListEmpty

    int	xmlListEmpty			(xmlListPtr l)
    -

    Is the list empty ?

    -
    l:a list
    Returns:1 if the list is empty, 0 if not empty and -1 in case of error

    Function: xmlListEnd

    xmlLinkPtr	xmlListEnd		(xmlListPtr l)
    -

    Get the last element in the list

    -
    l:a list
    Returns:the last element in the list, or NULL

    Function: xmlListFront

    xmlLinkPtr	xmlListFront		(xmlListPtr l)
    -

    Get the first element in the list

    -
    l:a list
    Returns:the first element in the list, or NULL

    Function: xmlListInsert

    int	xmlListInsert			(xmlListPtr l, 
    void * data)
    -

    Insert data in the ordered list at the beginning for this value

    -
    l:a list
    data:the data
    Returns:0 in case of success, 1 in case of failure

    Function: xmlListMerge

    void	xmlListMerge			(xmlListPtr l1, 
    xmlListPtr l2)
    -

    include all the elements of the second list in the first one and clear the second list

    -
    l1:the original list
    l2:the new list

    Function: xmlListPopBack

    void	xmlListPopBack			(xmlListPtr l)
    -

    Removes the last element in the list

    -
    l:a list

    Function: xmlListPopFront

    void	xmlListPopFront			(xmlListPtr l)
    -

    Removes the first element in the list

    -
    l:a list

    Function: xmlListPushBack

    int	xmlListPushBack			(xmlListPtr l, 
    void * data)
    -

    add the new data at the end of the list

    -
    l:a list
    data:new data
    Returns:1 if successful, 0 otherwise

    Function: xmlListPushFront

    int	xmlListPushFront		(xmlListPtr l, 
    void * data)
    -

    add the new data at the beginning of the list

    -
    l:a list
    data:new data
    Returns:1 if successful, 0 otherwise

    Function: xmlListRemoveAll

    int	xmlListRemoveAll		(xmlListPtr l, 
    void * data)
    -

    Remove the all instance associated to data in the list

    -
    l:a list
    data:list data
    Returns:the number of deallocation, or 0 if not found

    Function: xmlListRemoveFirst

    int	xmlListRemoveFirst		(xmlListPtr l, 
    void * data)
    -

    Remove the first instance associated to data in the list

    -
    l:a list
    data:list data
    Returns:1 if a deallocation occured, or 0 if not found

    Function: xmlListRemoveLast

    int	xmlListRemoveLast		(xmlListPtr l, 
    void * data)
    -

    Remove the last instance associated to data in the list

    -
    l:a list
    data:list data
    Returns:1 if a deallocation occured, or 0 if not found

    Function: xmlListReverse

    void	xmlListReverse			(xmlListPtr l)
    -

    Reverse the order of the elements in the list

    -
    l:a list

    Function: xmlListReverseSearch

    void *	xmlListReverseSearch		(xmlListPtr l, 
    void * data)
    -

    Search the list in reverse order for an existing value of @data

    -
    l:a list
    data:a search value
    Returns:the value associated to @data or NULL in case of error

    Function: xmlListReverseWalk

    void	xmlListReverseWalk		(xmlListPtr l, 
    xmlListWalker walker,
    const void * user)
    -

    Walk all the element of the list in reverse order and apply the walker function to it

    -
    l:a list
    walker:a processing function
    user:a user parameter passed to the walker function

    Function: xmlListSearch

    void *	xmlListSearch			(xmlListPtr l, 
    void * data)
    -

    Search the list for an existing value of @data

    -
    l:a list
    data:a search value
    Returns:the value associated to @data or NULL in case of error

    Function: xmlListSize

    int	xmlListSize			(xmlListPtr l)
    -

    Get the number of elements in the list

    -
    l:a list
    Returns:the number of elements in the list or -1 in case of error

    Function: xmlListSort

    void	xmlListSort			(xmlListPtr l)
    -

    Sort all the elements in the list

    -
    l:a list

    Function: xmlListWalk

    void	xmlListWalk			(xmlListPtr l, 
    xmlListWalker walker,
    const void * user)
    -

    Walk all the element of the first from first to last and apply the walker function to it

    -
    l:a list
    walker:a processing function
    user:a user parameter passed to the walker function

    Function type: xmlListWalker

    Function type: xmlListWalker
    -int	xmlListWalker			(const void * data, 
    const void * user) -

    Callback function used when walking a list with xmlListWalk().

    data:the data found in the list
    user:extra user provided data to the walker
    Returns:0 to stop walking the list, 1 otherwise.

    -

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-nanoftp.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-nanoftp.html deleted file mode 100644 index 9f70ea6..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-nanoftp.html +++ /dev/null @@ -1,94 +0,0 @@ - - -Module nanoftp from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module nanoftp from libxml2

    API Menu
    API Indexes
    Related links

    minimal FTP implementation allowing to fetch resources like external subset.

    Table of Contents

    #define INVALID_SOCKET
    #define SOCKET
    Function type: ftpDataCallback
    -void	ftpDataCallback			(void * userData, 
    const char * data,
    int len) -
    -
    Function type: ftpListCallback
    -void	ftpListCallback			(void * userData, 
    const char * filename,
    const char * attrib,
    const char * owner,
    const char * group,
    unsigned long size,
    int links,
    int year,
    const char * month,
    int day,
    int hour,
    int minute) -
    -
    int	xmlNanoFTPCheckResponse		(void * ctx)
    -
    void	xmlNanoFTPCleanup		(void)
    -
    int	xmlNanoFTPClose			(void * ctx)
    -
    int	xmlNanoFTPCloseConnection	(void * ctx)
    -
    int	xmlNanoFTPConnect		(void * ctx)
    -
    void *	xmlNanoFTPConnectTo		(const char * server, 
    int port)
    -
    int	xmlNanoFTPCwd			(void * ctx, 
    const char * directory)
    -
    int	xmlNanoFTPDele			(void * ctx, 
    const char * file)
    -
    void	xmlNanoFTPFreeCtxt		(void * ctx)
    -
    int	xmlNanoFTPGet			(void * ctx, 
    ftpDataCallback callback,
    void * userData,
    const char * filename)
    -
    SOCKET	xmlNanoFTPGetConnection		(void * ctx)
    -
    int	xmlNanoFTPGetResponse		(void * ctx)
    -
    SOCKET	xmlNanoFTPGetSocket		(void * ctx, 
    const char * filename)
    -
    void	xmlNanoFTPInit			(void)
    -
    int	xmlNanoFTPList			(void * ctx, 
    ftpListCallback callback,
    void * userData,
    const char * filename)
    -
    void *	xmlNanoFTPNewCtxt		(const char * URL)
    -
    void *	xmlNanoFTPOpen			(const char * URL)
    -
    void	xmlNanoFTPProxy			(const char * host, 
    int port,
    const char * user,
    const char * passwd,
    int type)
    -
    int	xmlNanoFTPQuit			(void * ctx)
    -
    int	xmlNanoFTPRead			(void * ctx, 
    void * dest,
    int len)
    -
    void	xmlNanoFTPScanProxy		(const char * URL)
    -
    int	xmlNanoFTPUpdateURL		(void * ctx, 
    const char * URL)
    -

    Description

    -

    Macro: INVALID_SOCKET

    #define INVALID_SOCKET

    macro used to provide portability of code to windows sockets the value to be used when the socket is not valid

    -

    Macro: SOCKET

    #define SOCKET

    macro used to provide portability of code to windows sockets

    -

    Function type: ftpDataCallback

    Function type: ftpDataCallback
    -void	ftpDataCallback			(void * userData, 
    const char * data,
    int len) -

    A callback for the xmlNanoFTPGet command.

    userData:the user provided context
    data:the data received
    len:its size in bytes

    -

    Function type: ftpListCallback

    Function type: ftpListCallback
    -void	ftpListCallback			(void * userData, 
    const char * filename,
    const char * attrib,
    const char * owner,
    const char * group,
    unsigned long size,
    int links,
    int year,
    const char * month,
    int day,
    int hour,
    int minute) -

    A callback for the xmlNanoFTPList command. Note that only one of year and day:minute are specified.

    userData:user provided data for the callback
    filename:the file name (including "->" when links are shown)
    attrib:the attribute string
    owner:the owner string
    group:the group string
    size:the file size
    links:the link count
    year:the year
    month:the month
    day:the day
    hour:the hour
    minute:the minute

    -

    Function: xmlNanoFTPCheckResponse

    int	xmlNanoFTPCheckResponse		(void * ctx)
    -

    Check if there is a response from the FTP server after a command.

    -
    ctx:an FTP context
    Returns:the code number, or 0

    Function: xmlNanoFTPCleanup

    void	xmlNanoFTPCleanup		(void)
    -

    Cleanup the FTP protocol layer. This cleanup proxy informations.

    -

    Function: xmlNanoFTPClose

    int	xmlNanoFTPClose			(void * ctx)
    -

    Close the connection and both control and transport

    -
    ctx:an FTP context
    Returns:-1 incase of error, 0 otherwise

    Function: xmlNanoFTPCloseConnection

    int	xmlNanoFTPCloseConnection	(void * ctx)
    -

    Close the data connection from the server

    -
    ctx:an FTP context
    Returns:-1 incase of error, 0 otherwise

    Function: xmlNanoFTPConnect

    int	xmlNanoFTPConnect		(void * ctx)
    -

    Tries to open a control connection

    -
    ctx:an FTP context
    Returns:-1 in case of error, 0 otherwise

    Function: xmlNanoFTPConnectTo

    void *	xmlNanoFTPConnectTo		(const char * server, 
    int port)
    -

    Tries to open a control connection to the given server/port

    -
    server:an FTP server name
    port:the port (use 21 if 0)
    Returns:an fTP context or NULL if it failed

    Function: xmlNanoFTPCwd

    int	xmlNanoFTPCwd			(void * ctx, 
    const char * directory)
    -

    Tries to change the remote directory

    -
    ctx:an FTP context
    directory:a directory on the server
    Returns:-1 incase of error, 1 if CWD worked, 0 if it failed

    Function: xmlNanoFTPDele

    int	xmlNanoFTPDele			(void * ctx, 
    const char * file)
    -

    Tries to delete an item (file or directory) from server

    -
    ctx:an FTP context
    file:a file or directory on the server
    Returns:-1 incase of error, 1 if DELE worked, 0 if it failed

    Function: xmlNanoFTPFreeCtxt

    void	xmlNanoFTPFreeCtxt		(void * ctx)
    -

    Frees the context after closing the connection.

    -
    ctx:an FTP context

    Function: xmlNanoFTPGet

    int	xmlNanoFTPGet			(void * ctx, 
    ftpDataCallback callback,
    void * userData,
    const char * filename)
    -

    Fetch the given file from the server. All data are passed back in the callbacks. The last callback has a size of 0 block.

    -
    ctx:an FTP context
    callback:the user callback
    userData:the user callback data
    filename:the file to retrieve
    Returns:-1 incase of error, 0 otherwise

    Function: xmlNanoFTPGetConnection

    SOCKET	xmlNanoFTPGetConnection		(void * ctx)
    -

    Try to open a data connection to the server. Currently only passive mode is supported.

    -
    ctx:an FTP context
    Returns:-1 incase of error, 0 otherwise

    Function: xmlNanoFTPGetResponse

    int	xmlNanoFTPGetResponse		(void * ctx)
    -

    Get the response from the FTP server after a command.

    -
    ctx:an FTP context
    Returns:the code number

    Function: xmlNanoFTPGetSocket

    SOCKET	xmlNanoFTPGetSocket		(void * ctx, 
    const char * filename)
    -

    Initiate fetch of the given file from the server.

    -
    ctx:an FTP context
    filename:the file to retrieve (or NULL if path is in context).
    Returns:the socket for the data connection, or <0 in case of error

    Function: xmlNanoFTPInit

    void	xmlNanoFTPInit			(void)
    -

    Initialize the FTP protocol layer. Currently it just checks for proxy informations, and get the hostname

    -

    Function: xmlNanoFTPList

    int	xmlNanoFTPList			(void * ctx, 
    ftpListCallback callback,
    void * userData,
    const char * filename)
    -

    Do a listing on the server. All files info are passed back in the callbacks.

    -
    ctx:an FTP context
    callback:the user callback
    userData:the user callback data
    filename:optional files to list
    Returns:-1 incase of error, 0 otherwise

    Function: xmlNanoFTPNewCtxt

    void *	xmlNanoFTPNewCtxt		(const char * URL)
    -

    Allocate and initialize a new FTP context.

    -
    URL:The URL used to initialize the context
    Returns:an FTP context or NULL in case of error.

    Function: xmlNanoFTPOpen

    void *	xmlNanoFTPOpen			(const char * URL)
    -

    Start to fetch the given ftp:// resource

    -
    URL:the URL to the resource
    Returns:an FTP context, or NULL

    Function: xmlNanoFTPProxy

    void	xmlNanoFTPProxy			(const char * host, 
    int port,
    const char * user,
    const char * passwd,
    int type)
    -

    Setup the FTP proxy informations. This can also be done by using ftp_proxy ftp_proxy_user and ftp_proxy_password environment variables.

    -
    host:the proxy host name
    port:the proxy port
    user:the proxy user name
    passwd:the proxy password
    type:the type of proxy 1 for using SITE, 2 for USER a@b

    Function: xmlNanoFTPQuit

    int	xmlNanoFTPQuit			(void * ctx)
    -

    Send a QUIT command to the server

    -
    ctx:an FTP context
    Returns:-1 in case of error, 0 otherwise

    Function: xmlNanoFTPRead

    int	xmlNanoFTPRead			(void * ctx, 
    void * dest,
    int len)
    -

    This function tries to read @len bytes from the existing FTP connection and saves them in @dest. This is a blocking call.

    -
    ctx:the FTP context
    dest:a buffer
    len:the buffer length
    Returns:the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.

    Function: xmlNanoFTPScanProxy

    void	xmlNanoFTPScanProxy		(const char * URL)
    -

    (Re)Initialize the FTP Proxy context by parsing the URL and finding the protocol host port it indicates. Should be like ftp://myproxy/ or ftp://myproxy:3128/ A NULL URL cleans up proxy informations.

    -
    URL:The proxy URL used to initialize the proxy context

    Function: xmlNanoFTPUpdateURL

    int	xmlNanoFTPUpdateURL		(void * ctx, 
    const char * URL)
    -

    Update an FTP context by parsing the URL and finding new path it indicates. If there is an error in the protocol, hostname, port or other information, the error is raised. It indicates a new connection has to be established.

    -
    ctx:an FTP context
    URL:The URL used to update the context
    Returns:0 if Ok, -1 in case of error (other host).

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-nanohttp.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-nanohttp.html deleted file mode 100644 index 5bbcbaf..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-nanohttp.html +++ /dev/null @@ -1,65 +0,0 @@ - - -Module nanohttp from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module nanohttp from libxml2

    API Menu
    API Indexes
    Related links

    minimal HTTP implementation allowing to fetch resources like external subset.

    Table of Contents

    const char *	xmlNanoHTTPAuthHeader	(void * ctx)
    -
    void	xmlNanoHTTPCleanup		(void)
    -
    void	xmlNanoHTTPClose		(void * ctx)
    -
    int	xmlNanoHTTPContentLength	(void * ctx)
    -
    const char *	xmlNanoHTTPEncoding	(void * ctx)
    -
    int	xmlNanoHTTPFetch		(const char * URL, 
    const char * filename,
    char ** contentType)
    -
    void	xmlNanoHTTPInit			(void)
    -
    void *	xmlNanoHTTPMethod		(const char * URL, 
    const char * method,
    const char * input,
    char ** contentType,
    const char * headers,
    int ilen)
    -
    void *	xmlNanoHTTPMethodRedir		(const char * URL, 
    const char * method,
    const char * input,
    char ** contentType,
    char ** redir,
    const char * headers,
    int ilen)
    -
    const char *	xmlNanoHTTPMimeType	(void * ctx)
    -
    void *	xmlNanoHTTPOpen			(const char * URL, 
    char ** contentType)
    -
    void *	xmlNanoHTTPOpenRedir		(const char * URL, 
    char ** contentType,
    char ** redir)
    -
    int	xmlNanoHTTPRead			(void * ctx, 
    void * dest,
    int len)
    -
    const char *	xmlNanoHTTPRedir	(void * ctx)
    -
    int	xmlNanoHTTPReturnCode		(void * ctx)
    -
    int	xmlNanoHTTPSave			(void * ctxt, 
    const char * filename)
    -
    void	xmlNanoHTTPScanProxy		(const char * URL)
    -

    Description

    -

    Function: xmlNanoHTTPAuthHeader

    const char *	xmlNanoHTTPAuthHeader	(void * ctx)
    -

    Get the authentication header of an HTTP context

    -
    ctx:the HTTP context
    Returns:the stashed value of the WWW-Authenticate or Proxy-Authenticate header.

    Function: xmlNanoHTTPCleanup

    void	xmlNanoHTTPCleanup		(void)
    -

    Cleanup the HTTP protocol layer.

    -

    Function: xmlNanoHTTPClose

    void	xmlNanoHTTPClose		(void * ctx)
    -

    This function closes an HTTP context, it ends up the connection and free all data related to it.

    -
    ctx:the HTTP context

    Function: xmlNanoHTTPContentLength

    int	xmlNanoHTTPContentLength	(void * ctx)
    -

    Provides the specified content length from the HTTP header.

    -
    ctx:the HTTP context
    Returns:the specified content length from the HTTP header. Note that a value of -1 indicates that the content length element was not included in the response header.

    Function: xmlNanoHTTPEncoding

    const char *	xmlNanoHTTPEncoding	(void * ctx)
    -

    Provides the specified encoding if specified in the HTTP headers.

    -
    ctx:the HTTP context
    Returns:the specified encoding or NULL if not available

    Function: xmlNanoHTTPFetch

    int	xmlNanoHTTPFetch		(const char * URL, 
    const char * filename,
    char ** contentType)
    -

    This function try to fetch the indicated resource via HTTP GET and save it's content in the file.

    -
    URL:The URL to load
    filename:the filename where the content should be saved
    contentType:if available the Content-Type information will be returned at that location
    Returns:-1 in case of failure, 0 incase of success. The contentType, if provided must be freed by the caller

    Function: xmlNanoHTTPInit

    void	xmlNanoHTTPInit			(void)
    -

    Initialize the HTTP protocol layer. Currently it just checks for proxy informations

    -

    Function: xmlNanoHTTPMethod

    void *	xmlNanoHTTPMethod		(const char * URL, 
    const char * method,
    const char * input,
    char ** contentType,
    const char * headers,
    int ilen)
    -

    This function try to open a connection to the indicated resource via HTTP using the given @method, adding the given extra headers and the input buffer for the request content.

    -
    URL:The URL to load
    method:the HTTP method to use
    input:the input string if any
    contentType:the Content-Type information IN and OUT
    headers:the extra headers
    ilen:input length
    Returns:NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller

    Function: xmlNanoHTTPMethodRedir

    void *	xmlNanoHTTPMethodRedir		(const char * URL, 
    const char * method,
    const char * input,
    char ** contentType,
    char ** redir,
    const char * headers,
    int ilen)
    -

    This function try to open a connection to the indicated resource via HTTP using the given @method, adding the given extra headers and the input buffer for the request content.

    -
    URL:The URL to load
    method:the HTTP method to use
    input:the input string if any
    contentType:the Content-Type information IN and OUT
    redir:the redirected URL OUT
    headers:the extra headers
    ilen:input length
    Returns:NULL in case of failure, otherwise a request handler. The contentType, or redir, if provided must be freed by the caller

    Function: xmlNanoHTTPMimeType

    const char *	xmlNanoHTTPMimeType	(void * ctx)
    -

    Provides the specified Mime-Type if specified in the HTTP headers.

    -
    ctx:the HTTP context
    Returns:the specified Mime-Type or NULL if not available

    Function: xmlNanoHTTPOpen

    void *	xmlNanoHTTPOpen			(const char * URL, 
    char ** contentType)
    -

    This function try to open a connection to the indicated resource via HTTP GET.

    -
    URL:The URL to load
    contentType:if available the Content-Type information will be returned at that location
    Returns:NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller

    Function: xmlNanoHTTPOpenRedir

    void *	xmlNanoHTTPOpenRedir		(const char * URL, 
    char ** contentType,
    char ** redir)
    -

    This function try to open a connection to the indicated resource via HTTP GET.

    -
    URL:The URL to load
    contentType:if available the Content-Type information will be returned at that location
    redir:if available the redirected URL will be returned
    Returns:NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller

    Function: xmlNanoHTTPRead

    int	xmlNanoHTTPRead			(void * ctx, 
    void * dest,
    int len)
    -

    This function tries to read @len bytes from the existing HTTP connection and saves them in @dest. This is a blocking call.

    -
    ctx:the HTTP context
    dest:a buffer
    len:the buffer length
    Returns:the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.

    Function: xmlNanoHTTPRedir

    const char *	xmlNanoHTTPRedir	(void * ctx)
    -

    Provides the specified redirection URL if available from the HTTP header.

    -
    ctx:the HTTP context
    Returns:the specified redirection URL or NULL if not redirected.

    Function: xmlNanoHTTPReturnCode

    int	xmlNanoHTTPReturnCode		(void * ctx)
    -

    Get the latest HTTP return code received

    -
    ctx:the HTTP context
    Returns:the HTTP return code for the request.

    Function: xmlNanoHTTPSave

    int	xmlNanoHTTPSave			(void * ctxt, 
    const char * filename)
    -

    This function saves the output of the HTTP transaction to a file It closes and free the context at the end

    -
    ctxt:the HTTP context
    filename:the filename where the content should be saved
    Returns:-1 in case of failure, 0 incase of success.

    Function: xmlNanoHTTPScanProxy

    void	xmlNanoHTTPScanProxy		(const char * URL)
    -

    (Re)Initialize the HTTP Proxy context by parsing the URL and finding the protocol host port it indicates. Should be like http://myproxy/ or http://myproxy:3128/ A NULL URL cleans up proxy informations.

    -
    URL:The proxy URL used to initialize the proxy context

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-parser.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-parser.html deleted file mode 100644 index 461b3fb..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-parser.html +++ /dev/null @@ -1,558 +0,0 @@ - - -Module parser from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module parser from libxml2

    API Menu
    API Indexes
    Related links

    Interfaces, constants and types related to the XML parser

    Table of Contents

    #define XML_COMPLETE_ATTRS
    #define XML_DEFAULT_VERSION
    #define XML_DETECT_IDS
    #define XML_SAX2_MAGIC
    #define XML_SKIP_IDS
    Enum xmlFeature
    -
    Enum xmlParserInputState
    -
    Enum xmlParserMode
    -
    Structure xmlParserNodeInfo
    struct _xmlParserNodeInfo -
    Typedef xmlParserNodeInfo * xmlParserNodeInfoPtr
    -
    Structure xmlParserNodeInfoSeq
    struct _xmlParserNodeInfoSeq -
    Typedef xmlParserNodeInfoSeq * xmlParserNodeInfoSeqPtr
    -
    Enum xmlParserOption
    -
    Structure xmlSAXHandlerV1
    struct _xmlSAXHandlerV1 -
    Typedef xmlSAXHandlerV1 * xmlSAXHandlerV1Ptr
    -
    Function type: attributeDeclSAXFunc
    -void	attributeDeclSAXFunc		(void * ctx, 
    const xmlChar * elem,
    const xmlChar * fullname,
    int type,
    int def,
    const xmlChar * defaultValue,
    xmlEnumerationPtr tree) -
    -
    Function type: attributeSAXFunc
    -void	attributeSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar * value) -
    -
    Function type: cdataBlockSAXFunc
    -void	cdataBlockSAXFunc		(void * ctx, 
    const xmlChar * value,
    int len) -
    -
    Function type: charactersSAXFunc
    -void	charactersSAXFunc		(void * ctx, 
    const xmlChar * ch,
    int len) -
    -
    Function type: commentSAXFunc
    -void	commentSAXFunc			(void * ctx, 
    const xmlChar * value) -
    -
    Function type: elementDeclSAXFunc
    -void	elementDeclSAXFunc		(void * ctx, 
    const xmlChar * name,
    int type,
    xmlElementContentPtr content) -
    -
    Function type: endDocumentSAXFunc
    -void	endDocumentSAXFunc		(void * ctx)
    -
    -
    Function type: endElementNsSAX2Func
    -void	endElementNsSAX2Func		(void * ctx, 
    const xmlChar * localname,
    const xmlChar * prefix,
    const xmlChar * URI) -
    -
    Function type: endElementSAXFunc
    -void	endElementSAXFunc		(void * ctx, 
    const xmlChar * name) -
    -
    Function type: entityDeclSAXFunc
    -void	entityDeclSAXFunc		(void * ctx, 
    const xmlChar * name,
    int type,
    const xmlChar * publicId,
    const xmlChar * systemId,
    xmlChar * content) -
    -
    Function type: errorSAXFunc
    -void	errorSAXFunc			(void * ctx, 
    const char * msg,
    ... ...) -
    -
    Function type: externalSubsetSAXFunc
    -void	externalSubsetSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID) -
    -
    Function type: fatalErrorSAXFunc
    -void	fatalErrorSAXFunc		(void * ctx, 
    const char * msg,
    ... ...) -
    -
    Function type: getEntitySAXFunc
    -xmlEntityPtr	getEntitySAXFunc	(void * ctx, 
    const xmlChar * name) -
    -
    Function type: getParameterEntitySAXFunc
    -xmlEntityPtr	getParameterEntitySAXFunc	(void * ctx, 
    const xmlChar * name) -
    -
    Function type: hasExternalSubsetSAXFunc
    -int	hasExternalSubsetSAXFunc	(void * ctx)
    -
    -
    Function type: hasInternalSubsetSAXFunc
    -int	hasInternalSubsetSAXFunc	(void * ctx)
    -
    -
    Function type: ignorableWhitespaceSAXFunc
    -void	ignorableWhitespaceSAXFunc	(void * ctx, 
    const xmlChar * ch,
    int len) -
    -
    Function type: internalSubsetSAXFunc
    -void	internalSubsetSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID) -
    -
    Function type: isStandaloneSAXFunc
    -int	isStandaloneSAXFunc		(void * ctx)
    -
    -
    Function type: notationDeclSAXFunc
    -void	notationDeclSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId) -
    -
    Function type: processingInstructionSAXFunc
    -void	processingInstructionSAXFunc	(void * ctx, 
    const xmlChar * target,
    const xmlChar * data) -
    -
    Function type: referenceSAXFunc
    -void	referenceSAXFunc		(void * ctx, 
    const xmlChar * name) -
    -
    Function type: resolveEntitySAXFunc
    -xmlParserInputPtr	resolveEntitySAXFunc	(void * ctx, 
    const xmlChar * publicId,
    const xmlChar * systemId) -
    -
    Function type: setDocumentLocatorSAXFunc
    -void	setDocumentLocatorSAXFunc	(void * ctx, 
    xmlSAXLocatorPtr loc) -
    -
    Function type: startDocumentSAXFunc
    -void	startDocumentSAXFunc		(void * ctx)
    -
    -
    Function type: startElementNsSAX2Func
    -void	startElementNsSAX2Func		(void * ctx, 
    const xmlChar * localname,
    const xmlChar * prefix,
    const xmlChar * URI,
    int nb_namespaces,
    const xmlChar ** namespaces,
    int nb_attributes,
    int nb_defaulted,
    const xmlChar ** attributes) -
    -
    Function type: startElementSAXFunc
    -void	startElementSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar ** atts) -
    -
    Function type: unparsedEntityDeclSAXFunc
    -void	unparsedEntityDeclSAXFunc	(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId,
    const xmlChar * notationName) -
    -
    Function type: warningSAXFunc
    -void	warningSAXFunc			(void * ctx, 
    const char * msg,
    ... ...) -
    -
    long	xmlByteConsumed			(xmlParserCtxtPtr ctxt)
    -
    void	xmlCleanupParser		(void)
    -
    void	xmlClearNodeInfoSeq		(xmlParserNodeInfoSeqPtr seq)
    -
    void	xmlClearParserCtxt		(xmlParserCtxtPtr ctxt)
    -
    xmlParserCtxtPtr	xmlCreateDocParserCtxt	(const xmlChar * cur)
    -
    xmlParserCtxtPtr	xmlCreateIOParserCtxt	(xmlSAXHandlerPtr sax, 
    void * user_data,
    xmlInputReadCallback ioread,
    xmlInputCloseCallback ioclose,
    void * ioctx,
    xmlCharEncoding enc)
    -
    xmlParserCtxtPtr	xmlCreatePushParserCtxt	(xmlSAXHandlerPtr sax, 
    void * user_data,
    const char * chunk,
    int size,
    const char * filename)
    -
    xmlDocPtr	xmlCtxtReadDoc		(xmlParserCtxtPtr ctxt, 
    const xmlChar * cur,
    const char * URL,
    const char * encoding,
    int options)
    -
    xmlDocPtr	xmlCtxtReadFd		(xmlParserCtxtPtr ctxt, 
    int fd,
    const char * URL,
    const char * encoding,
    int options)
    -
    xmlDocPtr	xmlCtxtReadFile		(xmlParserCtxtPtr ctxt, 
    const char * filename,
    const char * encoding,
    int options)
    -
    xmlDocPtr	xmlCtxtReadIO		(xmlParserCtxtPtr ctxt, 
    xmlInputReadCallback ioread,
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    -
    xmlDocPtr	xmlCtxtReadMemory	(xmlParserCtxtPtr ctxt, 
    const char * buffer,
    int size,
    const char * URL,
    const char * encoding,
    int options)
    -
    void	xmlCtxtReset			(xmlParserCtxtPtr ctxt)
    -
    int	xmlCtxtResetPush		(xmlParserCtxtPtr ctxt, 
    const char * chunk,
    int size,
    const char * filename,
    const char * encoding)
    -
    int	xmlCtxtUseOptions		(xmlParserCtxtPtr ctxt, 
    int options)
    -
    Function type: xmlExternalEntityLoader
    -xmlParserInputPtr	xmlExternalEntityLoader	(const char * URL, 
    const char * ID,
    xmlParserCtxtPtr context) -
    -
    void	xmlFreeParserCtxt		(xmlParserCtxtPtr ctxt)
    -
    xmlExternalEntityLoader	xmlGetExternalEntityLoader	(void)
    -
    int	xmlGetFeature			(xmlParserCtxtPtr ctxt, 
    const char * name,
    void * result)
    -
    int	xmlGetFeaturesList		(int * len, 
    const char ** result)
    -
    int	xmlHasFeature			(xmlFeature feature)
    -
    xmlDtdPtr	xmlIOParseDTD		(xmlSAXHandlerPtr sax, 
    xmlParserInputBufferPtr input,
    xmlCharEncoding enc)
    -
    void	xmlInitNodeInfoSeq		(xmlParserNodeInfoSeqPtr seq)
    -
    void	xmlInitParser			(void)
    -
    int	xmlInitParserCtxt		(xmlParserCtxtPtr ctxt)
    -
    int	xmlKeepBlanksDefault		(int val)
    -
    int	xmlLineNumbersDefault		(int val)
    -
    xmlParserInputPtr	xmlLoadExternalEntity	(const char * URL, 
    const char * ID,
    xmlParserCtxtPtr ctxt)
    -
    xmlParserInputPtr	xmlNewIOInputStream	(xmlParserCtxtPtr ctxt, 
    xmlParserInputBufferPtr input,
    xmlCharEncoding enc)
    -
    xmlParserCtxtPtr	xmlNewParserCtxt	(void)
    -
    int	xmlParseBalancedChunkMemory	(xmlDocPtr doc, 
    xmlSAXHandlerPtr sax,
    void * user_data,
    int depth,
    const xmlChar * string,
    xmlNodePtr * lst)
    -
    int	xmlParseBalancedChunkMemoryRecover	(xmlDocPtr doc, 
    xmlSAXHandlerPtr sax,
    void * user_data,
    int depth,
    const xmlChar * string,
    xmlNodePtr * lst,
    int recover)
    -
    int	xmlParseChunk			(xmlParserCtxtPtr ctxt, 
    const char * chunk,
    int size,
    int terminate)
    -
    int	xmlParseCtxtExternalEntity	(xmlParserCtxtPtr ctx, 
    const xmlChar * URL,
    const xmlChar * ID,
    xmlNodePtr * lst)
    -
    xmlDtdPtr	xmlParseDTD		(const xmlChar * ExternalID, 
    const xmlChar * SystemID)
    -
    xmlDocPtr	xmlParseDoc		(const xmlChar * cur)
    -
    int	xmlParseDocument		(xmlParserCtxtPtr ctxt)
    -
    xmlDocPtr	xmlParseEntity		(const char * filename)
    -
    int	xmlParseExtParsedEnt		(xmlParserCtxtPtr ctxt)
    -
    int	xmlParseExternalEntity		(xmlDocPtr doc, 
    xmlSAXHandlerPtr sax,
    void * user_data,
    int depth,
    const xmlChar * URL,
    const xmlChar * ID,
    xmlNodePtr * lst)
    -
    xmlDocPtr	xmlParseFile		(const char * filename)
    -
    xmlParserErrors	xmlParseInNodeContext	(xmlNodePtr node, 
    const char * data,
    int datalen,
    int options,
    xmlNodePtr * lst)
    -
    xmlDocPtr	xmlParseMemory		(const char * buffer, 
    int size)
    -
    void	xmlParserAddNodeInfo		(xmlParserCtxtPtr ctxt, 
    const xmlParserNodeInfoPtr info)
    -
    const xmlParserNodeInfo *	xmlParserFindNodeInfo	(const xmlParserCtxtPtr ctx, 
    const xmlNodePtr node)
    -
    unsigned long	xmlParserFindNodeInfoIndex	(const xmlParserNodeInfoSeqPtr seq, 
    const xmlNodePtr node)
    -
    Function type: xmlParserInputDeallocate
    -void	xmlParserInputDeallocate	(xmlChar * str)
    -
    -
    int	xmlParserInputGrow		(xmlParserInputPtr in, 
    int len)
    -
    int	xmlParserInputRead		(xmlParserInputPtr in, 
    int len)
    -
    int	xmlPedanticParserDefault	(int val)
    -
    xmlDocPtr	xmlReadDoc		(const xmlChar * cur, 
    const char * URL,
    const char * encoding,
    int options)
    -
    xmlDocPtr	xmlReadFd		(int fd, 
    const char * URL,
    const char * encoding,
    int options)
    -
    xmlDocPtr	xmlReadFile		(const char * filename, 
    const char * encoding,
    int options)
    -
    xmlDocPtr	xmlReadIO		(xmlInputReadCallback ioread, 
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    -
    xmlDocPtr	xmlReadMemory		(const char * buffer, 
    int size,
    const char * URL,
    const char * encoding,
    int options)
    -
    xmlDocPtr	xmlRecoverDoc		(const xmlChar * cur)
    -
    xmlDocPtr	xmlRecoverFile		(const char * filename)
    -
    xmlDocPtr	xmlRecoverMemory	(const char * buffer, 
    int size)
    -
    xmlDtdPtr	xmlSAXParseDTD		(xmlSAXHandlerPtr sax, 
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    -
    xmlDocPtr	xmlSAXParseDoc		(xmlSAXHandlerPtr sax, 
    const xmlChar * cur,
    int recovery)
    -
    xmlDocPtr	xmlSAXParseEntity	(xmlSAXHandlerPtr sax, 
    const char * filename)
    -
    xmlDocPtr	xmlSAXParseFile		(xmlSAXHandlerPtr sax, 
    const char * filename,
    int recovery)
    -
    xmlDocPtr	xmlSAXParseFileWithData	(xmlSAXHandlerPtr sax, 
    const char * filename,
    int recovery,
    void * data)
    -
    xmlDocPtr	xmlSAXParseMemory	(xmlSAXHandlerPtr sax, 
    const char * buffer,
    int size,
    int recovery)
    -
    xmlDocPtr	xmlSAXParseMemoryWithData	(xmlSAXHandlerPtr sax, 
    const char * buffer,
    int size,
    int recovery,
    void * data)
    -
    int	xmlSAXUserParseFile		(xmlSAXHandlerPtr sax, 
    void * user_data,
    const char * filename)
    -
    int	xmlSAXUserParseMemory		(xmlSAXHandlerPtr sax, 
    void * user_data,
    const char * buffer,
    int size)
    -
    void	xmlSetExternalEntityLoader	(xmlExternalEntityLoader f)
    -
    int	xmlSetFeature			(xmlParserCtxtPtr ctxt, 
    const char * name,
    void * value)
    -
    void	xmlSetupParserForBuffer		(xmlParserCtxtPtr ctxt, 
    const xmlChar * buffer,
    const char * filename)
    -
    void	xmlStopParser			(xmlParserCtxtPtr ctxt)
    -
    int	xmlSubstituteEntitiesDefault	(int val)
    -

    Description

    -

    Macro: XML_COMPLETE_ATTRS

    #define XML_COMPLETE_ATTRS

    Bit in the loadsubset context field to tell to do complete the elements attributes lists with the ones defaulted from the DTDs. Use it to initialize xmlLoadExtDtdDefaultValue.

    -

    Macro: XML_DEFAULT_VERSION

    #define XML_DEFAULT_VERSION

    The default version of XML used: 1.0

    -

    Macro: XML_DETECT_IDS

    #define XML_DETECT_IDS

    Bit in the loadsubset context field to tell to do ID/REFs lookups. Use it to initialize xmlLoadExtDtdDefaultValue.

    -

    Macro: XML_SAX2_MAGIC

    #define XML_SAX2_MAGIC

    Special constant found in SAX2 blocks initialized fields

    -

    Macro: XML_SKIP_IDS

    #define XML_SKIP_IDS

    Bit in the loadsubset context field to tell to not do ID/REFs registration. Used to initialize xmlLoadExtDtdDefaultValue in some special cases.

    -

    Enum xmlFeature

    Enum xmlFeature {
    -    XML_WITH_THREAD = 1
    -    XML_WITH_TREE = 2
    -    XML_WITH_OUTPUT = 3
    -    XML_WITH_PUSH = 4
    -    XML_WITH_READER = 5
    -    XML_WITH_PATTERN = 6
    -    XML_WITH_WRITER = 7
    -    XML_WITH_SAX1 = 8
    -    XML_WITH_FTP = 9
    -    XML_WITH_HTTP = 10
    -    XML_WITH_VALID = 11
    -    XML_WITH_HTML = 12
    -    XML_WITH_LEGACY = 13
    -    XML_WITH_C14N = 14
    -    XML_WITH_CATALOG = 15
    -    XML_WITH_XPATH = 16
    -    XML_WITH_XPTR = 17
    -    XML_WITH_XINCLUDE = 18
    -    XML_WITH_ICONV = 19
    -    XML_WITH_ISO8859X = 20
    -    XML_WITH_UNICODE = 21
    -    XML_WITH_REGEXP = 22
    -    XML_WITH_AUTOMATA = 23
    -    XML_WITH_EXPR = 24
    -    XML_WITH_SCHEMAS = 25
    -    XML_WITH_SCHEMATRON = 26
    -    XML_WITH_MODULES = 27
    -    XML_WITH_DEBUG = 28
    -    XML_WITH_DEBUG_MEM = 29
    -    XML_WITH_DEBUG_RUN = 30
    -    XML_WITH_ZLIB = 31
    -    XML_WITH_ICU = 32
    -    XML_WITH_LZMA = 33
    -    XML_WITH_NONE = 99999 : just to be sure of allocation size
    -}
    -

    Enum xmlParserInputState

    Enum xmlParserInputState {
    -    XML_PARSER_EOF = -1 : nothing is to be parsed
    -    XML_PARSER_START = 0 : nothing has been parsed
    -    XML_PARSER_MISC = 1 : Misc* before int subset
    -    XML_PARSER_PI = 2 : Within a processing instruction
    -    XML_PARSER_DTD = 3 : within some DTD content
    -    XML_PARSER_PROLOG = 4 : Misc* after internal subset
    -    XML_PARSER_COMMENT = 5 : within a comment
    -    XML_PARSER_START_TAG = 6 : within a start tag
    -    XML_PARSER_CONTENT = 7 : within the content
    -    XML_PARSER_CDATA_SECTION = 8 : within a CDATA section
    -    XML_PARSER_END_TAG = 9 : within a closing tag
    -    XML_PARSER_ENTITY_DECL = 10 : within an entity declaration
    -    XML_PARSER_ENTITY_VALUE = 11 : within an entity value in a decl
    -    XML_PARSER_ATTRIBUTE_VALUE = 12 : within an attribute value
    -    XML_PARSER_SYSTEM_LITERAL = 13 : within a SYSTEM value
    -    XML_PARSER_EPILOG = 14 : the Misc* after the last end tag
    -    XML_PARSER_IGNORE = 15 : within an IGNORED section
    -    XML_PARSER_PUBLIC_LITERAL = 16 : within a PUBLIC value
    -}
    -

    Enum xmlParserMode

    Enum xmlParserMode {
    -    XML_PARSE_UNKNOWN = 0
    -    XML_PARSE_DOM = 1
    -    XML_PARSE_SAX = 2
    -    XML_PARSE_PUSH_DOM = 3
    -    XML_PARSE_PUSH_SAX = 4
    -    XML_PARSE_READER = 5
    -}
    -

    Structure xmlParserNodeInfo

    Structure xmlParserNodeInfo
    struct _xmlParserNodeInfo { - const struct _xmlNode * node : Position & line # that text that create - unsigned long begin_pos - unsigned long begin_line - unsigned long end_pos - unsigned long end_line -}

    Structure xmlParserNodeInfoSeq

    Structure xmlParserNodeInfoSeq
    struct _xmlParserNodeInfoSeq { - unsigned long maximum - unsigned long length - xmlParserNodeInfo * buffer -}

    Enum xmlParserOption

    Enum xmlParserOption {
    -    XML_PARSE_RECOVER = 1 : recover on errors
    -    XML_PARSE_NOENT = 2 : substitute entities
    -    XML_PARSE_DTDLOAD = 4 : load the external subset
    -    XML_PARSE_DTDATTR = 8 : default DTD attributes
    -    XML_PARSE_DTDVALID = 16 : validate with the DTD
    -    XML_PARSE_NOERROR = 32 : suppress error reports
    -    XML_PARSE_NOWARNING = 64 : suppress warning reports
    -    XML_PARSE_PEDANTIC = 128 : pedantic error reporting
    -    XML_PARSE_NOBLANKS = 256 : remove blank nodes
    -    XML_PARSE_SAX1 = 512 : use the SAX1 interface internally
    -    XML_PARSE_XINCLUDE = 1024 : Implement XInclude substitition
    -    XML_PARSE_NONET = 2048 : Forbid network access
    -    XML_PARSE_NODICT = 4096 : Do not reuse the context dictionnary
    -    XML_PARSE_NSCLEAN = 8192 : remove redundant namespaces declarations
    -    XML_PARSE_NOCDATA = 16384 : merge CDATA as text nodes
    -    XML_PARSE_NOXINCNODE = 32768 : do not generate XINCLUDE START/END nodes
    -    XML_PARSE_COMPACT = 65536 : compact small text nodes; no modification of the tree allowed afterwards (will possibly crash if you try to modify the tree)
    -    XML_PARSE_OLD10 = 131072 : parse using XML-1.0 before update 5
    -    XML_PARSE_NOBASEFIX = 262144 : do not fixup XINCLUDE xml:base uris
    -    XML_PARSE_HUGE = 524288 : relax any hardcoded limit from the parser
    -    XML_PARSE_OLDSAX = 1048576 : parse using SAX2 interface before 2.7.0
    -    XML_PARSE_IGNORE_ENC = 2097152 : ignore internal document encoding hint
    -}
    -

    Structure xmlSAXHandlerV1

    Structure xmlSAXHandlerV1
    struct _xmlSAXHandlerV1 { - internalSubsetSAXFunc internalSubset - isStandaloneSAXFunc isStandalone - hasInternalSubsetSAXFunc hasInternalSubset - hasExternalSubsetSAXFunc hasExternalSubset - resolveEntitySAXFunc resolveEntity - getEntitySAXFunc getEntity - entityDeclSAXFunc entityDecl - notationDeclSAXFunc notationDecl - attributeDeclSAXFunc attributeDecl - elementDeclSAXFunc elementDecl - unparsedEntityDeclSAXFunc unparsedEntityDecl - setDocumentLocatorSAXFunc setDocumentLocator - startDocumentSAXFunc startDocument - endDocumentSAXFunc endDocument - startElementSAXFunc startElement - endElementSAXFunc endElement - referenceSAXFunc reference - charactersSAXFunc characters - ignorableWhitespaceSAXFunc ignorableWhitespace - processingInstructionSAXFunc processingInstruction - commentSAXFunc comment - warningSAXFunc warning - errorSAXFunc error - fatalErrorSAXFunc fatalError : unused error() get all the errors - getParameterEntitySAXFunc getParameterEntity - cdataBlockSAXFunc cdataBlock - externalSubsetSAXFunc externalSubset - unsigned int initialized -}

    Function type: attributeDeclSAXFunc

    Function type: attributeDeclSAXFunc
    -void	attributeDeclSAXFunc		(void * ctx, 
    const xmlChar * elem,
    const xmlChar * fullname,
    int type,
    int def,
    const xmlChar * defaultValue,
    xmlEnumerationPtr tree) -

    An attribute definition has been parsed.

    ctx:the user data (XML parser context)
    elem:the name of the element
    fullname:the attribute name
    type:the attribute type
    def:the type of default value
    defaultValue:the attribute default value
    tree:the tree of enumerated value set

    -

    Function type: attributeSAXFunc

    Function type: attributeSAXFunc
    -void	attributeSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar * value) -

    Handle an attribute that has been read by the parser. The default handling is to convert the attribute into an DOM subtree and past it in a new xmlAttr element added to the element.

    ctx:the user data (XML parser context)
    name:The attribute name, including namespace prefix
    value:The attribute value

    -

    Function type: cdataBlockSAXFunc

    Function type: cdataBlockSAXFunc
    -void	cdataBlockSAXFunc		(void * ctx, 
    const xmlChar * value,
    int len) -

    Called when a pcdata block has been parsed.

    ctx:the user data (XML parser context)
    value:The pcdata content
    len:the block length

    -

    Function type: charactersSAXFunc

    Function type: charactersSAXFunc
    -void	charactersSAXFunc		(void * ctx, 
    const xmlChar * ch,
    int len) -

    Receiving some chars from the parser.

    ctx:the user data (XML parser context)
    ch:a xmlChar string
    len:the number of xmlChar

    -

    Function type: commentSAXFunc

    Function type: commentSAXFunc
    -void	commentSAXFunc			(void * ctx, 
    const xmlChar * value) -

    A comment has been parsed.

    ctx:the user data (XML parser context)
    value:the comment content

    -

    Function type: elementDeclSAXFunc

    Function type: elementDeclSAXFunc
    -void	elementDeclSAXFunc		(void * ctx, 
    const xmlChar * name,
    int type,
    xmlElementContentPtr content) -

    An element definition has been parsed.

    ctx:the user data (XML parser context)
    name:the element name
    type:the element type
    content:the element value tree

    -

    Function type: endDocumentSAXFunc

    Function type: endDocumentSAXFunc
    -void	endDocumentSAXFunc		(void * ctx)
    -

    Called when the document end has been detected.

    ctx:the user data (XML parser context)

    -

    Function type: endElementNsSAX2Func

    Function type: endElementNsSAX2Func
    -void	endElementNsSAX2Func		(void * ctx, 
    const xmlChar * localname,
    const xmlChar * prefix,
    const xmlChar * URI) -

    SAX2 callback when an element end has been detected by the parser. It provides the namespace informations for the element.

    ctx:the user data (XML parser context)
    localname:the local name of the element
    prefix:the element namespace prefix if available
    URI:the element namespace name if available

    -

    Function type: endElementSAXFunc

    Function type: endElementSAXFunc
    -void	endElementSAXFunc		(void * ctx, 
    const xmlChar * name) -

    Called when the end of an element has been detected.

    ctx:the user data (XML parser context)
    name:The element name

    -

    Function type: entityDeclSAXFunc

    Function type: entityDeclSAXFunc
    -void	entityDeclSAXFunc		(void * ctx, 
    const xmlChar * name,
    int type,
    const xmlChar * publicId,
    const xmlChar * systemId,
    xmlChar * content) -

    An entity definition has been parsed.

    ctx:the user data (XML parser context)
    name:the entity name
    type:the entity type
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    content:the entity value (without processing).

    -

    Function type: errorSAXFunc

    Function type: errorSAXFunc
    -void	errorSAXFunc			(void * ctx, 
    const char * msg,
    ... ...) -

    Display and format an error messages, callback.

    ctx:an XML parser context
    msg:the message to display/transmit
    ...:extra parameters for the message display

    -

    Function type: externalSubsetSAXFunc

    Function type: externalSubsetSAXFunc
    -void	externalSubsetSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID) -

    Callback on external subset declaration.

    ctx:the user data (XML parser context)
    name:the root element name
    ExternalID:the external ID
    SystemID:the SYSTEM ID (e.g. filename or URL)

    -

    Function type: fatalErrorSAXFunc

    Function type: fatalErrorSAXFunc
    -void	fatalErrorSAXFunc		(void * ctx, 
    const char * msg,
    ... ...) -

    Display and format fatal error messages, callback. Note: so far fatalError() SAX callbacks are not used, error() get all the callbacks for errors.

    ctx:an XML parser context
    msg:the message to display/transmit
    ...:extra parameters for the message display

    -

    Function type: getEntitySAXFunc

    Function type: getEntitySAXFunc
    -xmlEntityPtr	getEntitySAXFunc	(void * ctx, 
    const xmlChar * name) -

    Get an entity by name.

    ctx:the user data (XML parser context)
    name:The entity name
    Returns:the xmlEntityPtr if found.

    -

    Function type: getParameterEntitySAXFunc

    Function type: getParameterEntitySAXFunc
    -xmlEntityPtr	getParameterEntitySAXFunc	(void * ctx, 
    const xmlChar * name) -

    Get a parameter entity by name.

    ctx:the user data (XML parser context)
    name:The entity name
    Returns:the xmlEntityPtr if found.

    -

    Function type: hasExternalSubsetSAXFunc

    Function type: hasExternalSubsetSAXFunc
    -int	hasExternalSubsetSAXFunc	(void * ctx)
    -

    Does this document has an external subset?

    ctx:the user data (XML parser context)
    Returns:1 if true

    -

    Function type: hasInternalSubsetSAXFunc

    Function type: hasInternalSubsetSAXFunc
    -int	hasInternalSubsetSAXFunc	(void * ctx)
    -

    Does this document has an internal subset.

    ctx:the user data (XML parser context)
    Returns:1 if true

    -

    Function type: ignorableWhitespaceSAXFunc

    Function type: ignorableWhitespaceSAXFunc
    -void	ignorableWhitespaceSAXFunc	(void * ctx, 
    const xmlChar * ch,
    int len) -

    Receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use characters.

    ctx:the user data (XML parser context)
    ch:a xmlChar string
    len:the number of xmlChar

    -

    Function type: internalSubsetSAXFunc

    Function type: internalSubsetSAXFunc
    -void	internalSubsetSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID) -

    Callback on internal subset declaration.

    ctx:the user data (XML parser context)
    name:the root element name
    ExternalID:the external ID
    SystemID:the SYSTEM ID (e.g. filename or URL)

    -

    Function type: isStandaloneSAXFunc

    Function type: isStandaloneSAXFunc
    -int	isStandaloneSAXFunc		(void * ctx)
    -

    Is this document tagged standalone?

    ctx:the user data (XML parser context)
    Returns:1 if true

    -

    Function type: notationDeclSAXFunc

    Function type: notationDeclSAXFunc
    -void	notationDeclSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId) -

    What to do when a notation declaration has been parsed.

    ctx:the user data (XML parser context)
    name:The name of the notation
    publicId:The public ID of the entity
    systemId:The system ID of the entity

    -

    Function type: processingInstructionSAXFunc

    Function type: processingInstructionSAXFunc
    -void	processingInstructionSAXFunc	(void * ctx, 
    const xmlChar * target,
    const xmlChar * data) -

    A processing instruction has been parsed.

    ctx:the user data (XML parser context)
    target:the target name
    data:the PI data's

    -

    Function type: referenceSAXFunc

    Function type: referenceSAXFunc
    -void	referenceSAXFunc		(void * ctx, 
    const xmlChar * name) -

    Called when an entity reference is detected.

    ctx:the user data (XML parser context)
    name:The entity name

    -

    Function type: resolveEntitySAXFunc

    Function type: resolveEntitySAXFunc
    -xmlParserInputPtr	resolveEntitySAXFunc	(void * ctx, 
    const xmlChar * publicId,
    const xmlChar * systemId) -

    Callback: The entity loader, to control the loading of external entities, the application can either: - override this resolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() function to set up it's own entity resolution routine

    ctx:the user data (XML parser context)
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    Returns:the xmlParserInputPtr if inlined or NULL for DOM behaviour.

    -

    Function type: setDocumentLocatorSAXFunc

    Function type: setDocumentLocatorSAXFunc
    -void	setDocumentLocatorSAXFunc	(void * ctx, 
    xmlSAXLocatorPtr loc) -

    Receive the document locator at startup, actually xmlDefaultSAXLocator. Everything is available on the context, so this is useless in our case.

    ctx:the user data (XML parser context)
    loc:A SAX Locator

    -

    Function type: startDocumentSAXFunc

    Function type: startDocumentSAXFunc
    -void	startDocumentSAXFunc		(void * ctx)
    -

    Called when the document start being processed.

    ctx:the user data (XML parser context)

    -

    Function type: startElementNsSAX2Func

    Function type: startElementNsSAX2Func
    -void	startElementNsSAX2Func		(void * ctx, 
    const xmlChar * localname,
    const xmlChar * prefix,
    const xmlChar * URI,
    int nb_namespaces,
    const xmlChar ** namespaces,
    int nb_attributes,
    int nb_defaulted,
    const xmlChar ** attributes) -

    SAX2 callback when an element start has been detected by the parser. It provides the namespace informations for the element, as well as the new namespace declarations on the element.

    ctx:the user data (XML parser context)
    localname:the local name of the element
    prefix:the element namespace prefix if available
    URI:the element namespace name if available
    nb_namespaces:number of namespace definitions on that node
    namespaces:pointer to the array of prefix/URI pairs namespace definitions
    nb_attributes:the number of attributes on that node
    nb_defaulted:the number of defaulted attributes. The defaulted ones are at the end of the array
    attributes:pointer to the array of (localname/prefix/URI/value/end) attribute values.

    -

    Function type: startElementSAXFunc

    Function type: startElementSAXFunc
    -void	startElementSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar ** atts) -

    Called when an opening tag has been processed.

    ctx:the user data (XML parser context)
    name:The element name, including namespace prefix
    atts:An array of name/value attributes pairs, NULL terminated

    -

    Function type: unparsedEntityDeclSAXFunc

    Function type: unparsedEntityDeclSAXFunc
    -void	unparsedEntityDeclSAXFunc	(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId,
    const xmlChar * notationName) -

    What to do when an unparsed entity declaration is parsed.

    ctx:the user data (XML parser context)
    name:The name of the entity
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    notationName:the name of the notation

    -

    Function type: warningSAXFunc

    Function type: warningSAXFunc
    -void	warningSAXFunc			(void * ctx, 
    const char * msg,
    ... ...) -

    Display and format a warning messages, callback.

    ctx:an XML parser context
    msg:the message to display/transmit
    ...:extra parameters for the message display

    -

    Function: xmlByteConsumed

    long	xmlByteConsumed			(xmlParserCtxtPtr ctxt)
    -

    This function provides the current index of the parser relative to the start of the current entity. This function is computed in bytes from the beginning starting at zero and finishing at the size in byte of the file if parsing a file. The function is of constant cost if the input is UTF-8 but can be costly if run on non-UTF-8 input.

    -
    ctxt:an XML parser context
    Returns:the index in bytes from the beginning of the entity or -1 in case the index could not be computed.

    Function: xmlCleanupParser

    void	xmlCleanupParser		(void)
    -

    This function name is somewhat misleading. It does not clean up parser state, it cleans up memory allocated by the library itself. It is a cleanup function for the XML library. It tries to reclaim all related global memory allocated for the library processing. It doesn't deallocate any document related memory. One should call xmlCleanupParser() only when the process has finished using the library and all XML/HTML documents built with it. See also xmlInitParser() which has the opposite function of preparing the library for operations. WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It's sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !

    -

    Function: xmlClearNodeInfoSeq

    void	xmlClearNodeInfoSeq		(xmlParserNodeInfoSeqPtr seq)
    -

    -- Clear (release memory and reinitialize) node info sequence

    -
    seq:a node info sequence pointer

    Function: xmlClearParserCtxt

    void	xmlClearParserCtxt		(xmlParserCtxtPtr ctxt)
    -

    Clear (release owned resources) and reinitialize a parser context

    -
    ctxt:an XML parser context

    Function: xmlCreateDocParserCtxt

    xmlParserCtxtPtr	xmlCreateDocParserCtxt	(const xmlChar * cur)
    -

    Creates a parser context for an XML in-memory document.

    -
    cur:a pointer to an array of xmlChar
    Returns:the new parser context or NULL

    Function: xmlCreateIOParserCtxt

    xmlParserCtxtPtr	xmlCreateIOParserCtxt	(xmlSAXHandlerPtr sax, 
    void * user_data,
    xmlInputReadCallback ioread,
    xmlInputCloseCallback ioclose,
    void * ioctx,
    xmlCharEncoding enc)
    -

    Create a parser context for using the XML parser with an existing I/O stream

    -
    sax:a SAX handler
    user_data:The user data returned on SAX callbacks
    ioread:an I/O read function
    ioclose:an I/O close function
    ioctx:an I/O handler
    enc:the charset encoding if known
    Returns:the new parser context or NULL

    Function: xmlCreatePushParserCtxt

    xmlParserCtxtPtr	xmlCreatePushParserCtxt	(xmlSAXHandlerPtr sax, 
    void * user_data,
    const char * chunk,
    int size,
    const char * filename)
    -

    Create a parser context for using the XML parser in push mode. If @buffer and @size are non-NULL, the data is used to detect the encoding. The remaining characters will be parsed so they don't need to be fed in again through xmlParseChunk. To allow content encoding detection, @size should be >= 4 The value of @filename is used for fetching external entities and error/warning reports.

    -
    sax:a SAX handler
    user_data:The user data returned on SAX callbacks
    chunk:a pointer to an array of chars
    size:number of chars in the array
    filename:an optional file name or URI
    Returns:the new parser context or NULL

    Function: xmlCtxtReadDoc

    xmlDocPtr	xmlCtxtReadDoc		(xmlParserCtxtPtr ctxt, 
    const xmlChar * cur,
    const char * URL,
    const char * encoding,
    int options)
    -

    parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context

    -
    ctxt:an XML parser context
    cur:a pointer to a zero terminated string
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlCtxtReadFd

    xmlDocPtr	xmlCtxtReadFd		(xmlParserCtxtPtr ctxt, 
    int fd,
    const char * URL,
    const char * encoding,
    int options)
    -

    parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context NOTE that the file descriptor will not be closed when the reader is closed or reset.

    -
    ctxt:an XML parser context
    fd:an open file descriptor
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlCtxtReadFile

    xmlDocPtr	xmlCtxtReadFile		(xmlParserCtxtPtr ctxt, 
    const char * filename,
    const char * encoding,
    int options)
    -

    parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context

    -
    ctxt:an XML parser context
    filename:a file or URL
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlCtxtReadIO

    xmlDocPtr	xmlCtxtReadIO		(xmlParserCtxtPtr ctxt, 
    xmlInputReadCallback ioread,
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    -

    parse an XML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context

    -
    ctxt:an XML parser context
    ioread:an I/O read function
    ioclose:an I/O close function
    ioctx:an I/O handler
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlCtxtReadMemory

    xmlDocPtr	xmlCtxtReadMemory	(xmlParserCtxtPtr ctxt, 
    const char * buffer,
    int size,
    const char * URL,
    const char * encoding,
    int options)
    -

    parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context

    -
    ctxt:an XML parser context
    buffer:a pointer to a char array
    size:the size of the array
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlCtxtReset

    void	xmlCtxtReset			(xmlParserCtxtPtr ctxt)
    -

    Reset a parser context

    -
    ctxt:an XML parser context

    Function: xmlCtxtResetPush

    int	xmlCtxtResetPush		(xmlParserCtxtPtr ctxt, 
    const char * chunk,
    int size,
    const char * filename,
    const char * encoding)
    -

    Reset a push parser context

    -
    ctxt:an XML parser context
    chunk:a pointer to an array of chars
    size:number of chars in the array
    filename:an optional file name or URI
    encoding:the document encoding, or NULL
    Returns:0 in case of success and 1 in case of error

    Function: xmlCtxtUseOptions

    int	xmlCtxtUseOptions		(xmlParserCtxtPtr ctxt, 
    int options)
    -

    Applies the options to the parser context

    -
    ctxt:an XML parser context
    options:a combination of xmlParserOption
    Returns:0 in case of success, the set of unknown or unimplemented options in case of error.

    Function type: xmlExternalEntityLoader

    Function type: xmlExternalEntityLoader
    -xmlParserInputPtr	xmlExternalEntityLoader	(const char * URL, 
    const char * ID,
    xmlParserCtxtPtr context) -

    External entity loaders types.

    URL:The System ID of the resource requested
    ID:The Public ID of the resource requested
    context:the XML parser context
    Returns:the entity input parser.

    -

    Function: xmlFreeParserCtxt

    void	xmlFreeParserCtxt		(xmlParserCtxtPtr ctxt)
    -

    Free all the memory used by a parser context. However the parsed document in ctxt->myDoc is not freed.

    -
    ctxt:an XML parser context

    Function: xmlGetExternalEntityLoader

    xmlExternalEntityLoader	xmlGetExternalEntityLoader	(void)
    -

    Get the default external entity resolver function for the application

    -
    Returns:the xmlExternalEntityLoader function pointer

    Function: xmlGetFeature

    int	xmlGetFeature			(xmlParserCtxtPtr ctxt, 
    const char * name,
    void * result)
    -

    Read the current value of one feature of this parser instance

    -
    ctxt:an XML/HTML parser context
    name:the feature name
    result:location to store the result
    Returns:-1 in case or error, 0 otherwise

    Function: xmlGetFeaturesList

    int	xmlGetFeaturesList		(int * len, 
    const char ** result)
    -

    Copy at most *@len feature names into the @result array

    -
    len:the length of the features name array (input/output)
    result:an array of string to be filled with the features name.
    Returns:-1 in case or error, or the total number of features, len is updated with the number of strings copied, strings must not be deallocated

    Function: xmlHasFeature

    int	xmlHasFeature			(xmlFeature feature)
    -

    Examines if the library has been compiled with a given feature.

    -
    feature:the feature to be examined
    Returns:a non-zero value if the feature exist, otherwise zero. Returns zero (0) if the feature does not exist or an unknown unknown feature is requested, non-zero otherwise.

    Function: xmlIOParseDTD

    xmlDtdPtr	xmlIOParseDTD		(xmlSAXHandlerPtr sax, 
    xmlParserInputBufferPtr input,
    xmlCharEncoding enc)
    -

    Load and parse a DTD

    -
    sax:the SAX handler block or NULL
    input:an Input Buffer
    enc:the charset encoding if known
    Returns:the resulting xmlDtdPtr or NULL in case of error. @input will be freed by the function in any case.

    Function: xmlInitNodeInfoSeq

    void	xmlInitNodeInfoSeq		(xmlParserNodeInfoSeqPtr seq)
    -

    -- Initialize (set to initial state) node info sequence

    -
    seq:a node info sequence pointer

    Function: xmlInitParser

    void	xmlInitParser			(void)
    -

    Initialization function for the XML parser. This is not reentrant. Call once before processing in case of use in multithreaded programs.

    -

    Function: xmlInitParserCtxt

    int	xmlInitParserCtxt		(xmlParserCtxtPtr ctxt)
    -

    Initialize a parser context

    -
    ctxt:an XML parser context
    Returns:0 in case of success and -1 in case of error

    Function: xmlKeepBlanksDefault

    int	xmlKeepBlanksDefault		(int val)
    -

    Set and return the previous value for default blanks text nodes support. The 1.x version of the parser used an heuristic to try to detect ignorable white spaces. As a result the SAX callback was generating xmlSAX2IgnorableWhitespace() callbacks instead of characters() one, and when using the DOM output text nodes containing those blanks were not generated. The 2.x and later version will switch to the XML standard way and ignorableWhitespace() are only generated when running the parser in validating mode and when the current element doesn't allow CDATA or mixed content. This function is provided as a way to force the standard behavior on 1.X libs and to switch back to the old mode for compatibility when running 1.X client code on 2.X . Upgrade of 1.X code should be done by using xmlIsBlankNode() commodity function to detect the "empty" nodes generated. This value also affect autogeneration of indentation when saving code if blanks sections are kept, indentation is not generated.

    -
    val:int 0 or 1
    Returns:the last value for 0 for no substitution, 1 for substitution.

    Function: xmlLineNumbersDefault

    int	xmlLineNumbersDefault		(int val)
    -

    Set and return the previous value for enabling line numbers in elements contents. This may break on old application and is turned off by default.

    -
    val:int 0 or 1
    Returns:the last value for 0 for no substitution, 1 for substitution.

    Function: xmlLoadExternalEntity

    xmlParserInputPtr	xmlLoadExternalEntity	(const char * URL, 
    const char * ID,
    xmlParserCtxtPtr ctxt)
    -

    Load an external entity, note that the use of this function for unparsed entities may generate problems

    -
    URL:the URL for the entity to load
    ID:the Public ID for the entity to load
    ctxt:the context in which the entity is called or NULL
    Returns:the xmlParserInputPtr or NULL

    Function: xmlNewIOInputStream

    xmlParserInputPtr	xmlNewIOInputStream	(xmlParserCtxtPtr ctxt, 
    xmlParserInputBufferPtr input,
    xmlCharEncoding enc)
    -

    Create a new input stream structure encapsulating the @input into a stream suitable for the parser.

    -
    ctxt:an XML parser context
    input:an I/O Input
    enc:the charset encoding if known
    Returns:the new input stream or NULL

    Function: xmlNewParserCtxt

    xmlParserCtxtPtr	xmlNewParserCtxt	(void)
    -

    Allocate and initialize a new parser context.

    -
    Returns:the xmlParserCtxtPtr or NULL

    Function: xmlParseBalancedChunkMemory

    int	xmlParseBalancedChunkMemory	(xmlDocPtr doc, 
    xmlSAXHandlerPtr sax,
    void * user_data,
    int depth,
    const xmlChar * string,
    xmlNodePtr * lst)
    -

    Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*

    -
    doc:the document the chunk pertains to
    sax:the SAX handler bloc (possibly NULL)
    user_data:The user data returned on SAX callbacks (possibly NULL)
    depth:Used for loop detection, use 0
    string:the input string in UTF8 or ISO-Latin (zero terminated)
    lst:the return value for the set of parsed nodes
    Returns:0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise

    Function: xmlParseBalancedChunkMemoryRecover

    int	xmlParseBalancedChunkMemoryRecover	(xmlDocPtr doc, 
    xmlSAXHandlerPtr sax,
    void * user_data,
    int depth,
    const xmlChar * string,
    xmlNodePtr * lst,
    int recover)
    -

    Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*

    -
    doc:the document the chunk pertains to
    sax:the SAX handler bloc (possibly NULL)
    user_data:The user data returned on SAX callbacks (possibly NULL)
    depth:Used for loop detection, use 0
    string:the input string in UTF8 or ISO-Latin (zero terminated)
    lst:the return value for the set of parsed nodes
    recover:return nodes even if the data is broken (use 0)
    Returns:0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise In case recover is set to 1, the nodelist will not be empty even if the parsed chunk is not well balanced, assuming the parsing succeeded to some extent.

    Function: xmlParseChunk

    int	xmlParseChunk			(xmlParserCtxtPtr ctxt, 
    const char * chunk,
    int size,
    int terminate)
    -

    Parse a Chunk of memory

    -
    ctxt:an XML parser context
    chunk:an char array
    size:the size in byte of the chunk
    terminate:last chunk indicator
    Returns:zero if no error, the xmlParserErrors otherwise.

    Function: xmlParseCtxtExternalEntity

    int	xmlParseCtxtExternalEntity	(xmlParserCtxtPtr ctx, 
    const xmlChar * URL,
    const xmlChar * ID,
    xmlNodePtr * lst)
    -

    Parse an external general entity within an existing parsing context An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content

    -
    ctx:the existing parsing context
    URL:the URL for the entity to load
    ID:the System ID for the entity to load
    lst:the return value for the set of parsed nodes
    Returns:0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise

    Function: xmlParseDTD

    xmlDtdPtr	xmlParseDTD		(const xmlChar * ExternalID, 
    const xmlChar * SystemID)
    -

    Load and parse an external subset.

    -
    ExternalID:a NAME* containing the External ID of the DTD
    SystemID:a NAME* containing the URL to the DTD
    Returns:the resulting xmlDtdPtr or NULL in case of error.

    Function: xmlParseDoc

    xmlDocPtr	xmlParseDoc		(const xmlChar * cur)
    -

    parse an XML in-memory document and build a tree.

    -
    cur:a pointer to an array of xmlChar
    Returns:the resulting document tree

    Function: xmlParseDocument

    int	xmlParseDocument		(xmlParserCtxtPtr ctxt)
    -

    parse an XML document (and build a tree if using the standard SAX interface). [1] document ::= prolog element Misc* [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?

    -
    ctxt:an XML parser context
    Returns:0, -1 in case of error. the parser context is augmented as a result of the parsing.

    Function: xmlParseEntity

    xmlDocPtr	xmlParseEntity		(const char * filename)
    -

    parse an XML external entity out of context and build a tree. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk

    -
    filename:the filename
    Returns:the resulting document tree

    Function: xmlParseExtParsedEnt

    int	xmlParseExtParsedEnt		(xmlParserCtxtPtr ctxt)
    -

    parse a general parsed entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content

    -
    ctxt:an XML parser context
    Returns:0, -1 in case of error. the parser context is augmented as a result of the parsing.

    Function: xmlParseExternalEntity

    int	xmlParseExternalEntity		(xmlDocPtr doc, 
    xmlSAXHandlerPtr sax,
    void * user_data,
    int depth,
    const xmlChar * URL,
    const xmlChar * ID,
    xmlNodePtr * lst)
    -

    Parse an external general entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content

    -
    doc:the document the chunk pertains to
    sax:the SAX handler bloc (possibly NULL)
    user_data:The user data returned on SAX callbacks (possibly NULL)
    depth:Used for loop detection, use 0
    URL:the URL for the entity to load
    ID:the System ID for the entity to load
    lst:the return value for the set of parsed nodes
    Returns:0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise

    Function: xmlParseFile

    xmlDocPtr	xmlParseFile		(const char * filename)
    -

    parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.

    -
    filename:the filename
    Returns:the resulting document tree if the file was wellformed, NULL otherwise.

    Function: xmlParseInNodeContext

    xmlParserErrors	xmlParseInNodeContext	(xmlNodePtr node, 
    const char * data,
    int datalen,
    int options,
    xmlNodePtr * lst)
    -

    Parse a well-balanced chunk of an XML document within the context (DTD, namespaces, etc ...) of the given node. The allowed sequence for the data is a Well Balanced Chunk defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*

    -
    node:the context node
    data:the input string
    datalen:the input string length in bytes
    options:a combination of xmlParserOption
    lst:the return value for the set of parsed nodes
    Returns:XML_ERR_OK if the chunk is well balanced, and the parser error code otherwise

    Function: xmlParseMemory

    xmlDocPtr	xmlParseMemory		(const char * buffer, 
    int size)
    -

    parse an XML in-memory block and build a tree.

    -
    buffer:an pointer to a char array
    size:the size of the array
    Returns:the resulting document tree

    Function: xmlParserAddNodeInfo

    void	xmlParserAddNodeInfo		(xmlParserCtxtPtr ctxt, 
    const xmlParserNodeInfoPtr info)
    -

    Insert node info record into the sorted sequence

    -
    ctxt:an XML parser context
    info:a node info sequence pointer

    Function: xmlParserFindNodeInfo

    const xmlParserNodeInfo *	xmlParserFindNodeInfo	(const xmlParserCtxtPtr ctx, 
    const xmlNodePtr node)
    -

    Find the parser node info struct for a given node

    -
    ctx:an XML parser context
    node:an XML node within the tree
    Returns:an xmlParserNodeInfo block pointer or NULL

    Function: xmlParserFindNodeInfoIndex

    unsigned long	xmlParserFindNodeInfoIndex	(const xmlParserNodeInfoSeqPtr seq, 
    const xmlNodePtr node)
    -

    xmlParserFindNodeInfoIndex : Find the index that the info record for the given node is or should be at in a sorted sequence

    -
    seq:a node info sequence pointer
    node:an XML node pointer
    Returns:a long indicating the position of the record

    Function type: xmlParserInputDeallocate

    Function type: xmlParserInputDeallocate
    -void	xmlParserInputDeallocate	(xmlChar * str)
    -

    Callback for freeing some parser input allocations.

    str:the string to deallocate

    -

    Function: xmlParserInputGrow

    int	xmlParserInputGrow		(xmlParserInputPtr in, 
    int len)
    -

    This function increase the input for the parser. It tries to preserve pointers to the input buffer, and keep already read data

    -
    in:an XML parser input
    len:an indicative size for the lookahead
    Returns:the number of xmlChars read, or -1 in case of error, 0 indicate the end of this entity

    Function: xmlParserInputRead

    int	xmlParserInputRead		(xmlParserInputPtr in, 
    int len)
    -

    This function refresh the input for the parser. It doesn't try to preserve pointers to the input buffer, and discard already read data

    -
    in:an XML parser input
    len:an indicative size for the lookahead
    Returns:the number of xmlChars read, or -1 in case of error, 0 indicate the end of this entity

    Function: xmlPedanticParserDefault

    int	xmlPedanticParserDefault	(int val)
    -

    Set and return the previous value for enabling pedantic warnings.

    -
    val:int 0 or 1
    Returns:the last value for 0 for no substitution, 1 for substitution.

    Function: xmlReadDoc

    xmlDocPtr	xmlReadDoc		(const xmlChar * cur, 
    const char * URL,
    const char * encoding,
    int options)
    -

    parse an XML in-memory document and build a tree.

    -
    cur:a pointer to a zero terminated string
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlReadFd

    xmlDocPtr	xmlReadFd		(int fd, 
    const char * URL,
    const char * encoding,
    int options)
    -

    parse an XML from a file descriptor and build a tree. NOTE that the file descriptor will not be closed when the reader is closed or reset.

    -
    fd:an open file descriptor
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlReadFile

    xmlDocPtr	xmlReadFile		(const char * filename, 
    const char * encoding,
    int options)
    -

    parse an XML file from the filesystem or the network.

    -
    filename:a file or URL
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlReadIO

    xmlDocPtr	xmlReadIO		(xmlInputReadCallback ioread, 
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    -

    parse an XML document from I/O functions and source and build a tree.

    -
    ioread:an I/O read function
    ioclose:an I/O close function
    ioctx:an I/O handler
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlReadMemory

    xmlDocPtr	xmlReadMemory		(const char * buffer, 
    int size,
    const char * URL,
    const char * encoding,
    int options)
    -

    parse an XML in-memory document and build a tree.

    -
    buffer:a pointer to a char array
    size:the size of the array
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlRecoverDoc

    xmlDocPtr	xmlRecoverDoc		(const xmlChar * cur)
    -

    parse an XML in-memory document and build a tree. In the case the document is not Well Formed, a attempt to build a tree is tried anyway

    -
    cur:a pointer to an array of xmlChar
    Returns:the resulting document tree or NULL in case of failure

    Function: xmlRecoverFile

    xmlDocPtr	xmlRecoverFile		(const char * filename)
    -

    parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. In the case the document is not Well Formed, it attempts to build a tree anyway

    -
    filename:the filename
    Returns:the resulting document tree or NULL in case of failure

    Function: xmlRecoverMemory

    xmlDocPtr	xmlRecoverMemory	(const char * buffer, 
    int size)
    -

    parse an XML in-memory block and build a tree. In the case the document is not Well Formed, an attempt to build a tree is tried anyway

    -
    buffer:an pointer to a char array
    size:the size of the array
    Returns:the resulting document tree or NULL in case of error

    Function: xmlSAXParseDTD

    xmlDtdPtr	xmlSAXParseDTD		(xmlSAXHandlerPtr sax, 
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    -

    Load and parse an external subset.

    -
    sax:the SAX handler block
    ExternalID:a NAME* containing the External ID of the DTD
    SystemID:a NAME* containing the URL to the DTD
    Returns:the resulting xmlDtdPtr or NULL in case of error.

    Function: xmlSAXParseDoc

    xmlDocPtr	xmlSAXParseDoc		(xmlSAXHandlerPtr sax, 
    const xmlChar * cur,
    int recovery)
    -

    parse an XML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.

    -
    sax:the SAX handler block
    cur:a pointer to an array of xmlChar
    recovery:work in recovery mode, i.e. tries to read no Well Formed documents
    Returns:the resulting document tree

    Function: xmlSAXParseEntity

    xmlDocPtr	xmlSAXParseEntity	(xmlSAXHandlerPtr sax, 
    const char * filename)
    -

    parse an XML external entity out of context and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk

    -
    sax:the SAX handler block
    filename:the filename
    Returns:the resulting document tree

    Function: xmlSAXParseFile

    xmlDocPtr	xmlSAXParseFile		(xmlSAXHandlerPtr sax, 
    const char * filename,
    int recovery)
    -

    parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.

    -
    sax:the SAX handler block
    filename:the filename
    recovery:work in recovery mode, i.e. tries to read no Well Formed documents
    Returns:the resulting document tree

    Function: xmlSAXParseFileWithData

    xmlDocPtr	xmlSAXParseFileWithData	(xmlSAXHandlerPtr sax, 
    const char * filename,
    int recovery,
    void * data)
    -

    parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml

    -
    sax:the SAX handler block
    filename:the filename
    recovery:work in recovery mode, i.e. tries to read no Well Formed documents
    data:the userdata
    Returns:the resulting document tree

    Function: xmlSAXParseMemory

    xmlDocPtr	xmlSAXParseMemory	(xmlSAXHandlerPtr sax, 
    const char * buffer,
    int size,
    int recovery)
    -

    parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.

    -
    sax:the SAX handler block
    buffer:an pointer to a char array
    size:the size of the array
    recovery:work in recovery mode, i.e. tries to read not Well Formed documents
    Returns:the resulting document tree

    Function: xmlSAXParseMemoryWithData

    xmlDocPtr	xmlSAXParseMemoryWithData	(xmlSAXHandlerPtr sax, 
    const char * buffer,
    int size,
    int recovery,
    void * data)
    -

    parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml

    -
    sax:the SAX handler block
    buffer:an pointer to a char array
    size:the size of the array
    recovery:work in recovery mode, i.e. tries to read no Well Formed documents
    data:the userdata
    Returns:the resulting document tree

    Function: xmlSAXUserParseFile

    int	xmlSAXUserParseFile		(xmlSAXHandlerPtr sax, 
    void * user_data,
    const char * filename)
    -

    parse an XML file and call the given SAX handler routines. Automatic support for ZLIB/Compress compressed document is provided

    -
    sax:a SAX handler
    user_data:The user data returned on SAX callbacks
    filename:a file name
    Returns:0 in case of success or a error number otherwise

    Function: xmlSAXUserParseMemory

    int	xmlSAXUserParseMemory		(xmlSAXHandlerPtr sax, 
    void * user_data,
    const char * buffer,
    int size)
    -

    A better SAX parsing routine. parse an XML in-memory buffer and call the given SAX handler routines.

    -
    sax:a SAX handler
    user_data:The user data returned on SAX callbacks
    buffer:an in-memory XML document input
    size:the length of the XML document in bytes
    Returns:0 in case of success or a error number otherwise

    Function: xmlSetExternalEntityLoader

    void	xmlSetExternalEntityLoader	(xmlExternalEntityLoader f)
    -

    Changes the defaultexternal entity resolver function for the application

    -
    f:the new entity resolver function

    Function: xmlSetFeature

    int	xmlSetFeature			(xmlParserCtxtPtr ctxt, 
    const char * name,
    void * value)
    -

    Change the current value of one feature of this parser instance

    -
    ctxt:an XML/HTML parser context
    name:the feature name
    value:pointer to the location of the new value
    Returns:-1 in case or error, 0 otherwise

    Function: xmlSetupParserForBuffer

    void	xmlSetupParserForBuffer		(xmlParserCtxtPtr ctxt, 
    const xmlChar * buffer,
    const char * filename)
    -

    Setup the parser context to parse a new buffer; Clears any prior contents from the parser context. The buffer parameter must not be NULL, but the filename parameter can be

    -
    ctxt:an XML parser context
    buffer:a xmlChar * buffer
    filename:a file name

    Function: xmlStopParser

    void	xmlStopParser			(xmlParserCtxtPtr ctxt)
    -

    Blocks further parser processing

    -
    ctxt:an XML parser context

    Function: xmlSubstituteEntitiesDefault

    int	xmlSubstituteEntitiesDefault	(int val)
    -

    Set and return the previous value for default entity support. Initially the parser always keep entity references instead of substituting entity values in the output. This function has to be used to change the default parser behavior SAX::substituteEntities() has to be used for changing that on a file by file basis.

    -
    val:int 0 or 1
    Returns:the last value for 0 for no substitution, 1 for substitution.

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-parserInternals.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-parserInternals.html deleted file mode 100644 index 681057f..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-parserInternals.html +++ /dev/null @@ -1,319 +0,0 @@ - - -Module parserInternals from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module parserInternals from libxml2

    API Menu
    API Indexes
    Related links

    this module exports a number of internal parsing routines they are not really all intended for applications but can prove useful doing low level processing.

    Table of Contents

    #define INPUT_CHUNK
    #define IS_ASCII_DIGIT
    #define IS_ASCII_LETTER
    #define IS_BASECHAR
    #define IS_BLANK
    #define IS_BLANK_CH
    #define IS_BYTE_CHAR
    #define IS_CHAR
    #define IS_CHAR_CH
    #define IS_COMBINING
    #define IS_COMBINING_CH
    #define IS_DIGIT
    #define IS_DIGIT_CH
    #define IS_EXTENDER
    #define IS_EXTENDER_CH
    #define IS_IDEOGRAPHIC
    #define IS_LETTER
    #define IS_LETTER_CH
    #define IS_PUBIDCHAR
    #define IS_PUBIDCHAR_CH
    #define MOVETO_ENDTAG
    #define MOVETO_STARTTAG
    #define SKIP_EOL
    #define XML_MAX_NAMELEN
    #define XML_MAX_TEXT_LENGTH
    #define XML_SUBSTITUTE_BOTH
    #define XML_SUBSTITUTE_NONE
    #define XML_SUBSTITUTE_PEREF
    #define XML_SUBSTITUTE_REF
    htmlParserCtxtPtr	htmlCreateFileParserCtxt	(const char * filename, 
    const char * encoding)
    -
    void	htmlInitAutoClose		(void)
    -
    xmlParserInputPtr	inputPop	(xmlParserCtxtPtr ctxt)
    -
    int	inputPush			(xmlParserCtxtPtr ctxt, 
    xmlParserInputPtr value)
    -
    const xmlChar *	namePop			(xmlParserCtxtPtr ctxt)
    -
    int	namePush			(xmlParserCtxtPtr ctxt, 
    const xmlChar * value)
    -
    xmlNodePtr	nodePop			(xmlParserCtxtPtr ctxt)
    -
    int	nodePush			(xmlParserCtxtPtr ctxt, 
    xmlNodePtr value)
    -
    int	xmlCheckLanguageID		(const xmlChar * lang)
    -
    int	xmlCopyChar			(int len, 
    xmlChar * out,
    int val)
    -
    int	xmlCopyCharMultiByte		(xmlChar * out, 
    int val)
    -
    xmlParserCtxtPtr	xmlCreateEntityParserCtxt	(const xmlChar * URL, 
    const xmlChar * ID,
    const xmlChar * base)
    -
    xmlParserCtxtPtr	xmlCreateFileParserCtxt	(const char * filename)
    -
    xmlParserCtxtPtr	xmlCreateMemoryParserCtxt	(const char * buffer, 
    int size)
    -
    xmlParserCtxtPtr	xmlCreateURLParserCtxt	(const char * filename, 
    int options)
    -
    int	xmlCurrentChar			(xmlParserCtxtPtr ctxt, 
    int * len)
    -
    xmlChar *	xmlDecodeEntities	(xmlParserCtxtPtr ctxt, 
    int len,
    int what,
    xmlChar end,
    xmlChar end2,
    xmlChar end3)
    -
    Function type: xmlEntityReferenceFunc
    -void	xmlEntityReferenceFunc		(xmlEntityPtr ent, 
    xmlNodePtr firstNode,
    xmlNodePtr lastNode) -
    -
    void	xmlErrMemory			(xmlParserCtxtPtr ctxt, 
    const char * extra)
    -
    void	xmlFreeInputStream		(xmlParserInputPtr input)
    -
    void	xmlHandleEntity			(xmlParserCtxtPtr ctxt, 
    xmlEntityPtr entity)
    -
    int	xmlIsLetter			(int c)
    -
    xmlChar *	xmlNamespaceParseNCName	(xmlParserCtxtPtr ctxt)
    -
    xmlChar *	xmlNamespaceParseNSDef	(xmlParserCtxtPtr ctxt)
    -
    xmlChar *	xmlNamespaceParseQName	(xmlParserCtxtPtr ctxt, 
    xmlChar ** prefix)
    -
    xmlParserInputPtr	xmlNewEntityInputStream	(xmlParserCtxtPtr ctxt, 
    xmlEntityPtr entity)
    -
    xmlParserInputPtr	xmlNewInputFromFile	(xmlParserCtxtPtr ctxt, 
    const char * filename)
    -
    xmlParserInputPtr	xmlNewInputStream	(xmlParserCtxtPtr ctxt)
    -
    xmlParserInputPtr	xmlNewStringInputStream	(xmlParserCtxtPtr ctxt, 
    const xmlChar * buffer)
    -
    void	xmlNextChar			(xmlParserCtxtPtr ctxt)
    -
    xmlChar *	xmlParseAttValue	(xmlParserCtxtPtr ctxt)
    -
    const xmlChar *	xmlParseAttribute	(xmlParserCtxtPtr ctxt, 
    xmlChar ** value)
    -
    void	xmlParseAttributeListDecl	(xmlParserCtxtPtr ctxt)
    -
    int	xmlParseAttributeType		(xmlParserCtxtPtr ctxt, 
    xmlEnumerationPtr * tree)
    -
    void	xmlParseCDSect			(xmlParserCtxtPtr ctxt)
    -
    void	xmlParseCharData		(xmlParserCtxtPtr ctxt, 
    int cdata)
    -
    int	xmlParseCharRef			(xmlParserCtxtPtr ctxt)
    -
    void	xmlParseComment			(xmlParserCtxtPtr ctxt)
    -
    void	xmlParseContent			(xmlParserCtxtPtr ctxt)
    -
    int	xmlParseDefaultDecl		(xmlParserCtxtPtr ctxt, 
    xmlChar ** value)
    -
    void	xmlParseDocTypeDecl		(xmlParserCtxtPtr ctxt)
    -
    void	xmlParseElement			(xmlParserCtxtPtr ctxt)
    -
    xmlElementContentPtr	xmlParseElementChildrenContentDecl	(xmlParserCtxtPtr ctxt, 
    int inputchk)
    -
    int	xmlParseElementContentDecl	(xmlParserCtxtPtr ctxt, 
    const xmlChar * name,
    xmlElementContentPtr * result)
    -
    int	xmlParseElementDecl		(xmlParserCtxtPtr ctxt)
    -
    xmlElementContentPtr	xmlParseElementMixedContentDecl	(xmlParserCtxtPtr ctxt, 
    int inputchk)
    -
    xmlChar *	xmlParseEncName		(xmlParserCtxtPtr ctxt)
    -
    const xmlChar *	xmlParseEncodingDecl	(xmlParserCtxtPtr ctxt)
    -
    void	xmlParseEndTag			(xmlParserCtxtPtr ctxt)
    -
    void	xmlParseEntityDecl		(xmlParserCtxtPtr ctxt)
    -
    xmlEntityPtr	xmlParseEntityRef	(xmlParserCtxtPtr ctxt)
    -
    xmlChar *	xmlParseEntityValue	(xmlParserCtxtPtr ctxt, 
    xmlChar ** orig)
    -
    int	xmlParseEnumeratedType		(xmlParserCtxtPtr ctxt, 
    xmlEnumerationPtr * tree)
    -
    xmlEnumerationPtr	xmlParseEnumerationType	(xmlParserCtxtPtr ctxt)
    -
    xmlChar *	xmlParseExternalID	(xmlParserCtxtPtr ctxt, 
    xmlChar ** publicID,
    int strict)
    -
    void	xmlParseExternalSubset		(xmlParserCtxtPtr ctxt, 
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    -
    void	xmlParseMarkupDecl		(xmlParserCtxtPtr ctxt)
    -
    void	xmlParseMisc			(xmlParserCtxtPtr ctxt)
    -
    const xmlChar *	xmlParseName		(xmlParserCtxtPtr ctxt)
    -
    void	xmlParseNamespace		(xmlParserCtxtPtr ctxt)
    -
    xmlChar *	xmlParseNmtoken		(xmlParserCtxtPtr ctxt)
    -
    void	xmlParseNotationDecl		(xmlParserCtxtPtr ctxt)
    -
    xmlEnumerationPtr	xmlParseNotationType	(xmlParserCtxtPtr ctxt)
    -
    void	xmlParsePEReference		(xmlParserCtxtPtr ctxt)
    -
    void	xmlParsePI			(xmlParserCtxtPtr ctxt)
    -
    const xmlChar *	xmlParsePITarget	(xmlParserCtxtPtr ctxt)
    -
    xmlChar *	xmlParsePubidLiteral	(xmlParserCtxtPtr ctxt)
    -
    xmlChar *	xmlParseQuotedString	(xmlParserCtxtPtr ctxt)
    -
    void	xmlParseReference		(xmlParserCtxtPtr ctxt)
    -
    int	xmlParseSDDecl			(xmlParserCtxtPtr ctxt)
    -
    const xmlChar *	xmlParseStartTag	(xmlParserCtxtPtr ctxt)
    -
    xmlChar *	xmlParseSystemLiteral	(xmlParserCtxtPtr ctxt)
    -
    void	xmlParseTextDecl		(xmlParserCtxtPtr ctxt)
    -
    xmlChar *	xmlParseVersionInfo	(xmlParserCtxtPtr ctxt)
    -
    xmlChar *	xmlParseVersionNum	(xmlParserCtxtPtr ctxt)
    -
    void	xmlParseXMLDecl			(xmlParserCtxtPtr ctxt)
    -
    void	xmlParserHandlePEReference	(xmlParserCtxtPtr ctxt)
    -
    void	xmlParserHandleReference	(xmlParserCtxtPtr ctxt)
    -
    void	xmlParserInputShrink		(xmlParserInputPtr in)
    -
    xmlChar	xmlPopInput			(xmlParserCtxtPtr ctxt)
    -
    int	xmlPushInput			(xmlParserCtxtPtr ctxt, 
    xmlParserInputPtr input)
    -
    xmlChar *	xmlScanName		(xmlParserCtxtPtr ctxt)
    -
    void	xmlSetEntityReferenceFunc	(xmlEntityReferenceFunc func)
    -
    int	xmlSkipBlankChars		(xmlParserCtxtPtr ctxt)
    -
    xmlChar *	xmlSplitQName		(xmlParserCtxtPtr ctxt, 
    const xmlChar * name,
    xmlChar ** prefix)
    -
    int	xmlStringCurrentChar		(xmlParserCtxtPtr ctxt, 
    const xmlChar * cur,
    int * len)
    -
    xmlChar *	xmlStringDecodeEntities	(xmlParserCtxtPtr ctxt, 
    const xmlChar * str,
    int what,
    xmlChar end,
    xmlChar end2,
    xmlChar end3)
    -
    xmlChar *	xmlStringLenDecodeEntities	(xmlParserCtxtPtr ctxt, 
    const xmlChar * str,
    int len,
    int what,
    xmlChar end,
    xmlChar end2,
    xmlChar end3)
    -
    int	xmlSwitchEncoding		(xmlParserCtxtPtr ctxt, 
    xmlCharEncoding enc)
    -
    int	xmlSwitchInputEncoding		(xmlParserCtxtPtr ctxt, 
    xmlParserInputPtr input,
    xmlCharEncodingHandlerPtr handler)
    -
    int	xmlSwitchToEncoding		(xmlParserCtxtPtr ctxt, 
    xmlCharEncodingHandlerPtr handler)
    -

    Description

    -

    Macro: INPUT_CHUNK

    #define INPUT_CHUNK

    The parser tries to always have that amount of input ready. One of the point is providing context when reporting errors.

    -

    Macro: IS_ASCII_DIGIT

    #define IS_ASCII_DIGIT

    Macro to check [0-9]

    -

    Macro: IS_ASCII_LETTER

    #define IS_ASCII_LETTER

    Macro to check [a-zA-Z]

    -

    Macro: IS_BASECHAR

    #define IS_BASECHAR

    Macro to check the following production in the XML spec: [85] BaseChar ::= ... long list see REC ...

    -

    Macro: IS_BLANK

    #define IS_BLANK

    Macro to check the following production in the XML spec: [3] S ::= (#x20 | #x9 | #xD | #xA)+

    -

    Macro: IS_BLANK_CH

    #define IS_BLANK_CH

    Behaviour same as IS_BLANK

    -

    Macro: IS_BYTE_CHAR

    #define IS_BYTE_CHAR

    Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20...] any byte character in the accepted range

    -

    Macro: IS_CHAR

    #define IS_CHAR

    Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.

    -

    Macro: IS_CHAR_CH

    #define IS_CHAR_CH

    Behaves like IS_CHAR on single-byte value

    -

    Macro: IS_COMBINING

    #define IS_COMBINING

    Macro to check the following production in the XML spec: [87] CombiningChar ::= ... long list see REC ...

    -

    Macro: IS_COMBINING_CH

    #define IS_COMBINING_CH

    Always false (all combining chars > 0xff)

    -

    Macro: IS_DIGIT

    #define IS_DIGIT

    Macro to check the following production in the XML spec: [88] Digit ::= ... long list see REC ...

    -

    Macro: IS_DIGIT_CH

    #define IS_DIGIT_CH

    Behaves like IS_DIGIT but with a single byte argument

    -

    Macro: IS_EXTENDER

    #define IS_EXTENDER

    Macro to check the following production in the XML spec: [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]

    -

    Macro: IS_EXTENDER_CH

    #define IS_EXTENDER_CH

    Behaves like IS_EXTENDER but with a single-byte argument

    -

    Macro: IS_IDEOGRAPHIC

    #define IS_IDEOGRAPHIC

    Macro to check the following production in the XML spec: [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]

    -

    Macro: IS_LETTER

    #define IS_LETTER

    Macro to check the following production in the XML spec: [84] Letter ::= BaseChar | Ideographic

    -

    Macro: IS_LETTER_CH

    #define IS_LETTER_CH

    Macro behaves like IS_LETTER, but only check base chars

    -

    Macro: IS_PUBIDCHAR

    #define IS_PUBIDCHAR

    Macro to check the following production in the XML spec: [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]

    -

    Macro: IS_PUBIDCHAR_CH

    #define IS_PUBIDCHAR_CH

    Same as IS_PUBIDCHAR but for single-byte value

    -

    Macro: MOVETO_ENDTAG

    #define MOVETO_ENDTAG

    Skips to the next '>' char.

    -

    Macro: MOVETO_STARTTAG

    #define MOVETO_STARTTAG

    Skips to the next '<' char.

    -

    Macro: SKIP_EOL

    #define SKIP_EOL

    Skips the end of line chars.

    -

    Macro: XML_MAX_NAMELEN

    #define XML_MAX_NAMELEN

    Identifiers can be longer, but this will be more costly at runtime.

    -

    Macro: XML_MAX_TEXT_LENGTH

    #define XML_MAX_TEXT_LENGTH

    Maximum size allowed for a single text node when building a tree. This is not a limitation of the parser but a safety boundary feature, use XML_PARSE_HUGE option to override it.

    -

    Macro: XML_SUBSTITUTE_BOTH

    #define XML_SUBSTITUTE_BOTH

    Both general and parameter entities need to be substituted.

    -

    Macro: XML_SUBSTITUTE_NONE

    #define XML_SUBSTITUTE_NONE

    If no entities need to be substituted.

    -

    Macro: XML_SUBSTITUTE_PEREF

    #define XML_SUBSTITUTE_PEREF

    Whether parameter entities need to be substituted.

    -

    Macro: XML_SUBSTITUTE_REF

    #define XML_SUBSTITUTE_REF

    Whether general entities need to be substituted.

    -

    Function: htmlCreateFileParserCtxt

    htmlParserCtxtPtr	htmlCreateFileParserCtxt	(const char * filename, 
    const char * encoding)
    -

    Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.

    -
    filename:the filename
    encoding:a free form C string describing the HTML document encoding, or NULL
    Returns:the new parser context or NULL

    Function: htmlInitAutoClose

    void	htmlInitAutoClose		(void)
    -

    Initialize the htmlStartCloseIndex for fast lookup of closing tags names. This is not reentrant. Call xmlInitParser() once before processing in case of use in multithreaded programs.

    -

    Function: inputPop

    xmlParserInputPtr	inputPop	(xmlParserCtxtPtr ctxt)
    -

    Pops the top parser input from the input stack

    -
    ctxt:an XML parser context
    Returns:the input just removed

    Function: inputPush

    int	inputPush			(xmlParserCtxtPtr ctxt, 
    xmlParserInputPtr value)
    -

    Pushes a new parser input on top of the input stack

    -
    ctxt:an XML parser context
    value:the parser input
    Returns:-1 in case of error, the index in the stack otherwise

    Function: namePop

    const xmlChar *	namePop			(xmlParserCtxtPtr ctxt)
    -

    Pops the top element name from the name stack

    -
    ctxt:an XML parser context
    Returns:the name just removed

    Function: namePush

    int	namePush			(xmlParserCtxtPtr ctxt, 
    const xmlChar * value)
    -

    Pushes a new element name on top of the name stack

    -
    ctxt:an XML parser context
    value:the element name
    Returns:-1 in case of error, the index in the stack otherwise

    Function: nodePop

    xmlNodePtr	nodePop			(xmlParserCtxtPtr ctxt)
    -

    Pops the top element node from the node stack

    -
    ctxt:an XML parser context
    Returns:the node just removed

    Function: nodePush

    int	nodePush			(xmlParserCtxtPtr ctxt, 
    xmlNodePtr value)
    -

    Pushes a new element node on top of the node stack

    -
    ctxt:an XML parser context
    value:the element node
    Returns:-1 in case of error, the index in the stack otherwise

    Function: xmlCheckLanguageID

    int	xmlCheckLanguageID		(const xmlChar * lang)
    -

    Checks that the value conforms to the LanguageID production: NOTE: this is somewhat deprecated, those productions were removed from the XML Second edition. [33] LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::= ISO639Code | IanaCode | UserCode [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ The current REC reference the sucessors of RFC 1766, currently 5646 http://www.rfc-editor.org/rfc/rfc5646.txt langtag = language ["-" script] ["-" region] *("-" variant) *("-" extension) ["-" privateuse] language = 2*3ALPHA ; shortest ISO 639 code ["-" extlang] ; sometimes followed by ; extended language subtags / 4ALPHA ; or reserved for future use / 5*8ALPHA ; or registered language subtag extlang = 3ALPHA ; selected ISO 639 codes *2("-" 3ALPHA) ; permanently reserved script = 4ALPHA ; ISO 15924 code region = 2ALPHA ; ISO 3166-1 code / 3DIGIT ; UN M.49 code variant = 5*8alphanum ; registered variants / (DIGIT 3alphanum) extension = singleton 1*("-" (2*8alphanum)) ; Single alphanumerics ; "x" reserved for private use singleton = DIGIT ; 0 - 9 / %x41-57 ; A - W / %x59-5A ; Y - Z / %x61-77 ; a - w / %x79-7A ; y - z it sounds right to still allow Irregular i-xxx IANA and user codes too The parser below doesn't try to cope with extension or privateuse that could be added but that's not interoperable anyway

    -
    lang:pointer to the string value
    Returns:1 if correct 0 otherwise

    Function: xmlCopyChar

    int	xmlCopyChar			(int len, 
    xmlChar * out,
    int val)
    -

    append the char value in the array

    -
    len:Ignored, compatibility
    out:pointer to an array of xmlChar
    val:the char value
    Returns:the number of xmlChar written

    Function: xmlCopyCharMultiByte

    int	xmlCopyCharMultiByte		(xmlChar * out, 
    int val)
    -

    append the char value in the array

    -
    out:pointer to an array of xmlChar
    val:the char value
    Returns:the number of xmlChar written

    Function: xmlCreateEntityParserCtxt

    xmlParserCtxtPtr	xmlCreateEntityParserCtxt	(const xmlChar * URL, 
    const xmlChar * ID,
    const xmlChar * base)
    -

    Create a parser context for an external entity Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.

    -
    URL:the entity URL
    ID:the entity PUBLIC ID
    base:a possible base for the target URI
    Returns:the new parser context or NULL

    Function: xmlCreateFileParserCtxt

    xmlParserCtxtPtr	xmlCreateFileParserCtxt	(const char * filename)
    -

    Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.

    -
    filename:the filename
    Returns:the new parser context or NULL

    Function: xmlCreateMemoryParserCtxt

    xmlParserCtxtPtr	xmlCreateMemoryParserCtxt	(const char * buffer, 
    int size)
    -

    Create a parser context for an XML in-memory document.

    -
    buffer:a pointer to a char array
    size:the size of the array
    Returns:the new parser context or NULL

    Function: xmlCreateURLParserCtxt

    xmlParserCtxtPtr	xmlCreateURLParserCtxt	(const char * filename, 
    int options)
    -

    Create a parser context for a file or URL content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time and for file accesses

    -
    filename:the filename or URL
    options:a combination of xmlParserOption
    Returns:the new parser context or NULL

    Function: xmlCurrentChar

    int	xmlCurrentChar			(xmlParserCtxtPtr ctxt, 
    int * len)
    -

    The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer. Implement the end of line normalization: 2.11 End-of-Line Handling Wherever an external parsed entity or the literal entity value of an internal parsed entity contains either the literal two-character sequence "#xD#xA" or a standalone literal #xD, an XML processor must pass to the application the single character #xA. This behavior can conveniently be produced by normalizing all line breaks to #xA on input, before parsing.)

    -
    ctxt:the XML parser context
    len:pointer to the length of the char read
    Returns:the current char value and its length

    Function: xmlDecodeEntities

    xmlChar *	xmlDecodeEntities	(xmlParserCtxtPtr ctxt, 
    int len,
    int what,
    xmlChar end,
    xmlChar end2,
    xmlChar end3)
    -

    This function is deprecated, we now always process entities content through xmlStringDecodeEntities TODO: remove it in next major release. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'

    -
    ctxt:the parser context
    len:the len to decode (in bytes !), -1 for no size limit
    what:combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF
    end:an end marker xmlChar, 0 if none
    end2:an end marker xmlChar, 0 if none
    end3:an end marker xmlChar, 0 if none
    Returns:A newly allocated string with the substitution done. The caller must deallocate it !

    Function type: xmlEntityReferenceFunc

    Function type: xmlEntityReferenceFunc
    -void	xmlEntityReferenceFunc		(xmlEntityPtr ent, 
    xmlNodePtr firstNode,
    xmlNodePtr lastNode) -

    Callback function used when one needs to be able to track back the provenance of a chunk of nodes inherited from an entity replacement.

    ent:the entity
    firstNode:the fist node in the chunk
    lastNode:the last nod in the chunk

    -

    Function: xmlErrMemory

    void	xmlErrMemory			(xmlParserCtxtPtr ctxt, 
    const char * extra)
    -

    Handle a redefinition of attribute error

    -
    ctxt:an XML parser context
    extra:extra informations

    Function: xmlFreeInputStream

    void	xmlFreeInputStream		(xmlParserInputPtr input)
    -

    Free up an input stream.

    -

    Function: xmlHandleEntity

    void	xmlHandleEntity			(xmlParserCtxtPtr ctxt, 
    xmlEntityPtr entity)
    -

    Default handling of defined entities, when should we define a new input stream ? When do we just handle that as a set of chars ? OBSOLETE: to be removed at some point.

    -
    ctxt:an XML parser context
    entity:an XML entity pointer.

    Function: xmlIsLetter

    int	xmlIsLetter			(int c)
    -

    Check whether the character is allowed by the production [84] Letter ::= BaseChar | Ideographic

    -
    c:an unicode character (int)
    Returns:0 if not, non-zero otherwise

    Function: xmlNamespaceParseNCName

    xmlChar *	xmlNamespaceParseNCName	(xmlParserCtxtPtr ctxt)
    -

    parse an XML namespace name. TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. [NS 3] NCName ::= (Letter | '_') (NCNameChar)* [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender

    -
    ctxt:an XML parser context
    Returns:the namespace name or NULL

    Function: xmlNamespaceParseNSDef

    xmlChar *	xmlNamespaceParseNSDef	(xmlParserCtxtPtr ctxt)
    -

    parse a namespace prefix declaration TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. [NS 1] NSDef ::= PrefixDef Eq SystemLiteral [NS 2] PrefixDef ::= 'xmlns' (':' NCName)?

    -
    ctxt:an XML parser context
    Returns:the namespace name

    Function: xmlNamespaceParseQName

    xmlChar *	xmlNamespaceParseQName	(xmlParserCtxtPtr ctxt, 
    xmlChar ** prefix)
    -

    TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. parse an XML qualified name [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName

    -
    ctxt:an XML parser context
    prefix:a xmlChar **
    Returns:the local part, and prefix is updated to get the Prefix if any.

    Function: xmlNewEntityInputStream

    xmlParserInputPtr	xmlNewEntityInputStream	(xmlParserCtxtPtr ctxt, 
    xmlEntityPtr entity)
    -

    Create a new input stream based on an xmlEntityPtr

    -
    ctxt:an XML parser context
    entity:an Entity pointer
    Returns:the new input stream or NULL

    Function: xmlNewInputFromFile

    xmlParserInputPtr	xmlNewInputFromFile	(xmlParserCtxtPtr ctxt, 
    const char * filename)
    -

    Create a new input stream based on a file or an URL.

    -
    ctxt:an XML parser context
    filename:the filename to use as entity
    Returns:the new input stream or NULL in case of error

    Function: xmlNewInputStream

    xmlParserInputPtr	xmlNewInputStream	(xmlParserCtxtPtr ctxt)
    -

    Create a new input stream structure.

    -
    ctxt:an XML parser context
    Returns:the new input stream or NULL

    Function: xmlNewStringInputStream

    xmlParserInputPtr	xmlNewStringInputStream	(xmlParserCtxtPtr ctxt, 
    const xmlChar * buffer)
    -

    Create a new input stream based on a memory buffer.

    -
    ctxt:an XML parser context
    buffer:an memory buffer
    Returns:the new input stream

    Function: xmlNextChar

    void	xmlNextChar			(xmlParserCtxtPtr ctxt)
    -

    Skip to the next char input char.

    -
    ctxt:the XML parser context

    Function: xmlParseAttValue

    xmlChar *	xmlParseAttValue	(xmlParserCtxtPtr ctxt)
    -

    parse a value for an attribute Note: the parser won't do substitution of entities here, this will be handled later in xmlStringGetNodeList [10] AttValue ::= '"' ([^<&"] | Reference)* '"' | "'" ([^<&'] | Reference)* "'" 3.3.3 Attribute-Value Normalization: Before the value of an attribute is passed to the application or checked for validity, the XML processor must normalize it as follows: - a character reference is processed by appending the referenced character to the attribute value - an entity reference is processed by recursively processing the replacement text of the entity - a whitespace character (#x20, #xD, #xA, #x9) is processed by appending #x20 to the normalized value, except that only a single #x20 is appended for a "#xD#xA" sequence that is part of an external parsed entity or the literal entity value of an internal parsed entity - other characters are processed by appending them to the normalized value If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by a single space (#x20) character. All attributes for which no declaration has been read should be treated by a non-validating parser as if declared CDATA.

    -
    ctxt:an XML parser context
    Returns:the AttValue parsed or NULL. The value has to be freed by the caller.

    Function: xmlParseAttribute

    const xmlChar *	xmlParseAttribute	(xmlParserCtxtPtr ctxt, 
    xmlChar ** value)
    -

    parse an attribute [41] Attribute ::= Name Eq AttValue [ WFC: No External Entity References ] Attribute values cannot contain direct or indirect entity references to external entities. [ WFC: No < in Attribute Values ] The replacement text of any entity referred to directly or indirectly in an attribute value (other than "&lt;") must not contain a <. [ VC: Attribute Value Type ] The attribute must have been declared; the value must be of the type declared for it. [25] Eq ::= S? '=' S? With namespace: [NS 11] Attribute ::= QName Eq AttValue Also the case QName == xmlns:??? is handled independently as a namespace definition.

    -
    ctxt:an XML parser context
    value:a xmlChar ** used to store the value of the attribute
    Returns:the attribute name, and the value in *value.

    Function: xmlParseAttributeListDecl

    void	xmlParseAttributeListDecl	(xmlParserCtxtPtr ctxt)
    -

    : parse the Attribute list def for an element [52] AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>' [53] AttDef ::= S Name S AttType S DefaultDecl

    -
    ctxt:an XML parser context

    Function: xmlParseAttributeType

    int	xmlParseAttributeType		(xmlParserCtxtPtr ctxt, 
    xmlEnumerationPtr * tree)
    -

    parse the Attribute list def for an element [54] AttType ::= StringType | TokenizedType | EnumeratedType [55] StringType ::= 'CDATA' [56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' | 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS' Validity constraints for attribute values syntax are checked in xmlValidateAttributeValue() [ VC: ID ] Values of type ID must match the Name production. A name must not appear more than once in an XML document as a value of this type; i.e., ID values must uniquely identify the elements which bear them. [ VC: One ID per Element Type ] No element type may have more than one ID attribute specified. [ VC: ID Attribute Default ] An ID attribute must have a declared default of #IMPLIED or #REQUIRED. [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names; each IDREF Name must match the value of an ID attribute on some element in the XML document; i.e. IDREF values must match the value of some ID attribute. [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names; each Entity Name must match the name of an unparsed entity declared in the DTD. [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.

    -
    ctxt:an XML parser context
    tree:the enumeration tree built while parsing
    Returns:the attribute type

    Function: xmlParseCDSect

    void	xmlParseCDSect			(xmlParserCtxtPtr ctxt)
    -

    Parse escaped pure raw content. [18] CDSect ::= CDStart CData CDEnd [19] CDStart ::= '<![CDATA[' [20] Data ::= (Char* - (Char* ']]>' Char*)) [21] CDEnd ::= ']]>'

    -
    ctxt:an XML parser context

    Function: xmlParseCharData

    void	xmlParseCharData		(xmlParserCtxtPtr ctxt, 
    int cdata)
    -

    parse a CharData section. if we are within a CDATA section ']]>' marks an end of section. The right angle bracket (>) may be represented using the string "&gt;", and must, for compatibility, be escaped using "&gt;" or a character reference when it appears in the string "]]>" in content, when that string is not marking the end of a CDATA section. [14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)

    -
    ctxt:an XML parser context
    cdata:int indicating whether we are within a CDATA section

    Function: xmlParseCharRef

    int	xmlParseCharRef			(xmlParserCtxtPtr ctxt)
    -

    parse Reference declarations [66] CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';' [ WFC: Legal Character ] Characters referred to using character references must match the production for Char.

    -
    ctxt:an XML parser context
    Returns:the value parsed (as an int), 0 in case of error

    Function: xmlParseComment

    void	xmlParseComment			(xmlParserCtxtPtr ctxt)
    -

    Skip an XML (SGML) comment <!-- .... --> The spec says that "For compatibility, the string "--" (double-hyphen) must not occur within comments. " [15] Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'

    -
    ctxt:an XML parser context

    Function: xmlParseContent

    void	xmlParseContent			(xmlParserCtxtPtr ctxt)
    -

    Parse a content: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*

    -
    ctxt:an XML parser context

    Function: xmlParseDefaultDecl

    int	xmlParseDefaultDecl		(xmlParserCtxtPtr ctxt, 
    xmlChar ** value)
    -

    Parse an attribute default declaration [60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue) [ VC: Required Attribute ] if the default declaration is the keyword #REQUIRED, then the attribute must be specified for all elements of the type in the attribute-list declaration. [ VC: Attribute Default Legal ] The declared default value must meet the lexical constraints of the declared attribute type c.f. xmlValidateAttributeDecl() [ VC: Fixed Attribute Default ] if an attribute has a default value declared with the #FIXED keyword, instances of that attribute must match the default value. [ WFC: No < in Attribute Values ] handled in xmlParseAttValue()

    -
    ctxt:an XML parser context
    value:Receive a possible fixed default value for the attribute
    Returns:XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, XML_ATTRIBUTE_IMPLIED or XML_ATTRIBUTE_FIXED.

    Function: xmlParseDocTypeDecl

    void	xmlParseDocTypeDecl		(xmlParserCtxtPtr ctxt)
    -

    parse a DOCTYPE declaration [28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S? ('[' (markupdecl | PEReference | S)* ']' S?)? '>' [ VC: Root Element Type ] The Name in the document type declaration must match the element type of the root element.

    -
    ctxt:an XML parser context

    Function: xmlParseElement

    void	xmlParseElement			(xmlParserCtxtPtr ctxt)
    -

    parse an XML element, this is highly recursive [39] element ::= EmptyElemTag | STag content ETag [ WFC: Element Type Match ] The Name in an element's end-tag must match the element type in the start-tag.

    -
    ctxt:an XML parser context

    Function: xmlParseElementChildrenContentDecl

    xmlElementContentPtr	xmlParseElementChildrenContentDecl	(xmlParserCtxtPtr ctxt, 
    int inputchk)
    -

    parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in xmlParseElementContentDecl [47] children ::= (choice | seq) ('?' | '*' | '+')? [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')? [49] choice ::= '(' S? cp ( S? '|' S? cp )* S? ')' [50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')' [ VC: Proper Group/PE Nesting ] applies to [49] and [50] TODO Parameter-entity replacement text must be properly nested with parenthesized groups. That is to say, if either of the opening or closing parentheses in a choice, seq, or Mixed construct is contained in the replacement text for a parameter entity, both must be contained in the same replacement text. For interoperability, if a parameter-entity reference appears in a choice, seq, or Mixed construct, its replacement text should not be empty, and neither the first nor last non-blank character of the replacement text should be a connector (| or ,).

    -
    ctxt:an XML parser context
    inputchk:the input used for the current entity, needed for boundary checks
    Returns:the tree of xmlElementContentPtr describing the element hierarchy.

    Function: xmlParseElementContentDecl

    int	xmlParseElementContentDecl	(xmlParserCtxtPtr ctxt, 
    const xmlChar * name,
    xmlElementContentPtr * result)
    -

    parse the declaration for an Element content either Mixed or Children, the cases EMPTY and ANY are handled directly in xmlParseElementDecl [46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children

    -
    ctxt:an XML parser context
    name:the name of the element being defined.
    result:the Element Content pointer will be stored here if any
    Returns:the type of element content XML_ELEMENT_TYPE_xxx

    Function: xmlParseElementDecl

    int	xmlParseElementDecl		(xmlParserCtxtPtr ctxt)
    -

    parse an Element declaration. [45] elementdecl ::= '<!ELEMENT' S Name S contentspec S? '>' [ VC: Unique Element Type Declaration ] No element type may be declared more than once

    -
    ctxt:an XML parser context
    Returns:the type of the element, or -1 in case of error

    Function: xmlParseElementMixedContentDecl

    xmlElementContentPtr	xmlParseElementMixedContentDecl	(xmlParserCtxtPtr ctxt, 
    int inputchk)
    -

    parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in xmlParseElementContentDecl [51] Mixed ::= '(' S? '#PCDATA' (S? '|' S? Name)* S? ')*' | '(' S? '#PCDATA' S? ')' [ VC: Proper Group/PE Nesting ] applies to [51] too (see [49]) [ VC: No Duplicate Types ] The same name must not appear more than once in a single mixed-content declaration.

    -
    ctxt:an XML parser context
    inputchk:the input used for the current entity, needed for boundary checks
    Returns:the list of the xmlElementContentPtr describing the element choices

    Function: xmlParseEncName

    xmlChar *	xmlParseEncName		(xmlParserCtxtPtr ctxt)
    -

    parse the XML encoding name [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*

    -
    ctxt:an XML parser context
    Returns:the encoding name value or NULL

    Function: xmlParseEncodingDecl

    const xmlChar *	xmlParseEncodingDecl	(xmlParserCtxtPtr ctxt)
    -

    parse the XML encoding declaration [80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' | "'" EncName "'") this setups the conversion filters.

    -
    ctxt:an XML parser context
    Returns:the encoding value or NULL

    Function: xmlParseEndTag

    void	xmlParseEndTag			(xmlParserCtxtPtr ctxt)
    -

    parse an end of tag [42] ETag ::= '</' Name S? '>' With namespace [NS 9] ETag ::= '</' QName S? '>'

    -
    ctxt:an XML parser context

    Function: xmlParseEntityDecl

    void	xmlParseEntityDecl		(xmlParserCtxtPtr ctxt)
    -

    parse <!ENTITY declarations [70] EntityDecl ::= GEDecl | PEDecl [71] GEDecl ::= '<!ENTITY' S Name S EntityDef S? '>' [72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>' [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?) [74] PEDef ::= EntityValue | ExternalID [76] NDataDecl ::= S 'NDATA' S Name [ VC: Notation Declared ] The Name must match the declared name of a notation.

    -
    ctxt:an XML parser context

    Function: xmlParseEntityRef

    xmlEntityPtr	xmlParseEntityRef	(xmlParserCtxtPtr ctxt)
    -

    parse ENTITY references declarations [68] EntityRef ::= '&' Name ';' [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", the Name given in the entity reference must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. The declaration of a parameter entity must precede any reference to it. Similarly, the declaration of a general entity must precede any reference to it which appears in a default value in an attribute-list declaration. Note that if entities are declared in the external subset or in external parameter entities, a non-validating processor is not obligated to read and process their declarations; for such documents, the rule that an entity must be declared is a well-formedness constraint only if standalone='yes'. [ WFC: Parsed Entity ] An entity reference must not contain the name of an unparsed entity

    -
    ctxt:an XML parser context
    Returns:the xmlEntityPtr if found, or NULL otherwise.

    Function: xmlParseEntityValue

    xmlChar *	xmlParseEntityValue	(xmlParserCtxtPtr ctxt, 
    xmlChar ** orig)
    -

    parse a value for ENTITY declarations [9] EntityValue ::= '"' ([^%&"] | PEReference | Reference)* '"' | "'" ([^%&'] | PEReference | Reference)* "'"

    -
    ctxt:an XML parser context
    orig:if non-NULL store a copy of the original entity value
    Returns:the EntityValue parsed with reference substituted or NULL

    Function: xmlParseEnumeratedType

    int	xmlParseEnumeratedType		(xmlParserCtxtPtr ctxt, 
    xmlEnumerationPtr * tree)
    -

    parse an Enumerated attribute type. [57] EnumeratedType ::= NotationType | Enumeration [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'

    -
    ctxt:an XML parser context
    tree:the enumeration tree built while parsing
    Returns:XML_ATTRIBUTE_ENUMERATION or XML_ATTRIBUTE_NOTATION

    Function: xmlParseEnumerationType

    xmlEnumerationPtr	xmlParseEnumerationType	(xmlParserCtxtPtr ctxt)
    -

    parse an Enumeration attribute type. [59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')' [ VC: Enumeration ] Values of this type must match one of the Nmtoken tokens in the declaration

    -
    ctxt:an XML parser context
    Returns:the enumeration attribute tree built while parsing

    Function: xmlParseExternalID

    xmlChar *	xmlParseExternalID	(xmlParserCtxtPtr ctxt, 
    xmlChar ** publicID,
    int strict)
    -

    Parse an External ID or a Public ID NOTE: Productions [75] and [83] interact badly since [75] can generate 'PUBLIC' S PubidLiteral S SystemLiteral [75] ExternalID ::= 'SYSTEM' S SystemLiteral | 'PUBLIC' S PubidLiteral S SystemLiteral [83] PublicID ::= 'PUBLIC' S PubidLiteral

    -
    ctxt:an XML parser context
    publicID:a xmlChar** receiving PubidLiteral
    strict:indicate whether we should restrict parsing to only production [75], see NOTE below
    Returns:the function returns SystemLiteral and in the second case publicID receives PubidLiteral, is strict is off it is possible to return NULL and have publicID set.

    Function: xmlParseExternalSubset

    void	xmlParseExternalSubset		(xmlParserCtxtPtr ctxt, 
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    -

    parse Markup declarations from an external subset [30] extSubset ::= textDecl? extSubsetDecl [31] extSubsetDecl ::= (markupdecl | conditionalSect | PEReference | S) *

    -
    ctxt:an XML parser context
    ExternalID:the external identifier
    SystemID:the system identifier (or URL)

    Function: xmlParseMarkupDecl

    void	xmlParseMarkupDecl		(xmlParserCtxtPtr ctxt)
    -

    parse Markup declarations [29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl | NotationDecl | PI | Comment [ VC: Proper Declaration/PE Nesting ] Parameter-entity replacement text must be properly nested with markup declarations. That is to say, if either the first character or the last character of a markup declaration (markupdecl above) is contained in the replacement text for a parameter-entity reference, both must be contained in the same replacement text. [ WFC: PEs in Internal Subset ] In the internal DTD subset, parameter-entity references can occur only where markup declarations can occur, not within markup declarations. (This does not apply to references that occur in external parameter entities or to the external subset.)

    -
    ctxt:an XML parser context

    Function: xmlParseMisc

    void	xmlParseMisc			(xmlParserCtxtPtr ctxt)
    -

    parse an XML Misc* optional field. [27] Misc ::= Comment | PI | S

    -
    ctxt:an XML parser context

    Function: xmlParseName

    const xmlChar *	xmlParseName		(xmlParserCtxtPtr ctxt)
    -

    parse an XML name. [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (#x20 Name)*

    -
    ctxt:an XML parser context
    Returns:the Name parsed or NULL

    Function: xmlParseNamespace

    void	xmlParseNamespace		(xmlParserCtxtPtr ctxt)
    -

    xmlParseNamespace: parse specific PI '<?namespace ...' constructs. This is what the older xml-name Working Draft specified, a bunch of other stuff may still rely on it, so support is still here as if it was declared on the root of the Tree:-( TODO: remove from library To be removed at next drop of binary compatibility

    -
    ctxt:an XML parser context

    Function: xmlParseNmtoken

    xmlChar *	xmlParseNmtoken		(xmlParserCtxtPtr ctxt)
    -

    parse an XML Nmtoken. [7] Nmtoken ::= (NameChar)+ [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*

    -
    ctxt:an XML parser context
    Returns:the Nmtoken parsed or NULL

    Function: xmlParseNotationDecl

    void	xmlParseNotationDecl		(xmlParserCtxtPtr ctxt)
    -

    parse a notation declaration [82] NotationDecl ::= '<!NOTATION' S Name S (ExternalID | PublicID) S? '>' Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral 'PUBLIC' S PubidLiteral S SystemLiteral and 'SYSTEM' S SystemLiteral See the NOTE on xmlParseExternalID().

    -
    ctxt:an XML parser context

    Function: xmlParseNotationType

    xmlEnumerationPtr	xmlParseNotationType	(xmlParserCtxtPtr ctxt)
    -

    parse an Notation attribute type. Note: the leading 'NOTATION' S part has already being parsed... [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' [ VC: Notation Attributes ] Values of this type must match one of the notation names included in the declaration; all notation names in the declaration must be declared.

    -
    ctxt:an XML parser context
    Returns:the notation attribute tree built while parsing

    Function: xmlParsePEReference

    void	xmlParsePEReference		(xmlParserCtxtPtr ctxt)
    -

    parse PEReference declarations The entity content is handled directly by pushing it's content as a new input stream. [69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive reference to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any reference to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any reference to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled.

    -
    ctxt:an XML parser context

    Function: xmlParsePI

    void	xmlParsePI			(xmlParserCtxtPtr ctxt)
    -

    parse an XML Processing Instruction. [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>' The processing is transfered to SAX once parsed.

    -
    ctxt:an XML parser context

    Function: xmlParsePITarget

    const xmlChar *	xmlParsePITarget	(xmlParserCtxtPtr ctxt)
    -

    parse the name of a PI [17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))

    -
    ctxt:an XML parser context
    Returns:the PITarget name or NULL

    Function: xmlParsePubidLiteral

    xmlChar *	xmlParsePubidLiteral	(xmlParserCtxtPtr ctxt)
    -

    parse an XML public literal [12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"

    -
    ctxt:an XML parser context
    Returns:the PubidLiteral parsed or NULL.

    Function: xmlParseQuotedString

    xmlChar *	xmlParseQuotedString	(xmlParserCtxtPtr ctxt)
    -

    Parse and return a string between quotes or doublequotes TODO: Deprecated, to be removed at next drop of binary compatibility

    -
    ctxt:an XML parser context
    Returns:the string parser or NULL.

    Function: xmlParseReference

    void	xmlParseReference		(xmlParserCtxtPtr ctxt)
    -

    parse and handle entity references in content, depending on the SAX interface, this may end-up in a call to character() if this is a CharRef, a predefined entity, if there is no reference() callback. or if the parser was asked to switch to that mode. [67] Reference ::= EntityRef | CharRef

    -
    ctxt:an XML parser context

    Function: xmlParseSDDecl

    int	xmlParseSDDecl			(xmlParserCtxtPtr ctxt)
    -

    parse the XML standalone declaration [32] SDDecl ::= S 'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no')'"')) [ VC: Standalone Document Declaration ] TODO The standalone document declaration must have the value "no" if any external markup declarations contain declarations of: - attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or - entities (other than amp, lt, gt, apos, quot), if references to those entities appear in the document, or - attributes with values subject to normalization, where the attribute appears in the document with a value which will change as a result of normalization, or - element types with element content, if white space occurs directly within any instance of those types.

    -
    ctxt:an XML parser context
    Returns:1 if standalone="yes" 0 if standalone="no" -2 if standalone attribute is missing or invalid (A standalone value of -2 means that the XML declaration was found, but no value was specified for the standalone attribute).

    Function: xmlParseStartTag

    const xmlChar *	xmlParseStartTag	(xmlParserCtxtPtr ctxt)
    -

    parse a start of tag either for rule element or EmptyElement. In both case we don't parse the tag closing chars. [40] STag ::= '<' Name (S Attribute)* S? '>' [ WFC: Unique Att Spec ] No attribute name may appear more than once in the same start-tag or empty-element tag. [44] EmptyElemTag ::= '<' Name (S Attribute)* S? '/>' [ WFC: Unique Att Spec ] No attribute name may appear more than once in the same start-tag or empty-element tag. With namespace: [NS 8] STag ::= '<' QName (S Attribute)* S? '>' [NS 10] EmptyElement ::= '<' QName (S Attribute)* S? '/>'

    -
    ctxt:an XML parser context
    Returns:the element name parsed

    Function: xmlParseSystemLiteral

    xmlChar *	xmlParseSystemLiteral	(xmlParserCtxtPtr ctxt)
    -

    parse an XML Literal [11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")

    -
    ctxt:an XML parser context
    Returns:the SystemLiteral parsed or NULL

    Function: xmlParseTextDecl

    void	xmlParseTextDecl		(xmlParserCtxtPtr ctxt)
    -

    parse an XML declaration header for external entities [77] TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>'

    -
    ctxt:an XML parser context

    Function: xmlParseVersionInfo

    xmlChar *	xmlParseVersionInfo	(xmlParserCtxtPtr ctxt)
    -

    parse the XML version. [24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ") [25] Eq ::= S? '=' S?

    -
    ctxt:an XML parser context
    Returns:the version string, e.g. "1.0"

    Function: xmlParseVersionNum

    xmlChar *	xmlParseVersionNum	(xmlParserCtxtPtr ctxt)
    -

    parse the XML version value. [26] VersionNum ::= '1.' [0-9]+ In practice allow [0-9].[0-9]+ at that level

    -
    ctxt:an XML parser context
    Returns:the string giving the XML version number, or NULL

    Function: xmlParseXMLDecl

    void	xmlParseXMLDecl			(xmlParserCtxtPtr ctxt)
    -

    parse an XML declaration header [23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'

    -
    ctxt:an XML parser context

    Function: xmlParserHandlePEReference

    void	xmlParserHandlePEReference	(xmlParserCtxtPtr ctxt)
    -

    [69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive reference to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any reference to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any reference to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled. A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc i.e. - Included in literal in entity values - Included as Parameter Entity reference within DTDs

    -
    ctxt:the parser context

    Function: xmlParserHandleReference

    void	xmlParserHandleReference	(xmlParserCtxtPtr ctxt)
    -

    TODO: Remove, now deprecated ... the test is done directly in the content parsing routines. [67] Reference ::= EntityRef | CharRef [68] EntityRef ::= '&' Name ';' [ WFC: Entity Declared ] the Name given in the entity reference must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. [ WFC: Parsed Entity ] An entity reference must not contain the name of an unparsed entity [66] CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';' A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc

    -
    ctxt:the parser context

    Function: xmlParserInputShrink

    void	xmlParserInputShrink		(xmlParserInputPtr in)
    -

    This function removes used input for the parser.

    -
    in:an XML parser input

    Function: xmlPopInput

    xmlChar	xmlPopInput			(xmlParserCtxtPtr ctxt)
    -

    xmlPopInput: the current input pointed by ctxt->input came to an end pop it and return the next char.

    -
    ctxt:an XML parser context
    Returns:the current xmlChar in the parser context

    Function: xmlPushInput

    int	xmlPushInput			(xmlParserCtxtPtr ctxt, 
    xmlParserInputPtr input)
    -

    xmlPushInput: switch to a new input stream which is stacked on top of the previous one(s).

    -
    ctxt:an XML parser context
    input:an XML parser input fragment (entity, XML fragment ...).
    Returns:-1 in case of error or the index in the input stack

    Function: xmlScanName

    xmlChar *	xmlScanName		(xmlParserCtxtPtr ctxt)
    -

    Trickery: parse an XML name but without consuming the input flow Needed for rollback cases. Used only when parsing entities references. TODO: seems deprecated now, only used in the default part of xmlParserHandleReference [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (S Name)*

    -
    ctxt:an XML parser context
    Returns:the Name parsed or NULL

    Function: xmlSetEntityReferenceFunc

    void	xmlSetEntityReferenceFunc	(xmlEntityReferenceFunc func)
    -

    Set the function to call call back when a xml reference has been made

    -
    func:A valid function

    Function: xmlSkipBlankChars

    int	xmlSkipBlankChars		(xmlParserCtxtPtr ctxt)
    -

    skip all blanks character found at that point in the input streams. It pops up finished entities in the process if allowable at that point.

    -
    ctxt:the XML parser context
    Returns:the number of space chars skipped

    Function: xmlSplitQName

    xmlChar *	xmlSplitQName		(xmlParserCtxtPtr ctxt, 
    const xmlChar * name,
    xmlChar ** prefix)
    -

    parse an UTF8 encoded XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName

    -
    ctxt:an XML parser context
    name:an XML parser context
    prefix:a xmlChar **
    Returns:the local part, and prefix is updated to get the Prefix if any.

    Function: xmlStringCurrentChar

    int	xmlStringCurrentChar		(xmlParserCtxtPtr ctxt, 
    const xmlChar * cur,
    int * len)
    -

    The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer.

    -
    ctxt:the XML parser context
    cur:pointer to the beginning of the char
    len:pointer to the length of the char read
    Returns:the current char value and its length

    Function: xmlStringDecodeEntities

    xmlChar *	xmlStringDecodeEntities	(xmlParserCtxtPtr ctxt, 
    const xmlChar * str,
    int what,
    xmlChar end,
    xmlChar end2,
    xmlChar end3)
    -

    Takes a entity string content and process to do the adequate substitutions. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'

    -
    ctxt:the parser context
    str:the input string
    what:combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF
    end:an end marker xmlChar, 0 if none
    end2:an end marker xmlChar, 0 if none
    end3:an end marker xmlChar, 0 if none
    Returns:A newly allocated string with the substitution done. The caller must deallocate it !

    Function: xmlStringLenDecodeEntities

    xmlChar *	xmlStringLenDecodeEntities	(xmlParserCtxtPtr ctxt, 
    const xmlChar * str,
    int len,
    int what,
    xmlChar end,
    xmlChar end2,
    xmlChar end3)
    -

    Takes a entity string content and process to do the adequate substitutions. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'

    -
    ctxt:the parser context
    str:the input string
    len:the string length
    what:combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF
    end:an end marker xmlChar, 0 if none
    end2:an end marker xmlChar, 0 if none
    end3:an end marker xmlChar, 0 if none
    Returns:A newly allocated string with the substitution done. The caller must deallocate it !

    Function: xmlSwitchEncoding

    int	xmlSwitchEncoding		(xmlParserCtxtPtr ctxt, 
    xmlCharEncoding enc)
    -

    change the input functions when discovering the character encoding of a given entity.

    -
    ctxt:the parser context
    enc:the encoding value (number)
    Returns:0 in case of success, -1 otherwise

    Function: xmlSwitchInputEncoding

    int	xmlSwitchInputEncoding		(xmlParserCtxtPtr ctxt, 
    xmlParserInputPtr input,
    xmlCharEncodingHandlerPtr handler)
    -

    change the input functions when discovering the character encoding of a given entity.

    -
    ctxt:the parser context
    input:the input stream
    handler:the encoding handler
    Returns:0 in case of success, -1 otherwise

    Function: xmlSwitchToEncoding

    int	xmlSwitchToEncoding		(xmlParserCtxtPtr ctxt, 
    xmlCharEncodingHandlerPtr handler)
    -

    change the input functions when discovering the character encoding of a given entity.

    -
    ctxt:the parser context
    handler:the encoding handler
    Returns:0 in case of success, -1 otherwise

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-pattern.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-pattern.html deleted file mode 100644 index cd2789b..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-pattern.html +++ /dev/null @@ -1,76 +0,0 @@ - - -Module pattern from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module pattern from libxml2

    API Menu
    API Indexes
    Related links

    allows to compile and test pattern expressions for nodes either in a tree or based on a parser state.

    Table of Contents

    Structure xmlPattern
    struct _xmlPattern -The content of this structure is not made public by the API. -
    Enum xmlPatternFlags
    -
    Typedef xmlPattern * xmlPatternPtr
    -
    Structure xmlStreamCtxt
    struct _xmlStreamCtxt -The content of this structure is not made public by the API. -
    Typedef xmlStreamCtxt * xmlStreamCtxtPtr
    -
    void	xmlFreePattern			(xmlPatternPtr comp)
    -
    void	xmlFreePatternList		(xmlPatternPtr comp)
    -
    void	xmlFreeStreamCtxt		(xmlStreamCtxtPtr stream)
    -
    int	xmlPatternFromRoot		(xmlPatternPtr comp)
    -
    xmlStreamCtxtPtr	xmlPatternGetStreamCtxt	(xmlPatternPtr comp)
    -
    int	xmlPatternMatch			(xmlPatternPtr comp, 
    xmlNodePtr node)
    -
    int	xmlPatternMaxDepth		(xmlPatternPtr comp)
    -
    int	xmlPatternMinDepth		(xmlPatternPtr comp)
    -
    int	xmlPatternStreamable		(xmlPatternPtr comp)
    -
    xmlPatternPtr	xmlPatterncompile	(const xmlChar * pattern, 
    xmlDict * dict,
    int flags,
    const xmlChar ** namespaces)
    -
    int	xmlStreamPop			(xmlStreamCtxtPtr stream)
    -
    int	xmlStreamPush			(xmlStreamCtxtPtr stream, 
    const xmlChar * name,
    const xmlChar * ns)
    -
    int	xmlStreamPushAttr		(xmlStreamCtxtPtr stream, 
    const xmlChar * name,
    const xmlChar * ns)
    -
    int	xmlStreamPushNode		(xmlStreamCtxtPtr stream, 
    const xmlChar * name,
    const xmlChar * ns,
    int nodeType)
    -
    int	xmlStreamWantsAnyNode		(xmlStreamCtxtPtr streamCtxt)
    -

    Description

    -

    Structure xmlPattern

    Structure xmlPattern
    struct _xmlPattern { -The content of this structure is not made public by the API. -}

    Enum xmlPatternFlags

    Enum xmlPatternFlags {
    -    XML_PATTERN_DEFAULT = 0 : simple pattern match
    -    XML_PATTERN_XPATH = 1 : standard XPath pattern
    -    XML_PATTERN_XSSEL = 2 : XPath subset for schema selector
    -    XML_PATTERN_XSFIELD = 4 : XPath subset for schema field
    -}
    -

    Structure xmlStreamCtxt

    Structure xmlStreamCtxt
    struct _xmlStreamCtxt { -The content of this structure is not made public by the API. -}

    Function: xmlFreePattern

    void	xmlFreePattern			(xmlPatternPtr comp)
    -

    Free up the memory allocated by @comp

    -
    comp:an XSLT comp

    Function: xmlFreePatternList

    void	xmlFreePatternList		(xmlPatternPtr comp)
    -

    Free up the memory allocated by all the elements of @comp

    -
    comp:an XSLT comp list

    Function: xmlFreeStreamCtxt

    void	xmlFreeStreamCtxt		(xmlStreamCtxtPtr stream)
    -

    Free the stream context

    -
    stream:the stream context

    Function: xmlPatternFromRoot

    int	xmlPatternFromRoot		(xmlPatternPtr comp)
    -

    Check if the pattern must be looked at from the root.

    -
    comp:the precompiled pattern
    Returns:1 if true, 0 if false and -1 in case of error

    Function: xmlPatternGetStreamCtxt

    xmlStreamCtxtPtr	xmlPatternGetStreamCtxt	(xmlPatternPtr comp)
    -

    Get a streaming context for that pattern Use xmlFreeStreamCtxt to free the context.

    -
    comp:the precompiled pattern
    Returns:a pointer to the context or NULL in case of failure

    Function: xmlPatternMatch

    int	xmlPatternMatch			(xmlPatternPtr comp, 
    xmlNodePtr node)
    -

    Test whether the node matches the pattern

    -
    comp:the precompiled pattern
    node:a node
    Returns:1 if it matches, 0 if it doesn't and -1 in case of failure

    Function: xmlPatternMaxDepth

    int	xmlPatternMaxDepth		(xmlPatternPtr comp)
    -

    Check the maximum depth reachable by a pattern

    -
    comp:the precompiled pattern
    Returns:-2 if no limit (using //), otherwise the depth, and -1 in case of error

    Function: xmlPatternMinDepth

    int	xmlPatternMinDepth		(xmlPatternPtr comp)
    -

    Check the minimum depth reachable by a pattern, 0 mean the / or . are part of the set.

    -
    comp:the precompiled pattern
    Returns:-1 in case of error otherwise the depth,

    Function: xmlPatternStreamable

    int	xmlPatternStreamable		(xmlPatternPtr comp)
    -

    Check if the pattern is streamable i.e. xmlPatternGetStreamCtxt() should work.

    -
    comp:the precompiled pattern
    Returns:1 if streamable, 0 if not and -1 in case of error.

    Function: xmlPatterncompile

    xmlPatternPtr	xmlPatterncompile	(const xmlChar * pattern, 
    xmlDict * dict,
    int flags,
    const xmlChar ** namespaces)
    -

    Compile a pattern.

    -
    pattern:the pattern to compile
    dict:an optional dictionary for interned strings
    flags:compilation flags, see xmlPatternFlags
    namespaces:the prefix definitions, array of [URI, prefix] or NULL
    Returns:the compiled form of the pattern or NULL in case of error

    Function: xmlStreamPop

    int	xmlStreamPop			(xmlStreamCtxtPtr stream)
    -

    push one level from the stream.

    -
    stream:the stream context
    Returns:-1 in case of error, 0 otherwise.

    Function: xmlStreamPush

    int	xmlStreamPush			(xmlStreamCtxtPtr stream, 
    const xmlChar * name,
    const xmlChar * ns)
    -

    Push new data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Otherwise the function will act as if it has been given an element-node.

    -
    stream:the stream context
    name:the current name
    ns:the namespace name
    Returns:-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.

    Function: xmlStreamPushAttr

    int	xmlStreamPushAttr		(xmlStreamCtxtPtr stream, 
    const xmlChar * name,
    const xmlChar * ns)
    -

    Push new attribute data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Otherwise the function will act as if it has been given an attribute-node.

    -
    stream:the stream context
    name:the current name
    ns:the namespace name
    Returns:-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.

    Function: xmlStreamPushNode

    int	xmlStreamPushNode		(xmlStreamCtxtPtr stream, 
    const xmlChar * name,
    const xmlChar * ns,
    int nodeType)
    -

    Push new data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Different from xmlStreamPush() this function can be fed with nodes of type: element-, attribute-, text-, cdata-section-, comment- and processing-instruction-node.

    -
    stream:the stream context
    name:the current name
    ns:the namespace name
    nodeType:the type of the node being pushed
    Returns:-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.

    Function: xmlStreamWantsAnyNode

    int	xmlStreamWantsAnyNode		(xmlStreamCtxtPtr streamCtxt)
    -

    Query if the streaming pattern additionally needs to be fed with text-, cdata-section-, comment- and processing-instruction-nodes. If the result is 0 then only element-nodes and attribute-nodes need to be pushed.

    -
    streamCtxt:the stream context
    Returns:1 in case of need of nodes of the above described types, 0 otherwise. -1 on API errors.

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-relaxng.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-relaxng.html deleted file mode 100644 index 6d0ce42..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-relaxng.html +++ /dev/null @@ -1,162 +0,0 @@ - - -Module relaxng from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module relaxng from libxml2

    API Menu
    API Indexes
    Related links

    implementation of the Relax-NG validation

    Table of Contents

    Structure xmlRelaxNG
    struct _xmlRelaxNG -The content of this structure is not made public by the API. -
    Structure xmlRelaxNGParserCtxt
    struct _xmlRelaxNGParserCtxt -The content of this structure is not made public by the API. -
    Typedef xmlRelaxNGParserCtxt * xmlRelaxNGParserCtxtPtr
    -
    Enum xmlRelaxNGParserFlag
    -
    Typedef xmlRelaxNG * xmlRelaxNGPtr
    -
    Structure xmlRelaxNGValidCtxt
    struct _xmlRelaxNGValidCtxt -The content of this structure is not made public by the API. -
    Typedef xmlRelaxNGValidCtxt * xmlRelaxNGValidCtxtPtr
    -
    Enum xmlRelaxNGValidErr
    -
    void	xmlRelaxNGCleanupTypes		(void)
    -
    void	xmlRelaxNGDump			(FILE * output, 
    xmlRelaxNGPtr schema)
    -
    void	xmlRelaxNGDumpTree		(FILE * output, 
    xmlRelaxNGPtr schema)
    -
    void	xmlRelaxNGFree			(xmlRelaxNGPtr schema)
    -
    void	xmlRelaxNGFreeParserCtxt	(xmlRelaxNGParserCtxtPtr ctxt)
    -
    void	xmlRelaxNGFreeValidCtxt		(xmlRelaxNGValidCtxtPtr ctxt)
    -
    int	xmlRelaxNGGetParserErrors	(xmlRelaxNGParserCtxtPtr ctxt, 
    xmlRelaxNGValidityErrorFunc * err,
    xmlRelaxNGValidityWarningFunc * warn,
    void ** ctx)
    -
    int	xmlRelaxNGGetValidErrors	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlRelaxNGValidityErrorFunc * err,
    xmlRelaxNGValidityWarningFunc * warn,
    void ** ctx)
    -
    int	xmlRelaxNGInitTypes		(void)
    -
    xmlRelaxNGParserCtxtPtr	xmlRelaxNGNewDocParserCtxt	(xmlDocPtr doc)
    -
    xmlRelaxNGParserCtxtPtr	xmlRelaxNGNewMemParserCtxt	(const char * buffer, 
    int size)
    -
    xmlRelaxNGParserCtxtPtr	xmlRelaxNGNewParserCtxt	(const char * URL)
    -
    xmlRelaxNGValidCtxtPtr	xmlRelaxNGNewValidCtxt	(xmlRelaxNGPtr schema)
    -
    xmlRelaxNGPtr	xmlRelaxNGParse		(xmlRelaxNGParserCtxtPtr ctxt)
    -
    void	xmlRelaxNGSetParserErrors	(xmlRelaxNGParserCtxtPtr ctxt, 
    xmlRelaxNGValidityErrorFunc err,
    xmlRelaxNGValidityWarningFunc warn,
    void * ctx)
    -
    void	xmlRelaxNGSetParserStructuredErrors	(xmlRelaxNGParserCtxtPtr ctxt, 
    xmlStructuredErrorFunc serror,
    void * ctx)
    -
    void	xmlRelaxNGSetValidErrors	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlRelaxNGValidityErrorFunc err,
    xmlRelaxNGValidityWarningFunc warn,
    void * ctx)
    -
    void	xmlRelaxNGSetValidStructuredErrors	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlStructuredErrorFunc serror,
    void * ctx)
    -
    int	xmlRelaxNGValidateDoc		(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    -
    int	xmlRelaxNGValidateFullElement	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    -
    int	xmlRelaxNGValidatePopElement	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    -
    int	xmlRelaxNGValidatePushCData	(xmlRelaxNGValidCtxtPtr ctxt, 
    const xmlChar * data,
    int len)
    -
    int	xmlRelaxNGValidatePushElement	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    -
    Function type: xmlRelaxNGValidityErrorFunc
    -void	xmlRelaxNGValidityErrorFunc	(void * ctx, 
    const char * msg,
    ... ...) -
    -
    Function type: xmlRelaxNGValidityWarningFunc
    -void	xmlRelaxNGValidityWarningFunc	(void * ctx, 
    const char * msg,
    ... ...) -
    -
    int	xmlRelaxParserSetFlag		(xmlRelaxNGParserCtxtPtr ctxt, 
    int flags)
    -

    Description

    -

    Structure xmlRelaxNG

    Structure xmlRelaxNG
    struct _xmlRelaxNG { -The content of this structure is not made public by the API. -}

    Structure xmlRelaxNGParserCtxt

    Structure xmlRelaxNGParserCtxt
    struct _xmlRelaxNGParserCtxt { -The content of this structure is not made public by the API. -}

    Enum xmlRelaxNGParserFlag

    Enum xmlRelaxNGParserFlag {
    -    XML_RELAXNGP_NONE = 0
    -    XML_RELAXNGP_FREE_DOC = 1
    -    XML_RELAXNGP_CRNG = 2
    -}
    -

    Structure xmlRelaxNGValidCtxt

    Structure xmlRelaxNGValidCtxt
    struct _xmlRelaxNGValidCtxt { -The content of this structure is not made public by the API. -}

    Enum xmlRelaxNGValidErr

    Enum xmlRelaxNGValidErr {
    -    XML_RELAXNG_OK = 0
    -    XML_RELAXNG_ERR_MEMORY = 1
    -    XML_RELAXNG_ERR_TYPE = 2
    -    XML_RELAXNG_ERR_TYPEVAL = 3
    -    XML_RELAXNG_ERR_DUPID = 4
    -    XML_RELAXNG_ERR_TYPECMP = 5
    -    XML_RELAXNG_ERR_NOSTATE = 6
    -    XML_RELAXNG_ERR_NODEFINE = 7
    -    XML_RELAXNG_ERR_LISTEXTRA = 8
    -    XML_RELAXNG_ERR_LISTEMPTY = 9
    -    XML_RELAXNG_ERR_INTERNODATA = 10
    -    XML_RELAXNG_ERR_INTERSEQ = 11
    -    XML_RELAXNG_ERR_INTEREXTRA = 12
    -    XML_RELAXNG_ERR_ELEMNAME = 13
    -    XML_RELAXNG_ERR_ATTRNAME = 14
    -    XML_RELAXNG_ERR_ELEMNONS = 15
    -    XML_RELAXNG_ERR_ATTRNONS = 16
    -    XML_RELAXNG_ERR_ELEMWRONGNS = 17
    -    XML_RELAXNG_ERR_ATTRWRONGNS = 18
    -    XML_RELAXNG_ERR_ELEMEXTRANS = 19
    -    XML_RELAXNG_ERR_ATTREXTRANS = 20
    -    XML_RELAXNG_ERR_ELEMNOTEMPTY = 21
    -    XML_RELAXNG_ERR_NOELEM = 22
    -    XML_RELAXNG_ERR_NOTELEM = 23
    -    XML_RELAXNG_ERR_ATTRVALID = 24
    -    XML_RELAXNG_ERR_CONTENTVALID = 25
    -    XML_RELAXNG_ERR_EXTRACONTENT = 26
    -    XML_RELAXNG_ERR_INVALIDATTR = 27
    -    XML_RELAXNG_ERR_DATAELEM = 28
    -    XML_RELAXNG_ERR_VALELEM = 29
    -    XML_RELAXNG_ERR_LISTELEM = 30
    -    XML_RELAXNG_ERR_DATATYPE = 31
    -    XML_RELAXNG_ERR_VALUE = 32
    -    XML_RELAXNG_ERR_LIST = 33
    -    XML_RELAXNG_ERR_NOGRAMMAR = 34
    -    XML_RELAXNG_ERR_EXTRADATA = 35
    -    XML_RELAXNG_ERR_LACKDATA = 36
    -    XML_RELAXNG_ERR_INTERNAL = 37
    -    XML_RELAXNG_ERR_ELEMWRONG = 38
    -    XML_RELAXNG_ERR_TEXTWRONG = 39
    -}
    -

    Function: xmlRelaxNGCleanupTypes

    void	xmlRelaxNGCleanupTypes		(void)
    -

    Cleanup the default Schemas type library associated to RelaxNG

    -

    Function: xmlRelaxNGDump

    void	xmlRelaxNGDump			(FILE * output, 
    xmlRelaxNGPtr schema)
    -

    Dump a RelaxNG structure back

    -
    output:the file output
    schema:a schema structure

    Function: xmlRelaxNGDumpTree

    void	xmlRelaxNGDumpTree		(FILE * output, 
    xmlRelaxNGPtr schema)
    -

    Dump the transformed RelaxNG tree.

    -
    output:the file output
    schema:a schema structure

    Function: xmlRelaxNGFree

    void	xmlRelaxNGFree			(xmlRelaxNGPtr schema)
    -

    Deallocate a RelaxNG structure.

    -
    schema:a schema structure

    Function: xmlRelaxNGFreeParserCtxt

    void	xmlRelaxNGFreeParserCtxt	(xmlRelaxNGParserCtxtPtr ctxt)
    -

    Free the resources associated to the schema parser context

    -
    ctxt:the schema parser context

    Function: xmlRelaxNGFreeValidCtxt

    void	xmlRelaxNGFreeValidCtxt		(xmlRelaxNGValidCtxtPtr ctxt)
    -

    Free the resources associated to the schema validation context

    -
    ctxt:the schema validation context

    Function: xmlRelaxNGGetParserErrors

    int	xmlRelaxNGGetParserErrors	(xmlRelaxNGParserCtxtPtr ctxt, 
    xmlRelaxNGValidityErrorFunc * err,
    xmlRelaxNGValidityWarningFunc * warn,
    void ** ctx)
    -

    Get the callback information used to handle errors for a validation context

    -
    ctxt:a Relax-NG validation context
    err:the error callback result
    warn:the warning callback result
    ctx:contextual data for the callbacks result
    Returns:-1 in case of failure, 0 otherwise.

    Function: xmlRelaxNGGetValidErrors

    int	xmlRelaxNGGetValidErrors	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlRelaxNGValidityErrorFunc * err,
    xmlRelaxNGValidityWarningFunc * warn,
    void ** ctx)
    -

    Get the error and warning callback informations

    -
    ctxt:a Relax-NG validation context
    err:the error function result
    warn:the warning function result
    ctx:the functions context result
    Returns:-1 in case of error and 0 otherwise

    Function: xmlRelaxNGInitTypes

    int	xmlRelaxNGInitTypes		(void)
    -

    Initilize the default type libraries.

    -
    Returns:0 in case of success and -1 in case of error.

    Function: xmlRelaxNGNewDocParserCtxt

    xmlRelaxNGParserCtxtPtr	xmlRelaxNGNewDocParserCtxt	(xmlDocPtr doc)
    -

    Create an XML RelaxNGs parser context for that document. Note: since the process of compiling a RelaxNG schemas modifies the document, the @doc parameter is duplicated internally.

    -
    doc:a preparsed document tree
    Returns:the parser context or NULL in case of error

    Function: xmlRelaxNGNewMemParserCtxt

    xmlRelaxNGParserCtxtPtr	xmlRelaxNGNewMemParserCtxt	(const char * buffer, 
    int size)
    -

    Create an XML RelaxNGs parse context for that memory buffer expected to contain an XML RelaxNGs file.

    -
    buffer:a pointer to a char array containing the schemas
    size:the size of the array
    Returns:the parser context or NULL in case of error

    Function: xmlRelaxNGNewParserCtxt

    xmlRelaxNGParserCtxtPtr	xmlRelaxNGNewParserCtxt	(const char * URL)
    -

    Create an XML RelaxNGs parse context for that file/resource expected to contain an XML RelaxNGs file.

    -
    URL:the location of the schema
    Returns:the parser context or NULL in case of error

    Function: xmlRelaxNGNewValidCtxt

    xmlRelaxNGValidCtxtPtr	xmlRelaxNGNewValidCtxt	(xmlRelaxNGPtr schema)
    -

    Create an XML RelaxNGs validation context based on the given schema

    -
    schema:a precompiled XML RelaxNGs
    Returns:the validation context or NULL in case of error

    Function: xmlRelaxNGParse

    xmlRelaxNGPtr	xmlRelaxNGParse		(xmlRelaxNGParserCtxtPtr ctxt)
    -

    parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.

    -
    ctxt:a Relax-NG parser context
    Returns:the internal XML RelaxNG structure built from the resource or NULL in case of error

    Function: xmlRelaxNGSetParserErrors

    void	xmlRelaxNGSetParserErrors	(xmlRelaxNGParserCtxtPtr ctxt, 
    xmlRelaxNGValidityErrorFunc err,
    xmlRelaxNGValidityWarningFunc warn,
    void * ctx)
    -

    Set the callback functions used to handle errors for a validation context

    -
    ctxt:a Relax-NG validation context
    err:the error callback
    warn:the warning callback
    ctx:contextual data for the callbacks

    Function: xmlRelaxNGSetParserStructuredErrors

    void	xmlRelaxNGSetParserStructuredErrors	(xmlRelaxNGParserCtxtPtr ctxt, 
    xmlStructuredErrorFunc serror,
    void * ctx)
    -

    Set the callback functions used to handle errors for a parsing context

    -
    ctxt:a Relax-NG parser context
    serror:the error callback
    ctx:contextual data for the callbacks

    Function: xmlRelaxNGSetValidErrors

    void	xmlRelaxNGSetValidErrors	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlRelaxNGValidityErrorFunc err,
    xmlRelaxNGValidityWarningFunc warn,
    void * ctx)
    -

    Set the error and warning callback informations

    -
    ctxt:a Relax-NG validation context
    err:the error function
    warn:the warning function
    ctx:the functions context

    Function: xmlRelaxNGSetValidStructuredErrors

    void	xmlRelaxNGSetValidStructuredErrors	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlStructuredErrorFunc serror,
    void * ctx)
    -

    Set the structured error callback

    -
    ctxt:a Relax-NG validation context
    serror:the structured error function
    ctx:the functions context

    Function: xmlRelaxNGValidateDoc

    int	xmlRelaxNGValidateDoc		(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    -

    Validate a document tree in memory.

    -
    ctxt:a Relax-NG validation context
    doc:a parsed document tree
    Returns:0 if the document is valid, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlRelaxNGValidateFullElement

    int	xmlRelaxNGValidateFullElement	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    -

    Validate a full subtree when xmlRelaxNGValidatePushElement() returned 0 and the content of the node has been expanded.

    -
    ctxt:the validation context
    doc:a document instance
    elem:an element instance
    Returns:1 if no validation problem was found or -1 in case of error.

    Function: xmlRelaxNGValidatePopElement

    int	xmlRelaxNGValidatePopElement	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    -

    Pop the element end from the RelaxNG validation stack.

    -
    ctxt:the RelaxNG validation context
    doc:a document instance
    elem:an element instance
    Returns:1 if no validation problem was found or 0 otherwise

    Function: xmlRelaxNGValidatePushCData

    int	xmlRelaxNGValidatePushCData	(xmlRelaxNGValidCtxtPtr ctxt, 
    const xmlChar * data,
    int len)
    -

    check the CData parsed for validation in the current stack

    -
    ctxt:the RelaxNG validation context
    data:some character data read
    len:the lenght of the data
    Returns:1 if no validation problem was found or -1 otherwise

    Function: xmlRelaxNGValidatePushElement

    int	xmlRelaxNGValidatePushElement	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    -

    Push a new element start on the RelaxNG validation stack.

    -
    ctxt:the validation context
    doc:a document instance
    elem:an element instance
    Returns:1 if no validation problem was found or 0 if validating the element requires a full node, and -1 in case of error.

    Function type: xmlRelaxNGValidityErrorFunc

    Function type: xmlRelaxNGValidityErrorFunc
    -void	xmlRelaxNGValidityErrorFunc	(void * ctx, 
    const char * msg,
    ... ...) -

    Signature of an error callback from a Relax-NG validation

    ctx:the validation context
    msg:the message
    ...:extra arguments

    -

    Function type: xmlRelaxNGValidityWarningFunc

    Function type: xmlRelaxNGValidityWarningFunc
    -void	xmlRelaxNGValidityWarningFunc	(void * ctx, 
    const char * msg,
    ... ...) -

    Signature of a warning callback from a Relax-NG validation

    ctx:the validation context
    msg:the message
    ...:extra arguments

    -

    Function: xmlRelaxParserSetFlag

    int	xmlRelaxParserSetFlag		(xmlRelaxNGParserCtxtPtr ctxt, 
    int flags)
    -

    Semi private function used to pass informations to a parser context which are a combination of xmlRelaxNGParserFlag .

    -
    ctxt:a RelaxNG parser context
    flags:a set of flags values
    Returns:0 if success and -1 in case of error

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-schemasInternals.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-schemasInternals.html deleted file mode 100644 index db4a5a1..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-schemasInternals.html +++ /dev/null @@ -1,373 +0,0 @@ - - -Module schemasInternals from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module schemasInternals from libxml2

    API Menu
    API Indexes
    Related links

    internal interfaces for the XML Schemas handling and schema validity checking The Schemas development is a Work In Progress. Some of those interfaces are not garanteed to be API or ABI stable !

    Table of Contents

    #define XML_SCHEMAS_ANYATTR_LAX
    #define XML_SCHEMAS_ANYATTR_SKIP
    #define XML_SCHEMAS_ANYATTR_STRICT
    #define XML_SCHEMAS_ANY_LAX
    #define XML_SCHEMAS_ANY_SKIP
    #define XML_SCHEMAS_ANY_STRICT
    #define XML_SCHEMAS_ATTRGROUP_GLOBAL
    #define XML_SCHEMAS_ATTRGROUP_HAS_REFS
    #define XML_SCHEMAS_ATTRGROUP_MARKED
    #define XML_SCHEMAS_ATTRGROUP_REDEFINED
    #define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED
    #define XML_SCHEMAS_ATTR_FIXED
    #define XML_SCHEMAS_ATTR_GLOBAL
    #define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED
    #define XML_SCHEMAS_ATTR_NSDEFAULT
    #define XML_SCHEMAS_ATTR_USE_OPTIONAL
    #define XML_SCHEMAS_ATTR_USE_PROHIBITED
    #define XML_SCHEMAS_ATTR_USE_REQUIRED
    #define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION
    #define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION
    #define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION
    #define XML_SCHEMAS_ELEM_ABSTRACT
    #define XML_SCHEMAS_ELEM_BLOCK_ABSENT
    #define XML_SCHEMAS_ELEM_BLOCK_EXTENSION
    #define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION
    #define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION
    #define XML_SCHEMAS_ELEM_CIRCULAR
    #define XML_SCHEMAS_ELEM_DEFAULT
    #define XML_SCHEMAS_ELEM_FINAL_ABSENT
    #define XML_SCHEMAS_ELEM_FINAL_EXTENSION
    #define XML_SCHEMAS_ELEM_FINAL_RESTRICTION
    #define XML_SCHEMAS_ELEM_FIXED
    #define XML_SCHEMAS_ELEM_GLOBAL
    #define XML_SCHEMAS_ELEM_INTERNAL_CHECKED
    #define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED
    #define XML_SCHEMAS_ELEM_NILLABLE
    #define XML_SCHEMAS_ELEM_NSDEFAULT
    #define XML_SCHEMAS_ELEM_REF
    #define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD
    #define XML_SCHEMAS_ELEM_TOPLEVEL
    #define XML_SCHEMAS_FACET_COLLAPSE
    #define XML_SCHEMAS_FACET_PRESERVE
    #define XML_SCHEMAS_FACET_REPLACE
    #define XML_SCHEMAS_FACET_UNKNOWN
    #define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION
    #define XML_SCHEMAS_FINAL_DEFAULT_LIST
    #define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION
    #define XML_SCHEMAS_FINAL_DEFAULT_UNION
    #define XML_SCHEMAS_INCLUDING_CONVERT_NS
    #define XML_SCHEMAS_QUALIF_ATTR
    #define XML_SCHEMAS_QUALIF_ELEM
    #define XML_SCHEMAS_TYPE_ABSTRACT
    #define XML_SCHEMAS_TYPE_BLOCK_DEFAULT
    #define XML_SCHEMAS_TYPE_BLOCK_EXTENSION
    #define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION
    #define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE
    #define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION
    #define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION
    #define XML_SCHEMAS_TYPE_FACETSNEEDVALUE
    #define XML_SCHEMAS_TYPE_FINAL_DEFAULT
    #define XML_SCHEMAS_TYPE_FINAL_EXTENSION
    #define XML_SCHEMAS_TYPE_FINAL_LIST
    #define XML_SCHEMAS_TYPE_FINAL_RESTRICTION
    #define XML_SCHEMAS_TYPE_FINAL_UNION
    #define XML_SCHEMAS_TYPE_FIXUP_1
    #define XML_SCHEMAS_TYPE_GLOBAL
    #define XML_SCHEMAS_TYPE_HAS_FACETS
    #define XML_SCHEMAS_TYPE_INTERNAL_INVALID
    #define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED
    #define XML_SCHEMAS_TYPE_MARKED
    #define XML_SCHEMAS_TYPE_MIXED
    #define XML_SCHEMAS_TYPE_NORMVALUENEEDED
    #define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD
    #define XML_SCHEMAS_TYPE_REDEFINED
    #define XML_SCHEMAS_TYPE_VARIETY_ABSENT
    #define XML_SCHEMAS_TYPE_VARIETY_ATOMIC
    #define XML_SCHEMAS_TYPE_VARIETY_LIST
    #define XML_SCHEMAS_TYPE_VARIETY_UNION
    #define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE
    #define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE
    #define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE
    #define XML_SCHEMAS_WILDCARD_COMPLETE
    Structure xmlSchemaAnnot
    struct _xmlSchemaAnnot -
    Typedef xmlSchemaAnnot * xmlSchemaAnnotPtr
    -
    Structure xmlSchemaAttribute
    struct _xmlSchemaAttribute -
    Structure xmlSchemaAttributeGroup
    struct _xmlSchemaAttributeGroup -
    Typedef xmlSchemaAttributeGroup * xmlSchemaAttributeGroupPtr
    -
    Structure xmlSchemaAttributeLink
    struct _xmlSchemaAttributeLink -
    Typedef xmlSchemaAttributeLink * xmlSchemaAttributeLinkPtr
    -
    Typedef xmlSchemaAttribute * xmlSchemaAttributePtr
    -
    Enum xmlSchemaContentType
    -
    Structure xmlSchemaElement
    struct _xmlSchemaElement -
    Typedef xmlSchemaElement * xmlSchemaElementPtr
    -
    Structure xmlSchemaFacet
    struct _xmlSchemaFacet -
    Structure xmlSchemaFacetLink
    struct _xmlSchemaFacetLink -
    Typedef xmlSchemaFacetLink * xmlSchemaFacetLinkPtr
    -
    Typedef xmlSchemaFacet * xmlSchemaFacetPtr
    -
    Structure xmlSchemaNotation
    struct _xmlSchemaNotation -
    Typedef xmlSchemaNotation * xmlSchemaNotationPtr
    -
    Structure xmlSchemaType
    struct _xmlSchemaType -
    Structure xmlSchemaTypeLink
    struct _xmlSchemaTypeLink -
    Typedef xmlSchemaTypeLink * xmlSchemaTypeLinkPtr
    -
    Typedef xmlSchemaType * xmlSchemaTypePtr
    -
    Enum xmlSchemaTypeType
    -
    Structure xmlSchemaVal
    struct _xmlSchemaVal -The content of this structure is not made public by the API. -
    Typedef xmlSchemaVal * xmlSchemaValPtr
    -
    Enum xmlSchemaValType
    -
    Structure xmlSchemaWildcard
    struct _xmlSchemaWildcard -
    Structure xmlSchemaWildcardNs
    struct _xmlSchemaWildcardNs -
    Typedef xmlSchemaWildcardNs * xmlSchemaWildcardNsPtr
    -
    Typedef xmlSchemaWildcard * xmlSchemaWildcardPtr
    -
    void	xmlSchemaFreeType		(xmlSchemaTypePtr type)
    -
    void	xmlSchemaFreeWildcard		(xmlSchemaWildcardPtr wildcard)
    -

    Description

    -

    Macro: XML_SCHEMAS_ANYATTR_LAX

    #define XML_SCHEMAS_ANYATTR_LAX

    Ignore validation non definition on attributes Obsolete, not used anymore.

    -

    Macro: XML_SCHEMAS_ANYATTR_SKIP

    #define XML_SCHEMAS_ANYATTR_SKIP

    Skip unknown attribute from validation Obsolete, not used anymore.

    -

    Macro: XML_SCHEMAS_ANYATTR_STRICT

    #define XML_SCHEMAS_ANYATTR_STRICT

    Apply strict validation rules on attributes Obsolete, not used anymore.

    -

    Macro: XML_SCHEMAS_ANY_LAX

    #define XML_SCHEMAS_ANY_LAX

    Used by wildcards. Validate if type found, don't worry if not found

    -

    Macro: XML_SCHEMAS_ANY_SKIP

    #define XML_SCHEMAS_ANY_SKIP

    Skip unknown attribute from validation

    -

    Macro: XML_SCHEMAS_ANY_STRICT

    #define XML_SCHEMAS_ANY_STRICT

    Used by wildcards. Apply strict validation rules

    -

    Macro: XML_SCHEMAS_ATTRGROUP_GLOBAL

    #define XML_SCHEMAS_ATTRGROUP_GLOBAL

    The attribute wildcard has been already builded.

    -

    Macro: XML_SCHEMAS_ATTRGROUP_HAS_REFS

    #define XML_SCHEMAS_ATTRGROUP_HAS_REFS

    Whether this attr. group contains attr. group references.

    -

    Macro: XML_SCHEMAS_ATTRGROUP_MARKED

    #define XML_SCHEMAS_ATTRGROUP_MARKED

    Marks the attr group as marked; used for circular checks.

    -

    Macro: XML_SCHEMAS_ATTRGROUP_REDEFINED

    #define XML_SCHEMAS_ATTRGROUP_REDEFINED

    The attr group was redefined.

    -

    Macro: XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED

    #define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED

    The attribute wildcard has been already builded.

    -

    Macro: XML_SCHEMAS_ATTR_FIXED

    #define XML_SCHEMAS_ATTR_FIXED

    the attribute has a fixed value

    -

    Macro: XML_SCHEMAS_ATTR_GLOBAL

    #define XML_SCHEMAS_ATTR_GLOBAL

    allow elements in no namespace

    -

    Macro: XML_SCHEMAS_ATTR_INTERNAL_RESOLVED

    #define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED

    this is set when the "type" and "ref" references have been resolved.

    -

    Macro: XML_SCHEMAS_ATTR_NSDEFAULT

    #define XML_SCHEMAS_ATTR_NSDEFAULT

    allow elements in no namespace

    -

    Macro: XML_SCHEMAS_ATTR_USE_OPTIONAL

    #define XML_SCHEMAS_ATTR_USE_OPTIONAL

    The attribute is optional.

    -

    Macro: XML_SCHEMAS_ATTR_USE_PROHIBITED

    #define XML_SCHEMAS_ATTR_USE_PROHIBITED

    Used by wildcards. The attribute is prohibited.

    -

    Macro: XML_SCHEMAS_ATTR_USE_REQUIRED

    #define XML_SCHEMAS_ATTR_USE_REQUIRED

    The attribute is required.

    -

    Macro: XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION

    #define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION

    the schema has "extension" in the set of blockDefault.

    -

    Macro: XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION

    #define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION

    the schema has "restriction" in the set of blockDefault.

    -

    Macro: XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION

    #define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION

    the schema has "substitution" in the set of blockDefault.

    -

    Macro: XML_SCHEMAS_ELEM_ABSTRACT

    #define XML_SCHEMAS_ELEM_ABSTRACT

    the element is abstract

    -

    Macro: XML_SCHEMAS_ELEM_BLOCK_ABSENT

    #define XML_SCHEMAS_ELEM_BLOCK_ABSENT

    the "block" attribute is absent

    -

    Macro: XML_SCHEMAS_ELEM_BLOCK_EXTENSION

    #define XML_SCHEMAS_ELEM_BLOCK_EXTENSION

    disallowed substitutions are absent

    -

    Macro: XML_SCHEMAS_ELEM_BLOCK_RESTRICTION

    #define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION

    disallowed substitutions: "restriction"

    -

    Macro: XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION

    #define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION

    disallowed substitutions: "substituion"

    -

    Macro: XML_SCHEMAS_ELEM_CIRCULAR

    #define XML_SCHEMAS_ELEM_CIRCULAR

    a helper flag for the search of circular references.

    -

    Macro: XML_SCHEMAS_ELEM_DEFAULT

    #define XML_SCHEMAS_ELEM_DEFAULT

    the element has a default value

    -

    Macro: XML_SCHEMAS_ELEM_FINAL_ABSENT

    #define XML_SCHEMAS_ELEM_FINAL_ABSENT

    substitution group exclusions are absent

    -

    Macro: XML_SCHEMAS_ELEM_FINAL_EXTENSION

    #define XML_SCHEMAS_ELEM_FINAL_EXTENSION

    substitution group exclusions: "extension"

    -

    Macro: XML_SCHEMAS_ELEM_FINAL_RESTRICTION

    #define XML_SCHEMAS_ELEM_FINAL_RESTRICTION

    substitution group exclusions: "restriction"

    -

    Macro: XML_SCHEMAS_ELEM_FIXED

    #define XML_SCHEMAS_ELEM_FIXED

    the element has a fixed value

    -

    Macro: XML_SCHEMAS_ELEM_GLOBAL

    #define XML_SCHEMAS_ELEM_GLOBAL

    the element is global

    -

    Macro: XML_SCHEMAS_ELEM_INTERNAL_CHECKED

    #define XML_SCHEMAS_ELEM_INTERNAL_CHECKED

    this is set when the elem decl has been checked against all constraints

    -

    Macro: XML_SCHEMAS_ELEM_INTERNAL_RESOLVED

    #define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED

    this is set when "type", "ref", "substitutionGroup" references have been resolved.

    -

    Macro: XML_SCHEMAS_ELEM_NILLABLE

    #define XML_SCHEMAS_ELEM_NILLABLE

    the element is nillable

    -

    Macro: XML_SCHEMAS_ELEM_NSDEFAULT

    #define XML_SCHEMAS_ELEM_NSDEFAULT

    allow elements in no namespace Obsolete, not used anymore.

    -

    Macro: XML_SCHEMAS_ELEM_REF

    #define XML_SCHEMAS_ELEM_REF

    the element is a reference to a type

    -

    Macro: XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD

    #define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD

    the declaration is a substitution group head

    -

    Macro: XML_SCHEMAS_ELEM_TOPLEVEL

    #define XML_SCHEMAS_ELEM_TOPLEVEL

    the element is top level obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead

    -

    Macro: XML_SCHEMAS_FACET_COLLAPSE

    #define XML_SCHEMAS_FACET_COLLAPSE

    collapse the types of the facet

    -

    Macro: XML_SCHEMAS_FACET_PRESERVE

    #define XML_SCHEMAS_FACET_PRESERVE

    preserve the type of the facet

    -

    Macro: XML_SCHEMAS_FACET_REPLACE

    #define XML_SCHEMAS_FACET_REPLACE

    replace the type of the facet

    -

    Macro: XML_SCHEMAS_FACET_UNKNOWN

    #define XML_SCHEMAS_FACET_UNKNOWN

    unknown facet handling

    -

    Macro: XML_SCHEMAS_FINAL_DEFAULT_EXTENSION

    #define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION

    the schema has "extension" in the set of finalDefault.

    -

    Macro: XML_SCHEMAS_FINAL_DEFAULT_LIST

    #define XML_SCHEMAS_FINAL_DEFAULT_LIST

    the cshema has "list" in the set of finalDefault.

    -

    Macro: XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION

    #define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION

    the schema has "restriction" in the set of finalDefault.

    -

    Macro: XML_SCHEMAS_FINAL_DEFAULT_UNION

    #define XML_SCHEMAS_FINAL_DEFAULT_UNION

    the schema has "union" in the set of finalDefault.

    -

    Macro: XML_SCHEMAS_INCLUDING_CONVERT_NS

    #define XML_SCHEMAS_INCLUDING_CONVERT_NS

    the schema is currently including an other schema with no target namespace.

    -

    Macro: XML_SCHEMAS_QUALIF_ATTR

    #define XML_SCHEMAS_QUALIF_ATTR

    Reflects attributeFormDefault == qualified in an XML schema document.

    -

    Macro: XML_SCHEMAS_QUALIF_ELEM

    #define XML_SCHEMAS_QUALIF_ELEM

    Reflects elementFormDefault == qualified in an XML schema document.

    -

    Macro: XML_SCHEMAS_TYPE_ABSTRACT

    #define XML_SCHEMAS_TYPE_ABSTRACT

    the simple/complexType is abstract.

    -

    Macro: XML_SCHEMAS_TYPE_BLOCK_DEFAULT

    #define XML_SCHEMAS_TYPE_BLOCK_DEFAULT

    the complexType did not specify 'block' so use the default of the <schema> item.

    -

    Macro: XML_SCHEMAS_TYPE_BLOCK_EXTENSION

    #define XML_SCHEMAS_TYPE_BLOCK_EXTENSION

    the complexType has a 'block' of "extension".

    -

    Macro: XML_SCHEMAS_TYPE_BLOCK_RESTRICTION

    #define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION

    the complexType has a 'block' of "restriction".

    -

    Macro: XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE

    #define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE

    Marks the item as a builtin primitive.

    -

    Macro: XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION

    #define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION

    the simple or complex type has a derivation method of "extension".

    -

    Macro: XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION

    #define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION

    the simple or complex type has a derivation method of "restriction".

    -

    Macro: XML_SCHEMAS_TYPE_FACETSNEEDVALUE

    #define XML_SCHEMAS_TYPE_FACETSNEEDVALUE

    indicates if the facets need a computed value

    -

    Macro: XML_SCHEMAS_TYPE_FINAL_DEFAULT

    #define XML_SCHEMAS_TYPE_FINAL_DEFAULT

    the simpleType has a final of "default".

    -

    Macro: XML_SCHEMAS_TYPE_FINAL_EXTENSION

    #define XML_SCHEMAS_TYPE_FINAL_EXTENSION

    the complexType has a final of "extension".

    -

    Macro: XML_SCHEMAS_TYPE_FINAL_LIST

    #define XML_SCHEMAS_TYPE_FINAL_LIST

    the simpleType has a final of "list".

    -

    Macro: XML_SCHEMAS_TYPE_FINAL_RESTRICTION

    #define XML_SCHEMAS_TYPE_FINAL_RESTRICTION

    the simpleType/complexType has a final of "restriction".

    -

    Macro: XML_SCHEMAS_TYPE_FINAL_UNION

    #define XML_SCHEMAS_TYPE_FINAL_UNION

    the simpleType has a final of "union".

    -

    Macro: XML_SCHEMAS_TYPE_FIXUP_1

    #define XML_SCHEMAS_TYPE_FIXUP_1

    First stage of fixup was done.

    -

    Macro: XML_SCHEMAS_TYPE_GLOBAL

    #define XML_SCHEMAS_TYPE_GLOBAL

    the type is global

    -

    Macro: XML_SCHEMAS_TYPE_HAS_FACETS

    #define XML_SCHEMAS_TYPE_HAS_FACETS

    has facets

    -

    Macro: XML_SCHEMAS_TYPE_INTERNAL_INVALID

    #define XML_SCHEMAS_TYPE_INTERNAL_INVALID

    indicates that the type is invalid

    -

    Macro: XML_SCHEMAS_TYPE_INTERNAL_RESOLVED

    #define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED

    indicates that the type was typefixed

    -

    Macro: XML_SCHEMAS_TYPE_MARKED

    #define XML_SCHEMAS_TYPE_MARKED

    Marks the item as marked; used for circular checks.

    -

    Macro: XML_SCHEMAS_TYPE_MIXED

    #define XML_SCHEMAS_TYPE_MIXED

    the element content type is mixed

    -

    Macro: XML_SCHEMAS_TYPE_NORMVALUENEEDED

    #define XML_SCHEMAS_TYPE_NORMVALUENEEDED

    indicates if the facets (pattern) need a normalized value

    -

    Macro: XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD

    #define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD

    the complexType owns an attribute wildcard, i.e. it can be freed by the complexType

    -

    Macro: XML_SCHEMAS_TYPE_REDEFINED

    #define XML_SCHEMAS_TYPE_REDEFINED

    The type was redefined.

    -

    Macro: XML_SCHEMAS_TYPE_VARIETY_ABSENT

    #define XML_SCHEMAS_TYPE_VARIETY_ABSENT

    the simpleType has a variety of "absent". TODO: Actually not necessary :-/, since if none of the variety flags occur then it's automatically absent.

    -

    Macro: XML_SCHEMAS_TYPE_VARIETY_ATOMIC

    #define XML_SCHEMAS_TYPE_VARIETY_ATOMIC

    the simpleType has a variety of "union".

    -

    Macro: XML_SCHEMAS_TYPE_VARIETY_LIST

    #define XML_SCHEMAS_TYPE_VARIETY_LIST

    the simpleType has a variety of "list".

    -

    Macro: XML_SCHEMAS_TYPE_VARIETY_UNION

    #define XML_SCHEMAS_TYPE_VARIETY_UNION

    the simpleType has a variety of "union".

    -

    Macro: XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE

    #define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE

    a whitespace-facet value of "collapse"

    -

    Macro: XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE

    #define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE

    a whitespace-facet value of "preserve"

    -

    Macro: XML_SCHEMAS_TYPE_WHITESPACE_REPLACE

    #define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE

    a whitespace-facet value of "replace"

    -

    Macro: XML_SCHEMAS_WILDCARD_COMPLETE

    #define XML_SCHEMAS_WILDCARD_COMPLETE

    If the wildcard is complete.

    -

    Structure xmlSchemaAnnot

    Structure xmlSchemaAnnot
    struct _xmlSchemaAnnot { - struct _xmlSchemaAnnot * next - xmlNodePtr content : the annotation -}

    Structure xmlSchemaAttribute

    Structure xmlSchemaAttribute
    struct _xmlSchemaAttribute { - xmlSchemaTypeType type - struct _xmlSchemaAttribute * next : the next attribute (not used?) - const xmlChar * name : the name of the declaration - const xmlChar * id : Deprecated; not used - const xmlChar * ref : Deprecated; not used - const xmlChar * refNs : Deprecated; not used - const xmlChar * typeName : the local name of the type definition - const xmlChar * typeNs : the ns URI of the type definition - xmlSchemaAnnotPtr annot - xmlSchemaTypePtr base : Deprecated; not used - int occurs : Deprecated; not used - const xmlChar * defValue : The initial value of the value constrai - xmlSchemaTypePtr subtypes : the type definition - xmlNodePtr node - const xmlChar * targetNamespace - int flags - const xmlChar * refPrefix : Deprecated; not used - xmlSchemaValPtr defVal : The compiled value constraint - xmlSchemaAttributePtr refDecl : Deprecated; not used -}

    Structure xmlSchemaAttributeGroup

    Structure xmlSchemaAttributeGroup
    struct _xmlSchemaAttributeGroup { - xmlSchemaTypeType type : The kind of type - struct _xmlSchemaAttribute * next : the next attribute if in a group ... - const xmlChar * name - const xmlChar * id - const xmlChar * ref : Deprecated; not used - const xmlChar * refNs : Deprecated; not used - xmlSchemaAnnotPtr annot - xmlSchemaAttributePtr attributes : Deprecated; not used - xmlNodePtr node - int flags - xmlSchemaWildcardPtr attributeWildcard - const xmlChar * refPrefix : Deprecated; not used - xmlSchemaAttributeGroupPtr refItem : Deprecated; not used - const xmlChar * targetNamespace - void * attrUses -}

    Structure xmlSchemaAttributeLink

    Structure xmlSchemaAttributeLink
    struct _xmlSchemaAttributeLink { - struct _xmlSchemaAttributeLink * next : the next attribute link ... - struct _xmlSchemaAttribute * attr : the linked attribute -}

    Enum xmlSchemaContentType

    Enum xmlSchemaContentType {
    -    XML_SCHEMA_CONTENT_UNKNOWN = 0
    -    XML_SCHEMA_CONTENT_EMPTY = 1
    -    XML_SCHEMA_CONTENT_ELEMENTS = 2
    -    XML_SCHEMA_CONTENT_MIXED = 3
    -    XML_SCHEMA_CONTENT_SIMPLE = 4
    -    XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS = 5 : Obsolete
    -    XML_SCHEMA_CONTENT_BASIC = 6
    -    XML_SCHEMA_CONTENT_ANY = 7
    -}
    -

    Structure xmlSchemaElement

    Structure xmlSchemaElement
    struct _xmlSchemaElement { - xmlSchemaTypeType type : The kind of type - struct _xmlSchemaType * next : Not used? - const xmlChar * name - const xmlChar * id : Deprecated; not used - const xmlChar * ref : Deprecated; not used - const xmlChar * refNs : Deprecated; not used - xmlSchemaAnnotPtr annot - xmlSchemaTypePtr subtypes : the type definition - xmlSchemaAttributePtr attributes - xmlNodePtr node - int minOccurs : Deprecated; not used - int maxOccurs : Deprecated; not used - int flags - const xmlChar * targetNamespace - const xmlChar * namedType - const xmlChar * namedTypeNs - const xmlChar * substGroup - const xmlChar * substGroupNs - const xmlChar * scope - const xmlChar * value : The original value of the value constra - struct _xmlSchemaElement * refDecl : This will now be used for the substitut - xmlRegexpPtr contModel : Obsolete for WXS, maybe used for RelaxN - xmlSchemaContentType contentType - const xmlChar * refPrefix : Deprecated; not used - xmlSchemaValPtr defVal : The compiled value contraint. - void * idcs : The identity-constraint defs -}

    Structure xmlSchemaFacet

    Structure xmlSchemaFacet
    struct _xmlSchemaFacet { - xmlSchemaTypeType type : The kind of type - struct _xmlSchemaFacet * next : the next type if in a sequence ... - const xmlChar * value : The original value - const xmlChar * id : Obsolete - xmlSchemaAnnotPtr annot - xmlNodePtr node - int fixed : XML_SCHEMAS_FACET_PRESERVE, etc. - int whitespace - xmlSchemaValPtr val : The compiled value - xmlRegexpPtr regexp : The regex for patterns -}

    Structure xmlSchemaFacetLink

    Structure xmlSchemaFacetLink
    struct _xmlSchemaFacetLink { - struct _xmlSchemaFacetLink * next : the next facet link ... - xmlSchemaFacetPtr facet : the linked facet -}

    Structure xmlSchemaNotation

    Structure xmlSchemaNotation
    struct _xmlSchemaNotation { - xmlSchemaTypeType type : The kind of type - const xmlChar * name - xmlSchemaAnnotPtr annot - const xmlChar * identifier - const xmlChar * targetNamespace -}

    Structure xmlSchemaType

    Structure xmlSchemaType
    struct _xmlSchemaType { - xmlSchemaTypeType type : The kind of type - struct _xmlSchemaType * next : the next type if in a sequence ... - const xmlChar * name - const xmlChar * id : Deprecated; not used - const xmlChar * ref : Deprecated; not used - const xmlChar * refNs : Deprecated; not used - xmlSchemaAnnotPtr annot - xmlSchemaTypePtr subtypes - xmlSchemaAttributePtr attributes : Deprecated; not used - xmlNodePtr node - int minOccurs : Deprecated; not used - int maxOccurs : Deprecated; not used - int flags - xmlSchemaContentType contentType - const xmlChar * base : Base type's local name - const xmlChar * baseNs : Base type's target namespace - xmlSchemaTypePtr baseType : The base type component - xmlSchemaFacetPtr facets : Local facets - struct _xmlSchemaType * redef : Deprecated; not used - int recurse : Obsolete - xmlSchemaAttributeLinkPtr * attributeUses : Deprecated; not used - xmlSchemaWildcardPtr attributeWildcard - int builtInType : Type of built-in types. - xmlSchemaTypeLinkPtr memberTypes : member-types if a union type. - xmlSchemaFacetLinkPtr facetSet : All facets (incl. inherited) - const xmlChar * refPrefix : Deprecated; not used - xmlSchemaTypePtr contentTypeDef : Used for the simple content of complex - xmlRegexpPtr contModel : Holds the automaton of the content mode - const xmlChar * targetNamespace - void * attrUses -}

    Structure xmlSchemaTypeLink

    Structure xmlSchemaTypeLink
    struct _xmlSchemaTypeLink { - struct _xmlSchemaTypeLink * next : the next type link ... - xmlSchemaTypePtr type : the linked type -}

    Enum xmlSchemaTypeType

    Enum xmlSchemaTypeType {
    -    XML_SCHEMA_TYPE_BASIC = 1 : A built-in datatype
    -    XML_SCHEMA_TYPE_ANY = 2
    -    XML_SCHEMA_TYPE_FACET = 3
    -    XML_SCHEMA_TYPE_SIMPLE = 4
    -    XML_SCHEMA_TYPE_COMPLEX = 5
    -    XML_SCHEMA_TYPE_SEQUENCE = 6
    -    XML_SCHEMA_TYPE_CHOICE = 7
    -    XML_SCHEMA_TYPE_ALL = 8
    -    XML_SCHEMA_TYPE_SIMPLE_CONTENT = 9
    -    XML_SCHEMA_TYPE_COMPLEX_CONTENT = 10
    -    XML_SCHEMA_TYPE_UR = 11
    -    XML_SCHEMA_TYPE_RESTRICTION = 12
    -    XML_SCHEMA_TYPE_EXTENSION = 13
    -    XML_SCHEMA_TYPE_ELEMENT = 14
    -    XML_SCHEMA_TYPE_ATTRIBUTE = 15
    -    XML_SCHEMA_TYPE_ATTRIBUTEGROUP = 16
    -    XML_SCHEMA_TYPE_GROUP = 17
    -    XML_SCHEMA_TYPE_NOTATION = 18
    -    XML_SCHEMA_TYPE_LIST = 19
    -    XML_SCHEMA_TYPE_UNION = 20
    -    XML_SCHEMA_TYPE_ANY_ATTRIBUTE = 21
    -    XML_SCHEMA_TYPE_IDC_UNIQUE = 22
    -    XML_SCHEMA_TYPE_IDC_KEY = 23
    -    XML_SCHEMA_TYPE_IDC_KEYREF = 24
    -    XML_SCHEMA_TYPE_PARTICLE = 25
    -    XML_SCHEMA_TYPE_ATTRIBUTE_USE = 26
    -    XML_SCHEMA_FACET_MININCLUSIVE = 1000
    -    XML_SCHEMA_FACET_MINEXCLUSIVE = 1001
    -    XML_SCHEMA_FACET_MAXINCLUSIVE = 1002
    -    XML_SCHEMA_FACET_MAXEXCLUSIVE = 1003
    -    XML_SCHEMA_FACET_TOTALDIGITS = 1004
    -    XML_SCHEMA_FACET_FRACTIONDIGITS = 1005
    -    XML_SCHEMA_FACET_PATTERN = 1006
    -    XML_SCHEMA_FACET_ENUMERATION = 1007
    -    XML_SCHEMA_FACET_WHITESPACE = 1008
    -    XML_SCHEMA_FACET_LENGTH = 1009
    -    XML_SCHEMA_FACET_MAXLENGTH = 1010
    -    XML_SCHEMA_FACET_MINLENGTH = 1011
    -    XML_SCHEMA_EXTRA_QNAMEREF = 2000
    -    XML_SCHEMA_EXTRA_ATTR_USE_PROHIB = 2001
    -}
    -

    Structure xmlSchemaVal

    Structure xmlSchemaVal
    struct _xmlSchemaVal { -The content of this structure is not made public by the API. -}

    Enum xmlSchemaValType

    Enum xmlSchemaValType {
    -    XML_SCHEMAS_UNKNOWN = 0
    -    XML_SCHEMAS_STRING = 1
    -    XML_SCHEMAS_NORMSTRING = 2
    -    XML_SCHEMAS_DECIMAL = 3
    -    XML_SCHEMAS_TIME = 4
    -    XML_SCHEMAS_GDAY = 5
    -    XML_SCHEMAS_GMONTH = 6
    -    XML_SCHEMAS_GMONTHDAY = 7
    -    XML_SCHEMAS_GYEAR = 8
    -    XML_SCHEMAS_GYEARMONTH = 9
    -    XML_SCHEMAS_DATE = 10
    -    XML_SCHEMAS_DATETIME = 11
    -    XML_SCHEMAS_DURATION = 12
    -    XML_SCHEMAS_FLOAT = 13
    -    XML_SCHEMAS_DOUBLE = 14
    -    XML_SCHEMAS_BOOLEAN = 15
    -    XML_SCHEMAS_TOKEN = 16
    -    XML_SCHEMAS_LANGUAGE = 17
    -    XML_SCHEMAS_NMTOKEN = 18
    -    XML_SCHEMAS_NMTOKENS = 19
    -    XML_SCHEMAS_NAME = 20
    -    XML_SCHEMAS_QNAME = 21
    -    XML_SCHEMAS_NCNAME = 22
    -    XML_SCHEMAS_ID = 23
    -    XML_SCHEMAS_IDREF = 24
    -    XML_SCHEMAS_IDREFS = 25
    -    XML_SCHEMAS_ENTITY = 26
    -    XML_SCHEMAS_ENTITIES = 27
    -    XML_SCHEMAS_NOTATION = 28
    -    XML_SCHEMAS_ANYURI = 29
    -    XML_SCHEMAS_INTEGER = 30
    -    XML_SCHEMAS_NPINTEGER = 31
    -    XML_SCHEMAS_NINTEGER = 32
    -    XML_SCHEMAS_NNINTEGER = 33
    -    XML_SCHEMAS_PINTEGER = 34
    -    XML_SCHEMAS_INT = 35
    -    XML_SCHEMAS_UINT = 36
    -    XML_SCHEMAS_LONG = 37
    -    XML_SCHEMAS_ULONG = 38
    -    XML_SCHEMAS_SHORT = 39
    -    XML_SCHEMAS_USHORT = 40
    -    XML_SCHEMAS_BYTE = 41
    -    XML_SCHEMAS_UBYTE = 42
    -    XML_SCHEMAS_HEXBINARY = 43
    -    XML_SCHEMAS_BASE64BINARY = 44
    -    XML_SCHEMAS_ANYTYPE = 45
    -    XML_SCHEMAS_ANYSIMPLETYPE = 46
    -}
    -

    Structure xmlSchemaWildcard

    Structure xmlSchemaWildcard
    struct _xmlSchemaWildcard { - xmlSchemaTypeType type : The kind of type - const xmlChar * id : Deprecated; not used - xmlSchemaAnnotPtr annot - xmlNodePtr node - int minOccurs : Deprecated; not used - int maxOccurs : Deprecated; not used - int processContents - int any : Indicates if the ns constraint is of ## - xmlSchemaWildcardNsPtr nsSet : The list of allowed namespaces - xmlSchemaWildcardNsPtr negNsSet : The negated namespace - int flags -}

    Structure xmlSchemaWildcardNs

    Structure xmlSchemaWildcardNs
    struct _xmlSchemaWildcardNs { - struct _xmlSchemaWildcardNs * next : the next constraint link ... - const xmlChar * value : the value -}

    Function: xmlSchemaFreeType

    void	xmlSchemaFreeType		(xmlSchemaTypePtr type)
    -

    Deallocate a Schema Type structure.

    -
    type:a schema type structure

    Function: xmlSchemaFreeWildcard

    void	xmlSchemaFreeWildcard		(xmlSchemaWildcardPtr wildcard)
    -

    Deallocates a wildcard structure.

    -
    wildcard:a wildcard structure

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-schematron.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-schematron.html deleted file mode 100644 index 1620fa7..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-schematron.html +++ /dev/null @@ -1,81 +0,0 @@ - - -Module schematron from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module schematron from libxml2

    API Menu
    API Indexes
    Related links

    interface to the XML Schematron validity checking.

    Table of Contents

    Structure xmlSchematron
    struct _xmlSchematron -The content of this structure is not made public by the API. -
    Structure xmlSchematronParserCtxt
    struct _xmlSchematronParserCtxt -The content of this structure is not made public by the API. -
    Typedef xmlSchematronParserCtxt * xmlSchematronParserCtxtPtr
    -
    Typedef xmlSchematron * xmlSchematronPtr
    -
    Structure xmlSchematronValidCtxt
    struct _xmlSchematronValidCtxt -The content of this structure is not made public by the API. -
    Typedef xmlSchematronValidCtxt * xmlSchematronValidCtxtPtr
    -
    Enum xmlSchematronValidOptions
    -
    void	xmlSchematronFree		(xmlSchematronPtr schema)
    -
    void	xmlSchematronFreeParserCtxt	(xmlSchematronParserCtxtPtr ctxt)
    -
    void	xmlSchematronFreeValidCtxt	(xmlSchematronValidCtxtPtr ctxt)
    -
    xmlSchematronParserCtxtPtr	xmlSchematronNewDocParserCtxt	(xmlDocPtr doc)
    -
    xmlSchematronParserCtxtPtr	xmlSchematronNewMemParserCtxt	(const char * buffer, 
    int size)
    -
    xmlSchematronParserCtxtPtr	xmlSchematronNewParserCtxt	(const char * URL)
    -
    xmlSchematronValidCtxtPtr	xmlSchematronNewValidCtxt	(xmlSchematronPtr schema, 
    int options)
    -
    xmlSchematronPtr	xmlSchematronParse	(xmlSchematronParserCtxtPtr ctxt)
    -
    void	xmlSchematronSetValidStructuredErrors	(xmlSchematronValidCtxtPtr ctxt, 
    xmlStructuredErrorFunc serror,
    void * ctx)
    -
    int	xmlSchematronValidateDoc	(xmlSchematronValidCtxtPtr ctxt, 
    xmlDocPtr instance)
    -
    Function type: xmlSchematronValidityErrorFunc
    -void	xmlSchematronValidityErrorFunc	(void * ctx, 
    const char * msg,
    ... ...) -
    -
    Function type: xmlSchematronValidityWarningFunc
    -void	xmlSchematronValidityWarningFunc	(void * ctx, 
    const char * msg,
    ... ...) -
    -

    Description

    -

    Structure xmlSchematron

    Structure xmlSchematron
    struct _xmlSchematron { -The content of this structure is not made public by the API. -}

    Structure xmlSchematronParserCtxt

    Structure xmlSchematronParserCtxt
    struct _xmlSchematronParserCtxt { -The content of this structure is not made public by the API. -}

    Structure xmlSchematronValidCtxt

    Structure xmlSchematronValidCtxt
    struct _xmlSchematronValidCtxt { -The content of this structure is not made public by the API. -}

    Enum xmlSchematronValidOptions

    Enum xmlSchematronValidOptions {
    -    XML_SCHEMATRON_OUT_QUIET = 1 : quiet no report
    -    XML_SCHEMATRON_OUT_TEXT = 2 : build a textual report
    -    XML_SCHEMATRON_OUT_XML = 4 : output SVRL
    -    XML_SCHEMATRON_OUT_ERROR = 8 : output via xmlStructuredErrorFunc
    -    XML_SCHEMATRON_OUT_FILE = 256 : output to a file descriptor
    -    XML_SCHEMATRON_OUT_BUFFER = 512 : output to a buffer
    -    XML_SCHEMATRON_OUT_IO = 1024 : output to I/O mechanism
    -}
    -

    Function: xmlSchematronFree

    void	xmlSchematronFree		(xmlSchematronPtr schema)
    -

    Deallocate a Schematron structure.

    -
    schema:a schema structure

    Function: xmlSchematronFreeParserCtxt

    void	xmlSchematronFreeParserCtxt	(xmlSchematronParserCtxtPtr ctxt)
    -

    Free the resources associated to the schema parser context

    -
    ctxt:the schema parser context

    Function: xmlSchematronFreeValidCtxt

    void	xmlSchematronFreeValidCtxt	(xmlSchematronValidCtxtPtr ctxt)
    -

    Free the resources associated to the schema validation context

    -
    ctxt:the schema validation context

    Function: xmlSchematronNewDocParserCtxt

    xmlSchematronParserCtxtPtr	xmlSchematronNewDocParserCtxt	(xmlDocPtr doc)
    -

    Create an XML Schematrons parse context for that document. NB. The document may be modified during the parsing process.

    -
    doc:a preparsed document tree
    Returns:the parser context or NULL in case of error

    Function: xmlSchematronNewMemParserCtxt

    xmlSchematronParserCtxtPtr	xmlSchematronNewMemParserCtxt	(const char * buffer, 
    int size)
    -

    Create an XML Schematrons parse context for that memory buffer expected to contain an XML Schematrons file.

    -
    buffer:a pointer to a char array containing the schemas
    size:the size of the array
    Returns:the parser context or NULL in case of error

    Function: xmlSchematronNewParserCtxt

    xmlSchematronParserCtxtPtr	xmlSchematronNewParserCtxt	(const char * URL)
    -

    Create an XML Schematrons parse context for that file/resource expected to contain an XML Schematrons file.

    -
    URL:the location of the schema
    Returns:the parser context or NULL in case of error

    Function: xmlSchematronNewValidCtxt

    xmlSchematronValidCtxtPtr	xmlSchematronNewValidCtxt	(xmlSchematronPtr schema, 
    int options)
    -

    Create an XML Schematrons validation context based on the given schema.

    -
    schema:a precompiled XML Schematrons
    options:a set of xmlSchematronValidOptions
    Returns:the validation context or NULL in case of error

    Function: xmlSchematronParse

    xmlSchematronPtr	xmlSchematronParse	(xmlSchematronParserCtxtPtr ctxt)
    -

    parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.

    -
    ctxt:a schema validation context
    Returns:the internal XML Schematron structure built from the resource or NULL in case of error

    Function: xmlSchematronSetValidStructuredErrors

    void	xmlSchematronSetValidStructuredErrors	(xmlSchematronValidCtxtPtr ctxt, 
    xmlStructuredErrorFunc serror,
    void * ctx)
    -

    Set the structured error callback

    -
    ctxt:a Schematron validation context
    serror:the structured error function
    ctx:the functions context

    Function: xmlSchematronValidateDoc

    int	xmlSchematronValidateDoc	(xmlSchematronValidCtxtPtr ctxt, 
    xmlDocPtr instance)
    -

    Validate a tree instance against the schematron

    -
    ctxt:the schema validation context
    instance:the document instace tree
    Returns:0 in case of success, -1 in case of internal error and an error count otherwise.

    Function type: xmlSchematronValidityErrorFunc

    Function type: xmlSchematronValidityErrorFunc
    -void	xmlSchematronValidityErrorFunc	(void * ctx, 
    const char * msg,
    ... ...) -

    Signature of an error callback from a Schematron validation

    ctx:the validation context
    msg:the message
    ...:extra arguments

    -

    Function type: xmlSchematronValidityWarningFunc

    Function type: xmlSchematronValidityWarningFunc
    -void	xmlSchematronValidityWarningFunc	(void * ctx, 
    const char * msg,
    ... ...) -

    Signature of a warning callback from a Schematron validation

    ctx:the validation context
    msg:the message
    ...:extra arguments

    -

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-threads.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-threads.html deleted file mode 100644 index 3c1d1ec..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-threads.html +++ /dev/null @@ -1,72 +0,0 @@ - - -Module threads from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module threads from libxml2

    API Menu
    API Indexes
    Related links

    set of generic threading related routines should work with pthreads, Windows native or TLS threads

    Table of Contents

    Structure xmlMutex
    struct _xmlMutex -The content of this structure is not made public by the API. -
    Typedef xmlMutex * xmlMutexPtr
    -
    Structure xmlRMutex
    struct _xmlRMutex -The content of this structure is not made public by the API. -
    Typedef xmlRMutex * xmlRMutexPtr
    -
    void	xmlCleanupThreads		(void)
    -
    int	xmlDllMain			(void * hinstDLL, 
    unsigned long fdwReason,
    void * lpvReserved)
    -
    void	xmlFreeMutex			(xmlMutexPtr tok)
    -
    void	xmlFreeRMutex			(xmlRMutexPtr tok)
    -
    xmlGlobalStatePtr	xmlGetGlobalState	(void)
    -
    int	xmlGetThreadId			(void)
    -
    void	xmlInitThreads			(void)
    -
    int	xmlIsMainThread			(void)
    -
    void	xmlLockLibrary			(void)
    -
    void	xmlMutexLock			(xmlMutexPtr tok)
    -
    void	xmlMutexUnlock			(xmlMutexPtr tok)
    -
    xmlMutexPtr	xmlNewMutex		(void)
    -
    xmlRMutexPtr	xmlNewRMutex		(void)
    -
    void	xmlRMutexLock			(xmlRMutexPtr tok)
    -
    void	xmlRMutexUnlock			(xmlRMutexPtr tok)
    -
    void	xmlUnlockLibrary		(void)
    -

    Description

    -

    Structure xmlMutex

    Structure xmlMutex
    struct _xmlMutex { -The content of this structure is not made public by the API. -}

    Structure xmlRMutex

    Structure xmlRMutex
    struct _xmlRMutex { -The content of this structure is not made public by the API. -}

    Function: xmlCleanupThreads

    void	xmlCleanupThreads		(void)
    -

    xmlCleanupThreads() is used to to cleanup all the thread related data of the libxml2 library once processing has ended. WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It's sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !

    -

    Function: xmlDllMain

    int	xmlDllMain			(void * hinstDLL, 
    unsigned long fdwReason,
    void * lpvReserved)
    -

    -
    hinstDLL:
    fdwReason:
    lpvReserved:
    Returns:

    Function: xmlFreeMutex

    void	xmlFreeMutex			(xmlMutexPtr tok)
    -

    xmlFreeMutex() is used to reclaim resources associated with a libxml2 token struct.

    -
    tok:the simple mutex

    Function: xmlFreeRMutex

    void	xmlFreeRMutex			(xmlRMutexPtr tok)
    -

    xmlRFreeMutex() is used to reclaim resources associated with a reentrant mutex.

    -
    tok:the reentrant mutex

    Function: xmlGetGlobalState

    xmlGlobalStatePtr	xmlGetGlobalState	(void)
    -

    xmlGetGlobalState() is called to retrieve the global state for a thread.

    -
    Returns:the thread global state or NULL in case of error

    Function: xmlGetThreadId

    int	xmlGetThreadId			(void)
    -

    xmlGetThreadId() find the current thread ID number Note that this is likely to be broken on some platforms using pthreads as the specification doesn't mandate pthread_t to be an integer type

    -
    Returns:the current thread ID number

    Function: xmlInitThreads

    void	xmlInitThreads			(void)
    -

    xmlInitThreads() is used to to initialize all the thread related data of the libxml2 library.

    -

    Function: xmlIsMainThread

    int	xmlIsMainThread			(void)
    -

    xmlIsMainThread() check whether the current thread is the main thread.

    -
    Returns:1 if the current thread is the main thread, 0 otherwise

    Function: xmlLockLibrary

    void	xmlLockLibrary			(void)
    -

    xmlLockLibrary() is used to take out a re-entrant lock on the libxml2 library.

    -

    Function: xmlMutexLock

    void	xmlMutexLock			(xmlMutexPtr tok)
    -

    xmlMutexLock() is used to lock a libxml2 token.

    -
    tok:the simple mutex

    Function: xmlMutexUnlock

    void	xmlMutexUnlock			(xmlMutexPtr tok)
    -

    xmlMutexUnlock() is used to unlock a libxml2 token.

    -
    tok:the simple mutex

    Function: xmlNewMutex

    xmlMutexPtr	xmlNewMutex		(void)
    -

    xmlNewMutex() is used to allocate a libxml2 token struct for use in synchronizing access to data.

    -
    Returns:a new simple mutex pointer or NULL in case of error

    Function: xmlNewRMutex

    xmlRMutexPtr	xmlNewRMutex		(void)
    -

    xmlRNewMutex() is used to allocate a reentrant mutex for use in synchronizing access to data. token_r is a re-entrant lock and thus useful for synchronizing access to data structures that may be manipulated in a recursive fashion.

    -
    Returns:the new reentrant mutex pointer or NULL in case of error

    Function: xmlRMutexLock

    void	xmlRMutexLock			(xmlRMutexPtr tok)
    -

    xmlRMutexLock() is used to lock a libxml2 token_r.

    -
    tok:the reentrant mutex

    Function: xmlRMutexUnlock

    void	xmlRMutexUnlock			(xmlRMutexPtr tok)
    -

    xmlRMutexUnlock() is used to unlock a libxml2 token_r.

    -
    tok:the reentrant mutex

    Function: xmlUnlockLibrary

    void	xmlUnlockLibrary		(void)
    -

    xmlUnlockLibrary() is used to release a re-entrant lock on the libxml2 library.

    -

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-tree.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-tree.html deleted file mode 100644 index eb7c2bc..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-tree.html +++ /dev/null @@ -1,963 +0,0 @@ - - -Module tree from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module tree from libxml2

    API Menu
    API Indexes
    Related links

    this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as the API provided for various processing on that tree

    Table of Contents

    #define BASE_BUFFER_SIZE
    #define XML_GET_CONTENT
    #define XML_GET_LINE
    #define XML_LOCAL_NAMESPACE
    #define XML_XML_ID
    #define XML_XML_NAMESPACE
    #define xmlChildrenNode
    #define xmlRootNode
    Structure xmlAttr
    struct _xmlAttr -
    Typedef xmlAttr * xmlAttrPtr
    -
    Structure xmlAttribute
    struct _xmlAttribute -
    Enum xmlAttributeDefault
    -
    Typedef xmlAttribute * xmlAttributePtr
    -
    Enum xmlAttributeType
    -
    Structure xmlBuffer
    struct _xmlBuffer -
    Enum xmlBufferAllocationScheme
    -
    Typedef xmlBuffer * xmlBufferPtr
    -
    Structure xmlDOMWrapCtxt
    struct _xmlDOMWrapCtxt -
    Typedef xmlDOMWrapCtxt * xmlDOMWrapCtxtPtr
    -
    Structure xmlDoc
    struct _xmlDoc -
    Enum xmlDocProperties
    -
    Typedef xmlDoc * xmlDocPtr
    -
    Structure xmlDtd
    struct _xmlDtd -
    Typedef xmlDtd * xmlDtdPtr
    -
    Structure xmlElement
    struct _xmlElement -
    Structure xmlElementContent
    struct _xmlElementContent -
    Enum xmlElementContentOccur
    -
    Typedef xmlElementContent * xmlElementContentPtr
    -
    Enum xmlElementContentType
    -
    Typedef xmlElement * xmlElementPtr
    -
    Enum xmlElementType
    -
    Enum xmlElementTypeVal
    -
    Structure xmlEntity
    struct _xmlEntity -
    Typedef xmlEntity * xmlEntityPtr
    -
    Structure xmlEnumeration
    struct _xmlEnumeration -
    Typedef xmlEnumeration * xmlEnumerationPtr
    -
    Structure xmlID
    struct _xmlID -
    Typedef xmlID * xmlIDPtr
    -
    Structure xmlNode
    struct _xmlNode -
    Typedef xmlNode * xmlNodePtr
    -
    Structure xmlNotation
    struct _xmlNotation -
    Typedef xmlNotation * xmlNotationPtr
    -
    Structure xmlNs
    struct _xmlNs -
    Typedef xmlNs * xmlNsPtr
    -
    Typedef xmlElementType xmlNsType
    -
    Structure xmlOutputBuffer
    struct _xmlOutputBuffer -
    Typedef xmlOutputBuffer * xmlOutputBufferPtr
    -
    Structure xmlParserCtxt
    struct _xmlParserCtxt -
    Typedef xmlParserCtxt * xmlParserCtxtPtr
    -
    Structure xmlParserInput
    struct _xmlParserInput -
    Structure xmlParserInputBuffer
    struct _xmlParserInputBuffer -
    Typedef xmlParserInputBuffer * xmlParserInputBufferPtr
    -
    Typedef xmlParserInput * xmlParserInputPtr
    -
    Structure xmlRef
    struct _xmlRef -
    Typedef xmlRef * xmlRefPtr
    -
    Structure xmlSAXHandler
    struct _xmlSAXHandler -
    Typedef xmlSAXHandler * xmlSAXHandlerPtr
    -
    Structure xmlSAXLocator
    struct _xmlSAXLocator -
    Typedef xmlSAXLocator * xmlSAXLocatorPtr
    -
    xmlNodePtr	xmlAddChild		(xmlNodePtr parent, 
    xmlNodePtr cur)
    -
    xmlNodePtr	xmlAddChildList		(xmlNodePtr parent, 
    xmlNodePtr cur)
    -
    xmlNodePtr	xmlAddNextSibling	(xmlNodePtr cur, 
    xmlNodePtr elem)
    -
    xmlNodePtr	xmlAddPrevSibling	(xmlNodePtr cur, 
    xmlNodePtr elem)
    -
    xmlNodePtr	xmlAddSibling		(xmlNodePtr cur, 
    xmlNodePtr elem)
    -
    void	xmlAttrSerializeTxtContent	(xmlBufferPtr buf, 
    xmlDocPtr doc,
    xmlAttrPtr attr,
    const xmlChar * string)
    -
    int	xmlBufferAdd			(xmlBufferPtr buf, 
    const xmlChar * str,
    int len)
    -
    int	xmlBufferAddHead		(xmlBufferPtr buf, 
    const xmlChar * str,
    int len)
    -
    int	xmlBufferCCat			(xmlBufferPtr buf, 
    const char * str)
    -
    int	xmlBufferCat			(xmlBufferPtr buf, 
    const xmlChar * str)
    -
    const xmlChar *	xmlBufferContent	(const xmlBufferPtr buf)
    -
    xmlBufferPtr	xmlBufferCreate		(void)
    -
    xmlBufferPtr	xmlBufferCreateSize	(size_t size)
    -
    xmlBufferPtr	xmlBufferCreateStatic	(void * mem, 
    size_t size)
    -
    xmlChar *	xmlBufferDetach		(xmlBufferPtr buf)
    -
    int	xmlBufferDump			(FILE * file, 
    xmlBufferPtr buf)
    -
    void	xmlBufferEmpty			(xmlBufferPtr buf)
    -
    void	xmlBufferFree			(xmlBufferPtr buf)
    -
    int	xmlBufferGrow			(xmlBufferPtr buf, 
    unsigned int len)
    -
    int	xmlBufferLength			(const xmlBufferPtr buf)
    -
    int	xmlBufferResize			(xmlBufferPtr buf, 
    unsigned int size)
    -
    void	xmlBufferSetAllocationScheme	(xmlBufferPtr buf, 
    xmlBufferAllocationScheme scheme)
    -
    int	xmlBufferShrink			(xmlBufferPtr buf, 
    unsigned int len)
    -
    void	xmlBufferWriteCHAR		(xmlBufferPtr buf, 
    const xmlChar * string)
    -
    void	xmlBufferWriteChar		(xmlBufferPtr buf, 
    const char * string)
    -
    void	xmlBufferWriteQuotedString	(xmlBufferPtr buf, 
    const xmlChar * string)
    -
    xmlChar *	xmlBuildQName		(const xmlChar * ncname, 
    const xmlChar * prefix,
    xmlChar * memory,
    int len)
    -
    unsigned long	xmlChildElementCount	(xmlNodePtr parent)
    -
    xmlDocPtr	xmlCopyDoc		(xmlDocPtr doc, 
    int recursive)
    -
    xmlDtdPtr	xmlCopyDtd		(xmlDtdPtr dtd)
    -
    xmlNsPtr	xmlCopyNamespace	(xmlNsPtr cur)
    -
    xmlNsPtr	xmlCopyNamespaceList	(xmlNsPtr cur)
    -
    xmlNodePtr	xmlCopyNode		(const xmlNodePtr node, 
    int extended)
    -
    xmlNodePtr	xmlCopyNodeList		(const xmlNodePtr node)
    -
    xmlAttrPtr	xmlCopyProp		(xmlNodePtr target, 
    xmlAttrPtr cur)
    -
    xmlAttrPtr	xmlCopyPropList		(xmlNodePtr target, 
    xmlAttrPtr cur)
    -
    xmlDtdPtr	xmlCreateIntSubset	(xmlDocPtr doc, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    -
    Function type: xmlDOMWrapAcquireNsFunction
    -xmlNsPtr	xmlDOMWrapAcquireNsFunction	(xmlDOMWrapCtxtPtr ctxt, 
    xmlNodePtr node,
    const xmlChar * nsName,
    const xmlChar * nsPrefix) -
    -
    int	xmlDOMWrapAdoptNode		(xmlDOMWrapCtxtPtr ctxt, 
    xmlDocPtr sourceDoc,
    xmlNodePtr node,
    xmlDocPtr destDoc,
    xmlNodePtr destParent,
    int options)
    -
    int	xmlDOMWrapCloneNode		(xmlDOMWrapCtxtPtr ctxt, 
    xmlDocPtr sourceDoc,
    xmlNodePtr node,
    xmlNodePtr * resNode,
    xmlDocPtr destDoc,
    xmlNodePtr destParent,
    int deep,
    int options)
    -
    void	xmlDOMWrapFreeCtxt		(xmlDOMWrapCtxtPtr ctxt)
    -
    xmlDOMWrapCtxtPtr	xmlDOMWrapNewCtxt	(void)
    -
    int	xmlDOMWrapReconcileNamespaces	(xmlDOMWrapCtxtPtr ctxt, 
    xmlNodePtr elem,
    int options)
    -
    int	xmlDOMWrapRemoveNode		(xmlDOMWrapCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr node,
    int options)
    -
    xmlNodePtr	xmlDocCopyNode		(const xmlNodePtr node, 
    xmlDocPtr doc,
    int extended)
    -
    xmlNodePtr	xmlDocCopyNodeList	(xmlDocPtr doc, 
    const xmlNodePtr node)
    -
    int	xmlDocDump			(FILE * f, 
    xmlDocPtr cur)
    -
    void	xmlDocDumpFormatMemory		(xmlDocPtr cur, 
    xmlChar ** mem,
    int * size,
    int format)
    -
    void	xmlDocDumpFormatMemoryEnc	(xmlDocPtr out_doc, 
    xmlChar ** doc_txt_ptr,
    int * doc_txt_len,
    const char * txt_encoding,
    int format)
    -
    void	xmlDocDumpMemory		(xmlDocPtr cur, 
    xmlChar ** mem,
    int * size)
    -
    void	xmlDocDumpMemoryEnc		(xmlDocPtr out_doc, 
    xmlChar ** doc_txt_ptr,
    int * doc_txt_len,
    const char * txt_encoding)
    -
    int	xmlDocFormatDump		(FILE * f, 
    xmlDocPtr cur,
    int format)
    -
    xmlNodePtr	xmlDocGetRootElement	(xmlDocPtr doc)
    -
    xmlNodePtr	xmlDocSetRootElement	(xmlDocPtr doc, 
    xmlNodePtr root)
    -
    void	xmlElemDump			(FILE * f, 
    xmlDocPtr doc,
    xmlNodePtr cur)
    -
    xmlNodePtr	xmlFirstElementChild	(xmlNodePtr parent)
    -
    void	xmlFreeDoc			(xmlDocPtr cur)
    -
    void	xmlFreeDtd			(xmlDtdPtr cur)
    -
    void	xmlFreeNode			(xmlNodePtr cur)
    -
    void	xmlFreeNodeList			(xmlNodePtr cur)
    -
    void	xmlFreeNs			(xmlNsPtr cur)
    -
    void	xmlFreeNsList			(xmlNsPtr cur)
    -
    void	xmlFreeProp			(xmlAttrPtr cur)
    -
    void	xmlFreePropList			(xmlAttrPtr cur)
    -
    xmlBufferAllocationScheme	xmlGetBufferAllocationScheme	(void)
    -
    int	xmlGetCompressMode		(void)
    -
    int	xmlGetDocCompressMode		(xmlDocPtr doc)
    -
    xmlDtdPtr	xmlGetIntSubset		(xmlDocPtr doc)
    -
    xmlNodePtr	xmlGetLastChild		(xmlNodePtr parent)
    -
    long	xmlGetLineNo			(xmlNodePtr node)
    -
    xmlChar *	xmlGetNoNsProp		(xmlNodePtr node, 
    const xmlChar * name)
    -
    xmlChar *	xmlGetNodePath		(xmlNodePtr node)
    -
    xmlNsPtr *	xmlGetNsList		(xmlDocPtr doc, 
    xmlNodePtr node)
    -
    xmlChar *	xmlGetNsProp		(xmlNodePtr node, 
    const xmlChar * name,
    const xmlChar * nameSpace)
    -
    xmlChar *	xmlGetProp		(xmlNodePtr node, 
    const xmlChar * name)
    -
    xmlAttrPtr	xmlHasNsProp		(xmlNodePtr node, 
    const xmlChar * name,
    const xmlChar * nameSpace)
    -
    xmlAttrPtr	xmlHasProp		(xmlNodePtr node, 
    const xmlChar * name)
    -
    int	xmlIsBlankNode			(xmlNodePtr node)
    -
    int	xmlIsXHTML			(const xmlChar * systemID, 
    const xmlChar * publicID)
    -
    xmlNodePtr	xmlLastElementChild	(xmlNodePtr parent)
    -
    xmlNodePtr	xmlNewCDataBlock	(xmlDocPtr doc, 
    const xmlChar * content,
    int len)
    -
    xmlNodePtr	xmlNewCharRef		(xmlDocPtr doc, 
    const xmlChar * name)
    -
    xmlNodePtr	xmlNewChild		(xmlNodePtr parent, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * content)
    -
    xmlNodePtr	xmlNewComment		(const xmlChar * content)
    -
    xmlDocPtr	xmlNewDoc		(const xmlChar * version)
    -
    xmlNodePtr	xmlNewDocComment	(xmlDocPtr doc, 
    const xmlChar * content)
    -
    xmlNodePtr	xmlNewDocFragment	(xmlDocPtr doc)
    -
    xmlNodePtr	xmlNewDocNode		(xmlDocPtr doc, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * content)
    -
    xmlNodePtr	xmlNewDocNodeEatName	(xmlDocPtr doc, 
    xmlNsPtr ns,
    xmlChar * name,
    const xmlChar * content)
    -
    xmlNodePtr	xmlNewDocPI		(xmlDocPtr doc, 
    const xmlChar * name,
    const xmlChar * content)
    -
    xmlAttrPtr	xmlNewDocProp		(xmlDocPtr doc, 
    const xmlChar * name,
    const xmlChar * value)
    -
    xmlNodePtr	xmlNewDocRawNode	(xmlDocPtr doc, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * content)
    -
    xmlNodePtr	xmlNewDocText		(xmlDocPtr doc, 
    const xmlChar * content)
    -
    xmlNodePtr	xmlNewDocTextLen	(xmlDocPtr doc, 
    const xmlChar * content,
    int len)
    -
    xmlDtdPtr	xmlNewDtd		(xmlDocPtr doc, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    -
    xmlNsPtr	xmlNewGlobalNs		(xmlDocPtr doc, 
    const xmlChar * href,
    const xmlChar * prefix)
    -
    xmlNodePtr	xmlNewNode		(xmlNsPtr ns, 
    const xmlChar * name)
    -
    xmlNodePtr	xmlNewNodeEatName	(xmlNsPtr ns, 
    xmlChar * name)
    -
    xmlNsPtr	xmlNewNs		(xmlNodePtr node, 
    const xmlChar * href,
    const xmlChar * prefix)
    -
    xmlAttrPtr	xmlNewNsProp		(xmlNodePtr node, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * value)
    -
    xmlAttrPtr	xmlNewNsPropEatName	(xmlNodePtr node, 
    xmlNsPtr ns,
    xmlChar * name,
    const xmlChar * value)
    -
    xmlNodePtr	xmlNewPI		(const xmlChar * name, 
    const xmlChar * content)
    -
    xmlAttrPtr	xmlNewProp		(xmlNodePtr node, 
    const xmlChar * name,
    const xmlChar * value)
    -
    xmlNodePtr	xmlNewReference		(xmlDocPtr doc, 
    const xmlChar * name)
    -
    xmlNodePtr	xmlNewText		(const xmlChar * content)
    -
    xmlNodePtr	xmlNewTextChild		(xmlNodePtr parent, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * content)
    -
    xmlNodePtr	xmlNewTextLen		(const xmlChar * content, 
    int len)
    -
    xmlNodePtr	xmlNextElementSibling	(xmlNodePtr node)
    -
    void	xmlNodeAddContent		(xmlNodePtr cur, 
    const xmlChar * content)
    -
    void	xmlNodeAddContentLen		(xmlNodePtr cur, 
    const xmlChar * content,
    int len)
    -
    int	xmlNodeBufGetContent		(xmlBufferPtr buffer, 
    xmlNodePtr cur)
    -
    int	xmlNodeDump			(xmlBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    int level,
    int format)
    -
    void	xmlNodeDumpOutput		(xmlOutputBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    int level,
    int format,
    const char * encoding)
    -
    xmlChar *	xmlNodeGetBase		(xmlDocPtr doc, 
    xmlNodePtr cur)
    -
    xmlChar *	xmlNodeGetContent	(xmlNodePtr cur)
    -
    xmlChar *	xmlNodeGetLang		(xmlNodePtr cur)
    -
    int	xmlNodeGetSpacePreserve		(xmlNodePtr cur)
    -
    int	xmlNodeIsText			(xmlNodePtr node)
    -
    xmlChar *	xmlNodeListGetRawString	(xmlDocPtr doc, 
    xmlNodePtr list,
    int inLine)
    -
    xmlChar *	xmlNodeListGetString	(xmlDocPtr doc, 
    xmlNodePtr list,
    int inLine)
    -
    void	xmlNodeSetBase			(xmlNodePtr cur, 
    const xmlChar * uri)
    -
    void	xmlNodeSetContent		(xmlNodePtr cur, 
    const xmlChar * content)
    -
    void	xmlNodeSetContentLen		(xmlNodePtr cur, 
    const xmlChar * content,
    int len)
    -
    void	xmlNodeSetLang			(xmlNodePtr cur, 
    const xmlChar * lang)
    -
    void	xmlNodeSetName			(xmlNodePtr cur, 
    const xmlChar * name)
    -
    void	xmlNodeSetSpacePreserve		(xmlNodePtr cur, 
    int val)
    -
    xmlNodePtr	xmlPreviousElementSibling	(xmlNodePtr node)
    -
    int	xmlReconciliateNs		(xmlDocPtr doc, 
    xmlNodePtr tree)
    -
    int	xmlRemoveProp			(xmlAttrPtr cur)
    -
    xmlNodePtr	xmlReplaceNode		(xmlNodePtr old, 
    xmlNodePtr cur)
    -
    int	xmlSaveFile			(const char * filename, 
    xmlDocPtr cur)
    -
    int	xmlSaveFileEnc			(const char * filename, 
    xmlDocPtr cur,
    const char * encoding)
    -
    int	xmlSaveFileTo			(xmlOutputBufferPtr buf, 
    xmlDocPtr cur,
    const char * encoding)
    -
    int	xmlSaveFormatFile		(const char * filename, 
    xmlDocPtr cur,
    int format)
    -
    int	xmlSaveFormatFileEnc		(const char * filename, 
    xmlDocPtr cur,
    const char * encoding,
    int format)
    -
    int	xmlSaveFormatFileTo		(xmlOutputBufferPtr buf, 
    xmlDocPtr cur,
    const char * encoding,
    int format)
    -
    xmlNsPtr	xmlSearchNs		(xmlDocPtr doc, 
    xmlNodePtr node,
    const xmlChar * nameSpace)
    -
    xmlNsPtr	xmlSearchNsByHref	(xmlDocPtr doc, 
    xmlNodePtr node,
    const xmlChar * href)
    -
    void	xmlSetBufferAllocationScheme	(xmlBufferAllocationScheme scheme)
    -
    void	xmlSetCompressMode		(int mode)
    -
    void	xmlSetDocCompressMode		(xmlDocPtr doc, 
    int mode)
    -
    void	xmlSetListDoc			(xmlNodePtr list, 
    xmlDocPtr doc)
    -
    void	xmlSetNs			(xmlNodePtr node, 
    xmlNsPtr ns)
    -
    xmlAttrPtr	xmlSetNsProp		(xmlNodePtr node, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * value)
    -
    xmlAttrPtr	xmlSetProp		(xmlNodePtr node, 
    const xmlChar * name,
    const xmlChar * value)
    -
    void	xmlSetTreeDoc			(xmlNodePtr tree, 
    xmlDocPtr doc)
    -
    xmlChar *	xmlSplitQName2		(const xmlChar * name, 
    xmlChar ** prefix)
    -
    const xmlChar *	xmlSplitQName3		(const xmlChar * name, 
    int * len)
    -
    xmlNodePtr	xmlStringGetNodeList	(xmlDocPtr doc, 
    const xmlChar * value)
    -
    xmlNodePtr	xmlStringLenGetNodeList	(xmlDocPtr doc, 
    const xmlChar * value,
    int len)
    -
    int	xmlTextConcat			(xmlNodePtr node, 
    const xmlChar * content,
    int len)
    -
    xmlNodePtr	xmlTextMerge		(xmlNodePtr first, 
    xmlNodePtr second)
    -
    void	xmlUnlinkNode			(xmlNodePtr cur)
    -
    int	xmlUnsetNsProp			(xmlNodePtr node, 
    xmlNsPtr ns,
    const xmlChar * name)
    -
    int	xmlUnsetProp			(xmlNodePtr node, 
    const xmlChar * name)
    -
    int	xmlValidateNCName		(const xmlChar * value, 
    int space)
    -
    int	xmlValidateNMToken		(const xmlChar * value, 
    int space)
    -
    int	xmlValidateName			(const xmlChar * value, 
    int space)
    -
    int	xmlValidateQName		(const xmlChar * value, 
    int space)
    -

    Description

    -

    Macro: BASE_BUFFER_SIZE

    #define BASE_BUFFER_SIZE

    default buffer size 4000.

    -

    Macro: XML_GET_CONTENT

    #define XML_GET_CONTENT

    Macro to extract the content pointer of a node.

    -

    Macro: XML_GET_LINE

    #define XML_GET_LINE

    Macro to extract the line number of an element node.

    -

    Macro: XML_LOCAL_NAMESPACE

    #define XML_LOCAL_NAMESPACE

    A namespace declaration node.

    -

    Macro: XML_XML_ID

    #define XML_XML_ID

    This is the name for the special xml:id attribute

    -

    Macro: XML_XML_NAMESPACE

    #define XML_XML_NAMESPACE

    This is the namespace for the special xml: prefix predefined in the XML Namespace specification.

    -

    Macro: xmlChildrenNode

    #define xmlChildrenNode

    Macro for compatibility naming layer with libxml1. Maps to "children."

    -

    Macro: xmlRootNode

    #define xmlRootNode

    Macro for compatibility naming layer with libxml1. Maps to "children".

    -

    Structure xmlAttr

    Structure xmlAttr
    struct _xmlAttr { - void * _private : application data - xmlElementType type : XML_ATTRIBUTE_NODE, must be second ! - const xmlChar * name : the name of the property - struct _xmlNode * children : the value of the property - struct _xmlNode * last : NULL - struct _xmlNode * parent : child->parent link - struct _xmlAttr * next : next sibling link - struct _xmlAttr * prev : previous sibling link - struct _xmlDoc * doc : the containing document - xmlNs * ns : pointer to the associated namespace - xmlAttributeType atype : the attribute type if validating - void * psvi : for type/PSVI informations -}

    Structure xmlAttribute

    Structure xmlAttribute
    struct _xmlAttribute { - void * _private : application data - xmlElementType type : XML_ATTRIBUTE_DECL, must be second ! - const xmlChar * name : Attribute name - struct _xmlNode * children : NULL - struct _xmlNode * last : NULL - struct _xmlDtd * parent : -> DTD - struct _xmlNode * next : next sibling link - struct _xmlNode * prev : previous sibling link - struct _xmlDoc * doc : the containing document - struct _xmlAttribute * nexth : next in hash table - xmlAttributeType atype : The attribute type - xmlAttributeDefault def : the default - const xmlChar * defaultValue : or the default value - xmlEnumerationPtr tree : or the enumeration tree if any - const xmlChar * prefix : the namespace prefix if any - const xmlChar * elem : Element holding the attribute -}

    Enum xmlAttributeDefault

    Enum xmlAttributeDefault {
    -    XML_ATTRIBUTE_NONE = 1
    -    XML_ATTRIBUTE_REQUIRED = 2
    -    XML_ATTRIBUTE_IMPLIED = 3
    -    XML_ATTRIBUTE_FIXED = 4
    -}
    -

    Enum xmlAttributeType

    Enum xmlAttributeType {
    -    XML_ATTRIBUTE_CDATA = 1
    -    XML_ATTRIBUTE_ID = 2
    -    XML_ATTRIBUTE_IDREF = 3
    -    XML_ATTRIBUTE_IDREFS = 4
    -    XML_ATTRIBUTE_ENTITY = 5
    -    XML_ATTRIBUTE_ENTITIES = 6
    -    XML_ATTRIBUTE_NMTOKEN = 7
    -    XML_ATTRIBUTE_NMTOKENS = 8
    -    XML_ATTRIBUTE_ENUMERATION = 9
    -    XML_ATTRIBUTE_NOTATION = 10
    -}
    -

    Structure xmlBuffer

    Structure xmlBuffer
    struct _xmlBuffer { - xmlChar * content : The buffer content UTF8 - unsigned int use : The buffer size used - unsigned int size : The buffer size - xmlBufferAllocationScheme alloc : The realloc method - xmlChar * contentIO : in IO mode we may have a different base -}

    Enum xmlBufferAllocationScheme

    Enum xmlBufferAllocationScheme {
    -    XML_BUFFER_ALLOC_DOUBLEIT = 1 : double each time one need to grow
    -    XML_BUFFER_ALLOC_EXACT = 2 : grow only to the minimal size
    -    XML_BUFFER_ALLOC_IMMUTABLE = 3 : immutable buffer
    -    XML_BUFFER_ALLOC_IO = 4 : special allocation scheme used for I/O
    -    XML_BUFFER_ALLOC_HYBRID = 5 : exact up to a threshold, and doubleit thereafter
    -}
    -

    Structure xmlDOMWrapCtxt

    Structure xmlDOMWrapCtxt
    struct _xmlDOMWrapCtxt { - void * _private : * The type of this context, just in case - int type : * Internal namespace map used for variou - void * namespaceMap : * Use this one to acquire an xmlNsPtr in - xmlDOMWrapAcquireNsFunction getNsForNodeFunc -}

    Structure xmlDoc

    Structure xmlDoc
    struct _xmlDoc { - void * _private : application data - xmlElementType type : XML_DOCUMENT_NODE, must be second ! - char * name : name/filename/URI of the document - struct _xmlNode * children : the document tree - struct _xmlNode * last : last child link - struct _xmlNode * parent : child->parent link - struct _xmlNode * next : next sibling link - struct _xmlNode * prev : previous sibling link - struct _xmlDoc * doc : autoreference to itself End of common p - int compression : level of zlib compression - int standalone : standalone document (no external refs) - struct _xmlDtd * intSubset : the document internal subset - struct _xmlDtd * extSubset : the document external subset - struct _xmlNs * oldNs : Global namespace, the old way - const xmlChar * version : the XML version string - const xmlChar * encoding : external initial encoding, if any - void * ids : Hash table for ID attributes if any - void * refs : Hash table for IDREFs attributes if any - const xmlChar * URL : The URI for that document - int charset : encoding of the in-memory content actua - struct _xmlDict * dict : dict used to allocate names or NULL - void * psvi : for type/PSVI informations - int parseFlags : set of xmlParserOption used to parse th - int properties : set of xmlDocProperties for this docume -}

    Enum xmlDocProperties

    Enum xmlDocProperties {
    -    XML_DOC_WELLFORMED = 1 : document is XML well formed
    -    XML_DOC_NSVALID = 2 : document is Namespace valid
    -    XML_DOC_OLD10 = 4 : parsed with old XML-1.0 parser
    -    XML_DOC_DTDVALID = 8 : DTD validation was successful
    -    XML_DOC_XINCLUDE = 16 : XInclude substitution was done
    -    XML_DOC_USERBUILT = 32 : Document was built using the API and not by parsing an instance
    -    XML_DOC_INTERNAL = 64 : built for internal processing
    -    XML_DOC_HTML = 128 : parsed or built HTML document
    -}
    -

    Structure xmlDtd

    Structure xmlDtd
    struct _xmlDtd { - void * _private : application data - xmlElementType type : XML_DTD_NODE, must be second ! - const xmlChar * name : Name of the DTD - struct _xmlNode * children : the value of the property link - struct _xmlNode * last : last child link - struct _xmlDoc * parent : child->parent link - struct _xmlNode * next : next sibling link - struct _xmlNode * prev : previous sibling link - struct _xmlDoc * doc : the containing document End of common p - void * notations : Hash table for notations if any - void * elements : Hash table for elements if any - void * attributes : Hash table for attributes if any - void * entities : Hash table for entities if any - const xmlChar * ExternalID : External identifier for PUBLIC DTD - const xmlChar * SystemID : URI for a SYSTEM or PUBLIC DTD - void * pentities : Hash table for param entities if any -}

    Structure xmlElement

    Structure xmlElement
    struct _xmlElement { - void * _private : application data - xmlElementType type : XML_ELEMENT_DECL, must be second ! - const xmlChar * name : Element name - struct _xmlNode * children : NULL - struct _xmlNode * last : NULL - struct _xmlDtd * parent : -> DTD - struct _xmlNode * next : next sibling link - struct _xmlNode * prev : previous sibling link - struct _xmlDoc * doc : the containing document - xmlElementTypeVal etype : The type - xmlElementContentPtr content : the allowed element content - xmlAttributePtr attributes : List of the declared attributes - const xmlChar * prefix : the namespace prefix if any - xmlRegexpPtr contModel : the validating regexp - void * contModel -}

    Structure xmlElementContent

    Structure xmlElementContent
    struct _xmlElementContent { - xmlElementContentType type : PCDATA, ELEMENT, SEQ or OR - xmlElementContentOccur ocur : ONCE, OPT, MULT or PLUS - const xmlChar * name : Element name - struct _xmlElementContent * c1 : first child - struct _xmlElementContent * c2 : second child - struct _xmlElementContent * parent : parent - const xmlChar * prefix : Namespace prefix -}

    Enum xmlElementContentOccur

    Enum xmlElementContentOccur {
    -    XML_ELEMENT_CONTENT_ONCE = 1
    -    XML_ELEMENT_CONTENT_OPT = 2
    -    XML_ELEMENT_CONTENT_MULT = 3
    -    XML_ELEMENT_CONTENT_PLUS = 4
    -}
    -

    Enum xmlElementContentType

    Enum xmlElementContentType {
    -    XML_ELEMENT_CONTENT_PCDATA = 1
    -    XML_ELEMENT_CONTENT_ELEMENT = 2
    -    XML_ELEMENT_CONTENT_SEQ = 3
    -    XML_ELEMENT_CONTENT_OR = 4
    -}
    -

    Enum xmlElementType

    Enum xmlElementType {
    -    XML_ELEMENT_NODE = 1
    -    XML_ATTRIBUTE_NODE = 2
    -    XML_TEXT_NODE = 3
    -    XML_CDATA_SECTION_NODE = 4
    -    XML_ENTITY_REF_NODE = 5
    -    XML_ENTITY_NODE = 6
    -    XML_PI_NODE = 7
    -    XML_COMMENT_NODE = 8
    -    XML_DOCUMENT_NODE = 9
    -    XML_DOCUMENT_TYPE_NODE = 10
    -    XML_DOCUMENT_FRAG_NODE = 11
    -    XML_NOTATION_NODE = 12
    -    XML_HTML_DOCUMENT_NODE = 13
    -    XML_DTD_NODE = 14
    -    XML_ELEMENT_DECL = 15
    -    XML_ATTRIBUTE_DECL = 16
    -    XML_ENTITY_DECL = 17
    -    XML_NAMESPACE_DECL = 18
    -    XML_XINCLUDE_START = 19
    -    XML_XINCLUDE_END = 20
    -    XML_DOCB_DOCUMENT_NODE = 21
    -}
    -

    Enum xmlElementTypeVal

    Enum xmlElementTypeVal {
    -    XML_ELEMENT_TYPE_UNDEFINED = 0
    -    XML_ELEMENT_TYPE_EMPTY = 1
    -    XML_ELEMENT_TYPE_ANY = 2
    -    XML_ELEMENT_TYPE_MIXED = 3
    -    XML_ELEMENT_TYPE_ELEMENT = 4
    -}
    -

    Structure xmlEntity

    Structure xmlEntity
    struct _xmlEntity { - void * _private : application data - xmlElementType type : XML_ENTITY_DECL, must be second ! - const xmlChar * name : Entity name - struct _xmlNode * children : First child link - struct _xmlNode * last : Last child link - struct _xmlDtd * parent : -> DTD - struct _xmlNode * next : next sibling link - struct _xmlNode * prev : previous sibling link - struct _xmlDoc * doc : the containing document - xmlChar * orig : content without ref substitution - xmlChar * content : content or ndata if unparsed - int length : the content length - xmlEntityType etype : The entity type - const xmlChar * ExternalID : External identifier for PUBLIC - const xmlChar * SystemID : URI for a SYSTEM or PUBLIC Entity - struct _xmlEntity * nexte : unused - const xmlChar * URI : the full URI as computed - int owner : does the entity own the childrens - int checked : was the entity content checked this is -}

    Structure xmlEnumeration

    Structure xmlEnumeration
    struct _xmlEnumeration { - struct _xmlEnumeration * next : next one - const xmlChar * name : Enumeration name -}

    Structure xmlID

    Structure xmlID
    struct _xmlID { - struct _xmlID * next : next ID - const xmlChar * value : The ID name - xmlAttrPtr attr : The attribute holding it - const xmlChar * name : The attribute if attr is not available - int lineno : The line number if attr is not availabl - struct _xmlDoc * doc : The document holding the ID -}

    Structure xmlNode

    Structure xmlNode
    struct _xmlNode { - void * _private : application data - xmlElementType type : type number, must be second ! - const xmlChar * name : the name of the node, or the entity - struct _xmlNode * children : parent->childs link - struct _xmlNode * last : last child link - struct _xmlNode * parent : child->parent link - struct _xmlNode * next : next sibling link - struct _xmlNode * prev : previous sibling link - struct _xmlDoc * doc : the containing document End of common p - xmlNs * ns : pointer to the associated namespace - xmlChar * content : the content - struct _xmlAttr * properties : properties list - xmlNs * nsDef : namespace definitions on this node - void * psvi : for type/PSVI informations - unsigned short line : line number - unsigned short extra : extra data for XPath/XSLT -}

    Structure xmlNotation

    Structure xmlNotation
    struct _xmlNotation { - const xmlChar * name : Notation name - const xmlChar * PublicID : Public identifier, if any - const xmlChar * SystemID : System identifier, if any -}

    Structure xmlNs

    Structure xmlNs
    struct _xmlNs { - struct _xmlNs * next : next Ns link for this node - xmlNsType type : global or local - const xmlChar * href : URL for the namespace - const xmlChar * prefix : prefix for the namespace - void * _private : application data - struct _xmlDoc * context : normally an xmlDoc -}

    Structure xmlOutputBuffer

    Structure xmlOutputBuffer
    struct _xmlOutputBuffer { - void * context - xmlOutputWriteCallback writecallback - xmlOutputCloseCallback closecallback - xmlCharEncodingHandlerPtr encoder : I18N conversions to UTF-8 - xmlBufferPtr buffer : Local buffer encoded in UTF-8 or ISOLat - xmlBufferPtr conv : if encoder != NULL buffer for output - int written : total number of byte written - int error -}

    Structure xmlParserCtxt

    Structure xmlParserCtxt
    struct _xmlParserCtxt { - struct _xmlSAXHandler * sax : The SAX handler - void * userData : For SAX interface only, used by DOM bui - xmlDocPtr myDoc : the document being built - int wellFormed : is the document well formed - int replaceEntities : shall we replace entities ? - const xmlChar * version : the XML version string - const xmlChar * encoding : the declared encoding, if any - int standalone : standalone document - int html : an HTML(1)/Docbook(2) document * 3 is H - xmlParserInputPtr input : Current input stream - int inputNr : Number of current input streams - int inputMax : Max number of input streams - xmlParserInputPtr * inputTab : stack of inputs Node analysis stack onl - xmlNodePtr node : Current parsed Node - int nodeNr : Depth of the parsing stack - int nodeMax : Max depth of the parsing stack - xmlNodePtr * nodeTab : array of nodes - int record_info : Whether node info should be kept - xmlParserNodeInfoSeq node_seq : info about each node parsed - int errNo : error code - int hasExternalSubset : reference and external subset - int hasPErefs : the internal subset has PE refs - int external : are we parsing an external entity - int valid : is the document valid - int validate : shall we try to validate ? - xmlValidCtxt vctxt : The validity context - xmlParserInputState instate : current type of input - int token : next char look-ahead - char * directory : the data directory Node name stack - const xmlChar * name : Current parsed Node - int nameNr : Depth of the parsing stack - int nameMax : Max depth of the parsing stack - const xmlChar * * nameTab : array of nodes - long nbChars : number of xmlChar processed - long checkIndex : used by progressive parsing lookup - int keepBlanks : ugly but ... - int disableSAX : SAX callbacks are disabled - int inSubset : Parsing is in int 1/ext 2 subset - const xmlChar * intSubName : name of subset - xmlChar * extSubURI : URI of external subset - xmlChar * extSubSystem : SYSTEM ID of external subset xml:space - int * space : Should the parser preserve spaces - int spaceNr : Depth of the parsing stack - int spaceMax : Max depth of the parsing stack - int * spaceTab : array of space infos - int depth : to prevent entity substitution loops - xmlParserInputPtr entity : used to check entities boundaries - int charset : encoding of the in-memory content actua - int nodelen : Those two fields are there to - int nodemem : Speed up large node parsing - int pedantic : signal pedantic warnings - void * _private : For user data, libxml won't touch it - int loadsubset : should the external subset be loaded - int linenumbers : set line number in element content - void * catalogs : document's own catalog - int recovery : run in recovery mode - int progressive : is this a progressive parsing - xmlDictPtr dict : dictionnary for the parser - const xmlChar * * atts : array for the attributes callbacks - int maxatts : the size of the array - int docdict : * pre-interned strings * - const xmlChar * str_xml - const xmlChar * str_xmlns - const xmlChar * str_xml_ns : * Everything below is used only by the n - int sax2 : operating in the new SAX mode - int nsNr : the number of inherited namespaces - int nsMax : the size of the arrays - const xmlChar * * nsTab : the array of prefix/namespace name - int * attallocs : which attribute were allocated - void * * pushTab : array of data for push - xmlHashTablePtr attsDefault : defaulted attributes if any - xmlHashTablePtr attsSpecial : non-CDATA attributes if any - int nsWellFormed : is the document XML Nanespace okay - int options : * Those fields are needed only for tream - int dictNames : Use dictionary names for the tree - int freeElemsNr : number of freed element nodes - xmlNodePtr freeElems : List of freed element nodes - int freeAttrsNr : number of freed attributes nodes - xmlAttrPtr freeAttrs : * the complete error informations for th - xmlError lastError - xmlParserMode parseMode : the parser mode - unsigned long nbentities : number of entities references - unsigned long sizeentities : size of parsed entities for use by HTML - xmlParserNodeInfo * nodeInfo : Current NodeInfo - int nodeInfoNr : Depth of the parsing stack - int nodeInfoMax : Max depth of the parsing stack - xmlParserNodeInfo * nodeInfoTab : array of nodeInfos - int input_id : we need to label inputs -}

    Structure xmlParserInput

    Structure xmlParserInput
    struct _xmlParserInput { - xmlParserInputBufferPtr buf : UTF-8 encoded buffer - const char * filename : The file analyzed, if any - const char * directory : the directory/base of the file - const xmlChar * base : Base of the array to parse - const xmlChar * cur : Current char being parsed - const xmlChar * end : end of the array to parse - int length : length if known - int line : Current line - int col : * NOTE: consumed is only tested for equa - unsigned long consumed : How many xmlChars already consumed - xmlParserInputDeallocate free : function to deallocate the base - const xmlChar * encoding : the encoding string for entity - const xmlChar * version : the version string for entity - int standalone : Was that entity marked standalone - int id : an unique identifier for the entity -}

    Structure xmlParserInputBuffer

    Structure xmlParserInputBuffer
    struct _xmlParserInputBuffer { - void * context - xmlInputReadCallback readcallback - xmlInputCloseCallback closecallback - xmlCharEncodingHandlerPtr encoder : I18N conversions to UTF-8 - xmlBufferPtr buffer : Local buffer encoded in UTF-8 - xmlBufferPtr raw : if encoder != NULL buffer for raw input - int compressed : -1=unknown, 0=not compressed, 1=compres - int error - unsigned long rawconsumed : amount consumed from raw -}

    Structure xmlRef

    Structure xmlRef
    struct _xmlRef { - struct _xmlRef * next : next Ref - const xmlChar * value : The Ref name - xmlAttrPtr attr : The attribute holding it - const xmlChar * name : The attribute if attr is not available - int lineno : The line number if attr is not availabl -}

    Structure xmlSAXHandler

    Structure xmlSAXHandler
    struct _xmlSAXHandler { - internalSubsetSAXFunc internalSubset - isStandaloneSAXFunc isStandalone - hasInternalSubsetSAXFunc hasInternalSubset - hasExternalSubsetSAXFunc hasExternalSubset - resolveEntitySAXFunc resolveEntity - getEntitySAXFunc getEntity - entityDeclSAXFunc entityDecl - notationDeclSAXFunc notationDecl - attributeDeclSAXFunc attributeDecl - elementDeclSAXFunc elementDecl - unparsedEntityDeclSAXFunc unparsedEntityDecl - setDocumentLocatorSAXFunc setDocumentLocator - startDocumentSAXFunc startDocument - endDocumentSAXFunc endDocument - startElementSAXFunc startElement - endElementSAXFunc endElement - referenceSAXFunc reference - charactersSAXFunc characters - ignorableWhitespaceSAXFunc ignorableWhitespace - processingInstructionSAXFunc processingInstruction - commentSAXFunc comment - warningSAXFunc warning - errorSAXFunc error - fatalErrorSAXFunc fatalError : unused error() get all the errors - getParameterEntitySAXFunc getParameterEntity - cdataBlockSAXFunc cdataBlock - externalSubsetSAXFunc externalSubset - unsigned int initialized : The following fields are extensions ava - void * _private - startElementNsSAX2Func startElementNs - endElementNsSAX2Func endElementNs - xmlStructuredErrorFunc serror -}

    Structure xmlSAXLocator

    Structure xmlSAXLocator
    struct _xmlSAXLocator { - const xmlChar *(*getPublicId) getPublicId - const xmlChar *(*getSystemId) getSystemId - int(*getLineNumber) getLineNumber - int(*getColumnNumber) getColumnNumber -}

    Function: xmlAddChild

    xmlNodePtr	xmlAddChild		(xmlNodePtr parent, 
    xmlNodePtr cur)
    -

    Add a new node to @parent, at the end of the child (or property) list merging adjacent TEXT nodes (in which case @cur is freed) If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an attribute with equal name, it is first destroyed.

    -
    parent:the parent node
    cur:the child node
    Returns:the child or NULL in case of error.

    Function: xmlAddChildList

    xmlNodePtr	xmlAddChildList		(xmlNodePtr parent, 
    xmlNodePtr cur)
    -

    Add a list of node at the end of the child list of the parent merging adjacent TEXT nodes (@cur may be freed)

    -
    parent:the parent node
    cur:the first node in the list
    Returns:the last child or NULL in case of error.

    Function: xmlAddNextSibling

    xmlNodePtr	xmlAddNextSibling	(xmlNodePtr cur, 
    xmlNodePtr elem)
    -

    Add a new node @elem as the next sibling of @cur If the new node was already inserted in a document it is first unlinked from its existing context. As a result of text merging @elem may be freed. If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an attribute with equal name, it is first destroyed.

    -
    cur:the child node
    elem:the new node
    Returns:the new node or NULL in case of error.

    Function: xmlAddPrevSibling

    xmlNodePtr	xmlAddPrevSibling	(xmlNodePtr cur, 
    xmlNodePtr elem)
    -

    Add a new node @elem as the previous sibling of @cur merging adjacent TEXT nodes (@elem may be freed) If the new node was already inserted in a document it is first unlinked from its existing context. If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an attribute with equal name, it is first destroyed.

    -
    cur:the child node
    elem:the new node
    Returns:the new node or NULL in case of error.

    Function: xmlAddSibling

    xmlNodePtr	xmlAddSibling		(xmlNodePtr cur, 
    xmlNodePtr elem)
    -

    Add a new element @elem to the list of siblings of @cur merging adjacent TEXT nodes (@elem may be freed) If the new element was already inserted in a document it is first unlinked from its existing context.

    -
    cur:the child node
    elem:the new node
    Returns:the new element or NULL in case of error.

    Function: xmlAttrSerializeTxtContent

    void	xmlAttrSerializeTxtContent	(xmlBufferPtr buf, 
    xmlDocPtr doc,
    xmlAttrPtr attr,
    const xmlChar * string)
    -

    Serialize text attribute values to an xml simple buffer

    -
    buf:the XML buffer output
    doc:the document
    attr:the attribute node
    string:the text content

    Function: xmlBufferAdd

    int	xmlBufferAdd			(xmlBufferPtr buf, 
    const xmlChar * str,
    int len)
    -

    Add a string range to an XML buffer. if len == -1, the length of str is recomputed.

    -
    buf:the buffer to dump
    str:the #xmlChar string
    len:the number of #xmlChar to add
    Returns:0 successful, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlBufferAddHead

    int	xmlBufferAddHead		(xmlBufferPtr buf, 
    const xmlChar * str,
    int len)
    -

    Add a string range to the beginning of an XML buffer. if len == -1, the length of @str is recomputed.

    -
    buf:the buffer
    str:the #xmlChar string
    len:the number of #xmlChar to add
    Returns:0 successful, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlBufferCCat

    int	xmlBufferCCat			(xmlBufferPtr buf, 
    const char * str)
    -

    Append a zero terminated C string to an XML buffer.

    -
    buf:the buffer to dump
    str:the C char string
    Returns:0 successful, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlBufferCat

    int	xmlBufferCat			(xmlBufferPtr buf, 
    const xmlChar * str)
    -

    Append a zero terminated string to an XML buffer.

    -
    buf:the buffer to add to
    str:the #xmlChar string
    Returns:0 successful, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlBufferContent

    const xmlChar *	xmlBufferContent	(const xmlBufferPtr buf)
    -

    Function to extract the content of a buffer

    -
    buf:the buffer
    Returns:the internal content

    Function: xmlBufferCreate

    xmlBufferPtr	xmlBufferCreate		(void)
    -

    routine to create an XML buffer.

    -
    Returns:the new structure.

    Function: xmlBufferCreateSize

    xmlBufferPtr	xmlBufferCreateSize	(size_t size)
    -

    routine to create an XML buffer.

    -
    size:initial size of buffer
    Returns:the new structure.

    Function: xmlBufferCreateStatic

    xmlBufferPtr	xmlBufferCreateStatic	(void * mem, 
    size_t size)
    -

    routine to create an XML buffer from an immutable memory area. The area won't be modified nor copied, and is expected to be present until the end of the buffer lifetime.

    -
    mem:the memory area
    size:the size in byte
    Returns:the new structure.

    Function: xmlBufferDetach

    xmlChar *	xmlBufferDetach		(xmlBufferPtr buf)
    -

    Remove the string contained in a buffer and gie it back to the caller. The buffer is reset to an empty content. This doesn't work with immutable buffers as they can't be reset.

    -
    buf:the buffer
    Returns:the previous string contained by the buffer.

    Function: xmlBufferDump

    int	xmlBufferDump			(FILE * file, 
    xmlBufferPtr buf)
    -

    Dumps an XML buffer to a FILE *.

    -
    file:the file output
    buf:the buffer to dump
    Returns:the number of #xmlChar written

    Function: xmlBufferEmpty

    void	xmlBufferEmpty			(xmlBufferPtr buf)
    -

    empty a buffer.

    -
    buf:the buffer

    Function: xmlBufferFree

    void	xmlBufferFree			(xmlBufferPtr buf)
    -

    Frees an XML buffer. It frees both the content and the structure which encapsulate it.

    -
    buf:the buffer to free

    Function: xmlBufferGrow

    int	xmlBufferGrow			(xmlBufferPtr buf, 
    unsigned int len)
    -

    Grow the available space of an XML buffer.

    -
    buf:the buffer
    len:the minimum free size to allocate
    Returns:the new available space or -1 in case of error

    Function: xmlBufferLength

    int	xmlBufferLength			(const xmlBufferPtr buf)
    -

    Function to get the length of a buffer

    -
    buf:the buffer
    Returns:the length of data in the internal content

    Function: xmlBufferResize

    int	xmlBufferResize			(xmlBufferPtr buf, 
    unsigned int size)
    -

    Resize a buffer to accommodate minimum size of @size.

    -
    buf:the buffer to resize
    size:the desired size
    Returns:0 in case of problems, 1 otherwise

    Function: xmlBufferSetAllocationScheme

    void	xmlBufferSetAllocationScheme	(xmlBufferPtr buf, 
    xmlBufferAllocationScheme scheme)
    -

    Sets the allocation scheme for this buffer

    -
    buf:the buffer to tune
    scheme:allocation scheme to use

    Function: xmlBufferShrink

    int	xmlBufferShrink			(xmlBufferPtr buf, 
    unsigned int len)
    -

    Remove the beginning of an XML buffer.

    -
    buf:the buffer to dump
    len:the number of xmlChar to remove
    Returns:the number of #xmlChar removed, or -1 in case of failure.

    Function: xmlBufferWriteCHAR

    void	xmlBufferWriteCHAR		(xmlBufferPtr buf, 
    const xmlChar * string)
    -

    routine which manages and grows an output buffer. This one adds xmlChars at the end of the buffer.

    -
    buf:the XML buffer
    string:the string to add

    Function: xmlBufferWriteChar

    void	xmlBufferWriteChar		(xmlBufferPtr buf, 
    const char * string)
    -

    routine which manage and grows an output buffer. This one add C chars at the end of the array.

    -
    buf:the XML buffer output
    string:the string to add

    Function: xmlBufferWriteQuotedString

    void	xmlBufferWriteQuotedString	(xmlBufferPtr buf, 
    const xmlChar * string)
    -

    routine which manage and grows an output buffer. This one writes a quoted or double quoted #xmlChar string, checking first if it holds quote or double-quotes internally

    -
    buf:the XML buffer output
    string:the string to add

    Function: xmlBuildQName

    xmlChar *	xmlBuildQName		(const xmlChar * ncname, 
    const xmlChar * prefix,
    xmlChar * memory,
    int len)
    -

    Builds the QName @prefix:@ncname in @memory if there is enough space and prefix is not NULL nor empty, otherwise allocate a new string. If prefix is NULL or empty it returns ncname.

    -
    ncname:the Name
    prefix:the prefix
    memory:preallocated memory
    len:preallocated memory length
    Returns:the new string which must be freed by the caller if different from @memory and @ncname or NULL in case of error

    Function: xmlChildElementCount

    unsigned long	xmlChildElementCount	(xmlNodePtr parent)
    -

    Finds the current number of child nodes of that element which are element nodes. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back reference from entities content to entities references.

    -
    parent:the parent node
    Returns:the count of element child or 0 if not available

    Function: xmlCopyDoc

    xmlDocPtr	xmlCopyDoc		(xmlDocPtr doc, 
    int recursive)
    -

    Do a copy of the document info. If recursive, the content tree will be copied too as well as DTD, namespaces and entities.

    -
    doc:the document
    recursive:if not zero do a recursive copy.
    Returns:a new #xmlDocPtr, or NULL in case of error.

    Function: xmlCopyDtd

    xmlDtdPtr	xmlCopyDtd		(xmlDtdPtr dtd)
    -

    Do a copy of the dtd.

    -
    dtd:the dtd
    Returns:a new #xmlDtdPtr, or NULL in case of error.

    Function: xmlCopyNamespace

    xmlNsPtr	xmlCopyNamespace	(xmlNsPtr cur)
    -

    Do a copy of the namespace.

    -
    cur:the namespace
    Returns:a new #xmlNsPtr, or NULL in case of error.

    Function: xmlCopyNamespaceList

    xmlNsPtr	xmlCopyNamespaceList	(xmlNsPtr cur)
    -

    Do a copy of an namespace list.

    -
    cur:the first namespace
    Returns:a new #xmlNsPtr, or NULL in case of error.

    Function: xmlCopyNode

    xmlNodePtr	xmlCopyNode		(const xmlNodePtr node, 
    int extended)
    -

    Do a copy of the node.

    -
    node:the node
    extended:if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)
    Returns:a new #xmlNodePtr, or NULL in case of error.

    Function: xmlCopyNodeList

    xmlNodePtr	xmlCopyNodeList		(const xmlNodePtr node)
    -

    Do a recursive copy of the node list. Use xmlDocCopyNodeList() if possible to ensure string interning.

    -
    node:the first node in the list.
    Returns:a new #xmlNodePtr, or NULL in case of error.

    Function: xmlCopyProp

    xmlAttrPtr	xmlCopyProp		(xmlNodePtr target, 
    xmlAttrPtr cur)
    -

    Do a copy of the attribute.

    -
    target:the element where the attribute will be grafted
    cur:the attribute
    Returns:a new #xmlAttrPtr, or NULL in case of error.

    Function: xmlCopyPropList

    xmlAttrPtr	xmlCopyPropList		(xmlNodePtr target, 
    xmlAttrPtr cur)
    -

    Do a copy of an attribute list.

    -
    target:the element where the attributes will be grafted
    cur:the first attribute
    Returns:a new #xmlAttrPtr, or NULL in case of error.

    Function: xmlCreateIntSubset

    xmlDtdPtr	xmlCreateIntSubset	(xmlDocPtr doc, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    -

    Create the internal subset of a document

    -
    doc:the document pointer
    name:the DTD name
    ExternalID:the external (PUBLIC) ID
    SystemID:the system ID
    Returns:a pointer to the new DTD structure

    Function type: xmlDOMWrapAcquireNsFunction

    Function type: xmlDOMWrapAcquireNsFunction
    -xmlNsPtr	xmlDOMWrapAcquireNsFunction	(xmlDOMWrapCtxtPtr ctxt, 
    xmlNodePtr node,
    const xmlChar * nsName,
    const xmlChar * nsPrefix) -

    A function called to acquire namespaces (xmlNs) from the wrapper.

    ctxt:a DOM wrapper context
    node:the context node (element or attribute)
    nsName:the requested namespace name
    nsPrefix:the requested namespace prefix
    Returns:an xmlNsPtr or NULL in case of an error.

    -

    Function: xmlDOMWrapAdoptNode

    int	xmlDOMWrapAdoptNode		(xmlDOMWrapCtxtPtr ctxt, 
    xmlDocPtr sourceDoc,
    xmlNodePtr node,
    xmlDocPtr destDoc,
    xmlNodePtr destParent,
    int options)
    -

    References of out-of scope ns-decls are remapped to point to @destDoc: 1) If @destParent is given, then nsDef entries on element-nodes are used 2) If *no* @destParent is given, then @destDoc->oldNs entries are used This is the case when you have an unliked node and just want to move it to the context of If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in attribute values or element content. NOTE: This function was not intensively tested.

    -
    ctxt:the optional context for custom processing
    sourceDoc:the optional sourceDoc
    node:the node to start with
    destDoc:the destination doc
    destParent:the optional new parent of @node in @destDoc
    options:option flags
    Returns:0 if the operation succeeded, 1 if a node of unsupported type was given, 2 if a node of not yet supported type was given and -1 on API/internal errors.

    Function: xmlDOMWrapCloneNode

    int	xmlDOMWrapCloneNode		(xmlDOMWrapCtxtPtr ctxt, 
    xmlDocPtr sourceDoc,
    xmlNodePtr node,
    xmlNodePtr * resNode,
    xmlDocPtr destDoc,
    xmlNodePtr destParent,
    int deep,
    int options)
    -

    References of out-of scope ns-decls are remapped to point to @destDoc: 1) If @destParent is given, then nsDef entries on element-nodes are used 2) If *no* @destParent is given, then @destDoc->oldNs entries are used. This is the case when you don't know already where the cloned branch will be added to. If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in attribute values or element content. TODO: 1) What to do with XInclude? Currently this returns an error for XInclude.

    -
    ctxt:the optional context for custom processing
    sourceDoc:the optional sourceDoc
    node:the node to start with
    resNode:the clone of the given @node
    destDoc:the destination doc
    destParent:the optional new parent of @node in @destDoc
    deep:descend into child if set
    options:option flags
    Returns:0 if the operation succeeded, 1 if a node of unsupported (or not yet supported) type was given, -1 on API/internal errors.

    Function: xmlDOMWrapFreeCtxt

    void	xmlDOMWrapFreeCtxt		(xmlDOMWrapCtxtPtr ctxt)
    -

    Frees the DOM-wrapper context.

    -
    ctxt:the DOM-wrapper context

    Function: xmlDOMWrapNewCtxt

    xmlDOMWrapCtxtPtr	xmlDOMWrapNewCtxt	(void)
    -

    Allocates and initializes a new DOM-wrapper context.

    -
    Returns:the xmlDOMWrapCtxtPtr or NULL in case of an internal errror.

    Function: xmlDOMWrapReconcileNamespaces

    int	xmlDOMWrapReconcileNamespaces	(xmlDOMWrapCtxtPtr ctxt, 
    xmlNodePtr elem,
    int options)
    -

    Ensures that ns-references point to ns-decls hold on element-nodes. Ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in attribute values or element content. NOTE: This function was not intensively tested.

    -
    ctxt:DOM wrapper context, unused at the moment
    elem:the element-node
    options:option flags
    Returns:0 if succeeded, -1 otherwise and on API/internal errors.

    Function: xmlDOMWrapRemoveNode

    int	xmlDOMWrapRemoveNode		(xmlDOMWrapCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr node,
    int options)
    -

    Unlinks the given node from its owner. This will substitute ns-references to node->nsDef for ns-references to doc->oldNs, thus ensuring the removed branch to be autark wrt ns-references. NOTE: This function was not intensively tested.

    -
    ctxt:a DOM wrapper context
    doc:the doc
    node:the node to be removed.
    options:set of options, unused at the moment
    Returns:0 on success, 1 if the node is not supported, -1 on API and internal errors.

    Function: xmlDocCopyNode

    xmlNodePtr	xmlDocCopyNode		(const xmlNodePtr node, 
    xmlDocPtr doc,
    int extended)
    -

    Do a copy of the node to a given document.

    -
    node:the node
    doc:the document
    extended:if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)
    Returns:a new #xmlNodePtr, or NULL in case of error.

    Function: xmlDocCopyNodeList

    xmlNodePtr	xmlDocCopyNodeList	(xmlDocPtr doc, 
    const xmlNodePtr node)
    -

    Do a recursive copy of the node list.

    -
    doc:the target document
    node:the first node in the list.
    Returns:a new #xmlNodePtr, or NULL in case of error.

    Function: xmlDocDump

    int	xmlDocDump			(FILE * f, 
    xmlDocPtr cur)
    -

    Dump an XML document to an open FILE.

    -
    f:the FILE*
    cur:the document
    Returns:the number of bytes written or -1 in case of failure.

    Function: xmlDocDumpFormatMemory

    void	xmlDocDumpFormatMemory		(xmlDocPtr cur, 
    xmlChar ** mem,
    int * size,
    int format)
    -

    Dump an XML document in memory and return the #xmlChar * and it's size. It's up to the caller to free the memory with xmlFree(). Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called

    -
    cur:the document
    mem:OUT: the memory pointer
    size:OUT: the memory length
    format:should formatting spaces been added

    Function: xmlDocDumpFormatMemoryEnc

    void	xmlDocDumpFormatMemoryEnc	(xmlDocPtr out_doc, 
    xmlChar ** doc_txt_ptr,
    int * doc_txt_len,
    const char * txt_encoding,
    int format)
    -

    Dump the current DOM tree into memory using the character encoding specified by the caller. Note it is up to the caller of this function to free the allocated memory with xmlFree(). Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called

    -
    out_doc:Document to generate XML text from
    doc_txt_ptr:Memory pointer for allocated XML text
    doc_txt_len:Length of the generated XML text
    txt_encoding:Character encoding to use when generating XML text
    format:should formatting spaces been added

    Function: xmlDocDumpMemory

    void	xmlDocDumpMemory		(xmlDocPtr cur, 
    xmlChar ** mem,
    int * size)
    -

    Dump an XML document in memory and return the #xmlChar * and it's size in bytes. It's up to the caller to free the memory with xmlFree(). The resulting byte array is zero terminated, though the last 0 is not included in the returned size.

    -
    cur:the document
    mem:OUT: the memory pointer
    size:OUT: the memory length

    Function: xmlDocDumpMemoryEnc

    void	xmlDocDumpMemoryEnc		(xmlDocPtr out_doc, 
    xmlChar ** doc_txt_ptr,
    int * doc_txt_len,
    const char * txt_encoding)
    -

    Dump the current DOM tree into memory using the character encoding specified by the caller. Note it is up to the caller of this function to free the allocated memory with xmlFree().

    -
    out_doc:Document to generate XML text from
    doc_txt_ptr:Memory pointer for allocated XML text
    doc_txt_len:Length of the generated XML text
    txt_encoding:Character encoding to use when generating XML text

    Function: xmlDocFormatDump

    int	xmlDocFormatDump		(FILE * f, 
    xmlDocPtr cur,
    int format)
    -

    Dump an XML document to an open FILE.

    -
    f:the FILE*
    cur:the document
    format:should formatting spaces been added
    Returns:the number of bytes written or -1 in case of failure. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called

    Function: xmlDocGetRootElement

    xmlNodePtr	xmlDocGetRootElement	(xmlDocPtr doc)
    -

    Get the root element of the document (doc->children is a list containing possibly comments, PIs, etc ...).

    -
    doc:the document
    Returns:the #xmlNodePtr for the root or NULL

    Function: xmlDocSetRootElement

    xmlNodePtr	xmlDocSetRootElement	(xmlDocPtr doc, 
    xmlNodePtr root)
    -

    Set the root element of the document (doc->children is a list containing possibly comments, PIs, etc ...).

    -
    doc:the document
    root:the new document root element, if root is NULL no action is taken, to remove a node from a document use xmlUnlinkNode(root) instead.
    Returns:the old root element if any was found, NULL if root was NULL

    Function: xmlElemDump

    void	xmlElemDump			(FILE * f, 
    xmlDocPtr doc,
    xmlNodePtr cur)
    -

    Dump an XML/HTML node, recursive behaviour, children are printed too.

    -
    f:the FILE * for the output
    doc:the document
    cur:the current node

    Function: xmlFirstElementChild

    xmlNodePtr	xmlFirstElementChild	(xmlNodePtr parent)
    -

    Finds the first child node of that element which is a Element node Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back reference from entities content to entities references.

    -
    parent:the parent node
    Returns:the first element child or NULL if not available

    Function: xmlFreeDoc

    void	xmlFreeDoc			(xmlDocPtr cur)
    -

    Free up all the structures used by a document, tree included.

    -
    cur:pointer to the document

    Function: xmlFreeDtd

    void	xmlFreeDtd			(xmlDtdPtr cur)
    -

    Free a DTD structure.

    -
    cur:the DTD structure to free up

    Function: xmlFreeNode

    void	xmlFreeNode			(xmlNodePtr cur)
    -

    Free a node, this is a recursive behaviour, all the children are freed too. This doesn't unlink the child from the list, use xmlUnlinkNode() first.

    -
    cur:the node

    Function: xmlFreeNodeList

    void	xmlFreeNodeList			(xmlNodePtr cur)
    -

    Free a node and all its siblings, this is a recursive behaviour, all the children are freed too.

    -
    cur:the first node in the list

    Function: xmlFreeNs

    void	xmlFreeNs			(xmlNsPtr cur)
    -

    Free up the structures associated to a namespace

    -
    cur:the namespace pointer

    Function: xmlFreeNsList

    void	xmlFreeNsList			(xmlNsPtr cur)
    -

    Free up all the structures associated to the chained namespaces.

    -
    cur:the first namespace pointer

    Function: xmlFreeProp

    void	xmlFreeProp			(xmlAttrPtr cur)
    -

    Free one attribute, all the content is freed too

    -
    cur:an attribute

    Function: xmlFreePropList

    void	xmlFreePropList			(xmlAttrPtr cur)
    -

    Free a property and all its siblings, all the children are freed too.

    -
    cur:the first property in the list

    Function: xmlGetBufferAllocationScheme

    xmlBufferAllocationScheme	xmlGetBufferAllocationScheme	(void)
    -

    Types are XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, improves performance XML_BUFFER_ALLOC_HYBRID - use exact sizes on small strings to keep memory usage tight in normal usage, and doubleit on large strings to avoid pathological performance.

    -
    Returns:the current allocation scheme

    Function: xmlGetCompressMode

    int	xmlGetCompressMode		(void)
    -

    get the default compression mode used, ZLIB based.

    -
    Returns:0 (uncompressed) to 9 (max compression)

    Function: xmlGetDocCompressMode

    int	xmlGetDocCompressMode		(xmlDocPtr doc)
    -

    get the compression ratio for a document, ZLIB based

    -
    doc:the document
    Returns:0 (uncompressed) to 9 (max compression)

    Function: xmlGetIntSubset

    xmlDtdPtr	xmlGetIntSubset		(xmlDocPtr doc)
    -

    Get the internal subset of a document

    -
    doc:the document pointer
    Returns:a pointer to the DTD structure or NULL if not found

    Function: xmlGetLastChild

    xmlNodePtr	xmlGetLastChild		(xmlNodePtr parent)
    -

    Search the last child of a node.

    -
    parent:the parent node
    Returns:the last child or NULL if none.

    Function: xmlGetLineNo

    long	xmlGetLineNo			(xmlNodePtr node)
    -

    Get line number of @node. This requires activation of this option before invoking the parser by calling xmlLineNumbersDefault(1)

    -
    node:valid node
    Returns:the line number if successful, -1 otherwise

    Function: xmlGetNoNsProp

    xmlChar *	xmlGetNoNsProp		(xmlNodePtr node, 
    const xmlChar * name)
    -

    Search and get the value of an attribute associated to a node This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off. This function is similar to xmlGetProp except it will accept only an attribute in no namespace.

    -
    node:the node
    name:the attribute name
    Returns:the attribute value or NULL if not found. It's up to the caller to free the memory with xmlFree().

    Function: xmlGetNodePath

    xmlChar *	xmlGetNodePath		(xmlNodePtr node)
    -

    Build a structure based Path for the given node

    -
    node:a node
    Returns:the new path or NULL in case of error. The caller must free the returned string

    Function: xmlGetNsList

    xmlNsPtr *	xmlGetNsList		(xmlDocPtr doc, 
    xmlNodePtr node)
    -

    Search all the namespace applying to a given element.

    -
    doc:the document
    node:the current node
    Returns:an NULL terminated array of all the #xmlNsPtr found that need to be freed by the caller or NULL if no namespace if defined

    Function: xmlGetNsProp

    xmlChar *	xmlGetNsProp		(xmlNodePtr node, 
    const xmlChar * name,
    const xmlChar * nameSpace)
    -

    Search and get the value of an attribute associated to a node This attribute has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off.

    -
    node:the node
    name:the attribute name
    nameSpace:the URI of the namespace
    Returns:the attribute value or NULL if not found. It's up to the caller to free the memory with xmlFree().

    Function: xmlGetProp

    xmlChar *	xmlGetProp		(xmlNodePtr node, 
    const xmlChar * name)
    -

    Search and get the value of an attribute associated to a node This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off. NOTE: this function acts independently of namespaces associated to the attribute. Use xmlGetNsProp() or xmlGetNoNsProp() for namespace aware processing.

    -
    node:the node
    name:the attribute name
    Returns:the attribute value or NULL if not found. It's up to the caller to free the memory with xmlFree().

    Function: xmlHasNsProp

    xmlAttrPtr	xmlHasNsProp		(xmlNodePtr node, 
    const xmlChar * name,
    const xmlChar * nameSpace)
    -

    Search for an attribute associated to a node This attribute has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off. Note that a namespace of NULL indicates to use the default namespace.

    -
    node:the node
    name:the attribute name
    nameSpace:the URI of the namespace
    Returns:the attribute or the attribute declaration or NULL if neither was found.

    Function: xmlHasProp

    xmlAttrPtr	xmlHasProp		(xmlNodePtr node, 
    const xmlChar * name)
    -

    Search an attribute associated to a node This function also looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off.

    -
    node:the node
    name:the attribute name
    Returns:the attribute or the attribute declaration or NULL if neither was found.

    Function: xmlIsBlankNode

    int	xmlIsBlankNode			(xmlNodePtr node)
    -

    Checks whether this node is an empty or whitespace only (and possibly ignorable) text-node.

    -
    node:the node
    Returns:1 yes, 0 no

    Function: xmlIsXHTML

    int	xmlIsXHTML			(const xmlChar * systemID, 
    const xmlChar * publicID)
    -

    Try to find if the document correspond to an XHTML DTD

    -
    systemID:the system identifier
    publicID:the public identifier
    Returns:1 if true, 0 if not and -1 in case of error

    Function: xmlLastElementChild

    xmlNodePtr	xmlLastElementChild	(xmlNodePtr parent)
    -

    Finds the last child node of that element which is a Element node Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back reference from entities content to entities references.

    -
    parent:the parent node
    Returns:the last element child or NULL if not available

    Function: xmlNewCDataBlock

    xmlNodePtr	xmlNewCDataBlock	(xmlDocPtr doc, 
    const xmlChar * content,
    int len)
    -

    Creation of a new node containing a CDATA block.

    -
    doc:the document
    content:the CDATA block content content
    len:the length of the block
    Returns:a pointer to the new node object.

    Function: xmlNewCharRef

    xmlNodePtr	xmlNewCharRef		(xmlDocPtr doc, 
    const xmlChar * name)
    -

    Creation of a new character reference node.

    -
    doc:the document
    name:the char ref string, starting with # or "&# ... ;"
    Returns:a pointer to the new node object.

    Function: xmlNewChild

    xmlNodePtr	xmlNewChild		(xmlNodePtr parent, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * content)
    -

    Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child list containing the TEXTs and ENTITY_REFs node will be created. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references. XML special chars must be escaped first by using xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should be used.

    -
    parent:the parent node
    ns:a namespace if any
    name:the name of the child
    content:the XML content of the child if any.
    Returns:a pointer to the new node object.

    Function: xmlNewComment

    xmlNodePtr	xmlNewComment		(const xmlChar * content)
    -

    Creation of a new node containing a comment.

    -
    content:the comment content
    Returns:a pointer to the new node object.

    Function: xmlNewDoc

    xmlDocPtr	xmlNewDoc		(const xmlChar * version)
    -

    Creates a new XML document

    -
    version:xmlChar string giving the version of XML "1.0"
    Returns:a new document

    Function: xmlNewDocComment

    xmlNodePtr	xmlNewDocComment	(xmlDocPtr doc, 
    const xmlChar * content)
    -

    Creation of a new node containing a comment within a document.

    -
    doc:the document
    content:the comment content
    Returns:a pointer to the new node object.

    Function: xmlNewDocFragment

    xmlNodePtr	xmlNewDocFragment	(xmlDocPtr doc)
    -

    Creation of a new Fragment node.

    -
    doc:the document owning the fragment
    Returns:a pointer to the new node object.

    Function: xmlNewDocNode

    xmlNodePtr	xmlNewDocNode		(xmlDocPtr doc, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * content)
    -

    Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities support.

    -
    doc:the document
    ns:namespace if any
    name:the node name
    content:the XML text content if any
    Returns:a pointer to the new node object.

    Function: xmlNewDocNodeEatName

    xmlNodePtr	xmlNewDocNodeEatName	(xmlDocPtr doc, 
    xmlNsPtr ns,
    xmlChar * name,
    const xmlChar * content)
    -

    Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities support.

    -
    doc:the document
    ns:namespace if any
    name:the node name
    content:the XML text content if any
    Returns:a pointer to the new node object.

    Function: xmlNewDocPI

    xmlNodePtr	xmlNewDocPI		(xmlDocPtr doc, 
    const xmlChar * name,
    const xmlChar * content)
    -

    Creation of a processing instruction element.

    -
    doc:the target document
    name:the processing instruction name
    content:the PI content
    Returns:a pointer to the new node object.

    Function: xmlNewDocProp

    xmlAttrPtr	xmlNewDocProp		(xmlDocPtr doc, 
    const xmlChar * name,
    const xmlChar * value)
    -

    Create a new property carried by a document.

    -
    doc:the document
    name:the name of the attribute
    value:the value of the attribute
    Returns:a pointer to the attribute

    Function: xmlNewDocRawNode

    xmlNodePtr	xmlNewDocRawNode	(xmlDocPtr doc, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * content)
    -

    Creation of a new node element within a document. @ns and @content are optional (NULL).

    -
    doc:the document
    ns:namespace if any
    name:the node name
    content:the text content if any
    Returns:a pointer to the new node object.

    Function: xmlNewDocText

    xmlNodePtr	xmlNewDocText		(xmlDocPtr doc, 
    const xmlChar * content)
    -

    Creation of a new text node within a document.

    -
    doc:the document
    content:the text content
    Returns:a pointer to the new node object.

    Function: xmlNewDocTextLen

    xmlNodePtr	xmlNewDocTextLen	(xmlDocPtr doc, 
    const xmlChar * content,
    int len)
    -

    Creation of a new text node with an extra content length parameter. The text node pertain to a given document.

    -
    doc:the document
    content:the text content
    len:the text len.
    Returns:a pointer to the new node object.

    Function: xmlNewDtd

    xmlDtdPtr	xmlNewDtd		(xmlDocPtr doc, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    -

    Creation of a new DTD for the external subset. To create an internal subset, use xmlCreateIntSubset().

    -
    doc:the document pointer
    name:the DTD name
    ExternalID:the external ID
    SystemID:the system ID
    Returns:a pointer to the new DTD structure

    Function: xmlNewGlobalNs

    xmlNsPtr	xmlNewGlobalNs		(xmlDocPtr doc, 
    const xmlChar * href,
    const xmlChar * prefix)
    -

    Creation of a Namespace, the old way using PI and without scoping DEPRECATED !!!

    -
    doc:the document carrying the namespace
    href:the URI associated
    prefix:the prefix for the namespace
    Returns:NULL this functionality had been removed

    Function: xmlNewNode

    xmlNodePtr	xmlNewNode		(xmlNsPtr ns, 
    const xmlChar * name)
    -

    Creation of a new node element. @ns is optional (NULL).

    -
    ns:namespace if any
    name:the node name
    Returns:a pointer to the new node object. Uses xmlStrdup() to make copy of @name.

    Function: xmlNewNodeEatName

    xmlNodePtr	xmlNewNodeEatName	(xmlNsPtr ns, 
    xmlChar * name)
    -

    Creation of a new node element. @ns is optional (NULL).

    -
    ns:namespace if any
    name:the node name
    Returns:a pointer to the new node object, with pointer @name as new node's name. Use xmlNewNode() if a copy of @name string is is needed as new node's name.

    Function: xmlNewNs

    xmlNsPtr	xmlNewNs		(xmlNodePtr node, 
    const xmlChar * href,
    const xmlChar * prefix)
    -

    Creation of a new Namespace. This function will refuse to create a namespace with a similar prefix than an existing one present on this node. We use href==NULL in the case of an element creation where the namespace was not defined.

    -
    node:the element carrying the namespace
    href:the URI associated
    prefix:the prefix for the namespace
    Returns:a new namespace pointer or NULL

    Function: xmlNewNsProp

    xmlAttrPtr	xmlNewNsProp		(xmlNodePtr node, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * value)
    -

    Create a new property tagged with a namespace and carried by a node.

    -
    node:the holding node
    ns:the namespace
    name:the name of the attribute
    value:the value of the attribute
    Returns:a pointer to the attribute

    Function: xmlNewNsPropEatName

    xmlAttrPtr	xmlNewNsPropEatName	(xmlNodePtr node, 
    xmlNsPtr ns,
    xmlChar * name,
    const xmlChar * value)
    -

    Create a new property tagged with a namespace and carried by a node.

    -
    node:the holding node
    ns:the namespace
    name:the name of the attribute
    value:the value of the attribute
    Returns:a pointer to the attribute

    Function: xmlNewPI

    xmlNodePtr	xmlNewPI		(const xmlChar * name, 
    const xmlChar * content)
    -

    Creation of a processing instruction element. Use xmlDocNewPI preferably to get string interning

    -
    name:the processing instruction name
    content:the PI content
    Returns:a pointer to the new node object.

    Function: xmlNewProp

    xmlAttrPtr	xmlNewProp		(xmlNodePtr node, 
    const xmlChar * name,
    const xmlChar * value)
    -

    Create a new property carried by a node.

    -
    node:the holding node
    name:the name of the attribute
    value:the value of the attribute
    Returns:a pointer to the attribute

    Function: xmlNewReference

    xmlNodePtr	xmlNewReference		(xmlDocPtr doc, 
    const xmlChar * name)
    -

    Creation of a new reference node.

    -
    doc:the document
    name:the reference name, or the reference string with & and ;
    Returns:a pointer to the new node object.

    Function: xmlNewText

    xmlNodePtr	xmlNewText		(const xmlChar * content)
    -

    Creation of a new text node.

    -
    content:the text content
    Returns:a pointer to the new node object.

    Function: xmlNewTextChild

    xmlNodePtr	xmlNewTextChild		(xmlNodePtr parent, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * content)
    -

    Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child TEXT node will be created containing the string @content. NOTE: Use xmlNewChild() if @content will contain entities that need to be preserved. Use this function, xmlNewTextChild(), if you need to ensure that reserved XML chars that might appear in @content, such as the ampersand, greater-than or less-than signs, are automatically replaced by their XML escaped entity representations.

    -
    parent:the parent node
    ns:a namespace if any
    name:the name of the child
    content:the text content of the child if any.
    Returns:a pointer to the new node object.

    Function: xmlNewTextLen

    xmlNodePtr	xmlNewTextLen		(const xmlChar * content, 
    int len)
    -

    Creation of a new text node with an extra parameter for the content's length

    -
    content:the text content
    len:the text len.
    Returns:a pointer to the new node object.

    Function: xmlNextElementSibling

    xmlNodePtr	xmlNextElementSibling	(xmlNodePtr node)
    -

    Finds the first closest next sibling of the node which is an element node. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back reference from entities content to entities references.

    -
    node:the current node
    Returns:the next element sibling or NULL if not available

    Function: xmlNodeAddContent

    void	xmlNodeAddContent		(xmlNodePtr cur, 
    const xmlChar * content)
    -

    Append the extra substring to the node content. NOTE: In contrast to xmlNodeSetContent(), @content is supposed to be raw text, so unescaped XML special chars are allowed, entity references are not supported.

    -
    cur:the node being modified
    content:extra content

    Function: xmlNodeAddContentLen

    void	xmlNodeAddContentLen		(xmlNodePtr cur, 
    const xmlChar * content,
    int len)
    -

    Append the extra substring to the node content. NOTE: In contrast to xmlNodeSetContentLen(), @content is supposed to be raw text, so unescaped XML special chars are allowed, entity references are not supported.

    -
    cur:the node being modified
    content:extra content
    len:the size of @content

    Function: xmlNodeBufGetContent

    int	xmlNodeBufGetContent		(xmlBufferPtr buffer, 
    xmlNodePtr cur)
    -

    Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted. Fills up the buffer @buffer with this value

    -
    buffer:a buffer
    cur:the node being read
    Returns:0 in case of success and -1 in case of error.

    Function: xmlNodeDump

    int	xmlNodeDump			(xmlBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    int level,
    int format)
    -

    Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called

    -
    buf:the XML buffer output
    doc:the document
    cur:the current node
    level:the imbrication level for indenting
    format:is formatting allowed
    Returns:the number of bytes written to the buffer or -1 in case of error

    Function: xmlNodeDumpOutput

    void	xmlNodeDumpOutput		(xmlOutputBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    int level,
    int format,
    const char * encoding)
    -

    Dump an XML node, recursive behaviour, children are printed too. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called

    -
    buf:the XML buffer output
    doc:the document
    cur:the current node
    level:the imbrication level for indenting
    format:is formatting allowed
    encoding:an optional encoding string

    Function: xmlNodeGetBase

    xmlChar *	xmlNodeGetBase		(xmlDocPtr doc, 
    xmlNodePtr cur)
    -

    Searches for the BASE URL. The code should work on both XML and HTML document even if base mechanisms are completely different. It returns the base as defined in RFC 2396 sections 5.1.1. Base URI within Document Content and 5.1.2. Base URI from the Encapsulating Entity However it does not return the document base (5.1.3), use doc->URL in this case

    -
    doc:the document the node pertains to
    cur:the node being checked
    Returns:a pointer to the base URL, or NULL if not found It's up to the caller to free the memory with xmlFree().

    Function: xmlNodeGetContent

    xmlChar *	xmlNodeGetContent	(xmlNodePtr cur)
    -

    Read the value of a node, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted.

    -
    cur:the node being read
    Returns:a new #xmlChar * or NULL if no content is available. It's up to the caller to free the memory with xmlFree().

    Function: xmlNodeGetLang

    xmlChar *	xmlNodeGetLang		(xmlNodePtr cur)
    -

    Searches the language of a node, i.e. the values of the xml:lang attribute or the one carried by the nearest ancestor.

    -
    cur:the node being checked
    Returns:a pointer to the lang value, or NULL if not found It's up to the caller to free the memory with xmlFree().

    Function: xmlNodeGetSpacePreserve

    int	xmlNodeGetSpacePreserve		(xmlNodePtr cur)
    -

    Searches the space preserving behaviour of a node, i.e. the values of the xml:space attribute or the one carried by the nearest ancestor.

    -
    cur:the node being checked
    Returns:-1 if xml:space is not inherited, 0 if "default", 1 if "preserve"

    Function: xmlNodeIsText

    int	xmlNodeIsText			(xmlNodePtr node)
    -

    Is this node a Text node ?

    -
    node:the node
    Returns:1 yes, 0 no

    Function: xmlNodeListGetRawString

    xmlChar *	xmlNodeListGetRawString	(xmlDocPtr doc, 
    xmlNodePtr list,
    int inLine)
    -

    Builds the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs, contrary to xmlNodeListGetString() this function doesn't do any character encoding handling.

    -
    doc:the document
    list:a Node list
    inLine:should we replace entity contents or show their external form
    Returns:a pointer to the string copy, the caller must free it with xmlFree().

    Function: xmlNodeListGetString

    xmlChar *	xmlNodeListGetString	(xmlDocPtr doc, 
    xmlNodePtr list,
    int inLine)
    -

    Build the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs

    -
    doc:the document
    list:a Node list
    inLine:should we replace entity contents or show their external form
    Returns:a pointer to the string copy, the caller must free it with xmlFree().

    Function: xmlNodeSetBase

    void	xmlNodeSetBase			(xmlNodePtr cur, 
    const xmlChar * uri)
    -

    Set (or reset) the base URI of a node, i.e. the value of the xml:base attribute.

    -
    cur:the node being changed
    uri:the new base URI

    Function: xmlNodeSetContent

    void	xmlNodeSetContent		(xmlNodePtr cur, 
    const xmlChar * content)
    -

    Replace the content of a node. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars().

    -
    cur:the node being modified
    content:the new value of the content

    Function: xmlNodeSetContentLen

    void	xmlNodeSetContentLen		(xmlNodePtr cur, 
    const xmlChar * content,
    int len)
    -

    Replace the content of a node. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars().

    -
    cur:the node being modified
    content:the new value of the content
    len:the size of @content

    Function: xmlNodeSetLang

    void	xmlNodeSetLang			(xmlNodePtr cur, 
    const xmlChar * lang)
    -

    Set the language of a node, i.e. the values of the xml:lang attribute.

    -
    cur:the node being changed
    lang:the language description

    Function: xmlNodeSetName

    void	xmlNodeSetName			(xmlNodePtr cur, 
    const xmlChar * name)
    -

    Set (or reset) the name of a node.

    -
    cur:the node being changed
    name:the new tag name

    Function: xmlNodeSetSpacePreserve

    void	xmlNodeSetSpacePreserve		(xmlNodePtr cur, 
    int val)
    -

    Set (or reset) the space preserving behaviour of a node, i.e. the value of the xml:space attribute.

    -
    cur:the node being changed
    val:the xml:space value ("0": default, 1: "preserve")

    Function: xmlPreviousElementSibling

    xmlNodePtr	xmlPreviousElementSibling	(xmlNodePtr node)
    -

    Finds the first closest previous sibling of the node which is an element node. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back reference from entities content to entities references.

    -
    node:the current node
    Returns:the previous element sibling or NULL if not available

    Function: xmlReconciliateNs

    int	xmlReconciliateNs		(xmlDocPtr doc, 
    xmlNodePtr tree)
    -

    This function checks that all the namespaces declared within the given tree are properly declared. This is needed for example after Copy or Cut and then paste operations. The subtree may still hold pointers to namespace declarations outside the subtree or invalid/masked. As much as possible the function try to reuse the existing namespaces found in the new environment. If not possible the new namespaces are redeclared on @tree at the top of the given subtree.

    -
    doc:the document
    tree:a node defining the subtree to reconciliate
    Returns:the number of namespace declarations created or -1 in case of error.

    Function: xmlRemoveProp

    int	xmlRemoveProp			(xmlAttrPtr cur)
    -

    Unlink and free one attribute, all the content is freed too Note this doesn't work for namespace definition attributes

    -
    cur:an attribute
    Returns:0 if success and -1 in case of error.

    Function: xmlReplaceNode

    xmlNodePtr	xmlReplaceNode		(xmlNodePtr old, 
    xmlNodePtr cur)
    -

    Unlink the old node from its current context, prune the new one at the same place. If @cur was already inserted in a document it is first unlinked from its existing context.

    -
    old:the old node
    cur:the node
    Returns:the @old node

    Function: xmlSaveFile

    int	xmlSaveFile			(const char * filename, 
    xmlDocPtr cur)
    -

    Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used.

    -
    filename:the filename (or URL)
    cur:the document
    Returns:the number of bytes written or -1 in case of failure.

    Function: xmlSaveFileEnc

    int	xmlSaveFileEnc			(const char * filename, 
    xmlDocPtr cur,
    const char * encoding)
    -

    Dump an XML document, converting it to the given encoding

    -
    filename:the filename (or URL)
    cur:the document
    encoding:the name of an encoding (or NULL)
    Returns:the number of bytes written or -1 in case of failure.

    Function: xmlSaveFileTo

    int	xmlSaveFileTo			(xmlOutputBufferPtr buf, 
    xmlDocPtr cur,
    const char * encoding)
    -

    Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.

    -
    buf:an output I/O buffer
    cur:the document
    encoding:the encoding if any assuming the I/O layer handles the trancoding
    Returns:the number of bytes written or -1 in case of failure.

    Function: xmlSaveFormatFile

    int	xmlSaveFormatFile		(const char * filename, 
    xmlDocPtr cur,
    int format)
    -

    Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used. If @format is set then the document will be indented on output. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called

    -
    filename:the filename (or URL)
    cur:the document
    format:should formatting spaces been added
    Returns:the number of bytes written or -1 in case of failure.

    Function: xmlSaveFormatFileEnc

    int	xmlSaveFormatFileEnc		(const char * filename, 
    xmlDocPtr cur,
    const char * encoding,
    int format)
    -

    Dump an XML document to a file or an URL.

    -
    filename:the filename or URL to output
    cur:the document being saved
    encoding:the name of the encoding to use or NULL.
    format:should formatting spaces be added.
    Returns:the number of bytes written or -1 in case of error. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called

    Function: xmlSaveFormatFileTo

    int	xmlSaveFormatFileTo		(xmlOutputBufferPtr buf, 
    xmlDocPtr cur,
    const char * encoding,
    int format)
    -

    Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.

    -
    buf:an output I/O buffer
    cur:the document
    encoding:the encoding if any assuming the I/O layer handles the trancoding
    format:should formatting spaces been added
    Returns:the number of bytes written or -1 in case of failure.

    Function: xmlSearchNs

    xmlNsPtr	xmlSearchNs		(xmlDocPtr doc, 
    xmlNodePtr node,
    const xmlChar * nameSpace)
    -

    Search a Ns registered under a given name space for a document. recurse on the parents until it finds the defined namespace or return NULL otherwise. @nameSpace can be NULL, this is a search for the default namespace. We don't allow to cross entities boundaries. If you don't declare the namespace within those you will be in troubles !!! A warning is generated to cover this case.

    -
    doc:the document
    node:the current node
    nameSpace:the namespace prefix
    Returns:the namespace pointer or NULL.

    Function: xmlSearchNsByHref

    xmlNsPtr	xmlSearchNsByHref	(xmlDocPtr doc, 
    xmlNodePtr node,
    const xmlChar * href)
    -

    Search a Ns aliasing a given URI. Recurse on the parents until it finds the defined namespace or return NULL otherwise.

    -
    doc:the document
    node:the current node
    href:the namespace value
    Returns:the namespace pointer or NULL.

    Function: xmlSetBufferAllocationScheme

    void	xmlSetBufferAllocationScheme	(xmlBufferAllocationScheme scheme)
    -

    Set the buffer allocation method. Types are XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, improves performance

    -
    scheme:allocation method to use

    Function: xmlSetCompressMode

    void	xmlSetCompressMode		(int mode)
    -

    set the default compression mode used, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)

    -
    mode:the compression ratio

    Function: xmlSetDocCompressMode

    void	xmlSetDocCompressMode		(xmlDocPtr doc, 
    int mode)
    -

    set the compression ratio for a document, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)

    -
    doc:the document
    mode:the compression ratio

    Function: xmlSetListDoc

    void	xmlSetListDoc			(xmlNodePtr list, 
    xmlDocPtr doc)
    -

    update all nodes in the list to point to the right document

    -
    list:the first element
    doc:the document

    Function: xmlSetNs

    void	xmlSetNs			(xmlNodePtr node, 
    xmlNsPtr ns)
    -

    Associate a namespace to a node, a posteriori.

    -
    node:a node in the document
    ns:a namespace pointer

    Function: xmlSetNsProp

    xmlAttrPtr	xmlSetNsProp		(xmlNodePtr node, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * value)
    -

    Set (or reset) an attribute carried by a node. The ns structure must be in scope, this is not checked

    -
    node:the node
    ns:the namespace definition
    name:the attribute name
    value:the attribute value
    Returns:the attribute pointer.

    Function: xmlSetProp

    xmlAttrPtr	xmlSetProp		(xmlNodePtr node, 
    const xmlChar * name,
    const xmlChar * value)
    -

    Set (or reset) an attribute carried by a node. If @name has a prefix, then the corresponding namespace-binding will be used, if in scope; it is an error it there's no such ns-binding for the prefix in scope.

    -
    node:the node
    name:the attribute name (a QName)
    value:the attribute value
    Returns:the attribute pointer.

    Function: xmlSetTreeDoc

    void	xmlSetTreeDoc			(xmlNodePtr tree, 
    xmlDocPtr doc)
    -

    update all nodes under the tree to point to the right document

    -
    tree:the top element
    doc:the document

    Function: xmlSplitQName2

    xmlChar *	xmlSplitQName2		(const xmlChar * name, 
    xmlChar ** prefix)
    -

    parse an XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName

    -
    name:the full QName
    prefix:a xmlChar **
    Returns:NULL if not a QName, otherwise the local part, and prefix is updated to get the Prefix if any.

    Function: xmlSplitQName3

    const xmlChar *	xmlSplitQName3		(const xmlChar * name, 
    int * len)
    -

    parse an XML qualified name string,i

    -
    name:the full QName
    len:an int *
    Returns:NULL if it is not a Qualified Name, otherwise, update len with the lenght in byte of the prefix and return a pointer to the start of the name without the prefix

    Function: xmlStringGetNodeList

    xmlNodePtr	xmlStringGetNodeList	(xmlDocPtr doc, 
    const xmlChar * value)
    -

    Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.

    -
    doc:the document
    value:the value of the attribute
    Returns:a pointer to the first child

    Function: xmlStringLenGetNodeList

    xmlNodePtr	xmlStringLenGetNodeList	(xmlDocPtr doc, 
    const xmlChar * value,
    int len)
    -

    Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.

    -
    doc:the document
    value:the value of the text
    len:the length of the string value
    Returns:a pointer to the first child

    Function: xmlTextConcat

    int	xmlTextConcat			(xmlNodePtr node, 
    const xmlChar * content,
    int len)
    -

    Concat the given string at the end of the existing node content

    -
    node:the node
    content:the content
    len:@content length
    Returns:-1 in case of error, 0 otherwise

    Function: xmlTextMerge

    xmlNodePtr	xmlTextMerge		(xmlNodePtr first, 
    xmlNodePtr second)
    -

    Merge two text nodes into one

    -
    first:the first text node
    second:the second text node being merged
    Returns:the first text node augmented

    Function: xmlUnlinkNode

    void	xmlUnlinkNode			(xmlNodePtr cur)
    -

    Unlink a node from it's current context, the node is not freed If one need to free the node, use xmlFreeNode() routine after the unlink to discard it.

    -
    cur:the node

    Function: xmlUnsetNsProp

    int	xmlUnsetNsProp			(xmlNodePtr node, 
    xmlNsPtr ns,
    const xmlChar * name)
    -

    Remove an attribute carried by a node.

    -
    node:the node
    ns:the namespace definition
    name:the attribute name
    Returns:0 if successful, -1 if not found

    Function: xmlUnsetProp

    int	xmlUnsetProp			(xmlNodePtr node, 
    const xmlChar * name)
    -

    Remove an attribute carried by a node. This handles only attributes in no namespace.

    -
    node:the node
    name:the attribute name
    Returns:0 if successful, -1 if not found

    Function: xmlValidateNCName

    int	xmlValidateNCName		(const xmlChar * value, 
    int space)
    -

    Check that a value conforms to the lexical space of NCName

    -
    value:the value to check
    space:allow spaces in front and end of the string
    Returns:0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlValidateNMToken

    int	xmlValidateNMToken		(const xmlChar * value, 
    int space)
    -

    Check that a value conforms to the lexical space of NMToken

    -
    value:the value to check
    space:allow spaces in front and end of the string
    Returns:0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlValidateName

    int	xmlValidateName			(const xmlChar * value, 
    int space)
    -

    Check that a value conforms to the lexical space of Name

    -
    value:the value to check
    space:allow spaces in front and end of the string
    Returns:0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlValidateQName

    int	xmlValidateQName		(const xmlChar * value, 
    int space)
    -

    Check that a value conforms to the lexical space of QName

    -
    value:the value to check
    space:allow spaces in front and end of the string
    Returns:0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-uri.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-uri.html deleted file mode 100644 index 6ced67a..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-uri.html +++ /dev/null @@ -1,73 +0,0 @@ - - -Module uri from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module uri from libxml2

    API Menu
    API Indexes
    Related links

    library of generic URI related routines Implements RFC 2396

    Table of Contents

    Structure xmlURI
    struct _xmlURI -
    Typedef xmlURI * xmlURIPtr
    -
    xmlChar *	xmlBuildRelativeURI	(const xmlChar * URI, 
    const xmlChar * base)
    -
    xmlChar *	xmlBuildURI		(const xmlChar * URI, 
    const xmlChar * base)
    -
    xmlChar *	xmlCanonicPath		(const xmlChar * path)
    -
    xmlURIPtr	xmlCreateURI		(void)
    -
    void	xmlFreeURI			(xmlURIPtr uri)
    -
    int	xmlNormalizeURIPath		(char * path)
    -
    xmlURIPtr	xmlParseURI		(const char * str)
    -
    xmlURIPtr	xmlParseURIRaw		(const char * str, 
    int raw)
    -
    int	xmlParseURIReference		(xmlURIPtr uri, 
    const char * str)
    -
    xmlChar *	xmlPathToURI		(const xmlChar * path)
    -
    void	xmlPrintURI			(FILE * stream, 
    xmlURIPtr uri)
    -
    xmlChar *	xmlSaveUri		(xmlURIPtr uri)
    -
    xmlChar *	xmlURIEscape		(const xmlChar * str)
    -
    xmlChar *	xmlURIEscapeStr		(const xmlChar * str, 
    const xmlChar * list)
    -
    char *	xmlURIUnescapeString		(const char * str, 
    int len,
    char * target)
    -

    Description

    -

    Structure xmlURI

    Structure xmlURI
    struct _xmlURI { - char * scheme : the URI scheme - char * opaque : opaque part - char * authority : the authority part - char * server : the server part - char * user : the user part - int port : the port number - char * path : the path string - char * query : the query string (deprecated - use with - char * fragment : the fragment identifier - int cleanup : parsing potentially unclean URI - char * query_raw : the query string (as it appears in the -}

    Function: xmlBuildRelativeURI

    xmlChar *	xmlBuildRelativeURI	(const xmlChar * URI, 
    const xmlChar * base)
    -

    Expresses the URI of the reference in terms relative to the base. Some examples of this operation include: base = "http://site1.com/docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif pic1.gif http://site2.com/docs/pic1.gif http://site2.com/docs/pic1.gif base = "docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif http://site1.com/docs/pic1.gif Note: if the URI reference is really wierd or complicated, it may be worthwhile to first convert it into a "nice" one by calling xmlBuildURI (using 'base') before calling this routine, since this routine (for reasonable efficiency) assumes URI has already been through some validation.

    -
    URI:the URI reference under consideration
    base:the base value
    Returns:a new URI string (to be freed by the caller) or NULL in case error.

    Function: xmlBuildURI

    xmlChar *	xmlBuildURI		(const xmlChar * URI, 
    const xmlChar * base)
    -

    Computes he final URI of the reference done by checking that the given URI is valid, and building the final URI using the base URI. This is processed according to section 5.2 of the RFC 2396 5.2. Resolving Relative References to Absolute Form

    -
    URI:the URI instance found in the document
    base:the base value
    Returns:a new URI string (to be freed by the caller) or NULL in case of error.

    Function: xmlCanonicPath

    xmlChar *	xmlCanonicPath		(const xmlChar * path)
    -

    Constructs a canonic path from the specified path.

    -
    path:the resource locator in a filesystem notation
    Returns:a new canonic path, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.

    Function: xmlCreateURI

    xmlURIPtr	xmlCreateURI		(void)
    -

    Simply creates an empty xmlURI

    -
    Returns:the new structure or NULL in case of error

    Function: xmlFreeURI

    void	xmlFreeURI			(xmlURIPtr uri)
    -

    Free up the xmlURI struct

    -
    uri:pointer to an xmlURI

    Function: xmlNormalizeURIPath

    int	xmlNormalizeURIPath		(char * path)
    -

    Applies the 5 normalization steps to a path string--that is, RFC 2396 Section 5.2, steps 6.c through 6.g. Normalization occurs directly on the string, no new allocation is done

    -
    path:pointer to the path string
    Returns:0 or an error code

    Function: xmlParseURI

    xmlURIPtr	xmlParseURI		(const char * str)
    -

    Parse an URI based on RFC 3986 URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]

    -
    str:the URI string to analyze
    Returns:a newly built xmlURIPtr or NULL in case of error

    Function: xmlParseURIRaw

    xmlURIPtr	xmlParseURIRaw		(const char * str, 
    int raw)
    -

    Parse an URI but allows to keep intact the original fragments. URI-reference = URI / relative-ref

    -
    str:the URI string to analyze
    raw:if 1 unescaping of URI pieces are disabled
    Returns:a newly built xmlURIPtr or NULL in case of error

    Function: xmlParseURIReference

    int	xmlParseURIReference		(xmlURIPtr uri, 
    const char * str)
    -

    Parse an URI reference string based on RFC 3986 and fills in the appropriate fields of the @uri structure URI-reference = URI / relative-ref

    -
    uri:pointer to an URI structure
    str:the string to analyze
    Returns:0 or the error code

    Function: xmlPathToURI

    xmlChar *	xmlPathToURI		(const xmlChar * path)
    -

    Constructs an URI expressing the existing path

    -
    path:the resource locator in a filesystem notation
    Returns:a new URI, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.

    Function: xmlPrintURI

    void	xmlPrintURI			(FILE * stream, 
    xmlURIPtr uri)
    -

    Prints the URI in the stream @stream.

    -
    stream:a FILE* for the output
    uri:pointer to an xmlURI

    Function: xmlSaveUri

    xmlChar *	xmlSaveUri		(xmlURIPtr uri)
    -

    Save the URI as an escaped string

    -
    uri:pointer to an xmlURI
    Returns:a new string (to be deallocated by caller)

    Function: xmlURIEscape

    xmlChar *	xmlURIEscape		(const xmlChar * str)
    -

    Escaping routine, does not do validity checks ! It will try to escape the chars needing this, but this is heuristic based it's impossible to be sure.

    -
    str:the string of the URI to escape
    Returns:an copy of the string, but escaped 25 May 2001 Uses xmlParseURI and xmlURIEscapeStr to try to escape correctly according to RFC2396. - Carl Douglas

    Function: xmlURIEscapeStr

    xmlChar *	xmlURIEscapeStr		(const xmlChar * str, 
    const xmlChar * list)
    -

    This routine escapes a string to hex, ignoring reserved characters (a-z) and the characters in the exception list.

    -
    str:string to escape
    list:exception list string of chars not to escape
    Returns:a new escaped string or NULL in case of error.

    Function: xmlURIUnescapeString

    char *	xmlURIUnescapeString		(const char * str, 
    int len,
    char * target)
    -

    Unescaping routine, but does not check that the string is an URI. The output is a direct unsigned char translation of %XX values (no encoding) Note that the length of the result can only be smaller or same size as the input string.

    -
    str:the string to unescape
    len:the length in bytes to unescape (or <= 0 to indicate full string)
    target:optional destination buffer
    Returns:a copy of the string, but unescaped, will return NULL only in case of error

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-valid.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-valid.html deleted file mode 100644 index 5c15ace..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-valid.html +++ /dev/null @@ -1,289 +0,0 @@ - - -Module valid from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module valid from libxml2

    API Menu
    API Indexes
    Related links

    API for the DTD handling and the validity checking

    Table of Contents

    #define XML_CTXT_FINISH_DTD_0
    #define XML_CTXT_FINISH_DTD_1
    Structure xmlAttributeTable
    struct _xmlHashTable -The content of this structure is not made public by the API. -
    Typedef xmlAttributeTable * xmlAttributeTablePtr
    -
    Structure xmlElementTable
    struct _xmlHashTable -The content of this structure is not made public by the API. -
    Typedef xmlElementTable * xmlElementTablePtr
    -
    Structure xmlIDTable
    struct _xmlHashTable -The content of this structure is not made public by the API. -
    Typedef xmlIDTable * xmlIDTablePtr
    -
    Structure xmlNotationTable
    struct _xmlHashTable -The content of this structure is not made public by the API. -
    Typedef xmlNotationTable * xmlNotationTablePtr
    -
    Structure xmlRefTable
    struct _xmlHashTable -The content of this structure is not made public by the API. -
    Typedef xmlRefTable * xmlRefTablePtr
    -
    Structure xmlValidCtxt
    struct _xmlValidCtxt -
    Typedef xmlValidCtxt * xmlValidCtxtPtr
    -
    Structure xmlValidState
    struct _xmlValidState -The content of this structure is not made public by the API. -
    Typedef xmlValidState * xmlValidStatePtr
    -
    xmlAttributePtr	xmlAddAttributeDecl	(xmlValidCtxtPtr ctxt, 
    xmlDtdPtr dtd,
    const xmlChar * elem,
    const xmlChar * name,
    const xmlChar * ns,
    xmlAttributeType type,
    xmlAttributeDefault def,
    const xmlChar * defaultValue,
    xmlEnumerationPtr tree)
    -
    xmlElementPtr	xmlAddElementDecl	(xmlValidCtxtPtr ctxt, 
    xmlDtdPtr dtd,
    const xmlChar * name,
    xmlElementTypeVal type,
    xmlElementContentPtr content)
    -
    xmlIDPtr	xmlAddID		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    const xmlChar * value,
    xmlAttrPtr attr)
    -
    xmlNotationPtr	xmlAddNotationDecl	(xmlValidCtxtPtr ctxt, 
    xmlDtdPtr dtd,
    const xmlChar * name,
    const xmlChar * PublicID,
    const xmlChar * SystemID)
    -
    xmlRefPtr	xmlAddRef		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    const xmlChar * value,
    xmlAttrPtr attr)
    -
    xmlAttributeTablePtr	xmlCopyAttributeTable	(xmlAttributeTablePtr table)
    -
    xmlElementContentPtr	xmlCopyDocElementContent	(xmlDocPtr doc, 
    xmlElementContentPtr cur)
    -
    xmlElementContentPtr	xmlCopyElementContent	(xmlElementContentPtr cur)
    -
    xmlElementTablePtr	xmlCopyElementTable	(xmlElementTablePtr table)
    -
    xmlEnumerationPtr	xmlCopyEnumeration	(xmlEnumerationPtr cur)
    -
    xmlNotationTablePtr	xmlCopyNotationTable	(xmlNotationTablePtr table)
    -
    xmlEnumerationPtr	xmlCreateEnumeration	(const xmlChar * name)
    -
    void	xmlDumpAttributeDecl		(xmlBufferPtr buf, 
    xmlAttributePtr attr)
    -
    void	xmlDumpAttributeTable		(xmlBufferPtr buf, 
    xmlAttributeTablePtr table)
    -
    void	xmlDumpElementDecl		(xmlBufferPtr buf, 
    xmlElementPtr elem)
    -
    void	xmlDumpElementTable		(xmlBufferPtr buf, 
    xmlElementTablePtr table)
    -
    void	xmlDumpNotationDecl		(xmlBufferPtr buf, 
    xmlNotationPtr nota)
    -
    void	xmlDumpNotationTable		(xmlBufferPtr buf, 
    xmlNotationTablePtr table)
    -
    void	xmlFreeAttributeTable		(xmlAttributeTablePtr table)
    -
    void	xmlFreeDocElementContent	(xmlDocPtr doc, 
    xmlElementContentPtr cur)
    -
    void	xmlFreeElementContent		(xmlElementContentPtr cur)
    -
    void	xmlFreeElementTable		(xmlElementTablePtr table)
    -
    void	xmlFreeEnumeration		(xmlEnumerationPtr cur)
    -
    void	xmlFreeIDTable			(xmlIDTablePtr table)
    -
    void	xmlFreeNotationTable		(xmlNotationTablePtr table)
    -
    void	xmlFreeRefTable			(xmlRefTablePtr table)
    -
    void	xmlFreeValidCtxt		(xmlValidCtxtPtr cur)
    -
    xmlAttributePtr	xmlGetDtdAttrDesc	(xmlDtdPtr dtd, 
    const xmlChar * elem,
    const xmlChar * name)
    -
    xmlElementPtr	xmlGetDtdElementDesc	(xmlDtdPtr dtd, 
    const xmlChar * name)
    -
    xmlNotationPtr	xmlGetDtdNotationDesc	(xmlDtdPtr dtd, 
    const xmlChar * name)
    -
    xmlAttributePtr	xmlGetDtdQAttrDesc	(xmlDtdPtr dtd, 
    const xmlChar * elem,
    const xmlChar * name,
    const xmlChar * prefix)
    -
    xmlElementPtr	xmlGetDtdQElementDesc	(xmlDtdPtr dtd, 
    const xmlChar * name,
    const xmlChar * prefix)
    -
    xmlAttrPtr	xmlGetID		(xmlDocPtr doc, 
    const xmlChar * ID)
    -
    xmlListPtr	xmlGetRefs		(xmlDocPtr doc, 
    const xmlChar * ID)
    -
    int	xmlIsID			(xmlDocPtr doc, 
    xmlNodePtr elem,
    xmlAttrPtr attr)
    -
    int	xmlIsMixedElement		(xmlDocPtr doc, 
    const xmlChar * name)
    -
    int	xmlIsRef			(xmlDocPtr doc, 
    xmlNodePtr elem,
    xmlAttrPtr attr)
    -
    xmlElementContentPtr	xmlNewDocElementContent	(xmlDocPtr doc, 
    const xmlChar * name,
    xmlElementContentType type)
    -
    xmlElementContentPtr	xmlNewElementContent	(const xmlChar * name, 
    xmlElementContentType type)
    -
    xmlValidCtxtPtr	xmlNewValidCtxt		(void)
    -
    int	xmlRemoveID			(xmlDocPtr doc, 
    xmlAttrPtr attr)
    -
    int	xmlRemoveRef			(xmlDocPtr doc, 
    xmlAttrPtr attr)
    -
    void	xmlSnprintfElementContent	(char * buf, 
    int size,
    xmlElementContentPtr content,
    int englob)
    -
    void	xmlSprintfElementContent	(char * buf, 
    xmlElementContentPtr content,
    int englob)
    -
    int	xmlValidBuildContentModel	(xmlValidCtxtPtr ctxt, 
    xmlElementPtr elem)
    -
    xmlChar *	xmlValidCtxtNormalizeAttributeValue	(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    const xmlChar * name,
    const xmlChar * value)
    -
    int	xmlValidGetPotentialChildren	(xmlElementContent * ctree, 
    const xmlChar ** names,
    int * len,
    int max)
    -
    int	xmlValidGetValidElements	(xmlNode * prev, 
    xmlNode * next,
    const xmlChar ** names,
    int max)
    -
    xmlChar *	xmlValidNormalizeAttributeValue	(xmlDocPtr doc, 
    xmlNodePtr elem,
    const xmlChar * name,
    const xmlChar * value)
    -
    int	xmlValidateAttributeDecl	(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlAttributePtr attr)
    -
    int	xmlValidateAttributeValue	(xmlAttributeType type, 
    const xmlChar * value)
    -
    int	xmlValidateDocument		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    -
    int	xmlValidateDocumentFinal	(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    -
    int	xmlValidateDtd			(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlDtdPtr dtd)
    -
    int	xmlValidateDtdFinal		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    -
    int	xmlValidateElement		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    -
    int	xmlValidateElementDecl		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlElementPtr elem)
    -
    int	xmlValidateNameValue		(const xmlChar * value)
    -
    int	xmlValidateNamesValue		(const xmlChar * value)
    -
    int	xmlValidateNmtokenValue		(const xmlChar * value)
    -
    int	xmlValidateNmtokensValue	(const xmlChar * value)
    -
    int	xmlValidateNotationDecl		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNotationPtr nota)
    -
    int	xmlValidateNotationUse		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    const xmlChar * notationName)
    -
    int	xmlValidateOneAttribute		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    xmlAttrPtr attr,
    const xmlChar * value)
    -
    int	xmlValidateOneElement		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    -
    int	xmlValidateOneNamespace		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    const xmlChar * prefix,
    xmlNsPtr ns,
    const xmlChar * value)
    -
    int	xmlValidatePopElement		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    const xmlChar * qname)
    -
    int	xmlValidatePushCData		(xmlValidCtxtPtr ctxt, 
    const xmlChar * data,
    int len)
    -
    int	xmlValidatePushElement		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    const xmlChar * qname)
    -
    int	xmlValidateRoot			(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    -
    Function type: xmlValidityErrorFunc
    -void	xmlValidityErrorFunc		(void * ctx, 
    const char * msg,
    ... ...) -
    -
    Function type: xmlValidityWarningFunc
    -void	xmlValidityWarningFunc		(void * ctx, 
    const char * msg,
    ... ...) -
    -

    Description

    -

    Macro: XML_CTXT_FINISH_DTD_0

    #define XML_CTXT_FINISH_DTD_0

    Special value for finishDtd field when embedded in an xmlParserCtxt

    -

    Macro: XML_CTXT_FINISH_DTD_1

    #define XML_CTXT_FINISH_DTD_1

    Special value for finishDtd field when embedded in an xmlParserCtxt

    -

    Structure xmlAttributeTable

    Structure xmlAttributeTable
    struct _xmlHashTable { -The content of this structure is not made public by the API. -}

    Structure xmlElementTable

    Structure xmlElementTable
    struct _xmlHashTable { -The content of this structure is not made public by the API. -}

    Structure xmlIDTable

    Structure xmlIDTable
    struct _xmlHashTable { -The content of this structure is not made public by the API. -}

    Structure xmlNotationTable

    Structure xmlNotationTable
    struct _xmlHashTable { -The content of this structure is not made public by the API. -}

    Structure xmlRefTable

    Structure xmlRefTable
    struct _xmlHashTable { -The content of this structure is not made public by the API. -}

    Structure xmlValidCtxt

    Structure xmlValidCtxt
    struct _xmlValidCtxt { - void * userData : user specific data block - xmlValidityErrorFunc error : the callback in case of errors - xmlValidityWarningFunc warning : the callback in case of warning Node an - xmlNodePtr node : Current parsed Node - int nodeNr : Depth of the parsing stack - int nodeMax : Max depth of the parsing stack - xmlNodePtr * nodeTab : array of nodes - unsigned int finishDtd : finished validating the Dtd ? - xmlDocPtr doc : the document - int valid : temporary validity check result state s - xmlValidState * vstate : current state - int vstateNr : Depth of the validation stack - int vstateMax : Max depth of the validation stack - xmlValidState * vstateTab : array of validation states - xmlAutomataPtr am : the automata - xmlAutomataStatePtr state : used to build the automata - void * am - void * state -}

    Structure xmlValidState

    Structure xmlValidState
    struct _xmlValidState { -The content of this structure is not made public by the API. -}

    Function: xmlAddAttributeDecl

    xmlAttributePtr	xmlAddAttributeDecl	(xmlValidCtxtPtr ctxt, 
    xmlDtdPtr dtd,
    const xmlChar * elem,
    const xmlChar * name,
    const xmlChar * ns,
    xmlAttributeType type,
    xmlAttributeDefault def,
    const xmlChar * defaultValue,
    xmlEnumerationPtr tree)
    -

    Register a new attribute declaration Note that @tree becomes the ownership of the DTD

    -
    ctxt:the validation context
    dtd:pointer to the DTD
    elem:the element name
    name:the attribute name
    ns:the attribute namespace prefix
    type:the attribute type
    def:the attribute default type
    defaultValue:the attribute default value
    tree:if it's an enumeration, the associated list
    Returns:NULL if not new, otherwise the attribute decl

    Function: xmlAddElementDecl

    xmlElementPtr	xmlAddElementDecl	(xmlValidCtxtPtr ctxt, 
    xmlDtdPtr dtd,
    const xmlChar * name,
    xmlElementTypeVal type,
    xmlElementContentPtr content)
    -

    Register a new element declaration

    -
    ctxt:the validation context
    dtd:pointer to the DTD
    name:the entity name
    type:the element type
    content:the element content tree or NULL
    Returns:NULL if not, otherwise the entity

    Function: xmlAddID

    xmlIDPtr	xmlAddID		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    const xmlChar * value,
    xmlAttrPtr attr)
    -

    Register a new id declaration

    -
    ctxt:the validation context
    doc:pointer to the document
    value:the value name
    attr:the attribute holding the ID
    Returns:NULL if not, otherwise the new xmlIDPtr

    Function: xmlAddNotationDecl

    xmlNotationPtr	xmlAddNotationDecl	(xmlValidCtxtPtr ctxt, 
    xmlDtdPtr dtd,
    const xmlChar * name,
    const xmlChar * PublicID,
    const xmlChar * SystemID)
    -

    Register a new notation declaration

    -
    ctxt:the validation context
    dtd:pointer to the DTD
    name:the entity name
    PublicID:the public identifier or NULL
    SystemID:the system identifier or NULL
    Returns:NULL if not, otherwise the entity

    Function: xmlAddRef

    xmlRefPtr	xmlAddRef		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    const xmlChar * value,
    xmlAttrPtr attr)
    -

    Register a new ref declaration

    -
    ctxt:the validation context
    doc:pointer to the document
    value:the value name
    attr:the attribute holding the Ref
    Returns:NULL if not, otherwise the new xmlRefPtr

    Function: xmlCopyAttributeTable

    xmlAttributeTablePtr	xmlCopyAttributeTable	(xmlAttributeTablePtr table)
    -

    Build a copy of an attribute table.

    -
    table:An attribute table
    Returns:the new xmlAttributeTablePtr or NULL in case of error.

    Function: xmlCopyDocElementContent

    xmlElementContentPtr	xmlCopyDocElementContent	(xmlDocPtr doc, 
    xmlElementContentPtr cur)
    -

    Build a copy of an element content description.

    -
    doc:the document owning the element declaration
    cur:An element content pointer.
    Returns:the new xmlElementContentPtr or NULL in case of error.

    Function: xmlCopyElementContent

    xmlElementContentPtr	xmlCopyElementContent	(xmlElementContentPtr cur)
    -

    Build a copy of an element content description. Deprecated, use xmlCopyDocElementContent instead

    -
    cur:An element content pointer.
    Returns:the new xmlElementContentPtr or NULL in case of error.

    Function: xmlCopyElementTable

    xmlElementTablePtr	xmlCopyElementTable	(xmlElementTablePtr table)
    -

    Build a copy of an element table.

    -
    table:An element table
    Returns:the new xmlElementTablePtr or NULL in case of error.

    Function: xmlCopyEnumeration

    xmlEnumerationPtr	xmlCopyEnumeration	(xmlEnumerationPtr cur)
    -

    Copy an enumeration attribute node (recursive).

    -
    cur:the tree to copy.
    Returns:the xmlEnumerationPtr just created or NULL in case of error.

    Function: xmlCopyNotationTable

    xmlNotationTablePtr	xmlCopyNotationTable	(xmlNotationTablePtr table)
    -

    Build a copy of a notation table.

    -
    table:A notation table
    Returns:the new xmlNotationTablePtr or NULL in case of error.

    Function: xmlCreateEnumeration

    xmlEnumerationPtr	xmlCreateEnumeration	(const xmlChar * name)
    -

    create and initialize an enumeration attribute node.

    -
    name:the enumeration name or NULL
    Returns:the xmlEnumerationPtr just created or NULL in case of error.

    Function: xmlDumpAttributeDecl

    void	xmlDumpAttributeDecl		(xmlBufferPtr buf, 
    xmlAttributePtr attr)
    -

    This will dump the content of the attribute declaration as an XML DTD definition

    -
    buf:the XML buffer output
    attr:An attribute declaration

    Function: xmlDumpAttributeTable

    void	xmlDumpAttributeTable		(xmlBufferPtr buf, 
    xmlAttributeTablePtr table)
    -

    This will dump the content of the attribute table as an XML DTD definition

    -
    buf:the XML buffer output
    table:An attribute table

    Function: xmlDumpElementDecl

    void	xmlDumpElementDecl		(xmlBufferPtr buf, 
    xmlElementPtr elem)
    -

    This will dump the content of the element declaration as an XML DTD definition

    -
    buf:the XML buffer output
    elem:An element table

    Function: xmlDumpElementTable

    void	xmlDumpElementTable		(xmlBufferPtr buf, 
    xmlElementTablePtr table)
    -

    This will dump the content of the element table as an XML DTD definition

    -
    buf:the XML buffer output
    table:An element table

    Function: xmlDumpNotationDecl

    void	xmlDumpNotationDecl		(xmlBufferPtr buf, 
    xmlNotationPtr nota)
    -

    This will dump the content the notation declaration as an XML DTD definition

    -
    buf:the XML buffer output
    nota:A notation declaration

    Function: xmlDumpNotationTable

    void	xmlDumpNotationTable		(xmlBufferPtr buf, 
    xmlNotationTablePtr table)
    -

    This will dump the content of the notation table as an XML DTD definition

    -
    buf:the XML buffer output
    table:A notation table

    Function: xmlFreeAttributeTable

    void	xmlFreeAttributeTable		(xmlAttributeTablePtr table)
    -

    Deallocate the memory used by an entities hash table.

    -
    table:An attribute table

    Function: xmlFreeDocElementContent

    void	xmlFreeDocElementContent	(xmlDocPtr doc, 
    xmlElementContentPtr cur)
    -

    Free an element content structure. The whole subtree is removed.

    -
    doc:the document owning the element declaration
    cur:the element content tree to free

    Function: xmlFreeElementContent

    void	xmlFreeElementContent		(xmlElementContentPtr cur)
    -

    Free an element content structure. The whole subtree is removed. Deprecated, use xmlFreeDocElementContent instead

    -
    cur:the element content tree to free

    Function: xmlFreeElementTable

    void	xmlFreeElementTable		(xmlElementTablePtr table)
    -

    Deallocate the memory used by an element hash table.

    -
    table:An element table

    Function: xmlFreeEnumeration

    void	xmlFreeEnumeration		(xmlEnumerationPtr cur)
    -

    free an enumeration attribute node (recursive).

    -
    cur:the tree to free.

    Function: xmlFreeIDTable

    void	xmlFreeIDTable			(xmlIDTablePtr table)
    -

    Deallocate the memory used by an ID hash table.

    -
    table:An id table

    Function: xmlFreeNotationTable

    void	xmlFreeNotationTable		(xmlNotationTablePtr table)
    -

    Deallocate the memory used by an entities hash table.

    -
    table:An notation table

    Function: xmlFreeRefTable

    void	xmlFreeRefTable			(xmlRefTablePtr table)
    -

    Deallocate the memory used by an Ref hash table.

    -
    table:An ref table

    Function: xmlFreeValidCtxt

    void	xmlFreeValidCtxt		(xmlValidCtxtPtr cur)
    -

    Free a validation context structure.

    -
    cur:the validation context to free

    Function: xmlGetDtdAttrDesc

    xmlAttributePtr	xmlGetDtdAttrDesc	(xmlDtdPtr dtd, 
    const xmlChar * elem,
    const xmlChar * name)
    -

    Search the DTD for the description of this attribute on this element.

    -
    dtd:a pointer to the DtD to search
    elem:the element name
    name:the attribute name
    Returns:the xmlAttributePtr if found or NULL

    Function: xmlGetDtdElementDesc

    xmlElementPtr	xmlGetDtdElementDesc	(xmlDtdPtr dtd, 
    const xmlChar * name)
    -

    Search the DTD for the description of this element

    -
    dtd:a pointer to the DtD to search
    name:the element name
    Returns:the xmlElementPtr if found or NULL

    Function: xmlGetDtdNotationDesc

    xmlNotationPtr	xmlGetDtdNotationDesc	(xmlDtdPtr dtd, 
    const xmlChar * name)
    -

    Search the DTD for the description of this notation

    -
    dtd:a pointer to the DtD to search
    name:the notation name
    Returns:the xmlNotationPtr if found or NULL

    Function: xmlGetDtdQAttrDesc

    xmlAttributePtr	xmlGetDtdQAttrDesc	(xmlDtdPtr dtd, 
    const xmlChar * elem,
    const xmlChar * name,
    const xmlChar * prefix)
    -

    Search the DTD for the description of this qualified attribute on this element.

    -
    dtd:a pointer to the DtD to search
    elem:the element name
    name:the attribute name
    prefix:the attribute namespace prefix
    Returns:the xmlAttributePtr if found or NULL

    Function: xmlGetDtdQElementDesc

    xmlElementPtr	xmlGetDtdQElementDesc	(xmlDtdPtr dtd, 
    const xmlChar * name,
    const xmlChar * prefix)
    -

    Search the DTD for the description of this element

    -
    dtd:a pointer to the DtD to search
    name:the element name
    prefix:the element namespace prefix
    Returns:the xmlElementPtr if found or NULL

    Function: xmlGetID

    xmlAttrPtr	xmlGetID		(xmlDocPtr doc, 
    const xmlChar * ID)
    -

    Search the attribute declaring the given ID

    -
    doc:pointer to the document
    ID:the ID value
    Returns:NULL if not found, otherwise the xmlAttrPtr defining the ID

    Function: xmlGetRefs

    xmlListPtr	xmlGetRefs		(xmlDocPtr doc, 
    const xmlChar * ID)
    -

    Find the set of references for the supplied ID.

    -
    doc:pointer to the document
    ID:the ID value
    Returns:NULL if not found, otherwise node set for the ID.

    Function: xmlIsID

    int	xmlIsID			(xmlDocPtr doc, 
    xmlNodePtr elem,
    xmlAttrPtr attr)
    -

    Determine whether an attribute is of type ID. In case we have DTD(s) then this is done if DTD loading has been requested. In the case of HTML documents parsed with the HTML parser, then ID detection is done systematically.

    -
    doc:the document
    elem:the element carrying the attribute
    attr:the attribute
    Returns:0 or 1 depending on the lookup result

    Function: xmlIsMixedElement

    int	xmlIsMixedElement		(xmlDocPtr doc, 
    const xmlChar * name)
    -

    Search in the DtDs whether an element accept Mixed content (or ANY) basically if it is supposed to accept text childs

    -
    doc:the document
    name:the element name
    Returns:0 if no, 1 if yes, and -1 if no element description is available

    Function: xmlIsRef

    int	xmlIsRef			(xmlDocPtr doc, 
    xmlNodePtr elem,
    xmlAttrPtr attr)
    -

    Determine whether an attribute is of type Ref. In case we have DTD(s) then this is simple, otherwise we use an heuristic: name Ref (upper or lowercase).

    -
    doc:the document
    elem:the element carrying the attribute
    attr:the attribute
    Returns:0 or 1 depending on the lookup result

    Function: xmlNewDocElementContent

    xmlElementContentPtr	xmlNewDocElementContent	(xmlDocPtr doc, 
    const xmlChar * name,
    xmlElementContentType type)
    -

    Allocate an element content structure for the document.

    -
    doc:the document
    name:the subelement name or NULL
    type:the type of element content decl
    Returns:NULL if not, otherwise the new element content structure

    Function: xmlNewElementContent

    xmlElementContentPtr	xmlNewElementContent	(const xmlChar * name, 
    xmlElementContentType type)
    -

    Allocate an element content structure. Deprecated in favor of xmlNewDocElementContent

    -
    name:the subelement name or NULL
    type:the type of element content decl
    Returns:NULL if not, otherwise the new element content structure

    Function: xmlNewValidCtxt

    xmlValidCtxtPtr	xmlNewValidCtxt		(void)
    -

    Allocate a validation context structure.

    -
    Returns:NULL if not, otherwise the new validation context structure

    Function: xmlRemoveID

    int	xmlRemoveID			(xmlDocPtr doc, 
    xmlAttrPtr attr)
    -

    Remove the given attribute from the ID table maintained internally.

    -
    doc:the document
    attr:the attribute
    Returns:-1 if the lookup failed and 0 otherwise

    Function: xmlRemoveRef

    int	xmlRemoveRef			(xmlDocPtr doc, 
    xmlAttrPtr attr)
    -

    Remove the given attribute from the Ref table maintained internally.

    -
    doc:the document
    attr:the attribute
    Returns:-1 if the lookup failed and 0 otherwise

    Function: xmlSnprintfElementContent

    void	xmlSnprintfElementContent	(char * buf, 
    int size,
    xmlElementContentPtr content,
    int englob)
    -

    This will dump the content of the element content definition Intended just for the debug routine

    -
    buf:an output buffer
    size:the buffer size
    content:An element table
    englob:1 if one must print the englobing parenthesis, 0 otherwise

    Function: xmlSprintfElementContent

    void	xmlSprintfElementContent	(char * buf, 
    xmlElementContentPtr content,
    int englob)
    -

    Deprecated, unsafe, use xmlSnprintfElementContent

    -
    buf:an output buffer
    content:An element table
    englob:1 if one must print the englobing parenthesis, 0 otherwise

    Function: xmlValidBuildContentModel

    int	xmlValidBuildContentModel	(xmlValidCtxtPtr ctxt, 
    xmlElementPtr elem)
    -

    (Re)Build the automata associated to the content model of this element

    -
    ctxt:a validation context
    elem:an element declaration node
    Returns:1 in case of success, 0 in case of error

    Function: xmlValidCtxtNormalizeAttributeValue

    xmlChar *	xmlValidCtxtNormalizeAttributeValue	(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    const xmlChar * name,
    const xmlChar * value)
    -

    Does the validation related extra step of the normalization of attribute values: If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by single space (#x20) character. Also check VC: Standalone Document Declaration in P32, and update ctxt->valid accordingly

    -
    ctxt:the validation context or NULL
    doc:the document
    elem:the parent
    name:the attribute name
    value:the attribute value
    Returns:a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.

    Function: xmlValidGetPotentialChildren

    int	xmlValidGetPotentialChildren	(xmlElementContent * ctree, 
    const xmlChar ** names,
    int * len,
    int max)
    -

    Build/extend a list of potential children allowed by the content tree

    -
    ctree:an element content tree
    names:an array to store the list of child names
    len:a pointer to the number of element in the list
    max:the size of the array
    Returns:the number of element in the list, or -1 in case of error.

    Function: xmlValidGetValidElements

    int	xmlValidGetValidElements	(xmlNode * prev, 
    xmlNode * next,
    const xmlChar ** names,
    int max)
    -

    This function returns the list of authorized children to insert within an existing tree while respecting the validity constraints forced by the Dtd. The insertion point is defined using @prev and @next in the following ways: to insert before 'node': xmlValidGetValidElements(node->prev, node, ... to insert next 'node': xmlValidGetValidElements(node, node->next, ... to replace 'node': xmlValidGetValidElements(node->prev, node->next, ... to prepend a child to 'node': xmlValidGetValidElements(NULL, node->childs, to append a child to 'node': xmlValidGetValidElements(node->last, NULL, ... pointers to the element names are inserted at the beginning of the array and do not need to be freed.

    -
    prev:an element to insert after
    next:an element to insert next
    names:an array to store the list of child names
    max:the size of the array
    Returns:the number of element in the list, or -1 in case of error. If the function returns the value @max the caller is invited to grow the receiving array and retry.

    Function: xmlValidNormalizeAttributeValue

    xmlChar *	xmlValidNormalizeAttributeValue	(xmlDocPtr doc, 
    xmlNodePtr elem,
    const xmlChar * name,
    const xmlChar * value)
    -

    Does the validation related extra step of the normalization of attribute values: If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by single space (#x20) character.

    -
    doc:the document
    elem:the parent
    name:the attribute name
    value:the attribute value
    Returns:a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.

    Function: xmlValidateAttributeDecl

    int	xmlValidateAttributeDecl	(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlAttributePtr attr)
    -

    Try to validate a single attribute definition basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Default Legal ] - [ VC: Enumeration ] - [ VC: ID Attribute Default ] The ID/IDREF uniqueness and matching are done separately

    -
    ctxt:the validation context
    doc:a document instance
    attr:an attribute definition
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateAttributeValue

    int	xmlValidateAttributeValue	(xmlAttributeType type, 
    const xmlChar * value)
    -

    Validate that the given attribute value match the proper production [ VC: ID ] Values of type ID must match the Name production.... [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names ... [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names ... [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.

    -
    type:an attribute type
    value:an attribute value
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateDocument

    int	xmlValidateDocument		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    -

    Try to validate the document instance basically it does the all the checks described by the XML Rec i.e. validates the internal and external subset (if present) and validate the document tree.

    -
    ctxt:the validation context
    doc:a document instance
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateDocumentFinal

    int	xmlValidateDocumentFinal	(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    -

    Does the final step for the document validation once all the incremental validation steps have been completed basically it does the following checks described by the XML Rec Check all the IDREF/IDREFS attributes definition for validity

    -
    ctxt:the validation context
    doc:a document instance
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateDtd

    int	xmlValidateDtd			(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlDtdPtr dtd)
    -

    Try to validate the document against the dtd instance Basically it does check all the definitions in the DtD. Note the the internal subset (if present) is de-coupled (i.e. not used), which could give problems if ID or IDREF is present.

    -
    ctxt:the validation context
    doc:a document instance
    dtd:a dtd instance
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateDtdFinal

    int	xmlValidateDtdFinal		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    -

    Does the final step for the dtds validation once all the subsets have been parsed basically it does the following checks described by the XML Rec - check that ENTITY and ENTITIES type attributes default or possible values matches one of the defined entities. - check that NOTATION type attributes default or possible values matches one of the defined notations.

    -
    ctxt:the validation context
    doc:a document instance
    Returns:1 if valid or 0 if invalid and -1 if not well-formed

    Function: xmlValidateElement

    int	xmlValidateElement		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    -

    Try to validate the subtree under an element

    -
    ctxt:the validation context
    doc:a document instance
    elem:an element instance
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateElementDecl

    int	xmlValidateElementDecl		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlElementPtr elem)
    -

    Try to validate a single element definition basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: One ID per Element Type ] - [ VC: No Duplicate Types ] - [ VC: Unique Element Type Declaration ]

    -
    ctxt:the validation context
    doc:a document instance
    elem:an element definition
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateNameValue

    int	xmlValidateNameValue		(const xmlChar * value)
    -

    Validate that the given value match Name production

    -
    value:an Name value
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateNamesValue

    int	xmlValidateNamesValue		(const xmlChar * value)
    -

    Validate that the given value match Names production

    -
    value:an Names value
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateNmtokenValue

    int	xmlValidateNmtokenValue		(const xmlChar * value)
    -

    Validate that the given value match Nmtoken production [ VC: Name Token ]

    -
    value:an Nmtoken value
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateNmtokensValue

    int	xmlValidateNmtokensValue	(const xmlChar * value)
    -

    Validate that the given value match Nmtokens production [ VC: Name Token ]

    -
    value:an Nmtokens value
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateNotationDecl

    int	xmlValidateNotationDecl		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNotationPtr nota)
    -

    Try to validate a single notation definition basically it does the following checks as described by the XML-1.0 recommendation: - it seems that no validity constraint exists on notation declarations But this function get called anyway ...

    -
    ctxt:the validation context
    doc:a document instance
    nota:a notation definition
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateNotationUse

    int	xmlValidateNotationUse		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    const xmlChar * notationName)
    -

    Validate that the given name match a notation declaration. - [ VC: Notation Declared ]

    -
    ctxt:the validation context
    doc:the document
    notationName:the notation name to check
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateOneAttribute

    int	xmlValidateOneAttribute		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    xmlAttrPtr attr,
    const xmlChar * value)
    -

    Try to validate a single attribute for an element basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Value Type ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes ] The ID/IDREF uniqueness and matching are done separately

    -
    ctxt:the validation context
    doc:a document instance
    elem:an element instance
    attr:an attribute instance
    value:the attribute value (without entities processing)
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateOneElement

    int	xmlValidateOneElement		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    -

    Try to validate a single element and it's attributes, basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC: Required Attribute ] Then call xmlValidateOneAttribute() for each attribute present. The ID/IDREF checkings are done separately

    -
    ctxt:the validation context
    doc:a document instance
    elem:an element instance
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateOneNamespace

    int	xmlValidateOneNamespace		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    const xmlChar * prefix,
    xmlNsPtr ns,
    const xmlChar * value)
    -

    Try to validate a single namespace declaration for an element basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Value Type ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes ] The ID/IDREF uniqueness and matching are done separately

    -
    ctxt:the validation context
    doc:a document instance
    elem:an element instance
    prefix:the namespace prefix
    ns:an namespace declaration instance
    value:the attribute value (without entities processing)
    Returns:1 if valid or 0 otherwise

    Function: xmlValidatePopElement

    int	xmlValidatePopElement		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    const xmlChar * qname)
    -

    Pop the element end from the validation stack.

    -
    ctxt:the validation context
    doc:a document instance
    elem:an element instance
    qname:the qualified name as appearing in the serialization
    Returns:1 if no validation problem was found or 0 otherwise

    Function: xmlValidatePushCData

    int	xmlValidatePushCData		(xmlValidCtxtPtr ctxt, 
    const xmlChar * data,
    int len)
    -

    check the CData parsed for validation in the current stack

    -
    ctxt:the validation context
    data:some character data read
    len:the lenght of the data
    Returns:1 if no validation problem was found or 0 otherwise

    Function: xmlValidatePushElement

    int	xmlValidatePushElement		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    const xmlChar * qname)
    -

    Push a new element start on the validation stack.

    -
    ctxt:the validation context
    doc:a document instance
    elem:an element instance
    qname:the qualified name as appearing in the serialization
    Returns:1 if no validation problem was found or 0 otherwise

    Function: xmlValidateRoot

    int	xmlValidateRoot			(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    -

    Try to validate a the root element basically it does the following check as described by the XML-1.0 recommendation: - [ VC: Root Element Type ] it doesn't try to recurse or apply other check to the element

    -
    ctxt:the validation context
    doc:a document instance
    Returns:1 if valid or 0 otherwise

    Function type: xmlValidityErrorFunc

    Function type: xmlValidityErrorFunc
    -void	xmlValidityErrorFunc		(void * ctx, 
    const char * msg,
    ... ...) -

    Callback called when a validity error is found. This is a message oriented function similar to an *printf function.

    ctx:usually an xmlValidCtxtPtr to a validity error context, but comes from ctxt->userData (which normally contains such a pointer); ctxt->userData can be changed by the user.
    msg:the string to format *printf like vararg
    ...:remaining arguments to the format

    -

    Function type: xmlValidityWarningFunc

    Function type: xmlValidityWarningFunc
    -void	xmlValidityWarningFunc		(void * ctx, 
    const char * msg,
    ... ...) -

    Callback called when a validity warning is found. This is a message oriented function similar to an *printf function.

    ctx:usually an xmlValidCtxtPtr to a validity error context, but comes from ctxt->userData (which normally contains such a pointer); ctxt->userData can be changed by the user.
    msg:the string to format *printf like vararg
    ...:remaining arguments to the format

    -

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xinclude.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xinclude.html deleted file mode 100644 index c799f10..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xinclude.html +++ /dev/null @@ -1,59 +0,0 @@ - - -Module xinclude from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xinclude from libxml2

    API Menu
    API Indexes
    Related links

    API to handle XInclude processing, implements the World Wide Web Consortium Last Call Working Draft 10 November 2003

    Table of Contents

    #define XINCLUDE_FALLBACK
    #define XINCLUDE_HREF
    #define XINCLUDE_NODE
    #define XINCLUDE_NS
    #define XINCLUDE_OLD_NS
    #define XINCLUDE_PARSE
    #define XINCLUDE_PARSE_ENCODING
    #define XINCLUDE_PARSE_TEXT
    #define XINCLUDE_PARSE_XML
    #define XINCLUDE_PARSE_XPOINTER
    Structure xmlXIncludeCtxt
    struct _xmlXIncludeCtxt -The content of this structure is not made public by the API. -
    Typedef xmlXIncludeCtxt * xmlXIncludeCtxtPtr
    -
    void	xmlXIncludeFreeContext		(xmlXIncludeCtxtPtr ctxt)
    -
    xmlXIncludeCtxtPtr	xmlXIncludeNewContext	(xmlDocPtr doc)
    -
    int	xmlXIncludeProcess		(xmlDocPtr doc)
    -
    int	xmlXIncludeProcessFlags		(xmlDocPtr doc, 
    int flags)
    -
    int	xmlXIncludeProcessFlagsData	(xmlDocPtr doc, 
    int flags,
    void * data)
    -
    int	xmlXIncludeProcessNode		(xmlXIncludeCtxtPtr ctxt, 
    xmlNodePtr node)
    -
    int	xmlXIncludeProcessTree		(xmlNodePtr tree)
    -
    int	xmlXIncludeProcessTreeFlags	(xmlNodePtr tree, 
    int flags)
    -
    int	xmlXIncludeProcessTreeFlagsData	(xmlNodePtr tree, 
    int flags,
    void * data)
    -
    int	xmlXIncludeSetFlags		(xmlXIncludeCtxtPtr ctxt, 
    int flags)
    -

    Description

    -

    Macro: XINCLUDE_FALLBACK

    #define XINCLUDE_FALLBACK

    Macro defining "fallback"

    -

    Macro: XINCLUDE_HREF

    #define XINCLUDE_HREF

    Macro defining "href"

    -

    Macro: XINCLUDE_NODE

    #define XINCLUDE_NODE

    Macro defining "include"

    -

    Macro: XINCLUDE_NS

    #define XINCLUDE_NS

    Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude

    -

    Macro: XINCLUDE_OLD_NS

    #define XINCLUDE_OLD_NS

    Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude

    -

    Macro: XINCLUDE_PARSE

    #define XINCLUDE_PARSE

    Macro defining "parse"

    -

    Macro: XINCLUDE_PARSE_ENCODING

    #define XINCLUDE_PARSE_ENCODING

    Macro defining "encoding"

    -

    Macro: XINCLUDE_PARSE_TEXT

    #define XINCLUDE_PARSE_TEXT

    Macro defining "text"

    -

    Macro: XINCLUDE_PARSE_XML

    #define XINCLUDE_PARSE_XML

    Macro defining "xml"

    -

    Macro: XINCLUDE_PARSE_XPOINTER

    #define XINCLUDE_PARSE_XPOINTER

    Macro defining "xpointer"

    -

    Structure xmlXIncludeCtxt

    Structure xmlXIncludeCtxt
    struct _xmlXIncludeCtxt { -The content of this structure is not made public by the API. -}

    Function: xmlXIncludeFreeContext

    void	xmlXIncludeFreeContext		(xmlXIncludeCtxtPtr ctxt)
    -

    Free an XInclude context

    -
    ctxt:the XInclude context

    Function: xmlXIncludeNewContext

    xmlXIncludeCtxtPtr	xmlXIncludeNewContext	(xmlDocPtr doc)
    -

    Creates a new XInclude context

    -
    doc:an XML Document
    Returns:the new set

    Function: xmlXIncludeProcess

    int	xmlXIncludeProcess		(xmlDocPtr doc)
    -

    Implement the XInclude substitution on the XML document @doc

    -
    doc:an XML document
    Returns:0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

    Function: xmlXIncludeProcessFlags

    int	xmlXIncludeProcessFlags		(xmlDocPtr doc, 
    int flags)
    -

    Implement the XInclude substitution on the XML document @doc

    -
    doc:an XML document
    flags:a set of xmlParserOption used for parsing XML includes
    Returns:0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

    Function: xmlXIncludeProcessFlagsData

    int	xmlXIncludeProcessFlagsData	(xmlDocPtr doc, 
    int flags,
    void * data)
    -

    Implement the XInclude substitution on the XML document @doc

    -
    doc:an XML document
    flags:a set of xmlParserOption used for parsing XML includes
    data:application data that will be passed to the parser context in the _private field of the parser context(s)
    Returns:0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

    Function: xmlXIncludeProcessNode

    int	xmlXIncludeProcessNode		(xmlXIncludeCtxtPtr ctxt, 
    xmlNodePtr node)
    -

    Implement the XInclude substitution for the given subtree reusing the informations and data coming from the given context.

    -
    ctxt:an existing XInclude context
    node:a node in an XML document
    Returns:0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

    Function: xmlXIncludeProcessTree

    int	xmlXIncludeProcessTree		(xmlNodePtr tree)
    -

    Implement the XInclude substitution for the given subtree

    -
    tree:a node in an XML document
    Returns:0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

    Function: xmlXIncludeProcessTreeFlags

    int	xmlXIncludeProcessTreeFlags	(xmlNodePtr tree, 
    int flags)
    -

    Implement the XInclude substitution for the given subtree

    -
    tree:a node in an XML document
    flags:a set of xmlParserOption used for parsing XML includes
    Returns:0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

    Function: xmlXIncludeProcessTreeFlagsData

    int	xmlXIncludeProcessTreeFlagsData	(xmlNodePtr tree, 
    int flags,
    void * data)
    -

    Implement the XInclude substitution on the XML node @tree

    -
    tree:an XML node
    flags:a set of xmlParserOption used for parsing XML includes
    data:application data that will be passed to the parser context in the _private field of the parser context(s)
    Returns:0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

    Function: xmlXIncludeSetFlags

    int	xmlXIncludeSetFlags		(xmlXIncludeCtxtPtr ctxt, 
    int flags)
    -

    Set the flags used for further processing of XML resources.

    -
    ctxt:an XInclude processing context
    flags:a set of xmlParserOption used for parsing XML includes
    Returns:0 in case of success and -1 in case of error.

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xlink.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xlink.html deleted file mode 100644 index 5e94b98..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xlink.html +++ /dev/null @@ -1,82 +0,0 @@ - - -Module xlink from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xlink from libxml2

    API Menu
    API Indexes
    Related links

    unfinished XLink detection module

    Table of Contents

    Enum xlinkActuate
    -
    Typedef xmlChar * xlinkHRef
    -
    Structure xlinkHandler
    struct _xlinkHandler -
    Typedef xlinkHandler * xlinkHandlerPtr
    -
    Typedef xmlChar * xlinkRole
    -
    Enum xlinkShow
    -
    Typedef xmlChar * xlinkTitle
    -
    Enum xlinkType
    -
    Function type: xlinkExtendedLinkFunk
    -void	xlinkExtendedLinkFunk		(void * ctx, 
    xmlNodePtr node,
    int nbLocators,
    const xlinkHRef * hrefs,
    const xlinkRole * roles,
    int nbArcs,
    const xlinkRole * from,
    const xlinkRole * to,
    xlinkShow * show,
    xlinkActuate * actuate,
    int nbTitles,
    const xlinkTitle * titles,
    const xmlChar ** langs) -
    -
    Function type: xlinkExtendedLinkSetFunk
    -void	xlinkExtendedLinkSetFunk	(void * ctx, 
    xmlNodePtr node,
    int nbLocators,
    const xlinkHRef * hrefs,
    const xlinkRole * roles,
    int nbTitles,
    const xlinkTitle * titles,
    const xmlChar ** langs) -
    -
    xlinkNodeDetectFunc	xlinkGetDefaultDetect	(void)
    -
    xlinkHandlerPtr	xlinkGetDefaultHandler	(void)
    -
    xlinkType	xlinkIsLink		(xmlDocPtr doc, 
    xmlNodePtr node)
    -
    Function type: xlinkNodeDetectFunc
    -void	xlinkNodeDetectFunc		(void * ctx, 
    xmlNodePtr node) -
    -
    void	xlinkSetDefaultDetect		(xlinkNodeDetectFunc func)
    -
    void	xlinkSetDefaultHandler		(xlinkHandlerPtr handler)
    -
    Function type: xlinkSimpleLinkFunk
    -void	xlinkSimpleLinkFunk		(void * ctx, 
    xmlNodePtr node,
    const xlinkHRef href,
    const xlinkRole role,
    const xlinkTitle title) -
    -

    Description

    -

    Enum xlinkActuate

    Enum xlinkActuate {
    -    XLINK_ACTUATE_NONE = 0
    -    XLINK_ACTUATE_AUTO = 1
    -    XLINK_ACTUATE_ONREQUEST = 2
    -}
    -

    Structure xlinkHandler

    Structure xlinkHandler
    struct _xlinkHandler { - xlinkSimpleLinkFunk simple - xlinkExtendedLinkFunk extended - xlinkExtendedLinkSetFunk set -}

    Enum xlinkShow

    Enum xlinkShow {
    -    XLINK_SHOW_NONE = 0
    -    XLINK_SHOW_NEW = 1
    -    XLINK_SHOW_EMBED = 2
    -    XLINK_SHOW_REPLACE = 3
    -}
    -

    Enum xlinkType

    Enum xlinkType {
    -    XLINK_TYPE_NONE = 0
    -    XLINK_TYPE_SIMPLE = 1
    -    XLINK_TYPE_EXTENDED = 2
    -    XLINK_TYPE_EXTENDED_SET = 3
    -}
    -

    Function type: xlinkExtendedLinkFunk

    Function type: xlinkExtendedLinkFunk
    -void	xlinkExtendedLinkFunk		(void * ctx, 
    xmlNodePtr node,
    int nbLocators,
    const xlinkHRef * hrefs,
    const xlinkRole * roles,
    int nbArcs,
    const xlinkRole * from,
    const xlinkRole * to,
    xlinkShow * show,
    xlinkActuate * actuate,
    int nbTitles,
    const xlinkTitle * titles,
    const xmlChar ** langs) -

    This is the prototype for a extended link detection callback.

    ctx:user data pointer
    node:the node carrying the link
    nbLocators:the number of locators detected on the link
    hrefs:pointer to the array of locator hrefs
    roles:pointer to the array of locator roles
    nbArcs:the number of arcs detected on the link
    from:pointer to the array of source roles found on the arcs
    to:pointer to the array of target roles found on the arcs
    show:array of values for the show attributes found on the arcs
    actuate:array of values for the actuate attributes found on the arcs
    nbTitles:the number of titles detected on the link
    titles:
    langs:array of xml:lang values for the titles

    -

    Function type: xlinkExtendedLinkSetFunk

    Function type: xlinkExtendedLinkSetFunk
    -void	xlinkExtendedLinkSetFunk	(void * ctx, 
    xmlNodePtr node,
    int nbLocators,
    const xlinkHRef * hrefs,
    const xlinkRole * roles,
    int nbTitles,
    const xlinkTitle * titles,
    const xmlChar ** langs) -

    This is the prototype for a extended link set detection callback.

    ctx:user data pointer
    node:the node carrying the link
    nbLocators:the number of locators detected on the link
    hrefs:pointer to the array of locator hrefs
    roles:pointer to the array of locator roles
    nbTitles:the number of titles detected on the link
    titles:
    langs:array of xml:lang values for the titles

    -

    Function: xlinkGetDefaultDetect

    xlinkNodeDetectFunc	xlinkGetDefaultDetect	(void)
    -

    Get the default xlink detection routine

    -
    Returns:the current function or NULL;

    Function: xlinkGetDefaultHandler

    xlinkHandlerPtr	xlinkGetDefaultHandler	(void)
    -

    Get the default xlink handler.

    -
    Returns:the current xlinkHandlerPtr value.

    Function: xlinkIsLink

    xlinkType	xlinkIsLink		(xmlDocPtr doc, 
    xmlNodePtr node)
    -

    Check whether the given node carries the attributes needed to be a link element (or is one of the linking elements issued from the (X)HTML DtDs). This routine don't try to do full checking of the link validity but tries to detect and return the appropriate link type.

    -
    doc:the document containing the node
    node:the node pointer itself
    Returns:the xlinkType of the node (XLINK_TYPE_NONE if there is no link detected.

    Function type: xlinkNodeDetectFunc

    Function type: xlinkNodeDetectFunc
    -void	xlinkNodeDetectFunc		(void * ctx, 
    xmlNodePtr node) -

    This is the prototype for the link detection routine. It calls the default link detection callbacks upon link detection.

    ctx:user data pointer
    node:the node to check

    -

    Function: xlinkSetDefaultDetect

    void	xlinkSetDefaultDetect		(xlinkNodeDetectFunc func)
    -

    Set the default xlink detection routine

    -
    func:pointer to the new detection routine.

    Function: xlinkSetDefaultHandler

    void	xlinkSetDefaultHandler		(xlinkHandlerPtr handler)
    -

    Set the default xlink handlers

    -
    handler:the new value for the xlink handler block

    Function type: xlinkSimpleLinkFunk

    Function type: xlinkSimpleLinkFunk
    -void	xlinkSimpleLinkFunk		(void * ctx, 
    xmlNodePtr node,
    const xlinkHRef href,
    const xlinkRole role,
    const xlinkTitle title) -

    This is the prototype for a simple link detection callback.

    ctx:user data pointer
    node:the node carrying the link
    href:the target of the link
    role:the role string
    title:the link title

    -

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlIO.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlIO.html deleted file mode 100644 index e296535..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlIO.html +++ /dev/null @@ -1,206 +0,0 @@ - - -Module xmlIO from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlIO from libxml2

    API Menu
    API Indexes
    Related links

    interface for the I/O interfaces used by the parser

    Table of Contents

    xmlOutputBufferPtr	xmlAllocOutputBuffer	(xmlCharEncodingHandlerPtr encoder)
    -
    xmlParserInputBufferPtr	xmlAllocParserInputBuffer	(xmlCharEncoding enc)
    -
    int	xmlCheckFilename		(const char * path)
    -
    xmlParserInputPtr	xmlCheckHTTPInput	(xmlParserCtxtPtr ctxt, 
    xmlParserInputPtr ret)
    -
    void	xmlCleanupInputCallbacks	(void)
    -
    void	xmlCleanupOutputCallbacks	(void)
    -
    int	xmlFileClose			(void * context)
    -
    int	xmlFileMatch			(const char * filename)
    -
    void *	xmlFileOpen			(const char * filename)
    -
    int	xmlFileRead			(void * context, 
    char * buffer,
    int len)
    -
    void	xmlFreeParserInputBuffer	(xmlParserInputBufferPtr in)
    -
    int	xmlIOFTPClose			(void * context)
    -
    int	xmlIOFTPMatch			(const char * filename)
    -
    void *	xmlIOFTPOpen			(const char * filename)
    -
    int	xmlIOFTPRead			(void * context, 
    char * buffer,
    int len)
    -
    int	xmlIOHTTPClose			(void * context)
    -
    int	xmlIOHTTPMatch			(const char * filename)
    -
    void *	xmlIOHTTPOpen			(const char * filename)
    -
    void *	xmlIOHTTPOpenW			(const char * post_uri, 
    int compression)
    -
    int	xmlIOHTTPRead			(void * context, 
    char * buffer,
    int len)
    -
    Function type: xmlInputCloseCallback
    -int	xmlInputCloseCallback		(void * context)
    -
    -
    Function type: xmlInputMatchCallback
    -int	xmlInputMatchCallback		(char const * filename)
    -
    -
    Function type: xmlInputOpenCallback
    -void *	xmlInputOpenCallback		(char const * filename)
    -
    -
    Function type: xmlInputReadCallback
    -int	xmlInputReadCallback		(void * context, 
    char * buffer,
    int len) -
    -
    xmlParserInputPtr	xmlNoNetExternalEntityLoader	(const char * URL, 
    const char * ID,
    xmlParserCtxtPtr ctxt)
    -
    xmlChar *	xmlNormalizeWindowsPath	(const xmlChar * path)
    -
    int	xmlOutputBufferClose		(xmlOutputBufferPtr out)
    -
    xmlOutputBufferPtr	xmlOutputBufferCreateBuffer	(xmlBufferPtr buffer, 
    xmlCharEncodingHandlerPtr encoder)
    -
    xmlOutputBufferPtr	xmlOutputBufferCreateFd	(int fd, 
    xmlCharEncodingHandlerPtr encoder)
    -
    xmlOutputBufferPtr	xmlOutputBufferCreateFile	(FILE * file, 
    xmlCharEncodingHandlerPtr encoder)
    -
    xmlOutputBufferPtr	xmlOutputBufferCreateFilename	(const char * URI, 
    xmlCharEncodingHandlerPtr encoder,
    int compression)
    -
    xmlOutputBufferPtr	xmlOutputBufferCreateIO	(xmlOutputWriteCallback iowrite, 
    xmlOutputCloseCallback ioclose,
    void * ioctx,
    xmlCharEncodingHandlerPtr encoder)
    -
    int	xmlOutputBufferFlush		(xmlOutputBufferPtr out)
    -
    int	xmlOutputBufferWrite		(xmlOutputBufferPtr out, 
    int len,
    const char * buf)
    -
    int	xmlOutputBufferWriteEscape	(xmlOutputBufferPtr out, 
    const xmlChar * str,
    xmlCharEncodingOutputFunc escaping)
    -
    int	xmlOutputBufferWriteString	(xmlOutputBufferPtr out, 
    const char * str)
    -
    Function type: xmlOutputCloseCallback
    -int	xmlOutputCloseCallback		(void * context)
    -
    -
    Function type: xmlOutputMatchCallback
    -int	xmlOutputMatchCallback		(char const * filename)
    -
    -
    Function type: xmlOutputOpenCallback
    -void *	xmlOutputOpenCallback		(char const * filename)
    -
    -
    Function type: xmlOutputWriteCallback
    -int	xmlOutputWriteCallback		(void * context, 
    const char * buffer,
    int len) -
    -
    char *	xmlParserGetDirectory		(const char * filename)
    -
    xmlParserInputBufferPtr	xmlParserInputBufferCreateFd	(int fd, 
    xmlCharEncoding enc)
    -
    xmlParserInputBufferPtr	xmlParserInputBufferCreateFile	(FILE * file, 
    xmlCharEncoding enc)
    -
    xmlParserInputBufferPtr	xmlParserInputBufferCreateFilename	(const char * URI, 
    xmlCharEncoding enc)
    -
    xmlParserInputBufferPtr	xmlParserInputBufferCreateIO	(xmlInputReadCallback ioread, 
    xmlInputCloseCallback ioclose,
    void * ioctx,
    xmlCharEncoding enc)
    -
    xmlParserInputBufferPtr	xmlParserInputBufferCreateMem	(const char * mem, 
    int size,
    xmlCharEncoding enc)
    -
    xmlParserInputBufferPtr	xmlParserInputBufferCreateStatic	(const char * mem, 
    int size,
    xmlCharEncoding enc)
    -
    int	xmlParserInputBufferGrow	(xmlParserInputBufferPtr in, 
    int len)
    -
    int	xmlParserInputBufferPush	(xmlParserInputBufferPtr in, 
    int len,
    const char * buf)
    -
    int	xmlParserInputBufferRead	(xmlParserInputBufferPtr in, 
    int len)
    -
    int	xmlPopInputCallbacks		(void)
    -
    void	xmlRegisterDefaultInputCallbacks	(void)
    -
    void	xmlRegisterDefaultOutputCallbacks	(void)
    -
    void	xmlRegisterHTTPPostCallbacks	(void)
    -
    int	xmlRegisterInputCallbacks	(xmlInputMatchCallback matchFunc, 
    xmlInputOpenCallback openFunc,
    xmlInputReadCallback readFunc,
    xmlInputCloseCallback closeFunc)
    -
    int	xmlRegisterOutputCallbacks	(xmlOutputMatchCallback matchFunc, 
    xmlOutputOpenCallback openFunc,
    xmlOutputWriteCallback writeFunc,
    xmlOutputCloseCallback closeFunc)
    -

    Description

    -

    Function: xmlAllocOutputBuffer

    xmlOutputBufferPtr	xmlAllocOutputBuffer	(xmlCharEncodingHandlerPtr encoder)
    -

    Create a buffered parser output

    -
    encoder:the encoding converter or NULL
    Returns:the new parser output or NULL

    Function: xmlAllocParserInputBuffer

    xmlParserInputBufferPtr	xmlAllocParserInputBuffer	(xmlCharEncoding enc)
    -

    Create a buffered parser input for progressive parsing

    -
    enc:the charset encoding if known
    Returns:the new parser input or NULL

    Function: xmlCheckFilename

    int	xmlCheckFilename		(const char * path)
    -

    function checks to see if @path is a valid source (file, socket...) for XML. if stat is not available on the target machine,

    -
    path:the path to check
    Returns:1. if stat fails, returns 0 (if calling stat on the filename fails, it can't be right). if stat succeeds and the file is a directory, returns 2. otherwise returns 1.

    Function: xmlCheckHTTPInput

    xmlParserInputPtr	xmlCheckHTTPInput	(xmlParserCtxtPtr ctxt, 
    xmlParserInputPtr ret)
    -

    Check an input in case it was created from an HTTP stream, in that case it will handle encoding and update of the base URL in case of redirection. It also checks for HTTP errors in which case the input is cleanly freed up and an appropriate error is raised in context

    -
    ctxt:an XML parser context
    ret:an XML parser input
    Returns:the input or NULL in case of HTTP error.

    Function: xmlCleanupInputCallbacks

    void	xmlCleanupInputCallbacks	(void)
    -

    clears the entire input callback table. this includes the compiled-in I/O.

    -

    Function: xmlCleanupOutputCallbacks

    void	xmlCleanupOutputCallbacks	(void)
    -

    clears the entire output callback table. this includes the compiled-in I/O callbacks.

    -

    Function: xmlFileClose

    int	xmlFileClose			(void * context)
    -

    Close an I/O channel

    -
    context:the I/O context
    Returns:0 or -1 in case of error

    Function: xmlFileMatch

    int	xmlFileMatch			(const char * filename)
    -

    input from FILE *

    -
    filename:the URI for matching
    Returns:1 if matches, 0 otherwise

    Function: xmlFileOpen

    void *	xmlFileOpen			(const char * filename)
    -

    Wrapper around xmlFileOpen_real that try it with an unescaped version of @filename, if this fails fallback to @filename

    -
    filename:the URI for matching
    Returns:a handler or NULL in case or failure

    Function: xmlFileRead

    int	xmlFileRead			(void * context, 
    char * buffer,
    int len)
    -

    Read @len bytes to @buffer from the I/O channel.

    -
    context:the I/O context
    buffer:where to drop data
    len:number of bytes to write
    Returns:the number of bytes written or < 0 in case of failure

    Function: xmlFreeParserInputBuffer

    void	xmlFreeParserInputBuffer	(xmlParserInputBufferPtr in)
    -

    Free up the memory used by a buffered parser input

    -
    in:a buffered parser input

    Function: xmlIOFTPClose

    int	xmlIOFTPClose			(void * context)
    -

    Close an FTP I/O channel

    -
    context:the I/O context
    Returns:0

    Function: xmlIOFTPMatch

    int	xmlIOFTPMatch			(const char * filename)
    -

    check if the URI matches an FTP one

    -
    filename:the URI for matching
    Returns:1 if matches, 0 otherwise

    Function: xmlIOFTPOpen

    void *	xmlIOFTPOpen			(const char * filename)
    -

    open an FTP I/O channel

    -
    filename:the URI for matching
    Returns:an I/O context or NULL in case of error

    Function: xmlIOFTPRead

    int	xmlIOFTPRead			(void * context, 
    char * buffer,
    int len)
    -

    Read @len bytes to @buffer from the I/O channel.

    -
    context:the I/O context
    buffer:where to drop data
    len:number of bytes to write
    Returns:the number of bytes written

    Function: xmlIOHTTPClose

    int	xmlIOHTTPClose			(void * context)
    -

    Close an HTTP I/O channel

    -
    context:the I/O context
    Returns:0

    Function: xmlIOHTTPMatch

    int	xmlIOHTTPMatch			(const char * filename)
    -

    check if the URI matches an HTTP one

    -
    filename:the URI for matching
    Returns:1 if matches, 0 otherwise

    Function: xmlIOHTTPOpen

    void *	xmlIOHTTPOpen			(const char * filename)
    -

    open an HTTP I/O channel

    -
    filename:the URI for matching
    Returns:an I/O context or NULL in case of error

    Function: xmlIOHTTPOpenW

    void *	xmlIOHTTPOpenW			(const char * post_uri, 
    int compression)
    -

    Open a temporary buffer to collect the document for a subsequent HTTP POST request. Non-static as is called from the output buffer creation routine.

    -
    post_uri:The destination URI for the document
    compression:The compression desired for the document.
    Returns:an I/O context or NULL in case of error.

    Function: xmlIOHTTPRead

    int	xmlIOHTTPRead			(void * context, 
    char * buffer,
    int len)
    -

    Read @len bytes to @buffer from the I/O channel.

    -
    context:the I/O context
    buffer:where to drop data
    len:number of bytes to write
    Returns:the number of bytes written

    Function type: xmlInputCloseCallback

    Function type: xmlInputCloseCallback
    -int	xmlInputCloseCallback		(void * context)
    -

    Callback used in the I/O Input API to close the resource

    context:an Input context
    Returns:0 or -1 in case of error

    -

    Function type: xmlInputMatchCallback

    Function type: xmlInputMatchCallback
    -int	xmlInputMatchCallback		(char const * filename)
    -

    Callback used in the I/O Input API to detect if the current handler can provide input fonctionnalities for this resource.

    filename:the filename or URI
    Returns:1 if yes and 0 if another Input module should be used

    -

    Function type: xmlInputOpenCallback

    Function type: xmlInputOpenCallback
    -void *	xmlInputOpenCallback		(char const * filename)
    -

    Callback used in the I/O Input API to open the resource

    filename:the filename or URI
    Returns:an Input context or NULL in case or error

    -

    Function type: xmlInputReadCallback

    Function type: xmlInputReadCallback
    -int	xmlInputReadCallback		(void * context, 
    char * buffer,
    int len) -

    Callback used in the I/O Input API to read the resource

    context:an Input context
    buffer:the buffer to store data read
    len:the length of the buffer in bytes
    Returns:the number of bytes read or -1 in case of error

    -

    Function: xmlNoNetExternalEntityLoader

    xmlParserInputPtr	xmlNoNetExternalEntityLoader	(const char * URL, 
    const char * ID,
    xmlParserCtxtPtr ctxt)
    -

    A specific entity loader disabling network accesses, though still allowing local catalog accesses for resolution.

    -
    URL:the URL for the entity to load
    ID:the System ID for the entity to load
    ctxt:the context in which the entity is called or NULL
    Returns:a new allocated xmlParserInputPtr, or NULL.

    Function: xmlNormalizeWindowsPath

    xmlChar *	xmlNormalizeWindowsPath	(const xmlChar * path)
    -

    This function is obsolete. Please see xmlURIFromPath in uri.c for a better solution.

    -
    path:the input file path
    Returns:a canonicalized version of the path

    Function: xmlOutputBufferClose

    int	xmlOutputBufferClose		(xmlOutputBufferPtr out)
    -

    flushes and close the output I/O channel and free up all the associated resources

    -
    out:a buffered output
    Returns:the number of byte written or -1 in case of error.

    Function: xmlOutputBufferCreateBuffer

    xmlOutputBufferPtr	xmlOutputBufferCreateBuffer	(xmlBufferPtr buffer, 
    xmlCharEncodingHandlerPtr encoder)
    -

    Create a buffered output for the progressive saving to a xmlBuffer

    -
    buffer:a xmlBufferPtr
    encoder:the encoding converter or NULL
    Returns:the new parser output or NULL

    Function: xmlOutputBufferCreateFd

    xmlOutputBufferPtr	xmlOutputBufferCreateFd	(int fd, 
    xmlCharEncodingHandlerPtr encoder)
    -

    Create a buffered output for the progressive saving to a file descriptor

    -
    fd:a file descriptor number
    encoder:the encoding converter or NULL
    Returns:the new parser output or NULL

    Function: xmlOutputBufferCreateFile

    xmlOutputBufferPtr	xmlOutputBufferCreateFile	(FILE * file, 
    xmlCharEncodingHandlerPtr encoder)
    -

    Create a buffered output for the progressive saving to a FILE * buffered C I/O

    -
    file:a FILE*
    encoder:the encoding converter or NULL
    Returns:the new parser output or NULL

    Function: xmlOutputBufferCreateFilename

    xmlOutputBufferPtr	xmlOutputBufferCreateFilename	(const char * URI, 
    xmlCharEncodingHandlerPtr encoder,
    int compression)
    -

    Create a buffered output for the progressive saving of a file If filename is "-' then we use stdout as the output. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. TODO: currently if compression is set, the library only support writing to a local file.

    -
    URI:a C string containing the URI or filename
    encoder:the encoding converter or NULL
    compression:the compression ration (0 none, 9 max).
    Returns:the new output or NULL

    Function: xmlOutputBufferCreateIO

    xmlOutputBufferPtr	xmlOutputBufferCreateIO	(xmlOutputWriteCallback iowrite, 
    xmlOutputCloseCallback ioclose,
    void * ioctx,
    xmlCharEncodingHandlerPtr encoder)
    -

    Create a buffered output for the progressive saving to an I/O handler

    -
    iowrite:an I/O write function
    ioclose:an I/O close function
    ioctx:an I/O handler
    encoder:the charset encoding if known
    Returns:the new parser output or NULL

    Function: xmlOutputBufferFlush

    int	xmlOutputBufferFlush		(xmlOutputBufferPtr out)
    -

    flushes the output I/O channel

    -
    out:a buffered output
    Returns:the number of byte written or -1 in case of error.

    Function: xmlOutputBufferWrite

    int	xmlOutputBufferWrite		(xmlOutputBufferPtr out, 
    int len,
    const char * buf)
    -

    Write the content of the array in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.

    -
    out:a buffered parser output
    len:the size in bytes of the array.
    buf:an char array
    Returns:the number of chars immediately written, or -1 in case of error.

    Function: xmlOutputBufferWriteEscape

    int	xmlOutputBufferWriteEscape	(xmlOutputBufferPtr out, 
    const xmlChar * str,
    xmlCharEncodingOutputFunc escaping)
    -

    Write the content of the string in the output I/O buffer This routine escapes the caracters and then handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.

    -
    out:a buffered parser output
    str:a zero terminated UTF-8 string
    escaping:an optional escaping function (or NULL)
    Returns:the number of chars immediately written, or -1 in case of error.

    Function: xmlOutputBufferWriteString

    int	xmlOutputBufferWriteString	(xmlOutputBufferPtr out, 
    const char * str)
    -

    Write the content of the string in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.

    -
    out:a buffered parser output
    str:a zero terminated C string
    Returns:the number of chars immediately written, or -1 in case of error.

    Function type: xmlOutputCloseCallback

    Function type: xmlOutputCloseCallback
    -int	xmlOutputCloseCallback		(void * context)
    -

    Callback used in the I/O Output API to close the resource

    context:an Output context
    Returns:0 or -1 in case of error

    -

    Function type: xmlOutputMatchCallback

    Function type: xmlOutputMatchCallback
    -int	xmlOutputMatchCallback		(char const * filename)
    -

    Callback used in the I/O Output API to detect if the current handler can provide output fonctionnalities for this resource.

    filename:the filename or URI
    Returns:1 if yes and 0 if another Output module should be used

    -

    Function type: xmlOutputOpenCallback

    Function type: xmlOutputOpenCallback
    -void *	xmlOutputOpenCallback		(char const * filename)
    -

    Callback used in the I/O Output API to open the resource

    filename:the filename or URI
    Returns:an Output context or NULL in case or error

    -

    Function type: xmlOutputWriteCallback

    Function type: xmlOutputWriteCallback
    -int	xmlOutputWriteCallback		(void * context, 
    const char * buffer,
    int len) -

    Callback used in the I/O Output API to write to the resource

    context:an Output context
    buffer:the buffer of data to write
    len:the length of the buffer in bytes
    Returns:the number of bytes written or -1 in case of error

    -

    Function: xmlParserGetDirectory

    char *	xmlParserGetDirectory		(const char * filename)
    -

    lookup the directory for that file

    -
    filename:the path to a file
    Returns:a new allocated string containing the directory, or NULL.

    Function: xmlParserInputBufferCreateFd

    xmlParserInputBufferPtr	xmlParserInputBufferCreateFd	(int fd, 
    xmlCharEncoding enc)
    -

    Create a buffered parser input for the progressive parsing for the input from a file descriptor

    -
    fd:a file descriptor number
    enc:the charset encoding if known
    Returns:the new parser input or NULL

    Function: xmlParserInputBufferCreateFile

    xmlParserInputBufferPtr	xmlParserInputBufferCreateFile	(FILE * file, 
    xmlCharEncoding enc)
    -

    Create a buffered parser input for the progressive parsing of a FILE * buffered C I/O

    -
    file:a FILE*
    enc:the charset encoding if known
    Returns:the new parser input or NULL

    Function: xmlParserInputBufferCreateFilename

    xmlParserInputBufferPtr	xmlParserInputBufferCreateFilename	(const char * URI, 
    xmlCharEncoding enc)
    -

    Create a buffered parser input for the progressive parsing of a file If filename is "-' then we use stdin as the input. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. Do an encoding check if enc == XML_CHAR_ENCODING_NONE

    -
    URI:a C string containing the URI or filename
    enc:the charset encoding if known
    Returns:the new parser input or NULL

    Function: xmlParserInputBufferCreateIO

    xmlParserInputBufferPtr	xmlParserInputBufferCreateIO	(xmlInputReadCallback ioread, 
    xmlInputCloseCallback ioclose,
    void * ioctx,
    xmlCharEncoding enc)
    -

    Create a buffered parser input for the progressive parsing for the input from an I/O handler

    -
    ioread:an I/O read function
    ioclose:an I/O close function
    ioctx:an I/O handler
    enc:the charset encoding if known
    Returns:the new parser input or NULL

    Function: xmlParserInputBufferCreateMem

    xmlParserInputBufferPtr	xmlParserInputBufferCreateMem	(const char * mem, 
    int size,
    xmlCharEncoding enc)
    -

    Create a buffered parser input for the progressive parsing for the input from a memory area.

    -
    mem:the memory input
    size:the length of the memory block
    enc:the charset encoding if known
    Returns:the new parser input or NULL

    Function: xmlParserInputBufferCreateStatic

    xmlParserInputBufferPtr	xmlParserInputBufferCreateStatic	(const char * mem, 
    int size,
    xmlCharEncoding enc)
    -

    Create a buffered parser input for the progressive parsing for the input from an immutable memory area. This will not copy the memory area to the buffer, but the memory is expected to be available until the end of the parsing, this is useful for example when using mmap'ed file.

    -
    mem:the memory input
    size:the length of the memory block
    enc:the charset encoding if known
    Returns:the new parser input or NULL

    Function: xmlParserInputBufferGrow

    int	xmlParserInputBufferGrow	(xmlParserInputBufferPtr in, 
    int len)
    -

    Grow up the content of the input buffer, the old data are preserved This routine handle the I18N transcoding to internal UTF-8 This routine is used when operating the parser in normal (pull) mode TODO: one should be able to remove one extra copy by copying directly onto in->buffer or in->raw

    -
    in:a buffered parser input
    len:indicative value of the amount of chars to read
    Returns:the number of chars read and stored in the buffer, or -1 in case of error.

    Function: xmlParserInputBufferPush

    int	xmlParserInputBufferPush	(xmlParserInputBufferPtr in, 
    int len,
    const char * buf)
    -

    Push the content of the arry in the input buffer This routine handle the I18N transcoding to internal UTF-8 This is used when operating the parser in progressive (push) mode.

    -
    in:a buffered parser input
    len:the size in bytes of the array.
    buf:an char array
    Returns:the number of chars read and stored in the buffer, or -1 in case of error.

    Function: xmlParserInputBufferRead

    int	xmlParserInputBufferRead	(xmlParserInputBufferPtr in, 
    int len)
    -

    Refresh the content of the input buffer, the old data are considered consumed This routine handle the I18N transcoding to internal UTF-8

    -
    in:a buffered parser input
    len:indicative value of the amount of chars to read
    Returns:the number of chars read and stored in the buffer, or -1 in case of error.

    Function: xmlPopInputCallbacks

    int	xmlPopInputCallbacks		(void)
    -

    Clear the top input callback from the input stack. this includes the compiled-in I/O.

    -
    Returns:the number of input callback registered or -1 in case of error.

    Function: xmlRegisterDefaultInputCallbacks

    void	xmlRegisterDefaultInputCallbacks	(void)
    -

    Registers the default compiled-in I/O handlers.

    -

    Function: xmlRegisterDefaultOutputCallbacks

    void	xmlRegisterDefaultOutputCallbacks	(void)
    -

    Registers the default compiled-in I/O handlers.

    -

    Function: xmlRegisterHTTPPostCallbacks

    void	xmlRegisterHTTPPostCallbacks	(void)
    -

    By default, libxml submits HTTP output requests using the "PUT" method. Calling this method changes the HTTP output method to use the "POST" method instead.

    -

    Function: xmlRegisterInputCallbacks

    int	xmlRegisterInputCallbacks	(xmlInputMatchCallback matchFunc, 
    xmlInputOpenCallback openFunc,
    xmlInputReadCallback readFunc,
    xmlInputCloseCallback closeFunc)
    -

    Register a new set of I/O callback for handling parser input.

    -
    matchFunc:the xmlInputMatchCallback
    openFunc:the xmlInputOpenCallback
    readFunc:the xmlInputReadCallback
    closeFunc:the xmlInputCloseCallback
    Returns:the registered handler number or -1 in case of error

    Function: xmlRegisterOutputCallbacks

    int	xmlRegisterOutputCallbacks	(xmlOutputMatchCallback matchFunc, 
    xmlOutputOpenCallback openFunc,
    xmlOutputWriteCallback writeFunc,
    xmlOutputCloseCallback closeFunc)
    -

    Register a new set of I/O callback for handling output.

    -
    matchFunc:the xmlOutputMatchCallback
    openFunc:the xmlOutputOpenCallback
    writeFunc:the xmlOutputWriteCallback
    closeFunc:the xmlOutputCloseCallback
    Returns:the registered handler number or -1 in case of error

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlautomata.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlautomata.html deleted file mode 100644 index a07f7c0..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlautomata.html +++ /dev/null @@ -1,85 +0,0 @@ - - -Module xmlautomata from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlautomata from libxml2

    API Menu
    API Indexes
    Related links

    the API to build regexp automata

    Table of Contents

    Structure xmlAutomata
    struct _xmlAutomata -The content of this structure is not made public by the API. -
    Typedef xmlAutomata * xmlAutomataPtr
    -
    Structure xmlAutomataState
    struct _xmlAutomataState -The content of this structure is not made public by the API. -
    Typedef xmlAutomataState * xmlAutomataStatePtr
    -
    xmlRegexpPtr	xmlAutomataCompile	(xmlAutomataPtr am)
    -
    xmlAutomataStatePtr	xmlAutomataGetInitState	(xmlAutomataPtr am)
    -
    int	xmlAutomataIsDeterminist	(xmlAutomataPtr am)
    -
    xmlAutomataStatePtr	xmlAutomataNewAllTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    int lax)
    -
    xmlAutomataStatePtr	xmlAutomataNewCountTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    int min,
    int max,
    void * data)
    -
    xmlAutomataStatePtr	xmlAutomataNewCountTrans2	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    const xmlChar * token2,
    int min,
    int max,
    void * data)
    -
    xmlAutomataStatePtr	xmlAutomataNewCountedTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    int counter)
    -
    int	xmlAutomataNewCounter		(xmlAutomataPtr am, 
    int min,
    int max)
    -
    xmlAutomataStatePtr	xmlAutomataNewCounterTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    int counter)
    -
    xmlAutomataStatePtr	xmlAutomataNewEpsilon	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to)
    -
    xmlAutomataStatePtr	xmlAutomataNewNegTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    const xmlChar * token2,
    void * data)
    -
    xmlAutomataStatePtr	xmlAutomataNewOnceTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    int min,
    int max,
    void * data)
    -
    xmlAutomataStatePtr	xmlAutomataNewOnceTrans2	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    const xmlChar * token2,
    int min,
    int max,
    void * data)
    -
    xmlAutomataStatePtr	xmlAutomataNewState	(xmlAutomataPtr am)
    -
    xmlAutomataStatePtr	xmlAutomataNewTransition	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    void * data)
    -
    xmlAutomataStatePtr	xmlAutomataNewTransition2	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    const xmlChar * token2,
    void * data)
    -
    int	xmlAutomataSetFinalState	(xmlAutomataPtr am, 
    xmlAutomataStatePtr state)
    -
    void	xmlFreeAutomata			(xmlAutomataPtr am)
    -
    xmlAutomataPtr	xmlNewAutomata		(void)
    -

    Description

    -

    Structure xmlAutomata

    Structure xmlAutomata
    struct _xmlAutomata { -The content of this structure is not made public by the API. -}
    - A libxml automata description, It can be compiled into a regexp -

    Structure xmlAutomataState

    Structure xmlAutomataState
    struct _xmlAutomataState { -The content of this structure is not made public by the API. -}
    - A state int the automata description, -

    Function: xmlAutomataCompile

    xmlRegexpPtr	xmlAutomataCompile	(xmlAutomataPtr am)
    -

    Compile the automata into a Reg Exp ready for being executed. The automata should be free after this point.

    -
    am:an automata
    Returns:the compiled regexp or NULL in case of error

    Function: xmlAutomataGetInitState

    xmlAutomataStatePtr	xmlAutomataGetInitState	(xmlAutomataPtr am)
    -

    Initial state lookup

    -
    am:an automata
    Returns:the initial state of the automata

    Function: xmlAutomataIsDeterminist

    int	xmlAutomataIsDeterminist	(xmlAutomataPtr am)
    -

    Checks if an automata is determinist.

    -
    am:an automata
    Returns:1 if true, 0 if not, and -1 in case of error

    Function: xmlAutomataNewAllTrans

    xmlAutomataStatePtr	xmlAutomataNewAllTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    int lax)
    -

    If @to is NULL, this creates first a new target state in the automata and then adds a an ALL transition from the @from state to the target state. That transition is an epsilon transition allowed only when all transitions from the @from node have been activated.

    -
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    lax:allow to transition if not all all transitions have been activated
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewCountTrans

    xmlAutomataStatePtr	xmlAutomataNewCountTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    int min,
    int max,
    void * data)
    -

    If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max

    -
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    token:the input string associated to that transition
    min:the minimum successive occurences of token
    max:the maximum successive occurences of token
    data:data associated to the transition
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewCountTrans2

    xmlAutomataStatePtr	xmlAutomataNewCountTrans2	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    const xmlChar * token2,
    int min,
    int max,
    void * data)
    -

    If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max

    -
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    token:the input string associated to that transition
    token2:the second input string associated to that transition
    min:the minimum successive occurences of token
    max:the maximum successive occurences of token
    data:data associated to the transition
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewCountedTrans

    xmlAutomataStatePtr	xmlAutomataNewCountedTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    int counter)
    -

    If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will increment the counter provided

    -
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    counter:the counter associated to that transition
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewCounter

    int	xmlAutomataNewCounter		(xmlAutomataPtr am, 
    int min,
    int max)
    -

    Create a new counter

    -
    am:an automata
    min:the minimal value on the counter
    max:the maximal value on the counter
    Returns:the counter number or -1 in case of error

    Function: xmlAutomataNewCounterTrans

    xmlAutomataStatePtr	xmlAutomataNewCounterTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    int counter)
    -

    If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will be allowed only if the counter is within the right range.

    -
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    counter:the counter associated to that transition
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewEpsilon

    xmlAutomataStatePtr	xmlAutomataNewEpsilon	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to)
    -

    If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state

    -
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewNegTrans

    xmlAutomataStatePtr	xmlAutomataNewNegTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    const xmlChar * token2,
    void * data)
    -

    If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by any value except (@token,@token2) Note that if @token2 is not NULL, then (X, NULL) won't match to follow # the semantic of XSD ##other

    -
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    token:the first input string associated to that transition
    token2:the second input string associated to that transition
    data:data passed to the callback function if the transition is activated
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewOnceTrans

    xmlAutomataStatePtr	xmlAutomataNewOnceTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    int min,
    int max,
    void * data)
    -

    If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max, moreover that transition can only be crossed once.

    -
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    token:the input string associated to that transition
    min:the minimum successive occurences of token
    max:the maximum successive occurences of token
    data:data associated to the transition
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewOnceTrans2

    xmlAutomataStatePtr	xmlAutomataNewOnceTrans2	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    const xmlChar * token2,
    int min,
    int max,
    void * data)
    -

    If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max, moreover that transition can only be crossed once.

    -
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    token:the input string associated to that transition
    token2:the second input string associated to that transition
    min:the minimum successive occurences of token
    max:the maximum successive occurences of token
    data:data associated to the transition
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewState

    xmlAutomataStatePtr	xmlAutomataNewState	(xmlAutomataPtr am)
    -

    Create a new disconnected state in the automata

    -
    am:an automata
    Returns:the new state or NULL in case of error

    Function: xmlAutomataNewTransition

    xmlAutomataStatePtr	xmlAutomataNewTransition	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    void * data)
    -

    If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token

    -
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    token:the input string associated to that transition
    data:data passed to the callback function if the transition is activated
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewTransition2

    xmlAutomataStatePtr	xmlAutomataNewTransition2	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    const xmlChar * token2,
    void * data)
    -

    If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token

    -
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    token:the first input string associated to that transition
    token2:the second input string associated to that transition
    data:data passed to the callback function if the transition is activated
    Returns:the target state or NULL in case of error

    Function: xmlAutomataSetFinalState

    int	xmlAutomataSetFinalState	(xmlAutomataPtr am, 
    xmlAutomataStatePtr state)
    -

    Makes that state a final state

    -
    am:an automata
    state:a state in this automata
    Returns:0 or -1 in case of error

    Function: xmlFreeAutomata

    void	xmlFreeAutomata			(xmlAutomataPtr am)
    -

    Free an automata

    -
    am:an automata

    Function: xmlNewAutomata

    xmlAutomataPtr	xmlNewAutomata		(void)
    -

    Create a new automata

    -
    Returns:the new object or NULL in case of failure

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlerror.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlerror.html deleted file mode 100644 index c0ccb53..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlerror.html +++ /dev/null @@ -1,862 +0,0 @@ - - -Module xmlerror from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlerror from libxml2

    API Menu
    API Indexes
    Related links

    the API used to report errors

    Table of Contents

    Structure xmlError
    struct _xmlError -
    Enum xmlErrorDomain
    -
    Enum xmlErrorLevel
    -
    Typedef xmlError * xmlErrorPtr
    -
    Enum xmlParserErrors
    -
    void	initGenericErrorDefaultFunc	(xmlGenericErrorFunc * handler)
    -
    int	xmlCopyError			(xmlErrorPtr from, 
    xmlErrorPtr to)
    -
    xmlErrorPtr	xmlCtxtGetLastError	(void * ctx)
    -
    void	xmlCtxtResetLastError		(void * ctx)
    -
    Function type: xmlGenericErrorFunc
    -void	xmlGenericErrorFunc		(void * ctx, 
    const char * msg,
    ... ...) -
    -
    xmlErrorPtr	xmlGetLastError		(void)
    -
    void	xmlParserError			(void * ctx, 
    const char * msg,
    ... ...)
    -
    void	xmlParserPrintFileContext	(xmlParserInputPtr input)
    -
    void	xmlParserPrintFileInfo		(xmlParserInputPtr input)
    -
    void	xmlParserValidityError		(void * ctx, 
    const char * msg,
    ... ...)
    -
    void	xmlParserValidityWarning	(void * ctx, 
    const char * msg,
    ... ...)
    -
    void	xmlParserWarning		(void * ctx, 
    const char * msg,
    ... ...)
    -
    void	xmlResetError			(xmlErrorPtr err)
    -
    void	xmlResetLastError		(void)
    -
    void	xmlSetGenericErrorFunc		(void * ctx, 
    xmlGenericErrorFunc handler)
    -
    void	xmlSetStructuredErrorFunc	(void * ctx, 
    xmlStructuredErrorFunc handler)
    -
    Function type: xmlStructuredErrorFunc
    -void	xmlStructuredErrorFunc		(void * userData, 
    xmlErrorPtr error) -
    -

    Description

    -

    Structure xmlError

    Structure xmlError
    struct _xmlError { - int domain : What part of the library raised this er - int code : The error code, e.g. an xmlParserError - char * message : human-readable informative error messag - xmlErrorLevel level : how consequent is the error - char * file : the filename - int line : the line number if available - char * str1 : extra string information - char * str2 : extra string information - char * str3 : extra string information - int int1 : extra number information - int int2 : column number of the error or 0 if N/A - void * ctxt : the parser context if available - void * node : the node in the tree -}

    Enum xmlErrorDomain

    Enum xmlErrorDomain {
    -    XML_FROM_NONE = 0
    -    XML_FROM_PARSER = 1 : The XML parser
    -    XML_FROM_TREE = 2 : The tree module
    -    XML_FROM_NAMESPACE = 3 : The XML Namespace module
    -    XML_FROM_DTD = 4 : The XML DTD validation with parser contex
    -    XML_FROM_HTML = 5 : The HTML parser
    -    XML_FROM_MEMORY = 6 : The memory allocator
    -    XML_FROM_OUTPUT = 7 : The serialization code
    -    XML_FROM_IO = 8 : The Input/Output stack
    -    XML_FROM_FTP = 9 : The FTP module
    -    XML_FROM_HTTP = 10 : The HTTP module
    -    XML_FROM_XINCLUDE = 11 : The XInclude processing
    -    XML_FROM_XPATH = 12 : The XPath module
    -    XML_FROM_XPOINTER = 13 : The XPointer module
    -    XML_FROM_REGEXP = 14 : The regular expressions module
    -    XML_FROM_DATATYPE = 15 : The W3C XML Schemas Datatype module
    -    XML_FROM_SCHEMASP = 16 : The W3C XML Schemas parser module
    -    XML_FROM_SCHEMASV = 17 : The W3C XML Schemas validation module
    -    XML_FROM_RELAXNGP = 18 : The Relax-NG parser module
    -    XML_FROM_RELAXNGV = 19 : The Relax-NG validator module
    -    XML_FROM_CATALOG = 20 : The Catalog module
    -    XML_FROM_C14N = 21 : The Canonicalization module
    -    XML_FROM_XSLT = 22 : The XSLT engine from libxslt
    -    XML_FROM_VALID = 23 : The XML DTD validation with valid context
    -    XML_FROM_CHECK = 24 : The error checking module
    -    XML_FROM_WRITER = 25 : The xmlwriter module
    -    XML_FROM_MODULE = 26 : The dynamically loaded module modul
    -    XML_FROM_I18N = 27 : The module handling character conversion
    -    XML_FROM_SCHEMATRONV = 28 : The Schematron validator module
    -}
    -

    Enum xmlErrorLevel

    Enum xmlErrorLevel {
    -    XML_ERR_NONE = 0
    -    XML_ERR_WARNING = 1 : A simple warning
    -    XML_ERR_ERROR = 2 : A recoverable error
    -    XML_ERR_FATAL = 3 : A fatal error
    -}
    -

    Enum xmlParserErrors

    Enum xmlParserErrors {
    -    XML_ERR_OK = 0
    -    XML_ERR_INTERNAL_ERROR = 1 : 1
    -    XML_ERR_NO_MEMORY = 2 : 2
    -    XML_ERR_DOCUMENT_START = 3 : 3
    -    XML_ERR_DOCUMENT_EMPTY = 4 : 4
    -    XML_ERR_DOCUMENT_END = 5 : 5
    -    XML_ERR_INVALID_HEX_CHARREF = 6 : 6
    -    XML_ERR_INVALID_DEC_CHARREF = 7 : 7
    -    XML_ERR_INVALID_CHARREF = 8 : 8
    -    XML_ERR_INVALID_CHAR = 9 : 9
    -    XML_ERR_CHARREF_AT_EOF = 10 : 10
    -    XML_ERR_CHARREF_IN_PROLOG = 11 : 11
    -    XML_ERR_CHARREF_IN_EPILOG = 12 : 12
    -    XML_ERR_CHARREF_IN_DTD = 13 : 13
    -    XML_ERR_ENTITYREF_AT_EOF = 14 : 14
    -    XML_ERR_ENTITYREF_IN_PROLOG = 15 : 15
    -    XML_ERR_ENTITYREF_IN_EPILOG = 16 : 16
    -    XML_ERR_ENTITYREF_IN_DTD = 17 : 17
    -    XML_ERR_PEREF_AT_EOF = 18 : 18
    -    XML_ERR_PEREF_IN_PROLOG = 19 : 19
    -    XML_ERR_PEREF_IN_EPILOG = 20 : 20
    -    XML_ERR_PEREF_IN_INT_SUBSET = 21 : 21
    -    XML_ERR_ENTITYREF_NO_NAME = 22 : 22
    -    XML_ERR_ENTITYREF_SEMICOL_MISSING = 23 : 23
    -    XML_ERR_PEREF_NO_NAME = 24 : 24
    -    XML_ERR_PEREF_SEMICOL_MISSING = 25 : 25
    -    XML_ERR_UNDECLARED_ENTITY = 26 : 26
    -    XML_WAR_UNDECLARED_ENTITY = 27 : 27
    -    XML_ERR_UNPARSED_ENTITY = 28 : 28
    -    XML_ERR_ENTITY_IS_EXTERNAL = 29 : 29
    -    XML_ERR_ENTITY_IS_PARAMETER = 30 : 30
    -    XML_ERR_UNKNOWN_ENCODING = 31 : 31
    -    XML_ERR_UNSUPPORTED_ENCODING = 32 : 32
    -    XML_ERR_STRING_NOT_STARTED = 33 : 33
    -    XML_ERR_STRING_NOT_CLOSED = 34 : 34
    -    XML_ERR_NS_DECL_ERROR = 35 : 35
    -    XML_ERR_ENTITY_NOT_STARTED = 36 : 36
    -    XML_ERR_ENTITY_NOT_FINISHED = 37 : 37
    -    XML_ERR_LT_IN_ATTRIBUTE = 38 : 38
    -    XML_ERR_ATTRIBUTE_NOT_STARTED = 39 : 39
    -    XML_ERR_ATTRIBUTE_NOT_FINISHED = 40 : 40
    -    XML_ERR_ATTRIBUTE_WITHOUT_VALUE = 41 : 41
    -    XML_ERR_ATTRIBUTE_REDEFINED = 42 : 42
    -    XML_ERR_LITERAL_NOT_STARTED = 43 : 43
    -    XML_ERR_LITERAL_NOT_FINISHED = 44 : 44
    -    XML_ERR_COMMENT_NOT_FINISHED = 45 : 45
    -    XML_ERR_PI_NOT_STARTED = 46 : 46
    -    XML_ERR_PI_NOT_FINISHED = 47 : 47
    -    XML_ERR_NOTATION_NOT_STARTED = 48 : 48
    -    XML_ERR_NOTATION_NOT_FINISHED = 49 : 49
    -    XML_ERR_ATTLIST_NOT_STARTED = 50 : 50
    -    XML_ERR_ATTLIST_NOT_FINISHED = 51 : 51
    -    XML_ERR_MIXED_NOT_STARTED = 52 : 52
    -    XML_ERR_MIXED_NOT_FINISHED = 53 : 53
    -    XML_ERR_ELEMCONTENT_NOT_STARTED = 54 : 54
    -    XML_ERR_ELEMCONTENT_NOT_FINISHED = 55 : 55
    -    XML_ERR_XMLDECL_NOT_STARTED = 56 : 56
    -    XML_ERR_XMLDECL_NOT_FINISHED = 57 : 57
    -    XML_ERR_CONDSEC_NOT_STARTED = 58 : 58
    -    XML_ERR_CONDSEC_NOT_FINISHED = 59 : 59
    -    XML_ERR_EXT_SUBSET_NOT_FINISHED = 60 : 60
    -    XML_ERR_DOCTYPE_NOT_FINISHED = 61 : 61
    -    XML_ERR_MISPLACED_CDATA_END = 62 : 62
    -    XML_ERR_CDATA_NOT_FINISHED = 63 : 63
    -    XML_ERR_RESERVED_XML_NAME = 64 : 64
    -    XML_ERR_SPACE_REQUIRED = 65 : 65
    -    XML_ERR_SEPARATOR_REQUIRED = 66 : 66
    -    XML_ERR_NMTOKEN_REQUIRED = 67 : 67
    -    XML_ERR_NAME_REQUIRED = 68 : 68
    -    XML_ERR_PCDATA_REQUIRED = 69 : 69
    -    XML_ERR_URI_REQUIRED = 70 : 70
    -    XML_ERR_PUBID_REQUIRED = 71 : 71
    -    XML_ERR_LT_REQUIRED = 72 : 72
    -    XML_ERR_GT_REQUIRED = 73 : 73
    -    XML_ERR_LTSLASH_REQUIRED = 74 : 74
    -    XML_ERR_EQUAL_REQUIRED = 75 : 75
    -    XML_ERR_TAG_NAME_MISMATCH = 76 : 76
    -    XML_ERR_TAG_NOT_FINISHED = 77 : 77
    -    XML_ERR_STANDALONE_VALUE = 78 : 78
    -    XML_ERR_ENCODING_NAME = 79 : 79
    -    XML_ERR_HYPHEN_IN_COMMENT = 80 : 80
    -    XML_ERR_INVALID_ENCODING = 81 : 81
    -    XML_ERR_EXT_ENTITY_STANDALONE = 82 : 82
    -    XML_ERR_CONDSEC_INVALID = 83 : 83
    -    XML_ERR_VALUE_REQUIRED = 84 : 84
    -    XML_ERR_NOT_WELL_BALANCED = 85 : 85
    -    XML_ERR_EXTRA_CONTENT = 86 : 86
    -    XML_ERR_ENTITY_CHAR_ERROR = 87 : 87
    -    XML_ERR_ENTITY_PE_INTERNAL = 88 : 88
    -    XML_ERR_ENTITY_LOOP = 89 : 89
    -    XML_ERR_ENTITY_BOUNDARY = 90 : 90
    -    XML_ERR_INVALID_URI = 91 : 91
    -    XML_ERR_URI_FRAGMENT = 92 : 92
    -    XML_WAR_CATALOG_PI = 93 : 93
    -    XML_ERR_NO_DTD = 94 : 94
    -    XML_ERR_CONDSEC_INVALID_KEYWORD = 95 : 95
    -    XML_ERR_VERSION_MISSING = 96 : 96
    -    XML_WAR_UNKNOWN_VERSION = 97 : 97
    -    XML_WAR_LANG_VALUE = 98 : 98
    -    XML_WAR_NS_URI = 99 : 99
    -    XML_WAR_NS_URI_RELATIVE = 100 : 100
    -    XML_ERR_MISSING_ENCODING = 101 : 101
    -    XML_WAR_SPACE_VALUE = 102 : 102
    -    XML_ERR_NOT_STANDALONE = 103 : 103
    -    XML_ERR_ENTITY_PROCESSING = 104 : 104
    -    XML_ERR_NOTATION_PROCESSING = 105 : 105
    -    XML_WAR_NS_COLUMN = 106 : 106
    -    XML_WAR_ENTITY_REDEFINED = 107 : 107
    -    XML_ERR_UNKNOWN_VERSION = 108 : 108
    -    XML_ERR_VERSION_MISMATCH = 109 : 109
    -    XML_NS_ERR_XML_NAMESPACE = 200
    -    XML_NS_ERR_UNDEFINED_NAMESPACE = 201 : 201
    -    XML_NS_ERR_QNAME = 202 : 202
    -    XML_NS_ERR_ATTRIBUTE_REDEFINED = 203 : 203
    -    XML_NS_ERR_EMPTY = 204 : 204
    -    XML_NS_ERR_COLON = 205 : 205
    -    XML_DTD_ATTRIBUTE_DEFAULT = 500
    -    XML_DTD_ATTRIBUTE_REDEFINED = 501 : 501
    -    XML_DTD_ATTRIBUTE_VALUE = 502 : 502
    -    XML_DTD_CONTENT_ERROR = 503 : 503
    -    XML_DTD_CONTENT_MODEL = 504 : 504
    -    XML_DTD_CONTENT_NOT_DETERMINIST = 505 : 505
    -    XML_DTD_DIFFERENT_PREFIX = 506 : 506
    -    XML_DTD_ELEM_DEFAULT_NAMESPACE = 507 : 507
    -    XML_DTD_ELEM_NAMESPACE = 508 : 508
    -    XML_DTD_ELEM_REDEFINED = 509 : 509
    -    XML_DTD_EMPTY_NOTATION = 510 : 510
    -    XML_DTD_ENTITY_TYPE = 511 : 511
    -    XML_DTD_ID_FIXED = 512 : 512
    -    XML_DTD_ID_REDEFINED = 513 : 513
    -    XML_DTD_ID_SUBSET = 514 : 514
    -    XML_DTD_INVALID_CHILD = 515 : 515
    -    XML_DTD_INVALID_DEFAULT = 516 : 516
    -    XML_DTD_LOAD_ERROR = 517 : 517
    -    XML_DTD_MISSING_ATTRIBUTE = 518 : 518
    -    XML_DTD_MIXED_CORRUPT = 519 : 519
    -    XML_DTD_MULTIPLE_ID = 520 : 520
    -    XML_DTD_NO_DOC = 521 : 521
    -    XML_DTD_NO_DTD = 522 : 522
    -    XML_DTD_NO_ELEM_NAME = 523 : 523
    -    XML_DTD_NO_PREFIX = 524 : 524
    -    XML_DTD_NO_ROOT = 525 : 525
    -    XML_DTD_NOTATION_REDEFINED = 526 : 526
    -    XML_DTD_NOTATION_VALUE = 527 : 527
    -    XML_DTD_NOT_EMPTY = 528 : 528
    -    XML_DTD_NOT_PCDATA = 529 : 529
    -    XML_DTD_NOT_STANDALONE = 530 : 530
    -    XML_DTD_ROOT_NAME = 531 : 531
    -    XML_DTD_STANDALONE_WHITE_SPACE = 532 : 532
    -    XML_DTD_UNKNOWN_ATTRIBUTE = 533 : 533
    -    XML_DTD_UNKNOWN_ELEM = 534 : 534
    -    XML_DTD_UNKNOWN_ENTITY = 535 : 535
    -    XML_DTD_UNKNOWN_ID = 536 : 536
    -    XML_DTD_UNKNOWN_NOTATION = 537 : 537
    -    XML_DTD_STANDALONE_DEFAULTED = 538 : 538
    -    XML_DTD_XMLID_VALUE = 539 : 539
    -    XML_DTD_XMLID_TYPE = 540 : 540
    -    XML_DTD_DUP_TOKEN = 541 : 541
    -    XML_HTML_STRUCURE_ERROR = 800
    -    XML_HTML_UNKNOWN_TAG = 801 : 801
    -    XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000
    -    XML_RNGP_ATTR_CONFLICT = 1001 : 1001
    -    XML_RNGP_ATTRIBUTE_CHILDREN = 1002 : 1002
    -    XML_RNGP_ATTRIBUTE_CONTENT = 1003 : 1003
    -    XML_RNGP_ATTRIBUTE_EMPTY = 1004 : 1004
    -    XML_RNGP_ATTRIBUTE_NOOP = 1005 : 1005
    -    XML_RNGP_CHOICE_CONTENT = 1006 : 1006
    -    XML_RNGP_CHOICE_EMPTY = 1007 : 1007
    -    XML_RNGP_CREATE_FAILURE = 1008 : 1008
    -    XML_RNGP_DATA_CONTENT = 1009 : 1009
    -    XML_RNGP_DEF_CHOICE_AND_INTERLEAVE = 1010 : 1010
    -    XML_RNGP_DEFINE_CREATE_FAILED = 1011 : 1011
    -    XML_RNGP_DEFINE_EMPTY = 1012 : 1012
    -    XML_RNGP_DEFINE_MISSING = 1013 : 1013
    -    XML_RNGP_DEFINE_NAME_MISSING = 1014 : 1014
    -    XML_RNGP_ELEM_CONTENT_EMPTY = 1015 : 1015
    -    XML_RNGP_ELEM_CONTENT_ERROR = 1016 : 1016
    -    XML_RNGP_ELEMENT_EMPTY = 1017 : 1017
    -    XML_RNGP_ELEMENT_CONTENT = 1018 : 1018
    -    XML_RNGP_ELEMENT_NAME = 1019 : 1019
    -    XML_RNGP_ELEMENT_NO_CONTENT = 1020 : 1020
    -    XML_RNGP_ELEM_TEXT_CONFLICT = 1021 : 1021
    -    XML_RNGP_EMPTY = 1022 : 1022
    -    XML_RNGP_EMPTY_CONSTRUCT = 1023 : 1023
    -    XML_RNGP_EMPTY_CONTENT = 1024 : 1024
    -    XML_RNGP_EMPTY_NOT_EMPTY = 1025 : 1025
    -    XML_RNGP_ERROR_TYPE_LIB = 1026 : 1026
    -    XML_RNGP_EXCEPT_EMPTY = 1027 : 1027
    -    XML_RNGP_EXCEPT_MISSING = 1028 : 1028
    -    XML_RNGP_EXCEPT_MULTIPLE = 1029 : 1029
    -    XML_RNGP_EXCEPT_NO_CONTENT = 1030 : 1030
    -    XML_RNGP_EXTERNALREF_EMTPY = 1031 : 1031
    -    XML_RNGP_EXTERNAL_REF_FAILURE = 1032 : 1032
    -    XML_RNGP_EXTERNALREF_RECURSE = 1033 : 1033
    -    XML_RNGP_FORBIDDEN_ATTRIBUTE = 1034 : 1034
    -    XML_RNGP_FOREIGN_ELEMENT = 1035 : 1035
    -    XML_RNGP_GRAMMAR_CONTENT = 1036 : 1036
    -    XML_RNGP_GRAMMAR_EMPTY = 1037 : 1037
    -    XML_RNGP_GRAMMAR_MISSING = 1038 : 1038
    -    XML_RNGP_GRAMMAR_NO_START = 1039 : 1039
    -    XML_RNGP_GROUP_ATTR_CONFLICT = 1040 : 1040
    -    XML_RNGP_HREF_ERROR = 1041 : 1041
    -    XML_RNGP_INCLUDE_EMPTY = 1042 : 1042
    -    XML_RNGP_INCLUDE_FAILURE = 1043 : 1043
    -    XML_RNGP_INCLUDE_RECURSE = 1044 : 1044
    -    XML_RNGP_INTERLEAVE_ADD = 1045 : 1045
    -    XML_RNGP_INTERLEAVE_CREATE_FAILED = 1046 : 1046
    -    XML_RNGP_INTERLEAVE_EMPTY = 1047 : 1047
    -    XML_RNGP_INTERLEAVE_NO_CONTENT = 1048 : 1048
    -    XML_RNGP_INVALID_DEFINE_NAME = 1049 : 1049
    -    XML_RNGP_INVALID_URI = 1050 : 1050
    -    XML_RNGP_INVALID_VALUE = 1051 : 1051
    -    XML_RNGP_MISSING_HREF = 1052 : 1052
    -    XML_RNGP_NAME_MISSING = 1053 : 1053
    -    XML_RNGP_NEED_COMBINE = 1054 : 1054
    -    XML_RNGP_NOTALLOWED_NOT_EMPTY = 1055 : 1055
    -    XML_RNGP_NSNAME_ATTR_ANCESTOR = 1056 : 1056
    -    XML_RNGP_NSNAME_NO_NS = 1057 : 1057
    -    XML_RNGP_PARAM_FORBIDDEN = 1058 : 1058
    -    XML_RNGP_PARAM_NAME_MISSING = 1059 : 1059
    -    XML_RNGP_PARENTREF_CREATE_FAILED = 1060 : 1060
    -    XML_RNGP_PARENTREF_NAME_INVALID = 1061 : 1061
    -    XML_RNGP_PARENTREF_NO_NAME = 1062 : 1062
    -    XML_RNGP_PARENTREF_NO_PARENT = 1063 : 1063
    -    XML_RNGP_PARENTREF_NOT_EMPTY = 1064 : 1064
    -    XML_RNGP_PARSE_ERROR = 1065 : 1065
    -    XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME = 1066 : 1066
    -    XML_RNGP_PAT_ATTR_ATTR = 1067 : 1067
    -    XML_RNGP_PAT_ATTR_ELEM = 1068 : 1068
    -    XML_RNGP_PAT_DATA_EXCEPT_ATTR = 1069 : 1069
    -    XML_RNGP_PAT_DATA_EXCEPT_ELEM = 1070 : 1070
    -    XML_RNGP_PAT_DATA_EXCEPT_EMPTY = 1071 : 1071
    -    XML_RNGP_PAT_DATA_EXCEPT_GROUP = 1072 : 1072
    -    XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE = 1073 : 1073
    -    XML_RNGP_PAT_DATA_EXCEPT_LIST = 1074 : 1074
    -    XML_RNGP_PAT_DATA_EXCEPT_ONEMORE = 1075 : 1075
    -    XML_RNGP_PAT_DATA_EXCEPT_REF = 1076 : 1076
    -    XML_RNGP_PAT_DATA_EXCEPT_TEXT = 1077 : 1077
    -    XML_RNGP_PAT_LIST_ATTR = 1078 : 1078
    -    XML_RNGP_PAT_LIST_ELEM = 1079 : 1079
    -    XML_RNGP_PAT_LIST_INTERLEAVE = 1080 : 1080
    -    XML_RNGP_PAT_LIST_LIST = 1081 : 1081
    -    XML_RNGP_PAT_LIST_REF = 1082 : 1082
    -    XML_RNGP_PAT_LIST_TEXT = 1083 : 1083
    -    XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME = 1084 : 1084
    -    XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME = 1085 : 1085
    -    XML_RNGP_PAT_ONEMORE_GROUP_ATTR = 1086 : 1086
    -    XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR = 1087 : 1087
    -    XML_RNGP_PAT_START_ATTR = 1088 : 1088
    -    XML_RNGP_PAT_START_DATA = 1089 : 1089
    -    XML_RNGP_PAT_START_EMPTY = 1090 : 1090
    -    XML_RNGP_PAT_START_GROUP = 1091 : 1091
    -    XML_RNGP_PAT_START_INTERLEAVE = 1092 : 1092
    -    XML_RNGP_PAT_START_LIST = 1093 : 1093
    -    XML_RNGP_PAT_START_ONEMORE = 1094 : 1094
    -    XML_RNGP_PAT_START_TEXT = 1095 : 1095
    -    XML_RNGP_PAT_START_VALUE = 1096 : 1096
    -    XML_RNGP_PREFIX_UNDEFINED = 1097 : 1097
    -    XML_RNGP_REF_CREATE_FAILED = 1098 : 1098
    -    XML_RNGP_REF_CYCLE = 1099 : 1099
    -    XML_RNGP_REF_NAME_INVALID = 1100 : 1100
    -    XML_RNGP_REF_NO_DEF = 1101 : 1101
    -    XML_RNGP_REF_NO_NAME = 1102 : 1102
    -    XML_RNGP_REF_NOT_EMPTY = 1103 : 1103
    -    XML_RNGP_START_CHOICE_AND_INTERLEAVE = 1104 : 1104
    -    XML_RNGP_START_CONTENT = 1105 : 1105
    -    XML_RNGP_START_EMPTY = 1106 : 1106
    -    XML_RNGP_START_MISSING = 1107 : 1107
    -    XML_RNGP_TEXT_EXPECTED = 1108 : 1108
    -    XML_RNGP_TEXT_HAS_CHILD = 1109 : 1109
    -    XML_RNGP_TYPE_MISSING = 1110 : 1110
    -    XML_RNGP_TYPE_NOT_FOUND = 1111 : 1111
    -    XML_RNGP_TYPE_VALUE = 1112 : 1112
    -    XML_RNGP_UNKNOWN_ATTRIBUTE = 1113 : 1113
    -    XML_RNGP_UNKNOWN_COMBINE = 1114 : 1114
    -    XML_RNGP_UNKNOWN_CONSTRUCT = 1115 : 1115
    -    XML_RNGP_UNKNOWN_TYPE_LIB = 1116 : 1116
    -    XML_RNGP_URI_FRAGMENT = 1117 : 1117
    -    XML_RNGP_URI_NOT_ABSOLUTE = 1118 : 1118
    -    XML_RNGP_VALUE_EMPTY = 1119 : 1119
    -    XML_RNGP_VALUE_NO_CONTENT = 1120 : 1120
    -    XML_RNGP_XMLNS_NAME = 1121 : 1121
    -    XML_RNGP_XML_NS = 1122 : 1122
    -    XML_XPATH_EXPRESSION_OK = 1200
    -    XML_XPATH_NUMBER_ERROR = 1201 : 1201
    -    XML_XPATH_UNFINISHED_LITERAL_ERROR = 1202 : 1202
    -    XML_XPATH_START_LITERAL_ERROR = 1203 : 1203
    -    XML_XPATH_VARIABLE_REF_ERROR = 1204 : 1204
    -    XML_XPATH_UNDEF_VARIABLE_ERROR = 1205 : 1205
    -    XML_XPATH_INVALID_PREDICATE_ERROR = 1206 : 1206
    -    XML_XPATH_EXPR_ERROR = 1207 : 1207
    -    XML_XPATH_UNCLOSED_ERROR = 1208 : 1208
    -    XML_XPATH_UNKNOWN_FUNC_ERROR = 1209 : 1209
    -    XML_XPATH_INVALID_OPERAND = 1210 : 1210
    -    XML_XPATH_INVALID_TYPE = 1211 : 1211
    -    XML_XPATH_INVALID_ARITY = 1212 : 1212
    -    XML_XPATH_INVALID_CTXT_SIZE = 1213 : 1213
    -    XML_XPATH_INVALID_CTXT_POSITION = 1214 : 1214
    -    XML_XPATH_MEMORY_ERROR = 1215 : 1215
    -    XML_XPTR_SYNTAX_ERROR = 1216 : 1216
    -    XML_XPTR_RESOURCE_ERROR = 1217 : 1217
    -    XML_XPTR_SUB_RESOURCE_ERROR = 1218 : 1218
    -    XML_XPATH_UNDEF_PREFIX_ERROR = 1219 : 1219
    -    XML_XPATH_ENCODING_ERROR = 1220 : 1220
    -    XML_XPATH_INVALID_CHAR_ERROR = 1221 : 1221
    -    XML_TREE_INVALID_HEX = 1300
    -    XML_TREE_INVALID_DEC = 1301 : 1301
    -    XML_TREE_UNTERMINATED_ENTITY = 1302 : 1302
    -    XML_TREE_NOT_UTF8 = 1303 : 1303
    -    XML_SAVE_NOT_UTF8 = 1400
    -    XML_SAVE_CHAR_INVALID = 1401 : 1401
    -    XML_SAVE_NO_DOCTYPE = 1402 : 1402
    -    XML_SAVE_UNKNOWN_ENCODING = 1403 : 1403
    -    XML_REGEXP_COMPILE_ERROR = 1450
    -    XML_IO_UNKNOWN = 1500
    -    XML_IO_EACCES = 1501 : 1501
    -    XML_IO_EAGAIN = 1502 : 1502
    -    XML_IO_EBADF = 1503 : 1503
    -    XML_IO_EBADMSG = 1504 : 1504
    -    XML_IO_EBUSY = 1505 : 1505
    -    XML_IO_ECANCELED = 1506 : 1506
    -    XML_IO_ECHILD = 1507 : 1507
    -    XML_IO_EDEADLK = 1508 : 1508
    -    XML_IO_EDOM = 1509 : 1509
    -    XML_IO_EEXIST = 1510 : 1510
    -    XML_IO_EFAULT = 1511 : 1511
    -    XML_IO_EFBIG = 1512 : 1512
    -    XML_IO_EINPROGRESS = 1513 : 1513
    -    XML_IO_EINTR = 1514 : 1514
    -    XML_IO_EINVAL = 1515 : 1515
    -    XML_IO_EIO = 1516 : 1516
    -    XML_IO_EISDIR = 1517 : 1517
    -    XML_IO_EMFILE = 1518 : 1518
    -    XML_IO_EMLINK = 1519 : 1519
    -    XML_IO_EMSGSIZE = 1520 : 1520
    -    XML_IO_ENAMETOOLONG = 1521 : 1521
    -    XML_IO_ENFILE = 1522 : 1522
    -    XML_IO_ENODEV = 1523 : 1523
    -    XML_IO_ENOENT = 1524 : 1524
    -    XML_IO_ENOEXEC = 1525 : 1525
    -    XML_IO_ENOLCK = 1526 : 1526
    -    XML_IO_ENOMEM = 1527 : 1527
    -    XML_IO_ENOSPC = 1528 : 1528
    -    XML_IO_ENOSYS = 1529 : 1529
    -    XML_IO_ENOTDIR = 1530 : 1530
    -    XML_IO_ENOTEMPTY = 1531 : 1531
    -    XML_IO_ENOTSUP = 1532 : 1532
    -    XML_IO_ENOTTY = 1533 : 1533
    -    XML_IO_ENXIO = 1534 : 1534
    -    XML_IO_EPERM = 1535 : 1535
    -    XML_IO_EPIPE = 1536 : 1536
    -    XML_IO_ERANGE = 1537 : 1537
    -    XML_IO_EROFS = 1538 : 1538
    -    XML_IO_ESPIPE = 1539 : 1539
    -    XML_IO_ESRCH = 1540 : 1540
    -    XML_IO_ETIMEDOUT = 1541 : 1541
    -    XML_IO_EXDEV = 1542 : 1542
    -    XML_IO_NETWORK_ATTEMPT = 1543 : 1543
    -    XML_IO_ENCODER = 1544 : 1544
    -    XML_IO_FLUSH = 1545 : 1545
    -    XML_IO_WRITE = 1546 : 1546
    -    XML_IO_NO_INPUT = 1547 : 1547
    -    XML_IO_BUFFER_FULL = 1548 : 1548
    -    XML_IO_LOAD_ERROR = 1549 : 1549
    -    XML_IO_ENOTSOCK = 1550 : 1550
    -    XML_IO_EISCONN = 1551 : 1551
    -    XML_IO_ECONNREFUSED = 1552 : 1552
    -    XML_IO_ENETUNREACH = 1553 : 1553
    -    XML_IO_EADDRINUSE = 1554 : 1554
    -    XML_IO_EALREADY = 1555 : 1555
    -    XML_IO_EAFNOSUPPORT = 1556 : 1556
    -    XML_XINCLUDE_RECURSION = 1600
    -    XML_XINCLUDE_PARSE_VALUE = 1601 : 1601
    -    XML_XINCLUDE_ENTITY_DEF_MISMATCH = 1602 : 1602
    -    XML_XINCLUDE_NO_HREF = 1603 : 1603
    -    XML_XINCLUDE_NO_FALLBACK = 1604 : 1604
    -    XML_XINCLUDE_HREF_URI = 1605 : 1605
    -    XML_XINCLUDE_TEXT_FRAGMENT = 1606 : 1606
    -    XML_XINCLUDE_TEXT_DOCUMENT = 1607 : 1607
    -    XML_XINCLUDE_INVALID_CHAR = 1608 : 1608
    -    XML_XINCLUDE_BUILD_FAILED = 1609 : 1609
    -    XML_XINCLUDE_UNKNOWN_ENCODING = 1610 : 1610
    -    XML_XINCLUDE_MULTIPLE_ROOT = 1611 : 1611
    -    XML_XINCLUDE_XPTR_FAILED = 1612 : 1612
    -    XML_XINCLUDE_XPTR_RESULT = 1613 : 1613
    -    XML_XINCLUDE_INCLUDE_IN_INCLUDE = 1614 : 1614
    -    XML_XINCLUDE_FALLBACKS_IN_INCLUDE = 1615 : 1615
    -    XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE = 1616 : 1616
    -    XML_XINCLUDE_DEPRECATED_NS = 1617 : 1617
    -    XML_XINCLUDE_FRAGMENT_ID = 1618 : 1618
    -    XML_CATALOG_MISSING_ATTR = 1650
    -    XML_CATALOG_ENTRY_BROKEN = 1651 : 1651
    -    XML_CATALOG_PREFER_VALUE = 1652 : 1652
    -    XML_CATALOG_NOT_CATALOG = 1653 : 1653
    -    XML_CATALOG_RECURSION = 1654 : 1654
    -    XML_SCHEMAP_PREFIX_UNDEFINED = 1700
    -    XML_SCHEMAP_ATTRFORMDEFAULT_VALUE = 1701 : 1701
    -    XML_SCHEMAP_ATTRGRP_NONAME_NOREF = 1702 : 1702
    -    XML_SCHEMAP_ATTR_NONAME_NOREF = 1703 : 1703
    -    XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF = 1704 : 1704
    -    XML_SCHEMAP_ELEMFORMDEFAULT_VALUE = 1705 : 1705
    -    XML_SCHEMAP_ELEM_NONAME_NOREF = 1706 : 1706
    -    XML_SCHEMAP_EXTENSION_NO_BASE = 1707 : 1707
    -    XML_SCHEMAP_FACET_NO_VALUE = 1708 : 1708
    -    XML_SCHEMAP_FAILED_BUILD_IMPORT = 1709 : 1709
    -    XML_SCHEMAP_GROUP_NONAME_NOREF = 1710 : 1710
    -    XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI = 1711 : 1711
    -    XML_SCHEMAP_IMPORT_REDEFINE_NSNAME = 1712 : 1712
    -    XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI = 1713 : 1713
    -    XML_SCHEMAP_INVALID_BOOLEAN = 1714 : 1714
    -    XML_SCHEMAP_INVALID_ENUM = 1715 : 1715
    -    XML_SCHEMAP_INVALID_FACET = 1716 : 1716
    -    XML_SCHEMAP_INVALID_FACET_VALUE = 1717 : 1717
    -    XML_SCHEMAP_INVALID_MAXOCCURS = 1718 : 1718
    -    XML_SCHEMAP_INVALID_MINOCCURS = 1719 : 1719
    -    XML_SCHEMAP_INVALID_REF_AND_SUBTYPE = 1720 : 1720
    -    XML_SCHEMAP_INVALID_WHITE_SPACE = 1721 : 1721
    -    XML_SCHEMAP_NOATTR_NOREF = 1722 : 1722
    -    XML_SCHEMAP_NOTATION_NO_NAME = 1723 : 1723
    -    XML_SCHEMAP_NOTYPE_NOREF = 1724 : 1724
    -    XML_SCHEMAP_REF_AND_SUBTYPE = 1725 : 1725
    -    XML_SCHEMAP_RESTRICTION_NONAME_NOREF = 1726 : 1726
    -    XML_SCHEMAP_SIMPLETYPE_NONAME = 1727 : 1727
    -    XML_SCHEMAP_TYPE_AND_SUBTYPE = 1728 : 1728
    -    XML_SCHEMAP_UNKNOWN_ALL_CHILD = 1729 : 1729
    -    XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD = 1730 : 1730
    -    XML_SCHEMAP_UNKNOWN_ATTR_CHILD = 1731 : 1731
    -    XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD = 1732 : 1732
    -    XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP = 1733 : 1733
    -    XML_SCHEMAP_UNKNOWN_BASE_TYPE = 1734 : 1734
    -    XML_SCHEMAP_UNKNOWN_CHOICE_CHILD = 1735 : 1735
    -    XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD = 1736 : 1736
    -    XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD = 1737 : 1737
    -    XML_SCHEMAP_UNKNOWN_ELEM_CHILD = 1738 : 1738
    -    XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD = 1739 : 1739
    -    XML_SCHEMAP_UNKNOWN_FACET_CHILD = 1740 : 1740
    -    XML_SCHEMAP_UNKNOWN_FACET_TYPE = 1741 : 1741
    -    XML_SCHEMAP_UNKNOWN_GROUP_CHILD = 1742 : 1742
    -    XML_SCHEMAP_UNKNOWN_IMPORT_CHILD = 1743 : 1743
    -    XML_SCHEMAP_UNKNOWN_LIST_CHILD = 1744 : 1744
    -    XML_SCHEMAP_UNKNOWN_NOTATION_CHILD = 1745 : 1745
    -    XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD = 1746 : 1746
    -    XML_SCHEMAP_UNKNOWN_REF = 1747 : 1747
    -    XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD = 1748 : 1748
    -    XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD = 1749 : 1749
    -    XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD = 1750 : 1750
    -    XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD = 1751 : 1751
    -    XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD = 1752 : 1752
    -    XML_SCHEMAP_UNKNOWN_TYPE = 1753 : 1753
    -    XML_SCHEMAP_UNKNOWN_UNION_CHILD = 1754 : 1754
    -    XML_SCHEMAP_ELEM_DEFAULT_FIXED = 1755 : 1755
    -    XML_SCHEMAP_REGEXP_INVALID = 1756 : 1756
    -    XML_SCHEMAP_FAILED_LOAD = 1757 : 1757
    -    XML_SCHEMAP_NOTHING_TO_PARSE = 1758 : 1758
    -    XML_SCHEMAP_NOROOT = 1759 : 1759
    -    XML_SCHEMAP_REDEFINED_GROUP = 1760 : 1760
    -    XML_SCHEMAP_REDEFINED_TYPE = 1761 : 1761
    -    XML_SCHEMAP_REDEFINED_ELEMENT = 1762 : 1762
    -    XML_SCHEMAP_REDEFINED_ATTRGROUP = 1763 : 1763
    -    XML_SCHEMAP_REDEFINED_ATTR = 1764 : 1764
    -    XML_SCHEMAP_REDEFINED_NOTATION = 1765 : 1765
    -    XML_SCHEMAP_FAILED_PARSE = 1766 : 1766
    -    XML_SCHEMAP_UNKNOWN_PREFIX = 1767 : 1767
    -    XML_SCHEMAP_DEF_AND_PREFIX = 1768 : 1768
    -    XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD = 1769 : 1769
    -    XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI = 1770 : 1770
    -    XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI = 1771 : 1771
    -    XML_SCHEMAP_NOT_SCHEMA = 1772 : 1772
    -    XML_SCHEMAP_UNKNOWN_MEMBER_TYPE = 1773 : 1773
    -    XML_SCHEMAP_INVALID_ATTR_USE = 1774 : 1774
    -    XML_SCHEMAP_RECURSIVE = 1775 : 1775
    -    XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE = 1776 : 1776
    -    XML_SCHEMAP_INVALID_ATTR_COMBINATION = 1777 : 1777
    -    XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION = 1778 : 1778
    -    XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD = 1779 : 1779
    -    XML_SCHEMAP_INVALID_ATTR_NAME = 1780 : 1780
    -    XML_SCHEMAP_REF_AND_CONTENT = 1781 : 1781
    -    XML_SCHEMAP_CT_PROPS_CORRECT_1 = 1782 : 1782
    -    XML_SCHEMAP_CT_PROPS_CORRECT_2 = 1783 : 1783
    -    XML_SCHEMAP_CT_PROPS_CORRECT_3 = 1784 : 1784
    -    XML_SCHEMAP_CT_PROPS_CORRECT_4 = 1785 : 1785
    -    XML_SCHEMAP_CT_PROPS_CORRECT_5 = 1786 : 1786
    -    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1 = 1787 : 1787
    -    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1 = 1788 : 1788
    -    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2 = 1789 : 1789
    -    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2 = 1790 : 1790
    -    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3 = 1791 : 1791
    -    XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER = 1792 : 1792
    -    XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE = 1793 : 1793
    -    XML_SCHEMAP_UNION_NOT_EXPRESSIBLE = 1794 : 1794
    -    XML_SCHEMAP_SRC_IMPORT_3_1 = 1795 : 1795
    -    XML_SCHEMAP_SRC_IMPORT_3_2 = 1796 : 1796
    -    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1 = 1797 : 1797
    -    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2 = 1798 : 1798
    -    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3 = 1799 : 1799
    -    XML_SCHEMAP_COS_CT_EXTENDS_1_3 = 1800 : 1800
    -    XML_SCHEMAV_NOROOT = 1801
    -    XML_SCHEMAV_UNDECLAREDELEM = 1802 : 1802
    -    XML_SCHEMAV_NOTTOPLEVEL = 1803 : 1803
    -    XML_SCHEMAV_MISSING = 1804 : 1804
    -    XML_SCHEMAV_WRONGELEM = 1805 : 1805
    -    XML_SCHEMAV_NOTYPE = 1806 : 1806
    -    XML_SCHEMAV_NOROLLBACK = 1807 : 1807
    -    XML_SCHEMAV_ISABSTRACT = 1808 : 1808
    -    XML_SCHEMAV_NOTEMPTY = 1809 : 1809
    -    XML_SCHEMAV_ELEMCONT = 1810 : 1810
    -    XML_SCHEMAV_HAVEDEFAULT = 1811 : 1811
    -    XML_SCHEMAV_NOTNILLABLE = 1812 : 1812
    -    XML_SCHEMAV_EXTRACONTENT = 1813 : 1813
    -    XML_SCHEMAV_INVALIDATTR = 1814 : 1814
    -    XML_SCHEMAV_INVALIDELEM = 1815 : 1815
    -    XML_SCHEMAV_NOTDETERMINIST = 1816 : 1816
    -    XML_SCHEMAV_CONSTRUCT = 1817 : 1817
    -    XML_SCHEMAV_INTERNAL = 1818 : 1818
    -    XML_SCHEMAV_NOTSIMPLE = 1819 : 1819
    -    XML_SCHEMAV_ATTRUNKNOWN = 1820 : 1820
    -    XML_SCHEMAV_ATTRINVALID = 1821 : 1821
    -    XML_SCHEMAV_VALUE = 1822 : 1822
    -    XML_SCHEMAV_FACET = 1823 : 1823
    -    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1 = 1824 : 1824
    -    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2 = 1825 : 1825
    -    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3 = 1826 : 1826
    -    XML_SCHEMAV_CVC_TYPE_3_1_1 = 1827 : 1827
    -    XML_SCHEMAV_CVC_TYPE_3_1_2 = 1828 : 1828
    -    XML_SCHEMAV_CVC_FACET_VALID = 1829 : 1829
    -    XML_SCHEMAV_CVC_LENGTH_VALID = 1830 : 1830
    -    XML_SCHEMAV_CVC_MINLENGTH_VALID = 1831 : 1831
    -    XML_SCHEMAV_CVC_MAXLENGTH_VALID = 1832 : 1832
    -    XML_SCHEMAV_CVC_MININCLUSIVE_VALID = 1833 : 1833
    -    XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID = 1834 : 1834
    -    XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID = 1835 : 1835
    -    XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID = 1836 : 1836
    -    XML_SCHEMAV_CVC_TOTALDIGITS_VALID = 1837 : 1837
    -    XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID = 1838 : 1838
    -    XML_SCHEMAV_CVC_PATTERN_VALID = 1839 : 1839
    -    XML_SCHEMAV_CVC_ENUMERATION_VALID = 1840 : 1840
    -    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1 = 1841 : 1841
    -    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2 = 1842 : 1842
    -    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3 = 1843 : 1843
    -    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4 = 1844 : 1844
    -    XML_SCHEMAV_CVC_ELT_1 = 1845 : 1845
    -    XML_SCHEMAV_CVC_ELT_2 = 1846 : 1846
    -    XML_SCHEMAV_CVC_ELT_3_1 = 1847 : 1847
    -    XML_SCHEMAV_CVC_ELT_3_2_1 = 1848 : 1848
    -    XML_SCHEMAV_CVC_ELT_3_2_2 = 1849 : 1849
    -    XML_SCHEMAV_CVC_ELT_4_1 = 1850 : 1850
    -    XML_SCHEMAV_CVC_ELT_4_2 = 1851 : 1851
    -    XML_SCHEMAV_CVC_ELT_4_3 = 1852 : 1852
    -    XML_SCHEMAV_CVC_ELT_5_1_1 = 1853 : 1853
    -    XML_SCHEMAV_CVC_ELT_5_1_2 = 1854 : 1854
    -    XML_SCHEMAV_CVC_ELT_5_2_1 = 1855 : 1855
    -    XML_SCHEMAV_CVC_ELT_5_2_2_1 = 1856 : 1856
    -    XML_SCHEMAV_CVC_ELT_5_2_2_2_1 = 1857 : 1857
    -    XML_SCHEMAV_CVC_ELT_5_2_2_2_2 = 1858 : 1858
    -    XML_SCHEMAV_CVC_ELT_6 = 1859 : 1859
    -    XML_SCHEMAV_CVC_ELT_7 = 1860 : 1860
    -    XML_SCHEMAV_CVC_ATTRIBUTE_1 = 1861 : 1861
    -    XML_SCHEMAV_CVC_ATTRIBUTE_2 = 1862 : 1862
    -    XML_SCHEMAV_CVC_ATTRIBUTE_3 = 1863 : 1863
    -    XML_SCHEMAV_CVC_ATTRIBUTE_4 = 1864 : 1864
    -    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1 = 1865 : 1865
    -    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1 = 1866 : 1866
    -    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2 = 1867 : 1867
    -    XML_SCHEMAV_CVC_COMPLEX_TYPE_4 = 1868 : 1868
    -    XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1 = 1869 : 1869
    -    XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2 = 1870 : 1870
    -    XML_SCHEMAV_ELEMENT_CONTENT = 1871 : 1871
    -    XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING = 1872 : 1872
    -    XML_SCHEMAV_CVC_COMPLEX_TYPE_1 = 1873 : 1873
    -    XML_SCHEMAV_CVC_AU = 1874 : 1874
    -    XML_SCHEMAV_CVC_TYPE_1 = 1875 : 1875
    -    XML_SCHEMAV_CVC_TYPE_2 = 1876 : 1876
    -    XML_SCHEMAV_CVC_IDC = 1877 : 1877
    -    XML_SCHEMAV_CVC_WILDCARD = 1878 : 1878
    -    XML_SCHEMAV_MISC = 1879 : 1879
    -    XML_XPTR_UNKNOWN_SCHEME = 1900
    -    XML_XPTR_CHILDSEQ_START = 1901 : 1901
    -    XML_XPTR_EVAL_FAILED = 1902 : 1902
    -    XML_XPTR_EXTRA_OBJECTS = 1903 : 1903
    -    XML_C14N_CREATE_CTXT = 1950
    -    XML_C14N_REQUIRES_UTF8 = 1951 : 1951
    -    XML_C14N_CREATE_STACK = 1952 : 1952
    -    XML_C14N_INVALID_NODE = 1953 : 1953
    -    XML_C14N_UNKNOW_NODE = 1954 : 1954
    -    XML_C14N_RELATIVE_NAMESPACE = 1955 : 1955
    -    XML_FTP_PASV_ANSWER = 2000
    -    XML_FTP_EPSV_ANSWER = 2001 : 2001
    -    XML_FTP_ACCNT = 2002 : 2002
    -    XML_FTP_URL_SYNTAX = 2003 : 2003
    -    XML_HTTP_URL_SYNTAX = 2020
    -    XML_HTTP_USE_IP = 2021 : 2021
    -    XML_HTTP_UNKNOWN_HOST = 2022 : 2022
    -    XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000
    -    XML_SCHEMAP_SRC_SIMPLE_TYPE_2 = 3001 : 3001
    -    XML_SCHEMAP_SRC_SIMPLE_TYPE_3 = 3002 : 3002
    -    XML_SCHEMAP_SRC_SIMPLE_TYPE_4 = 3003 : 3003
    -    XML_SCHEMAP_SRC_RESOLVE = 3004 : 3004
    -    XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE = 3005 : 3005
    -    XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE = 3006 : 3006
    -    XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES = 3007 : 3007
    -    XML_SCHEMAP_ST_PROPS_CORRECT_1 = 3008 : 3008
    -    XML_SCHEMAP_ST_PROPS_CORRECT_2 = 3009 : 3009
    -    XML_SCHEMAP_ST_PROPS_CORRECT_3 = 3010 : 3010
    -    XML_SCHEMAP_COS_ST_RESTRICTS_1_1 = 3011 : 3011
    -    XML_SCHEMAP_COS_ST_RESTRICTS_1_2 = 3012 : 3012
    -    XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1 = 3013 : 3013
    -    XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2 = 3014 : 3014
    -    XML_SCHEMAP_COS_ST_RESTRICTS_2_1 = 3015 : 3015
    -    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1 = 3016 : 3016
    -    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2 = 3017 : 3017
    -    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1 = 3018 : 3018
    -    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2 = 3019 : 3019
    -    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3 = 3020 : 3020
    -    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4 = 3021 : 3021
    -    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5 = 3022 : 3022
    -    XML_SCHEMAP_COS_ST_RESTRICTS_3_1 = 3023 : 3023
    -    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1 = 3024 : 3024
    -    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2 = 3025 : 3025
    -    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2 = 3026 : 3026
    -    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1 = 3027 : 3027
    -    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3 = 3028 : 3028
    -    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4 = 3029 : 3029
    -    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5 = 3030 : 3030
    -    XML_SCHEMAP_COS_ST_DERIVED_OK_2_1 = 3031 : 3031
    -    XML_SCHEMAP_COS_ST_DERIVED_OK_2_2 = 3032 : 3032
    -    XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED = 3033 : 3033
    -    XML_SCHEMAP_S4S_ELEM_MISSING = 3034 : 3034
    -    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED = 3035 : 3035
    -    XML_SCHEMAP_S4S_ATTR_MISSING = 3036 : 3036
    -    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE = 3037 : 3037
    -    XML_SCHEMAP_SRC_ELEMENT_1 = 3038 : 3038
    -    XML_SCHEMAP_SRC_ELEMENT_2_1 = 3039 : 3039
    -    XML_SCHEMAP_SRC_ELEMENT_2_2 = 3040 : 3040
    -    XML_SCHEMAP_SRC_ELEMENT_3 = 3041 : 3041
    -    XML_SCHEMAP_P_PROPS_CORRECT_1 = 3042 : 3042
    -    XML_SCHEMAP_P_PROPS_CORRECT_2_1 = 3043 : 3043
    -    XML_SCHEMAP_P_PROPS_CORRECT_2_2 = 3044 : 3044
    -    XML_SCHEMAP_E_PROPS_CORRECT_2 = 3045 : 3045
    -    XML_SCHEMAP_E_PROPS_CORRECT_3 = 3046 : 3046
    -    XML_SCHEMAP_E_PROPS_CORRECT_4 = 3047 : 3047
    -    XML_SCHEMAP_E_PROPS_CORRECT_5 = 3048 : 3048
    -    XML_SCHEMAP_E_PROPS_CORRECT_6 = 3049 : 3049
    -    XML_SCHEMAP_SRC_INCLUDE = 3050 : 3050
    -    XML_SCHEMAP_SRC_ATTRIBUTE_1 = 3051 : 3051
    -    XML_SCHEMAP_SRC_ATTRIBUTE_2 = 3052 : 3052
    -    XML_SCHEMAP_SRC_ATTRIBUTE_3_1 = 3053 : 3053
    -    XML_SCHEMAP_SRC_ATTRIBUTE_3_2 = 3054 : 3054
    -    XML_SCHEMAP_SRC_ATTRIBUTE_4 = 3055 : 3055
    -    XML_SCHEMAP_NO_XMLNS = 3056 : 3056
    -    XML_SCHEMAP_NO_XSI = 3057 : 3057
    -    XML_SCHEMAP_COS_VALID_DEFAULT_1 = 3058 : 3058
    -    XML_SCHEMAP_COS_VALID_DEFAULT_2_1 = 3059 : 3059
    -    XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1 = 3060 : 3060
    -    XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2 = 3061 : 3061
    -    XML_SCHEMAP_CVC_SIMPLE_TYPE = 3062 : 3062
    -    XML_SCHEMAP_COS_CT_EXTENDS_1_1 = 3063 : 3063
    -    XML_SCHEMAP_SRC_IMPORT_1_1 = 3064 : 3064
    -    XML_SCHEMAP_SRC_IMPORT_1_2 = 3065 : 3065
    -    XML_SCHEMAP_SRC_IMPORT_2 = 3066 : 3066
    -    XML_SCHEMAP_SRC_IMPORT_2_1 = 3067 : 3067
    -    XML_SCHEMAP_SRC_IMPORT_2_2 = 3068 : 3068
    -    XML_SCHEMAP_INTERNAL = 3069 : 3069 non-W3C
    -    XML_SCHEMAP_NOT_DETERMINISTIC = 3070 : 3070 non-W3C
    -    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1 = 3071 : 3071
    -    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2 = 3072 : 3072
    -    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3 = 3073 : 3073
    -    XML_SCHEMAP_MG_PROPS_CORRECT_1 = 3074 : 3074
    -    XML_SCHEMAP_MG_PROPS_CORRECT_2 = 3075 : 3075
    -    XML_SCHEMAP_SRC_CT_1 = 3076 : 3076
    -    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3 = 3077 : 3077
    -    XML_SCHEMAP_AU_PROPS_CORRECT_2 = 3078 : 3078
    -    XML_SCHEMAP_A_PROPS_CORRECT_2 = 3079 : 3079
    -    XML_SCHEMAP_C_PROPS_CORRECT = 3080 : 3080
    -    XML_SCHEMAP_SRC_REDEFINE = 3081 : 3081
    -    XML_SCHEMAP_SRC_IMPORT = 3082 : 3082
    -    XML_SCHEMAP_WARN_SKIP_SCHEMA = 3083 : 3083
    -    XML_SCHEMAP_WARN_UNLOCATED_SCHEMA = 3084 : 3084
    -    XML_SCHEMAP_WARN_ATTR_REDECL_PROH = 3085 : 3085
    -    XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH = 3086 : 3085
    -    XML_SCHEMAP_AG_PROPS_CORRECT = 3087 : 3086
    -    XML_SCHEMAP_COS_CT_EXTENDS_1_2 = 3088 : 3087
    -    XML_SCHEMAP_AU_PROPS_CORRECT = 3089 : 3088
    -    XML_SCHEMAP_A_PROPS_CORRECT_3 = 3090 : 3089
    -    XML_SCHEMAP_COS_ALL_LIMITED = 3091 : 3090
    -    XML_SCHEMATRONV_ASSERT = 4000 : 4000
    -    XML_SCHEMATRONV_REPORT = 4001
    -    XML_MODULE_OPEN = 4900 : 4900
    -    XML_MODULE_CLOSE = 4901 : 4901
    -    XML_CHECK_FOUND_ELEMENT = 5000
    -    XML_CHECK_FOUND_ATTRIBUTE = 5001 : 5001
    -    XML_CHECK_FOUND_TEXT = 5002 : 5002
    -    XML_CHECK_FOUND_CDATA = 5003 : 5003
    -    XML_CHECK_FOUND_ENTITYREF = 5004 : 5004
    -    XML_CHECK_FOUND_ENTITY = 5005 : 5005
    -    XML_CHECK_FOUND_PI = 5006 : 5006
    -    XML_CHECK_FOUND_COMMENT = 5007 : 5007
    -    XML_CHECK_FOUND_DOCTYPE = 5008 : 5008
    -    XML_CHECK_FOUND_FRAGMENT = 5009 : 5009
    -    XML_CHECK_FOUND_NOTATION = 5010 : 5010
    -    XML_CHECK_UNKNOWN_NODE = 5011 : 5011
    -    XML_CHECK_ENTITY_TYPE = 5012 : 5012
    -    XML_CHECK_NO_PARENT = 5013 : 5013
    -    XML_CHECK_NO_DOC = 5014 : 5014
    -    XML_CHECK_NO_NAME = 5015 : 5015
    -    XML_CHECK_NO_ELEM = 5016 : 5016
    -    XML_CHECK_WRONG_DOC = 5017 : 5017
    -    XML_CHECK_NO_PREV = 5018 : 5018
    -    XML_CHECK_WRONG_PREV = 5019 : 5019
    -    XML_CHECK_NO_NEXT = 5020 : 5020
    -    XML_CHECK_WRONG_NEXT = 5021 : 5021
    -    XML_CHECK_NOT_DTD = 5022 : 5022
    -    XML_CHECK_NOT_ATTR = 5023 : 5023
    -    XML_CHECK_NOT_ATTR_DECL = 5024 : 5024
    -    XML_CHECK_NOT_ELEM_DECL = 5025 : 5025
    -    XML_CHECK_NOT_ENTITY_DECL = 5026 : 5026
    -    XML_CHECK_NOT_NS_DECL = 5027 : 5027
    -    XML_CHECK_NO_HREF = 5028 : 5028
    -    XML_CHECK_WRONG_PARENT = 5029 : 5029
    -    XML_CHECK_NS_SCOPE = 5030 : 5030
    -    XML_CHECK_NS_ANCESTOR = 5031 : 5031
    -    XML_CHECK_NOT_UTF8 = 5032 : 5032
    -    XML_CHECK_NO_DICT = 5033 : 5033
    -    XML_CHECK_NOT_NCNAME = 5034 : 5034
    -    XML_CHECK_OUTSIDE_DICT = 5035 : 5035
    -    XML_CHECK_WRONG_NAME = 5036 : 5036
    -    XML_CHECK_NAME_NOT_NULL = 5037 : 5037
    -    XML_I18N_NO_NAME = 6000
    -    XML_I18N_NO_HANDLER = 6001 : 6001
    -    XML_I18N_EXCESS_HANDLER = 6002 : 6002
    -    XML_I18N_CONV_FAILED = 6003 : 6003
    -    XML_I18N_NO_OUTPUT = 6004 : 6004
    -    XML_CHECK_ = 6005 : 5033
    -    XML_CHECK_X = 6006 : 503
    -}
    -

    Function: initGenericErrorDefaultFunc

    void	initGenericErrorDefaultFunc	(xmlGenericErrorFunc * handler)
    -

    Set or reset (if NULL) the default handler for generic errors to the builtin error function.

    -
    handler:the handler

    Function: xmlCopyError

    int	xmlCopyError			(xmlErrorPtr from, 
    xmlErrorPtr to)
    -

    Save the original error to the new place.

    -
    from:a source error
    to:a target error
    Returns:0 in case of success and -1 in case of error.

    Function: xmlCtxtGetLastError

    xmlErrorPtr	xmlCtxtGetLastError	(void * ctx)
    -

    Get the last parsing error registered.

    -
    ctx:an XML parser context
    Returns:NULL if no error occured or a pointer to the error

    Function: xmlCtxtResetLastError

    void	xmlCtxtResetLastError		(void * ctx)
    -

    Cleanup the last global error registered. For parsing error this does not change the well-formedness result.

    -
    ctx:an XML parser context

    Function type: xmlGenericErrorFunc

    Function type: xmlGenericErrorFunc
    -void	xmlGenericErrorFunc		(void * ctx, 
    const char * msg,
    ... ...) -

    Signature of the function to use when there is an error and no parsing or validity context available .

    ctx:a parsing context
    msg:the message
    ...:the extra arguments of the varags to format the message

    -

    Function: xmlGetLastError

    xmlErrorPtr	xmlGetLastError		(void)
    -

    Get the last global error registered. This is per thread if compiled with thread support.

    -
    Returns:NULL if no error occured or a pointer to the error

    Function: xmlParserError

    void	xmlParserError			(void * ctx, 
    const char * msg,
    ... ...)
    -

    Display and format an error messages, gives file, line, position and extra parameters.

    -
    ctx:an XML parser context
    msg:the message to display/transmit
    ...:extra parameters for the message display

    Function: xmlParserPrintFileContext

    void	xmlParserPrintFileContext	(xmlParserInputPtr input)
    -

    Displays current context within the input content for error tracking

    -
    input:an xmlParserInputPtr input

    Function: xmlParserPrintFileInfo

    void	xmlParserPrintFileInfo		(xmlParserInputPtr input)
    -

    Displays the associated file and line informations for the current input

    -
    input:an xmlParserInputPtr input

    Function: xmlParserValidityError

    void	xmlParserValidityError		(void * ctx, 
    const char * msg,
    ... ...)
    -

    Display and format an validity error messages, gives file, line, position and extra parameters.

    -
    ctx:an XML parser context
    msg:the message to display/transmit
    ...:extra parameters for the message display

    Function: xmlParserValidityWarning

    void	xmlParserValidityWarning	(void * ctx, 
    const char * msg,
    ... ...)
    -

    Display and format a validity warning messages, gives file, line, position and extra parameters.

    -
    ctx:an XML parser context
    msg:the message to display/transmit
    ...:extra parameters for the message display

    Function: xmlParserWarning

    void	xmlParserWarning		(void * ctx, 
    const char * msg,
    ... ...)
    -

    Display and format a warning messages, gives file, line, position and extra parameters.

    -
    ctx:an XML parser context
    msg:the message to display/transmit
    ...:extra parameters for the message display

    Function: xmlResetError

    void	xmlResetError			(xmlErrorPtr err)
    -

    Cleanup the error.

    -
    err:pointer to the error.

    Function: xmlResetLastError

    void	xmlResetLastError		(void)
    -

    Cleanup the last global error registered. For parsing error this does not change the well-formedness result.

    -

    Function: xmlSetGenericErrorFunc

    void	xmlSetGenericErrorFunc		(void * ctx, 
    xmlGenericErrorFunc handler)
    -

    Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL. For multi-threaded applications, this must be set separately for each thread.

    -
    ctx:the new error handling context
    handler:the new handler function

    Function: xmlSetStructuredErrorFunc

    void	xmlSetStructuredErrorFunc	(void * ctx, 
    xmlStructuredErrorFunc handler)
    -

    Function to reset the handler and the error context for out of context structured error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler For multi-threaded applications, this must be set separately for each thread.

    -
    ctx:the new error handling context
    handler:the new handler function

    Function type: xmlStructuredErrorFunc

    Function type: xmlStructuredErrorFunc
    -void	xmlStructuredErrorFunc		(void * userData, 
    xmlErrorPtr error) -

    Signature of the function to use when there is an error and the module handles the new error reporting mechanism.

    userData:user provided data for the error callback
    error:the error being raised.

    -

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlexports.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlexports.html deleted file mode 100644 index 152995a..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlexports.html +++ /dev/null @@ -1,20 +0,0 @@ - - -Module xmlexports from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlexports from libxml2

    API Menu
    API Indexes
    Related links

    macros for marking symbols as exportable/importable.

    Table of Contents

    #define LIBXML_DLL_IMPORT
    #define XMLCALL
    #define XMLCDECL
    #define XMLPUBFUN
    #define XMLPUBVAR
    #define _REENTRANT

    Description

    -

    Macro: LIBXML_DLL_IMPORT

    #define LIBXML_DLL_IMPORT

    -

    Macro: XMLCALL

    #define XMLCALL

    -

    Macro: XMLCDECL

    #define XMLCDECL

    -

    Macro: XMLPUBFUN

    #define XMLPUBFUN

    -

    Macro: XMLPUBVAR

    #define XMLPUBVAR

    -

    Macro: _REENTRANT

    #define _REENTRANT

    -

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlmemory.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlmemory.html deleted file mode 100644 index d653775..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlmemory.html +++ /dev/null @@ -1,107 +0,0 @@ - - -Module xmlmemory from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlmemory from libxml2

    API Menu
    API Indexes
    Related links

    provides interfaces for the memory allocator, including debugging capabilities.

    Table of Contents

    #define DEBUG_MEMORY
    Variable xmlMallocFunc xmlMalloc
    -
    -
    Variable xmlMallocFunc xmlMallocAtomic
    -
    -
    Variable xmlStrdupFunc xmlMemStrdup
    -
    -
    Variable xmlReallocFunc xmlRealloc
    -
    -
    void	xmlCleanupMemory		(void)
    -
    Function type: xmlFreeFunc
    -void	xmlFreeFunc			(void * mem)
    -
    -
    int	xmlGcMemGet			(xmlFreeFunc * freeFunc, 
    xmlMallocFunc * mallocFunc,
    xmlMallocFunc * mallocAtomicFunc,
    xmlReallocFunc * reallocFunc,
    xmlStrdupFunc * strdupFunc)
    -
    int	xmlGcMemSetup			(xmlFreeFunc freeFunc, 
    xmlMallocFunc mallocFunc,
    xmlMallocFunc mallocAtomicFunc,
    xmlReallocFunc reallocFunc,
    xmlStrdupFunc strdupFunc)
    -
    int	xmlInitMemory			(void)
    -
    void *	xmlMallocAtomicLoc		(size_t size, 
    const char * file,
    int line)
    -
    Function type: xmlMallocFunc
    -void *	xmlMallocFunc			(size_t size)
    -
    -
    void *	xmlMallocLoc			(size_t size, 
    const char * file,
    int line)
    -
    int	xmlMemBlocks			(void)
    -
    void	xmlMemDisplay			(FILE * fp)
    -
    void	xmlMemDisplayLast		(FILE * fp, 
    long nbBytes)
    -
    void	xmlMemFree			(void * ptr)
    -
    int	xmlMemGet			(xmlFreeFunc * freeFunc, 
    xmlMallocFunc * mallocFunc,
    xmlReallocFunc * reallocFunc,
    xmlStrdupFunc * strdupFunc)
    -
    void *	xmlMemMalloc			(size_t size)
    -
    void *	xmlMemRealloc			(void * ptr, 
    size_t size)
    -
    int	xmlMemSetup			(xmlFreeFunc freeFunc, 
    xmlMallocFunc mallocFunc,
    xmlReallocFunc reallocFunc,
    xmlStrdupFunc strdupFunc)
    -
    void	xmlMemShow			(FILE * fp, 
    int nr)
    -
    char *	xmlMemStrdupLoc			(const char * str, 
    const char * file,
    int line)
    -
    int	xmlMemUsed			(void)
    -
    void	xmlMemoryDump			(void)
    -
    char *	xmlMemoryStrdup			(const char * str)
    -
    Function type: xmlReallocFunc
    -void *	xmlReallocFunc			(void * mem, 
    size_t size) -
    -
    void *	xmlReallocLoc			(void * ptr, 
    size_t size,
    const char * file,
    int line)
    -
    Function type: xmlStrdupFunc
    -char *	xmlStrdupFunc			(const char * str)
    -
    -

    Description

    -

    Macro: DEBUG_MEMORY

    #define DEBUG_MEMORY

    DEBUG_MEMORY replaces the allocator with a collect and debug shell to the libc allocator. DEBUG_MEMORY should only be activated when debugging libxml i.e. if libxml has been configured with --with-debug-mem too. #define DEBUG_MEMORY_FREED #define DEBUG_MEMORY_LOCATION

    -

    Function: xmlCleanupMemory

    void	xmlCleanupMemory		(void)
    -

    Free up all the memory allocated by the library for its own use. This should not be called by user level code.

    -

    Function type: xmlFreeFunc

    Function type: xmlFreeFunc
    -void	xmlFreeFunc			(void * mem)
    -

    Signature for a free() implementation.

    mem:an already allocated block of memory

    -

    Function: xmlGcMemGet

    int	xmlGcMemGet			(xmlFreeFunc * freeFunc, 
    xmlMallocFunc * mallocFunc,
    xmlMallocFunc * mallocAtomicFunc,
    xmlReallocFunc * reallocFunc,
    xmlStrdupFunc * strdupFunc)
    -

    Provides the memory access functions set currently in use The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators

    -
    freeFunc:place to save the free() function in use
    mallocFunc:place to save the malloc() function in use
    mallocAtomicFunc:place to save the atomic malloc() function in use
    reallocFunc:place to save the realloc() function in use
    strdupFunc:place to save the strdup() function in use
    Returns:0 on success

    Function: xmlGcMemSetup

    int	xmlGcMemSetup			(xmlFreeFunc freeFunc, 
    xmlMallocFunc mallocFunc,
    xmlMallocFunc mallocAtomicFunc,
    xmlReallocFunc reallocFunc,
    xmlStrdupFunc strdupFunc)
    -

    Override the default memory access functions with a new set This has to be called before any other libxml routines ! The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators Should this be blocked if there was already some allocations done ?

    -
    freeFunc:the free() function to use
    mallocFunc:the malloc() function to use
    mallocAtomicFunc:the malloc() function to use for atomic allocations
    reallocFunc:the realloc() function to use
    strdupFunc:the strdup() function to use
    Returns:0 on success

    Function: xmlInitMemory

    int	xmlInitMemory			(void)
    -

    Initialize the memory layer.

    -
    Returns:0 on success

    Function: xmlMallocAtomicLoc

    void *	xmlMallocAtomicLoc		(size_t size, 
    const char * file,
    int line)
    -

    a malloc() equivalent, with logging of the allocation info.

    -
    size:an int specifying the size in byte to allocate.
    file:the file name or NULL
    line:the line number
    Returns:a pointer to the allocated area or NULL in case of lack of memory.

    Function type: xmlMallocFunc

    Function type: xmlMallocFunc
    -void *	xmlMallocFunc			(size_t size)
    -

    Signature for a malloc() implementation.

    size:the size requested in bytes
    Returns:a pointer to the newly allocated block or NULL in case of error.

    -

    Function: xmlMallocLoc

    void *	xmlMallocLoc			(size_t size, 
    const char * file,
    int line)
    -

    a malloc() equivalent, with logging of the allocation info.

    -
    size:an int specifying the size in byte to allocate.
    file:the file name or NULL
    line:the line number
    Returns:a pointer to the allocated area or NULL in case of lack of memory.

    Function: xmlMemBlocks

    int	xmlMemBlocks			(void)
    -

    Provides the number of memory areas currently allocated

    -
    Returns:an int representing the number of blocks

    Function: xmlMemDisplay

    void	xmlMemDisplay			(FILE * fp)
    -

    show in-extenso the memory blocks allocated

    -
    fp:a FILE descriptor used as the output file, if NULL, the result is written to the file .memorylist

    Function: xmlMemDisplayLast

    void	xmlMemDisplayLast		(FILE * fp, 
    long nbBytes)
    -

    the last nbBytes of memory allocated and not freed, useful for dumping the memory left allocated between two places at runtime.

    -
    fp:a FILE descriptor used as the output file, if NULL, the result is written to the file .memorylist
    nbBytes:the amount of memory to dump

    Function: xmlMemFree

    void	xmlMemFree			(void * ptr)
    -

    a free() equivalent, with error checking.

    -
    ptr:the memory block pointer

    Function: xmlMemGet

    int	xmlMemGet			(xmlFreeFunc * freeFunc, 
    xmlMallocFunc * mallocFunc,
    xmlReallocFunc * reallocFunc,
    xmlStrdupFunc * strdupFunc)
    -

    Provides the memory access functions set currently in use

    -
    freeFunc:place to save the free() function in use
    mallocFunc:place to save the malloc() function in use
    reallocFunc:place to save the realloc() function in use
    strdupFunc:place to save the strdup() function in use
    Returns:0 on success

    Function: xmlMemMalloc

    void *	xmlMemMalloc			(size_t size)
    -

    a malloc() equivalent, with logging of the allocation info.

    -
    size:an int specifying the size in byte to allocate.
    Returns:a pointer to the allocated area or NULL in case of lack of memory.

    Function: xmlMemRealloc

    void *	xmlMemRealloc			(void * ptr, 
    size_t size)
    -

    a realloc() equivalent, with logging of the allocation info.

    -
    ptr:the initial memory block pointer
    size:an int specifying the size in byte to allocate.
    Returns:a pointer to the allocated area or NULL in case of lack of memory.

    Function: xmlMemSetup

    int	xmlMemSetup			(xmlFreeFunc freeFunc, 
    xmlMallocFunc mallocFunc,
    xmlReallocFunc reallocFunc,
    xmlStrdupFunc strdupFunc)
    -

    Override the default memory access functions with a new set This has to be called before any other libxml routines ! Should this be blocked if there was already some allocations done ?

    -
    freeFunc:the free() function to use
    mallocFunc:the malloc() function to use
    reallocFunc:the realloc() function to use
    strdupFunc:the strdup() function to use
    Returns:0 on success

    Function: xmlMemShow

    void	xmlMemShow			(FILE * fp, 
    int nr)
    -

    show a show display of the memory allocated, and dump the @nr last allocated areas which were not freed

    -
    fp:a FILE descriptor used as the output file
    nr:number of entries to dump

    Function: xmlMemStrdupLoc

    char *	xmlMemStrdupLoc			(const char * str, 
    const char * file,
    int line)
    -

    a strdup() equivalent, with logging of the allocation info.

    -
    str:the initial string pointer
    file:the file name or NULL
    line:the line number
    Returns:a pointer to the new string or NULL if allocation error occurred.

    Function: xmlMemUsed

    int	xmlMemUsed			(void)
    -

    Provides the amount of memory currently allocated

    -
    Returns:an int representing the amount of memory allocated.

    Function: xmlMemoryDump

    void	xmlMemoryDump			(void)
    -

    Dump in-extenso the memory blocks allocated to the file .memorylist

    -

    Function: xmlMemoryStrdup

    char *	xmlMemoryStrdup			(const char * str)
    -

    a strdup() equivalent, with logging of the allocation info.

    -
    str:the initial string pointer
    Returns:a pointer to the new string or NULL if allocation error occurred.

    Function type: xmlReallocFunc

    Function type: xmlReallocFunc
    -void *	xmlReallocFunc			(void * mem, 
    size_t size) -

    Signature for a realloc() implementation.

    mem:an already allocated block of memory
    size:the new size requested in bytes
    Returns:a pointer to the newly reallocated block or NULL in case of error.

    -

    Function: xmlReallocLoc

    void *	xmlReallocLoc			(void * ptr, 
    size_t size,
    const char * file,
    int line)
    -

    a realloc() equivalent, with logging of the allocation info.

    -
    ptr:the initial memory block pointer
    size:an int specifying the size in byte to allocate.
    file:the file name or NULL
    line:the line number
    Returns:a pointer to the allocated area or NULL in case of lack of memory.

    Function type: xmlStrdupFunc

    Function type: xmlStrdupFunc
    -char *	xmlStrdupFunc			(const char * str)
    -

    Signature for an strdup() implementation.

    str:a zero terminated string
    Returns:the copy of the string or NULL in case of error.

    -

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlmodule.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlmodule.html deleted file mode 100644 index c28c54b..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlmodule.html +++ /dev/null @@ -1,38 +0,0 @@ - - -Module xmlmodule from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlmodule from libxml2

    API Menu
    API Indexes
    Related links

    basic API for dynamic module loading, used by libexslt added in 2.6.17

    Table of Contents

    Structure xmlModule
    struct _xmlModule -The content of this structure is not made public by the API. -
    Enum xmlModuleOption
    -
    Typedef xmlModule * xmlModulePtr
    -
    int	xmlModuleClose			(xmlModulePtr module)
    -
    int	xmlModuleFree			(xmlModulePtr module)
    -
    xmlModulePtr	xmlModuleOpen		(const char * name, 
    int options)
    -
    int	xmlModuleSymbol			(xmlModulePtr module, 
    const char * name,
    void ** symbol)
    -

    Description

    -

    Structure xmlModule

    Structure xmlModule
    struct _xmlModule { -The content of this structure is not made public by the API. -}

    Enum xmlModuleOption

    Enum xmlModuleOption {
    -    XML_MODULE_LAZY = 1 : lazy binding
    -    XML_MODULE_LOCAL = 2 : local binding
    -}
    -
    - A handle to a dynamically loaded module -

    Function: xmlModuleClose

    int	xmlModuleClose			(xmlModulePtr module)
    -

    The close operations unload the associated module and free the data associated to the module.

    -
    module:the module handle
    Returns:0 in case of success, -1 in case of argument error and -2 if the module could not be closed/unloaded.

    Function: xmlModuleFree

    int	xmlModuleFree			(xmlModulePtr module)
    -

    The free operations free the data associated to the module but does not unload the associated shared library which may still be in use.

    -
    module:the module handle
    Returns:0 in case of success, -1 in case of argument error

    Function: xmlModuleOpen

    xmlModulePtr	xmlModuleOpen		(const char * name, 
    int options)
    -

    Opens a module/shared library given its name or path TODO: options are not yet implemented.

    -
    name:the module name
    options:a set of xmlModuleOption
    Returns:a handle for the module or NULL in case of error

    Function: xmlModuleSymbol

    int	xmlModuleSymbol			(xmlModulePtr module, 
    const char * name,
    void ** symbol)
    -

    Lookup for a symbol address in the given module

    -
    module:the module
    name:the name of the symbol
    symbol:the resulting symbol address
    Returns:0 if the symbol was found, or -1 in case of error

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlreader.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlreader.html deleted file mode 100644 index f7e00fb..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlreader.html +++ /dev/null @@ -1,330 +0,0 @@ - - -Module xmlreader from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlreader from libxml2

    API Menu
    API Indexes
    Related links

    API of the XML streaming API based on C# interfaces.

    Table of Contents

    Enum xmlParserProperties
    -
    Enum xmlParserSeverities
    -
    Enum xmlReaderTypes
    -
    Structure xmlTextReader
    struct _xmlTextReader -The content of this structure is not made public by the API. -
    Typedef void * xmlTextReaderLocatorPtr
    -
    Enum xmlTextReaderMode
    -
    Typedef xmlTextReader * xmlTextReaderPtr
    -
    void	xmlFreeTextReader		(xmlTextReaderPtr reader)
    -
    xmlTextReaderPtr	xmlNewTextReader	(xmlParserInputBufferPtr input, 
    const char * URI)
    -
    xmlTextReaderPtr	xmlNewTextReaderFilename	(const char * URI)
    -
    xmlTextReaderPtr	xmlReaderForDoc	(const xmlChar * cur, 
    const char * URL,
    const char * encoding,
    int options)
    -
    xmlTextReaderPtr	xmlReaderForFd	(int fd, 
    const char * URL,
    const char * encoding,
    int options)
    -
    xmlTextReaderPtr	xmlReaderForFile	(const char * filename, 
    const char * encoding,
    int options)
    -
    xmlTextReaderPtr	xmlReaderForIO	(xmlInputReadCallback ioread, 
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    -
    xmlTextReaderPtr	xmlReaderForMemory	(const char * buffer, 
    int size,
    const char * URL,
    const char * encoding,
    int options)
    -
    int	xmlReaderNewDoc			(xmlTextReaderPtr reader, 
    const xmlChar * cur,
    const char * URL,
    const char * encoding,
    int options)
    -
    int	xmlReaderNewFd			(xmlTextReaderPtr reader, 
    int fd,
    const char * URL,
    const char * encoding,
    int options)
    -
    int	xmlReaderNewFile		(xmlTextReaderPtr reader, 
    const char * filename,
    const char * encoding,
    int options)
    -
    int	xmlReaderNewIO			(xmlTextReaderPtr reader, 
    xmlInputReadCallback ioread,
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    -
    int	xmlReaderNewMemory		(xmlTextReaderPtr reader, 
    const char * buffer,
    int size,
    const char * URL,
    const char * encoding,
    int options)
    -
    int	xmlReaderNewWalker		(xmlTextReaderPtr reader, 
    xmlDocPtr doc)
    -
    xmlTextReaderPtr	xmlReaderWalker	(xmlDocPtr doc)
    -
    int	xmlTextReaderAttributeCount	(xmlTextReaderPtr reader)
    -
    xmlChar *	xmlTextReaderBaseUri	(xmlTextReaderPtr reader)
    -
    long	xmlTextReaderByteConsumed	(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderClose		(xmlTextReaderPtr reader)
    -
    const xmlChar *	xmlTextReaderConstBaseUri	(xmlTextReaderPtr reader)
    -
    const xmlChar *	xmlTextReaderConstEncoding	(xmlTextReaderPtr reader)
    -
    const xmlChar *	xmlTextReaderConstLocalName	(xmlTextReaderPtr reader)
    -
    const xmlChar *	xmlTextReaderConstName	(xmlTextReaderPtr reader)
    -
    const xmlChar *	xmlTextReaderConstNamespaceUri	(xmlTextReaderPtr reader)
    -
    const xmlChar *	xmlTextReaderConstPrefix	(xmlTextReaderPtr reader)
    -
    const xmlChar *	xmlTextReaderConstString	(xmlTextReaderPtr reader, 
    const xmlChar * str)
    -
    const xmlChar *	xmlTextReaderConstValue	(xmlTextReaderPtr reader)
    -
    const xmlChar *	xmlTextReaderConstXmlLang	(xmlTextReaderPtr reader)
    -
    const xmlChar *	xmlTextReaderConstXmlVersion	(xmlTextReaderPtr reader)
    -
    xmlDocPtr	xmlTextReaderCurrentDoc	(xmlTextReaderPtr reader)
    -
    xmlNodePtr	xmlTextReaderCurrentNode	(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderDepth		(xmlTextReaderPtr reader)
    -
    Function type: xmlTextReaderErrorFunc
    -void	xmlTextReaderErrorFunc		(void * arg, 
    const char * msg,
    xmlParserSeverities severity,
    xmlTextReaderLocatorPtr locator) -
    -
    xmlNodePtr	xmlTextReaderExpand	(xmlTextReaderPtr reader)
    -
    xmlChar *	xmlTextReaderGetAttribute	(xmlTextReaderPtr reader, 
    const xmlChar * name)
    -
    xmlChar *	xmlTextReaderGetAttributeNo	(xmlTextReaderPtr reader, 
    int no)
    -
    xmlChar *	xmlTextReaderGetAttributeNs	(xmlTextReaderPtr reader, 
    const xmlChar * localName,
    const xmlChar * namespaceURI)
    -
    void	xmlTextReaderGetErrorHandler	(xmlTextReaderPtr reader, 
    xmlTextReaderErrorFunc * f,
    void ** arg)
    -
    int	xmlTextReaderGetParserColumnNumber	(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderGetParserLineNumber	(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderGetParserProp	(xmlTextReaderPtr reader, 
    int prop)
    -
    xmlParserInputBufferPtr	xmlTextReaderGetRemainder	(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderHasAttributes	(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderHasValue		(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderIsDefault		(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderIsEmptyElement	(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderIsNamespaceDecl	(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderIsValid		(xmlTextReaderPtr reader)
    -
    xmlChar *	xmlTextReaderLocalName	(xmlTextReaderPtr reader)
    -
    xmlChar *	xmlTextReaderLocatorBaseURI	(xmlTextReaderLocatorPtr locator)
    -
    int	xmlTextReaderLocatorLineNumber	(xmlTextReaderLocatorPtr locator)
    -
    xmlChar *	xmlTextReaderLookupNamespace	(xmlTextReaderPtr reader, 
    const xmlChar * prefix)
    -
    int	xmlTextReaderMoveToAttribute	(xmlTextReaderPtr reader, 
    const xmlChar * name)
    -
    int	xmlTextReaderMoveToAttributeNo	(xmlTextReaderPtr reader, 
    int no)
    -
    int	xmlTextReaderMoveToAttributeNs	(xmlTextReaderPtr reader, 
    const xmlChar * localName,
    const xmlChar * namespaceURI)
    -
    int	xmlTextReaderMoveToElement	(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderMoveToFirstAttribute	(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderMoveToNextAttribute	(xmlTextReaderPtr reader)
    -
    xmlChar *	xmlTextReaderName	(xmlTextReaderPtr reader)
    -
    xmlChar *	xmlTextReaderNamespaceUri	(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderNext		(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderNextSibling	(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderNodeType		(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderNormalization	(xmlTextReaderPtr reader)
    -
    xmlChar *	xmlTextReaderPrefix	(xmlTextReaderPtr reader)
    -
    xmlNodePtr	xmlTextReaderPreserve	(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderPreservePattern	(xmlTextReaderPtr reader, 
    const xmlChar * pattern,
    const xmlChar ** namespaces)
    -
    int	xmlTextReaderQuoteChar		(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderRead		(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderReadAttributeValue	(xmlTextReaderPtr reader)
    -
    xmlChar *	xmlTextReaderReadInnerXml	(xmlTextReaderPtr reader)
    -
    xmlChar *	xmlTextReaderReadOuterXml	(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderReadState		(xmlTextReaderPtr reader)
    -
    xmlChar *	xmlTextReaderReadString	(xmlTextReaderPtr reader)
    -
    int	xmlTextReaderRelaxNGSetSchema	(xmlTextReaderPtr reader, 
    xmlRelaxNGPtr schema)
    -
    int	xmlTextReaderRelaxNGValidate	(xmlTextReaderPtr reader, 
    const char * rng)
    -
    int	xmlTextReaderRelaxNGValidateCtxt	(xmlTextReaderPtr reader, 
    xmlRelaxNGValidCtxtPtr ctxt,
    int options)
    -
    int	xmlTextReaderSchemaValidate	(xmlTextReaderPtr reader, 
    const char * xsd)
    -
    int	xmlTextReaderSchemaValidateCtxt	(xmlTextReaderPtr reader, 
    xmlSchemaValidCtxtPtr ctxt,
    int options)
    -
    void	xmlTextReaderSetErrorHandler	(xmlTextReaderPtr reader, 
    xmlTextReaderErrorFunc f,
    void * arg)
    -
    int	xmlTextReaderSetParserProp	(xmlTextReaderPtr reader, 
    int prop,
    int value)
    -
    int	xmlTextReaderSetSchema		(xmlTextReaderPtr reader, 
    xmlSchemaPtr schema)
    -
    void	xmlTextReaderSetStructuredErrorHandler	(xmlTextReaderPtr reader, 
    xmlStructuredErrorFunc f,
    void * arg)
    -
    int	xmlTextReaderSetup		(xmlTextReaderPtr reader, 
    xmlParserInputBufferPtr input,
    const char * URL,
    const char * encoding,
    int options)
    -
    int	xmlTextReaderStandalone		(xmlTextReaderPtr reader)
    -
    xmlChar *	xmlTextReaderValue	(xmlTextReaderPtr reader)
    -
    xmlChar *	xmlTextReaderXmlLang	(xmlTextReaderPtr reader)
    -

    Description

    -

    Enum xmlParserProperties

    Enum xmlParserProperties {
    -    XML_PARSER_LOADDTD = 1
    -    XML_PARSER_DEFAULTATTRS = 2
    -    XML_PARSER_VALIDATE = 3
    -    XML_PARSER_SUBST_ENTITIES = 4
    -}
    -

    Enum xmlParserSeverities

    Enum xmlParserSeverities {
    -    XML_PARSER_SEVERITY_VALIDITY_WARNING = 1
    -    XML_PARSER_SEVERITY_VALIDITY_ERROR = 2
    -    XML_PARSER_SEVERITY_WARNING = 3
    -    XML_PARSER_SEVERITY_ERROR = 4
    -}
    -

    Enum xmlReaderTypes

    Enum xmlReaderTypes {
    -    XML_READER_TYPE_NONE = 0
    -    XML_READER_TYPE_ELEMENT = 1
    -    XML_READER_TYPE_ATTRIBUTE = 2
    -    XML_READER_TYPE_TEXT = 3
    -    XML_READER_TYPE_CDATA = 4
    -    XML_READER_TYPE_ENTITY_REFERENCE = 5
    -    XML_READER_TYPE_ENTITY = 6
    -    XML_READER_TYPE_PROCESSING_INSTRUCTION = 7
    -    XML_READER_TYPE_COMMENT = 8
    -    XML_READER_TYPE_DOCUMENT = 9
    -    XML_READER_TYPE_DOCUMENT_TYPE = 10
    -    XML_READER_TYPE_DOCUMENT_FRAGMENT = 11
    -    XML_READER_TYPE_NOTATION = 12
    -    XML_READER_TYPE_WHITESPACE = 13
    -    XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14
    -    XML_READER_TYPE_END_ELEMENT = 15
    -    XML_READER_TYPE_END_ENTITY = 16
    -    XML_READER_TYPE_XML_DECLARATION = 17
    -}
    -

    Structure xmlTextReader

    Structure xmlTextReader
    struct _xmlTextReader { -The content of this structure is not made public by the API. -}

    Enum xmlTextReaderMode

    Enum xmlTextReaderMode {
    -    XML_TEXTREADER_MODE_INITIAL = 0
    -    XML_TEXTREADER_MODE_INTERACTIVE = 1
    -    XML_TEXTREADER_MODE_ERROR = 2
    -    XML_TEXTREADER_MODE_EOF = 3
    -    XML_TEXTREADER_MODE_CLOSED = 4
    -    XML_TEXTREADER_MODE_READING = 5
    -}
    -
    - Pointer to an xmlReader context. -

    Function: xmlFreeTextReader

    void	xmlFreeTextReader		(xmlTextReaderPtr reader)
    -

    Deallocate all the resources associated to the reader

    -
    reader:the xmlTextReaderPtr

    Function: xmlNewTextReader

    xmlTextReaderPtr	xmlNewTextReader	(xmlParserInputBufferPtr input, 
    const char * URI)
    -

    Create an xmlTextReader structure fed with @input

    -
    input:the xmlParserInputBufferPtr used to read data
    URI:the URI information for the source if available
    Returns:the new xmlTextReaderPtr or NULL in case of error

    Function: xmlNewTextReaderFilename

    xmlTextReaderPtr	xmlNewTextReaderFilename	(const char * URI)
    -

    Create an xmlTextReader structure fed with the resource at @URI

    -
    URI:the URI of the resource to process
    Returns:the new xmlTextReaderPtr or NULL in case of error

    Function: xmlReaderForDoc

    xmlTextReaderPtr	xmlReaderForDoc	(const xmlChar * cur, 
    const char * URL,
    const char * encoding,
    int options)
    -

    Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.

    -
    cur:a pointer to a zero terminated string
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the new reader or NULL in case of error.

    Function: xmlReaderForFd

    xmlTextReaderPtr	xmlReaderForFd	(int fd, 
    const char * URL,
    const char * encoding,
    int options)
    -

    Create an xmltextReader for an XML from a file descriptor. The parsing flags @options are a combination of xmlParserOption. NOTE that the file descriptor will not be closed when the reader is closed or reset.

    -
    fd:an open file descriptor
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the new reader or NULL in case of error.

    Function: xmlReaderForFile

    xmlTextReaderPtr	xmlReaderForFile	(const char * filename, 
    const char * encoding,
    int options)
    -

    parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption.

    -
    filename:a file or URL
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the new reader or NULL in case of error.

    Function: xmlReaderForIO

    xmlTextReaderPtr	xmlReaderForIO	(xmlInputReadCallback ioread, 
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    -

    Create an xmltextReader for an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption.

    -
    ioread:an I/O read function
    ioclose:an I/O close function
    ioctx:an I/O handler
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the new reader or NULL in case of error.

    Function: xmlReaderForMemory

    xmlTextReaderPtr	xmlReaderForMemory	(const char * buffer, 
    int size,
    const char * URL,
    const char * encoding,
    int options)
    -

    Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.

    -
    buffer:a pointer to a char array
    size:the size of the array
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the new reader or NULL in case of error.

    Function: xmlReaderNewDoc

    int	xmlReaderNewDoc			(xmlTextReaderPtr reader, 
    const xmlChar * cur,
    const char * URL,
    const char * encoding,
    int options)
    -

    Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.

    -
    reader:an XML reader
    cur:a pointer to a zero terminated string
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:0 in case of success and -1 in case of error

    Function: xmlReaderNewFd

    int	xmlReaderNewFd			(xmlTextReaderPtr reader, 
    int fd,
    const char * URL,
    const char * encoding,
    int options)
    -

    Setup an xmltextReader to parse an XML from a file descriptor. NOTE that the file descriptor will not be closed when the reader is closed or reset. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.

    -
    reader:an XML reader
    fd:an open file descriptor
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:0 in case of success and -1 in case of error

    Function: xmlReaderNewFile

    int	xmlReaderNewFile		(xmlTextReaderPtr reader, 
    const char * filename,
    const char * encoding,
    int options)
    -

    parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.

    -
    reader:an XML reader
    filename:a file or URL
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:0 in case of success and -1 in case of error

    Function: xmlReaderNewIO

    int	xmlReaderNewIO			(xmlTextReaderPtr reader, 
    xmlInputReadCallback ioread,
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    -

    Setup an xmltextReader to parse an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.

    -
    reader:an XML reader
    ioread:an I/O read function
    ioclose:an I/O close function
    ioctx:an I/O handler
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:0 in case of success and -1 in case of error

    Function: xmlReaderNewMemory

    int	xmlReaderNewMemory		(xmlTextReaderPtr reader, 
    const char * buffer,
    int size,
    const char * URL,
    const char * encoding,
    int options)
    -

    Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.

    -
    reader:an XML reader
    buffer:a pointer to a char array
    size:the size of the array
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:0 in case of success and -1 in case of error

    Function: xmlReaderNewWalker

    int	xmlReaderNewWalker		(xmlTextReaderPtr reader, 
    xmlDocPtr doc)
    -

    Setup an xmltextReader to parse a preparsed XML document. This reuses the existing @reader xmlTextReader.

    -
    reader:an XML reader
    doc:a preparsed document
    Returns:0 in case of success and -1 in case of error

    Function: xmlReaderWalker

    xmlTextReaderPtr	xmlReaderWalker	(xmlDocPtr doc)
    -

    Create an xmltextReader for a preparsed document.

    -
    doc:a preparsed document
    Returns:the new reader or NULL in case of error.

    Function: xmlTextReaderAttributeCount

    int	xmlTextReaderAttributeCount	(xmlTextReaderPtr reader)
    -

    Provides the number of attributes of the current node

    -
    reader:the xmlTextReaderPtr used
    Returns:0 i no attributes, -1 in case of error or the attribute count

    Function: xmlTextReaderBaseUri

    xmlChar *	xmlTextReaderBaseUri	(xmlTextReaderPtr reader)
    -

    The base URI of the node.

    -
    reader:the xmlTextReaderPtr used
    Returns:the base URI or NULL if not available, if non NULL it need to be freed by the caller.

    Function: xmlTextReaderByteConsumed

    long	xmlTextReaderByteConsumed	(xmlTextReaderPtr reader)
    -

    This function provides the current index of the parser used by the reader, relative to the start of the current entity. This function actually just wraps a call to xmlBytesConsumed() for the parser context associated with the reader. See xmlBytesConsumed() for more information.

    -
    reader:an XML reader
    Returns:the index in bytes from the beginning of the entity or -1 in case the index could not be computed.

    Function: xmlTextReaderClose

    int	xmlTextReaderClose		(xmlTextReaderPtr reader)
    -

    This method releases any resources allocated by the current instance changes the state to Closed and close any underlying input.

    -
    reader:the xmlTextReaderPtr used
    Returns:0 or -1 in case of error

    Function: xmlTextReaderConstBaseUri

    const xmlChar *	xmlTextReaderConstBaseUri	(xmlTextReaderPtr reader)
    -

    The base URI of the node.

    -
    reader:the xmlTextReaderPtr used
    Returns:the base URI or NULL if not available, the string will be deallocated with the reader

    Function: xmlTextReaderConstEncoding

    const xmlChar *	xmlTextReaderConstEncoding	(xmlTextReaderPtr reader)
    -

    Determine the encoding of the document being read.

    -
    reader:the xmlTextReaderPtr used
    Returns:a string containing the encoding of the document or NULL in case of error. The string is deallocated with the reader.

    Function: xmlTextReaderConstLocalName

    const xmlChar *	xmlTextReaderConstLocalName	(xmlTextReaderPtr reader)
    -

    The local name of the node.

    -
    reader:the xmlTextReaderPtr used
    Returns:the local name or NULL if not available, the string will be deallocated with the reader.

    Function: xmlTextReaderConstName

    const xmlChar *	xmlTextReaderConstName	(xmlTextReaderPtr reader)
    -

    The qualified name of the node, equal to Prefix :LocalName.

    -
    reader:the xmlTextReaderPtr used
    Returns:the local name or NULL if not available, the string is deallocated with the reader.

    Function: xmlTextReaderConstNamespaceUri

    const xmlChar *	xmlTextReaderConstNamespaceUri	(xmlTextReaderPtr reader)
    -

    The URI defining the namespace associated with the node.

    -
    reader:the xmlTextReaderPtr used
    Returns:the namespace URI or NULL if not available, the string will be deallocated with the reader

    Function: xmlTextReaderConstPrefix

    const xmlChar *	xmlTextReaderConstPrefix	(xmlTextReaderPtr reader)
    -

    A shorthand reference to the namespace associated with the node.

    -
    reader:the xmlTextReaderPtr used
    Returns:the prefix or NULL if not available, the string is deallocated with the reader.

    Function: xmlTextReaderConstString

    const xmlChar *	xmlTextReaderConstString	(xmlTextReaderPtr reader, 
    const xmlChar * str)
    -

    Get an interned string from the reader, allows for example to speedup string name comparisons

    -
    reader:the xmlTextReaderPtr used
    str:the string to intern.
    Returns:an interned copy of the string or NULL in case of error. The string will be deallocated with the reader.

    Function: xmlTextReaderConstValue

    const xmlChar *	xmlTextReaderConstValue	(xmlTextReaderPtr reader)
    -

    Provides the text value of the node if present

    -
    reader:the xmlTextReaderPtr used
    Returns:the string or NULL if not available. The result will be deallocated on the next Read() operation.

    Function: xmlTextReaderConstXmlLang

    const xmlChar *	xmlTextReaderConstXmlLang	(xmlTextReaderPtr reader)
    -

    The xml:lang scope within which the node resides.

    -
    reader:the xmlTextReaderPtr used
    Returns:the xml:lang value or NULL if none exists.

    Function: xmlTextReaderConstXmlVersion

    const xmlChar *	xmlTextReaderConstXmlVersion	(xmlTextReaderPtr reader)
    -

    Determine the XML version of the document being read.

    -
    reader:the xmlTextReaderPtr used
    Returns:a string containing the XML version of the document or NULL in case of error. The string is deallocated with the reader.

    Function: xmlTextReaderCurrentDoc

    xmlDocPtr	xmlTextReaderCurrentDoc	(xmlTextReaderPtr reader)
    -

    Hacking interface allowing to get the xmlDocPtr correponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished.

    -
    reader:the xmlTextReaderPtr used
    Returns:the xmlDocPtr or NULL in case of error.

    Function: xmlTextReaderCurrentNode

    xmlNodePtr	xmlTextReaderCurrentNode	(xmlTextReaderPtr reader)
    -

    Hacking interface allowing to get the xmlNodePtr correponding to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.

    -
    reader:the xmlTextReaderPtr used
    Returns:the xmlNodePtr or NULL in case of error.

    Function: xmlTextReaderDepth

    int	xmlTextReaderDepth		(xmlTextReaderPtr reader)
    -

    The depth of the node in the tree.

    -
    reader:the xmlTextReaderPtr used
    Returns:the depth or -1 in case of error

    Function type: xmlTextReaderErrorFunc

    Function type: xmlTextReaderErrorFunc
    -void	xmlTextReaderErrorFunc		(void * arg, 
    const char * msg,
    xmlParserSeverities severity,
    xmlTextReaderLocatorPtr locator) -

    Signature of an error callback from a reader parser

    arg:the user argument
    msg:the message
    severity:the severity of the error
    locator:a locator indicating where the error occured

    -

    Function: xmlTextReaderExpand

    xmlNodePtr	xmlTextReaderExpand	(xmlTextReaderPtr reader)
    -

    Reads the contents of the current node and the full subtree. It then makes the subtree available until the next xmlTextReaderRead() call

    -
    reader:the xmlTextReaderPtr used
    Returns:a node pointer valid until the next xmlTextReaderRead() call or NULL in case of error.

    Function: xmlTextReaderGetAttribute

    xmlChar *	xmlTextReaderGetAttribute	(xmlTextReaderPtr reader, 
    const xmlChar * name)
    -

    Provides the value of the attribute with the specified qualified name.

    -
    reader:the xmlTextReaderPtr used
    name:the qualified name of the attribute.
    Returns:a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.

    Function: xmlTextReaderGetAttributeNo

    xmlChar *	xmlTextReaderGetAttributeNo	(xmlTextReaderPtr reader, 
    int no)
    -

    Provides the value of the attribute with the specified index relative to the containing element.

    -
    reader:the xmlTextReaderPtr used
    no:the zero-based index of the attribute relative to the containing element
    Returns:a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.

    Function: xmlTextReaderGetAttributeNs

    xmlChar *	xmlTextReaderGetAttributeNs	(xmlTextReaderPtr reader, 
    const xmlChar * localName,
    const xmlChar * namespaceURI)
    -

    Provides the value of the specified attribute

    -
    reader:the xmlTextReaderPtr used
    localName:the local name of the attribute.
    namespaceURI:the namespace URI of the attribute.
    Returns:a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.

    Function: xmlTextReaderGetErrorHandler

    void	xmlTextReaderGetErrorHandler	(xmlTextReaderPtr reader, 
    xmlTextReaderErrorFunc * f,
    void ** arg)
    -

    Retrieve the error callback function and user argument.

    -
    reader:the xmlTextReaderPtr used
    f:the callback function or NULL is no callback has been registered
    arg:a user argument

    Function: xmlTextReaderGetParserColumnNumber

    int	xmlTextReaderGetParserColumnNumber	(xmlTextReaderPtr reader)
    -

    Provide the column number of the current parsing point.

    -
    reader:the user data (XML reader context)
    Returns:an int or 0 if not available

    Function: xmlTextReaderGetParserLineNumber

    int	xmlTextReaderGetParserLineNumber	(xmlTextReaderPtr reader)
    -

    Provide the line number of the current parsing point.

    -
    reader:the user data (XML reader context)
    Returns:an int or 0 if not available

    Function: xmlTextReaderGetParserProp

    int	xmlTextReaderGetParserProp	(xmlTextReaderPtr reader, 
    int prop)
    -

    Read the parser internal property.

    -
    reader:the xmlTextReaderPtr used
    prop:the xmlParserProperties to get
    Returns:the value, usually 0 or 1, or -1 in case of error.

    Function: xmlTextReaderGetRemainder

    xmlParserInputBufferPtr	xmlTextReaderGetRemainder	(xmlTextReaderPtr reader)
    -

    Method to get the remainder of the buffered XML. this method stops the parser, set its state to End Of File and return the input stream with what is left that the parser did not use. The implementation is not good, the parser certainly procgressed past what's left in reader->input, and there is an allocation problem. Best would be to rewrite it differently.

    -
    reader:the xmlTextReaderPtr used
    Returns:the xmlParserInputBufferPtr attached to the XML or NULL in case of error.

    Function: xmlTextReaderHasAttributes

    int	xmlTextReaderHasAttributes	(xmlTextReaderPtr reader)
    -

    Whether the node has attributes.

    -
    reader:the xmlTextReaderPtr used
    Returns:1 if true, 0 if false, and -1 in case or error

    Function: xmlTextReaderHasValue

    int	xmlTextReaderHasValue		(xmlTextReaderPtr reader)
    -

    Whether the node can have a text value.

    -
    reader:the xmlTextReaderPtr used
    Returns:1 if true, 0 if false, and -1 in case or error

    Function: xmlTextReaderIsDefault

    int	xmlTextReaderIsDefault		(xmlTextReaderPtr reader)
    -

    Whether an Attribute node was generated from the default value defined in the DTD or schema.

    -
    reader:the xmlTextReaderPtr used
    Returns:0 if not defaulted, 1 if defaulted, and -1 in case of error

    Function: xmlTextReaderIsEmptyElement

    int	xmlTextReaderIsEmptyElement	(xmlTextReaderPtr reader)
    -

    Check if the current node is empty

    -
    reader:the xmlTextReaderPtr used
    Returns:1 if empty, 0 if not and -1 in case of error

    Function: xmlTextReaderIsNamespaceDecl

    int	xmlTextReaderIsNamespaceDecl	(xmlTextReaderPtr reader)
    -

    Determine whether the current node is a namespace declaration rather than a regular attribute.

    -
    reader:the xmlTextReaderPtr used
    Returns:1 if the current node is a namespace declaration, 0 if it is a regular attribute or other type of node, or -1 in case of error.

    Function: xmlTextReaderIsValid

    int	xmlTextReaderIsValid		(xmlTextReaderPtr reader)
    -

    Retrieve the validity status from the parser context

    -
    reader:the xmlTextReaderPtr used
    Returns:the flag value 1 if valid, 0 if no, and -1 in case of error

    Function: xmlTextReaderLocalName

    xmlChar *	xmlTextReaderLocalName	(xmlTextReaderPtr reader)
    -

    The local name of the node.

    -
    reader:the xmlTextReaderPtr used
    Returns:the local name or NULL if not available, if non NULL it need to be freed by the caller.

    Function: xmlTextReaderLocatorBaseURI

    xmlChar *	xmlTextReaderLocatorBaseURI	(xmlTextReaderLocatorPtr locator)
    -

    Obtain the base URI for the given locator.

    -
    locator:the xmlTextReaderLocatorPtr used
    Returns:the base URI or NULL in case of error, if non NULL it need to be freed by the caller.

    Function: xmlTextReaderLocatorLineNumber

    int	xmlTextReaderLocatorLineNumber	(xmlTextReaderLocatorPtr locator)
    -

    Obtain the line number for the given locator.

    -
    locator:the xmlTextReaderLocatorPtr used
    Returns:the line number or -1 in case of error.

    Function: xmlTextReaderLookupNamespace

    xmlChar *	xmlTextReaderLookupNamespace	(xmlTextReaderPtr reader, 
    const xmlChar * prefix)
    -

    Resolves a namespace prefix in the scope of the current element.

    -
    reader:the xmlTextReaderPtr used
    prefix:the prefix whose namespace URI is to be resolved. To return the default namespace, specify NULL
    Returns:a string containing the namespace URI to which the prefix maps or NULL in case of error. The string must be deallocated by the caller.

    Function: xmlTextReaderMoveToAttribute

    int	xmlTextReaderMoveToAttribute	(xmlTextReaderPtr reader, 
    const xmlChar * name)
    -

    Moves the position of the current instance to the attribute with the specified qualified name.

    -
    reader:the xmlTextReaderPtr used
    name:the qualified name of the attribute.
    Returns:1 in case of success, -1 in case of error, 0 if not found

    Function: xmlTextReaderMoveToAttributeNo

    int	xmlTextReaderMoveToAttributeNo	(xmlTextReaderPtr reader, 
    int no)
    -

    Moves the position of the current instance to the attribute with the specified index relative to the containing element.

    -
    reader:the xmlTextReaderPtr used
    no:the zero-based index of the attribute relative to the containing element.
    Returns:1 in case of success, -1 in case of error, 0 if not found

    Function: xmlTextReaderMoveToAttributeNs

    int	xmlTextReaderMoveToAttributeNs	(xmlTextReaderPtr reader, 
    const xmlChar * localName,
    const xmlChar * namespaceURI)
    -

    Moves the position of the current instance to the attribute with the specified local name and namespace URI.

    -
    reader:the xmlTextReaderPtr used
    localName:the local name of the attribute.
    namespaceURI:the namespace URI of the attribute.
    Returns:1 in case of success, -1 in case of error, 0 if not found

    Function: xmlTextReaderMoveToElement

    int	xmlTextReaderMoveToElement	(xmlTextReaderPtr reader)
    -

    Moves the position of the current instance to the node that contains the current Attribute node.

    -
    reader:the xmlTextReaderPtr used
    Returns:1 in case of success, -1 in case of error, 0 if not moved

    Function: xmlTextReaderMoveToFirstAttribute

    int	xmlTextReaderMoveToFirstAttribute	(xmlTextReaderPtr reader)
    -

    Moves the position of the current instance to the first attribute associated with the current node.

    -
    reader:the xmlTextReaderPtr used
    Returns:1 in case of success, -1 in case of error, 0 if not found

    Function: xmlTextReaderMoveToNextAttribute

    int	xmlTextReaderMoveToNextAttribute	(xmlTextReaderPtr reader)
    -

    Moves the position of the current instance to the next attribute associated with the current node.

    -
    reader:the xmlTextReaderPtr used
    Returns:1 in case of success, -1 in case of error, 0 if not found

    Function: xmlTextReaderName

    xmlChar *	xmlTextReaderName	(xmlTextReaderPtr reader)
    -

    The qualified name of the node, equal to Prefix :LocalName.

    -
    reader:the xmlTextReaderPtr used
    Returns:the local name or NULL if not available, if non NULL it need to be freed by the caller.

    Function: xmlTextReaderNamespaceUri

    xmlChar *	xmlTextReaderNamespaceUri	(xmlTextReaderPtr reader)
    -

    The URI defining the namespace associated with the node.

    -
    reader:the xmlTextReaderPtr used
    Returns:the namespace URI or NULL if not available, if non NULL it need to be freed by the caller.

    Function: xmlTextReaderNext

    int	xmlTextReaderNext		(xmlTextReaderPtr reader)
    -

    Skip to the node following the current one in document order while avoiding the subtree if any.

    -
    reader:the xmlTextReaderPtr used
    Returns:1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error

    Function: xmlTextReaderNextSibling

    int	xmlTextReaderNextSibling	(xmlTextReaderPtr reader)
    -

    Skip to the node following the current one in document order while avoiding the subtree if any. Currently implemented only for Readers built on a document

    -
    reader:the xmlTextReaderPtr used
    Returns:1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error

    Function: xmlTextReaderNodeType

    int	xmlTextReaderNodeType		(xmlTextReaderPtr reader)
    -

    Get the node type of the current node Reference: http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/XmlNodeType.html

    -
    reader:the xmlTextReaderPtr used
    Returns:the xmlNodeType of the current node or -1 in case of error

    Function: xmlTextReaderNormalization

    int	xmlTextReaderNormalization	(xmlTextReaderPtr reader)
    -

    The value indicating whether to normalize white space and attribute values. Since attribute value and end of line normalizations are a MUST in the XML specification only the value true is accepted. The broken bahaviour of accepting out of range character entities like &#0; is of course not supported either.

    -
    reader:the xmlTextReaderPtr used
    Returns:1 or -1 in case of error.

    Function: xmlTextReaderPrefix

    xmlChar *	xmlTextReaderPrefix	(xmlTextReaderPtr reader)
    -

    A shorthand reference to the namespace associated with the node.

    -
    reader:the xmlTextReaderPtr used
    Returns:the prefix or NULL if not available, if non NULL it need to be freed by the caller.

    Function: xmlTextReaderPreserve

    xmlNodePtr	xmlTextReaderPreserve	(xmlTextReaderPtr reader)
    -

    This tells the XML Reader to preserve the current node. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished

    -
    reader:the xmlTextReaderPtr used
    Returns:the xmlNodePtr or NULL in case of error.

    Function: xmlTextReaderPreservePattern

    int	xmlTextReaderPreservePattern	(xmlTextReaderPtr reader, 
    const xmlChar * pattern,
    const xmlChar ** namespaces)
    -

    This tells the XML Reader to preserve all nodes matched by the pattern. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished

    -
    reader:the xmlTextReaderPtr used
    pattern:an XPath subset pattern
    namespaces:the prefix definitions, array of [URI, prefix] or NULL
    Returns:a positive number in case of success and -1 in case of error

    Function: xmlTextReaderQuoteChar

    int	xmlTextReaderQuoteChar		(xmlTextReaderPtr reader)
    -

    The quotation mark character used to enclose the value of an attribute.

    -
    reader:the xmlTextReaderPtr used
    Returns:" or ' and -1 in case of error

    Function: xmlTextReaderRead

    int	xmlTextReaderRead		(xmlTextReaderPtr reader)
    -

    Moves the position of the current instance to the next node in the stream, exposing its properties.

    -
    reader:the xmlTextReaderPtr used
    Returns:1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error

    Function: xmlTextReaderReadAttributeValue

    int	xmlTextReaderReadAttributeValue	(xmlTextReaderPtr reader)
    -

    Parses an attribute value into one or more Text and EntityReference nodes.

    -
    reader:the xmlTextReaderPtr used
    Returns:1 in case of success, 0 if the reader was not positionned on an ttribute node or all the attribute values have been read, or -1 in case of error.

    Function: xmlTextReaderReadInnerXml

    xmlChar *	xmlTextReaderReadInnerXml	(xmlTextReaderPtr reader)
    -

    Reads the contents of the current node, including child nodes and markup.

    -
    reader:the xmlTextReaderPtr used
    Returns:a string containing the XML content, or NULL if the current node is neither an element nor attribute, or has no child nodes. The string must be deallocated by the caller.

    Function: xmlTextReaderReadOuterXml

    xmlChar *	xmlTextReaderReadOuterXml	(xmlTextReaderPtr reader)
    -

    Reads the contents of the current node, including child nodes and markup.

    -
    reader:the xmlTextReaderPtr used
    Returns:a string containing the node and any XML content, or NULL if the current node cannot be serialized. The string must be deallocated by the caller.

    Function: xmlTextReaderReadState

    int	xmlTextReaderReadState		(xmlTextReaderPtr reader)
    -

    Gets the read state of the reader.

    -
    reader:the xmlTextReaderPtr used
    Returns:the state value, or -1 in case of error

    Function: xmlTextReaderReadString

    xmlChar *	xmlTextReaderReadString	(xmlTextReaderPtr reader)
    -

    Reads the contents of an element or a text node as a string.

    -
    reader:the xmlTextReaderPtr used
    Returns:a string containing the contents of the Element or Text node, or NULL if the reader is positioned on any other type of node. The string must be deallocated by the caller.

    Function: xmlTextReaderRelaxNGSetSchema

    int	xmlTextReaderRelaxNGSetSchema	(xmlTextReaderPtr reader, 
    xmlRelaxNGPtr schema)
    -

    Use RelaxNG to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then RelaxNG validation is desactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.

    -
    reader:the xmlTextReaderPtr used
    schema:a precompiled RelaxNG schema
    Returns:0 in case the RelaxNG validation could be (des)activated and -1 in case of error.

    Function: xmlTextReaderRelaxNGValidate

    int	xmlTextReaderRelaxNGValidate	(xmlTextReaderPtr reader, 
    const char * rng)
    -

    Use RelaxNG schema to validate the document as it is processed. Activation is only possible before the first Read(). If @rng is NULL, then RelaxNG schema validation is deactivated.

    -
    reader:the xmlTextReaderPtr used
    rng:the path to a RelaxNG schema or NULL
    Returns:0 in case the schemas validation could be (de)activated and -1 in case of error.

    Function: xmlTextReaderRelaxNGValidateCtxt

    int	xmlTextReaderRelaxNGValidateCtxt	(xmlTextReaderPtr reader, 
    xmlRelaxNGValidCtxtPtr ctxt,
    int options)
    -

    Use RelaxNG schema context to validate the document as it is processed. Activation is only possible before the first Read(). If @ctxt is NULL, then RelaxNG schema validation is deactivated.

    -
    reader:the xmlTextReaderPtr used
    ctxt:the RelaxNG schema validation context or NULL
    options:options (not used yet)
    Returns:0 in case the schemas validation could be (de)activated and -1 in case of error.

    Function: xmlTextReaderSchemaValidate

    int	xmlTextReaderSchemaValidate	(xmlTextReaderPtr reader, 
    const char * xsd)
    -

    Use W3C XSD schema to validate the document as it is processed. Activation is only possible before the first Read(). If @xsd is NULL, then XML Schema validation is deactivated.

    -
    reader:the xmlTextReaderPtr used
    xsd:the path to a W3C XSD schema or NULL
    Returns:0 in case the schemas validation could be (de)activated and -1 in case of error.

    Function: xmlTextReaderSchemaValidateCtxt

    int	xmlTextReaderSchemaValidateCtxt	(xmlTextReaderPtr reader, 
    xmlSchemaValidCtxtPtr ctxt,
    int options)
    -

    Use W3C XSD schema context to validate the document as it is processed. Activation is only possible before the first Read(). If @ctxt is NULL, then XML Schema validation is deactivated.

    -
    reader:the xmlTextReaderPtr used
    ctxt:the XML Schema validation context or NULL
    options:options (not used yet)
    Returns:0 in case the schemas validation could be (de)activated and -1 in case of error.

    Function: xmlTextReaderSetErrorHandler

    void	xmlTextReaderSetErrorHandler	(xmlTextReaderPtr reader, 
    xmlTextReaderErrorFunc f,
    void * arg)
    -

    Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.

    -
    reader:the xmlTextReaderPtr used
    f:the callback function to call on error and warnings
    arg:a user argument to pass to the callback function

    Function: xmlTextReaderSetParserProp

    int	xmlTextReaderSetParserProp	(xmlTextReaderPtr reader, 
    int prop,
    int value)
    -

    Change the parser processing behaviour by changing some of its internal properties. Note that some properties can only be changed before any read has been done.

    -
    reader:the xmlTextReaderPtr used
    prop:the xmlParserProperties to set
    value:usually 0 or 1 to (de)activate it
    Returns:0 if the call was successful, or -1 in case of error

    Function: xmlTextReaderSetSchema

    int	xmlTextReaderSetSchema		(xmlTextReaderPtr reader, 
    xmlSchemaPtr schema)
    -

    Use XSD Schema to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then Schema validation is desactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.

    -
    reader:the xmlTextReaderPtr used
    schema:a precompiled Schema schema
    Returns:0 in case the Schema validation could be (des)activated and -1 in case of error.

    Function: xmlTextReaderSetStructuredErrorHandler

    void	xmlTextReaderSetStructuredErrorHandler	(xmlTextReaderPtr reader, 
    xmlStructuredErrorFunc f,
    void * arg)
    -

    Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.

    -
    reader:the xmlTextReaderPtr used
    f:the callback function to call on error and warnings
    arg:a user argument to pass to the callback function

    Function: xmlTextReaderSetup

    int	xmlTextReaderSetup		(xmlTextReaderPtr reader, 
    xmlParserInputBufferPtr input,
    const char * URL,
    const char * encoding,
    int options)
    -

    Setup an XML reader with new options

    -
    reader:an XML reader
    input:xmlParserInputBufferPtr used to feed the reader, will be destroyed with it.
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:0 in case of success and -1 in case of error.

    Function: xmlTextReaderStandalone

    int	xmlTextReaderStandalone		(xmlTextReaderPtr reader)
    -

    Determine the standalone status of the document being read.

    -
    reader:the xmlTextReaderPtr used
    Returns:1 if the document was declared to be standalone, 0 if it was declared to be not standalone, or -1 if the document did not specify its standalone status or in case of error.

    Function: xmlTextReaderValue

    xmlChar *	xmlTextReaderValue	(xmlTextReaderPtr reader)
    -

    Provides the text value of the node if present

    -
    reader:the xmlTextReaderPtr used
    Returns:the string or NULL if not available. The result must be deallocated with xmlFree()

    Function: xmlTextReaderXmlLang

    xmlChar *	xmlTextReaderXmlLang	(xmlTextReaderPtr reader)
    -

    The xml:lang scope within which the node resides.

    -
    reader:the xmlTextReaderPtr used
    Returns:the xml:lang value or NULL if none exists., if non NULL it need to be freed by the caller.

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlregexp.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlregexp.html deleted file mode 100644 index f69cdab..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlregexp.html +++ /dev/null @@ -1,143 +0,0 @@ - - -Module xmlregexp from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlregexp from libxml2

    API Menu
    API Indexes
    Related links

    basic API for libxml regular expressions handling used for XML Schemas and validation.

    Table of Contents

    Structure xmlExpCtxt
    struct _xmlExpCtxt -The content of this structure is not made public by the API. -
    Typedef xmlExpCtxt * xmlExpCtxtPtr
    -
    Structure xmlExpNode
    struct _xmlExpNode -The content of this structure is not made public by the API. -
    Typedef xmlExpNode * xmlExpNodePtr
    -
    Enum xmlExpNodeType
    -
    Structure xmlRegExecCtxt
    struct _xmlRegExecCtxt -The content of this structure is not made public by the API. -
    Typedef xmlRegExecCtxt * xmlRegExecCtxtPtr
    -
    Structure xmlRegexp
    struct _xmlRegexp -The content of this structure is not made public by the API. -
    Typedef xmlRegexp * xmlRegexpPtr
    -
    int	xmlExpCtxtNbCons		(xmlExpCtxtPtr ctxt)
    -
    int	xmlExpCtxtNbNodes		(xmlExpCtxtPtr ctxt)
    -
    void	xmlExpDump			(xmlBufferPtr buf, 
    xmlExpNodePtr expr)
    -
    xmlExpNodePtr	xmlExpExpDerive		(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr exp,
    xmlExpNodePtr sub)
    -
    void	xmlExpFree			(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr exp)
    -
    void	xmlExpFreeCtxt			(xmlExpCtxtPtr ctxt)
    -
    int	xmlExpGetLanguage		(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr exp,
    const xmlChar ** langList,
    int len)
    -
    int	xmlExpGetStart			(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr exp,
    const xmlChar ** tokList,
    int len)
    -
    int	xmlExpIsNillable		(xmlExpNodePtr exp)
    -
    int	xmlExpMaxToken			(xmlExpNodePtr expr)
    -
    xmlExpNodePtr	xmlExpNewAtom		(xmlExpCtxtPtr ctxt, 
    const xmlChar * name,
    int len)
    -
    xmlExpCtxtPtr	xmlExpNewCtxt		(int maxNodes, 
    xmlDictPtr dict)
    -
    xmlExpNodePtr	xmlExpNewOr		(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr left,
    xmlExpNodePtr right)
    -
    xmlExpNodePtr	xmlExpNewRange		(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr subset,
    int min,
    int max)
    -
    xmlExpNodePtr	xmlExpNewSeq		(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr left,
    xmlExpNodePtr right)
    -
    xmlExpNodePtr	xmlExpParse		(xmlExpCtxtPtr ctxt, 
    const char * expr)
    -
    void	xmlExpRef			(xmlExpNodePtr exp)
    -
    xmlExpNodePtr	xmlExpStringDerive	(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr exp,
    const xmlChar * str,
    int len)
    -
    int	xmlExpSubsume			(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr exp,
    xmlExpNodePtr sub)
    -
    Function type: xmlRegExecCallbacks
    -void	xmlRegExecCallbacks		(xmlRegExecCtxtPtr exec, 
    const xmlChar * token,
    void * transdata,
    void * inputdata) -
    -
    int	xmlRegExecErrInfo		(xmlRegExecCtxtPtr exec, 
    const xmlChar ** string,
    int * nbval,
    int * nbneg,
    xmlChar ** values,
    int * terminal)
    -
    int	xmlRegExecNextValues		(xmlRegExecCtxtPtr exec, 
    int * nbval,
    int * nbneg,
    xmlChar ** values,
    int * terminal)
    -
    int	xmlRegExecPushString		(xmlRegExecCtxtPtr exec, 
    const xmlChar * value,
    void * data)
    -
    int	xmlRegExecPushString2		(xmlRegExecCtxtPtr exec, 
    const xmlChar * value,
    const xmlChar * value2,
    void * data)
    -
    void	xmlRegFreeExecCtxt		(xmlRegExecCtxtPtr exec)
    -
    void	xmlRegFreeRegexp		(xmlRegexpPtr regexp)
    -
    xmlRegExecCtxtPtr	xmlRegNewExecCtxt	(xmlRegexpPtr comp, 
    xmlRegExecCallbacks callback,
    void * data)
    -
    xmlRegexpPtr	xmlRegexpCompile	(const xmlChar * regexp)
    -
    int	xmlRegexpExec			(xmlRegexpPtr comp, 
    const xmlChar * content)
    -
    int	xmlRegexpIsDeterminist		(xmlRegexpPtr comp)
    -
    void	xmlRegexpPrint			(FILE * output, 
    xmlRegexpPtr regexp)
    -

    Description

    -

    Structure xmlExpCtxt

    Structure xmlExpCtxt
    struct _xmlExpCtxt { -The content of this structure is not made public by the API. -}

    Structure xmlExpNode

    Structure xmlExpNode
    struct _xmlExpNode { -The content of this structure is not made public by the API. -}

    Enum xmlExpNodeType

    Enum xmlExpNodeType {
    -    XML_EXP_EMPTY = 0
    -    XML_EXP_FORBID = 1
    -    XML_EXP_ATOM = 2
    -    XML_EXP_SEQ = 3
    -    XML_EXP_OR = 4
    -    XML_EXP_COUNT = 5
    -}
    -

    Structure xmlRegExecCtxt

    Structure xmlRegExecCtxt
    struct _xmlRegExecCtxt { -The content of this structure is not made public by the API. -}
    - A libxml progressive regular expression evaluation context -

    Structure xmlRegexp

    Structure xmlRegexp
    struct _xmlRegexp { -The content of this structure is not made public by the API. -}
    - A libxml regular expression, they can actually be far more complex thank the POSIX regex expressions. -

    Function: xmlExpCtxtNbCons

    int	xmlExpCtxtNbCons		(xmlExpCtxtPtr ctxt)
    -

    Debugging facility provides the number of allocated nodes over lifetime

    -
    ctxt:an expression context
    Returns:the number of nodes ever allocated or -1 in case of error

    Function: xmlExpCtxtNbNodes

    int	xmlExpCtxtNbNodes		(xmlExpCtxtPtr ctxt)
    -

    Debugging facility provides the number of allocated nodes at a that point

    -
    ctxt:an expression context
    Returns:the number of nodes in use or -1 in case of error

    Function: xmlExpDump

    void	xmlExpDump			(xmlBufferPtr buf, 
    xmlExpNodePtr expr)
    -

    Serialize the expression as compiled to the buffer

    -
    buf:a buffer to receive the output
    expr:the compiled expression

    Function: xmlExpExpDerive

    xmlExpNodePtr	xmlExpExpDerive		(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr exp,
    xmlExpNodePtr sub)
    -

    Evaluates the expression resulting from @exp consuming a sub expression @sub Based on algebraic derivation and sometimes direct Brzozowski derivation it usually tatkes less than linear time and can handle expressions generating infinite languages.

    -
    ctxt:the expressions context
    exp:the englobing expression
    sub:the subexpression
    Returns:the resulting expression or NULL in case of internal error, the result must be freed

    Function: xmlExpFree

    void	xmlExpFree			(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr exp)
    -

    Dereference the expression

    -
    ctxt:the expression context
    exp:the expression

    Function: xmlExpFreeCtxt

    void	xmlExpFreeCtxt			(xmlExpCtxtPtr ctxt)
    -

    Free an expression context

    -
    ctxt:an expression context

    Function: xmlExpGetLanguage

    int	xmlExpGetLanguage		(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr exp,
    const xmlChar ** langList,
    int len)
    -

    Find all the strings used in @exp and store them in @list

    -
    ctxt:the expression context
    exp:the expression
    langList:where to store the tokens
    len:the allocated lenght of @list
    Returns:the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings

    Function: xmlExpGetStart

    int	xmlExpGetStart			(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr exp,
    const xmlChar ** tokList,
    int len)
    -

    Find all the strings that appears at the start of the languages accepted by @exp and store them in @list. E.g. for (a, b) | c it will return the list [a, c]

    -
    ctxt:the expression context
    exp:the expression
    tokList:where to store the tokens
    len:the allocated lenght of @list
    Returns:the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings

    Function: xmlExpIsNillable

    int	xmlExpIsNillable		(xmlExpNodePtr exp)
    -

    Finds if the expression is nillable, i.e. if it accepts the empty sequqnce

    -
    exp:the expression
    Returns:1 if nillable, 0 if not and -1 in case of error

    Function: xmlExpMaxToken

    int	xmlExpMaxToken			(xmlExpNodePtr expr)
    -

    Indicate the maximum number of input a expression can accept

    -
    expr:a compiled expression
    Returns:the maximum length or -1 in case of error

    Function: xmlExpNewAtom

    xmlExpNodePtr	xmlExpNewAtom		(xmlExpCtxtPtr ctxt, 
    const xmlChar * name,
    int len)
    -

    Get the atom associated to this name from that context

    -
    ctxt:the expression context
    name:the atom name
    len:the atom name lenght in byte (or -1);
    Returns:the node or NULL in case of error

    Function: xmlExpNewCtxt

    xmlExpCtxtPtr	xmlExpNewCtxt		(int maxNodes, 
    xmlDictPtr dict)
    -

    Creates a new context for manipulating expressions

    -
    maxNodes:the maximum number of nodes
    dict:optional dictionnary to use internally
    Returns:the context or NULL in case of error

    Function: xmlExpNewOr

    xmlExpNodePtr	xmlExpNewOr		(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr left,
    xmlExpNodePtr right)
    -

    Get the atom associated to the choice @left | @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).

    -
    ctxt:the expression context
    left:left expression
    right:right expression
    Returns:the node or NULL in case of error

    Function: xmlExpNewRange

    xmlExpNodePtr	xmlExpNewRange		(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr subset,
    int min,
    int max)
    -

    Get the atom associated to the range (@subset){@min, @max} Note that @subset is consumed in the operation, to keep an handle on it use xmlExpRef() and use xmlExpFree() to release it, this is true even in case of failure (unless ctxt == NULL).

    -
    ctxt:the expression context
    subset:the expression to be repeated
    min:the lower bound for the repetition
    max:the upper bound for the repetition, -1 means infinite
    Returns:the node or NULL in case of error

    Function: xmlExpNewSeq

    xmlExpNodePtr	xmlExpNewSeq		(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr left,
    xmlExpNodePtr right)
    -

    Get the atom associated to the sequence @left , @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).

    -
    ctxt:the expression context
    left:left expression
    right:right expression
    Returns:the node or NULL in case of error

    Function: xmlExpParse

    xmlExpNodePtr	xmlExpParse		(xmlExpCtxtPtr ctxt, 
    const char * expr)
    -

    Minimal parser for regexps, it understand the following constructs - string terminals - choice operator | - sequence operator , - subexpressions (...) - usual cardinality operators + * and ? - finite sequences { min, max } - infinite sequences { min, * } There is minimal checkings made especially no checking on strings values

    -
    ctxt:the expressions context
    expr:the 0 terminated string
    Returns:a new expression or NULL in case of failure

    Function: xmlExpRef

    void	xmlExpRef			(xmlExpNodePtr exp)
    -

    Increase the reference count of the expression

    -
    exp:the expression

    Function: xmlExpStringDerive

    xmlExpNodePtr	xmlExpStringDerive	(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr exp,
    const xmlChar * str,
    int len)
    -

    Do one step of Brzozowski derivation of the expression @exp with respect to the input string

    -
    ctxt:the expression context
    exp:the expression
    str:the string
    len:the string len in bytes if available
    Returns:the resulting expression or NULL in case of internal error

    Function: xmlExpSubsume

    int	xmlExpSubsume			(xmlExpCtxtPtr ctxt, 
    xmlExpNodePtr exp,
    xmlExpNodePtr sub)
    -

    Check whether @exp accepts all the languages accexpted by @sub the input being a subexpression.

    -
    ctxt:the expressions context
    exp:the englobing expression
    sub:the subexpression
    Returns:1 if true 0 if false and -1 in case of failure.

    Function type: xmlRegExecCallbacks

    Function type: xmlRegExecCallbacks
    -void	xmlRegExecCallbacks		(xmlRegExecCtxtPtr exec, 
    const xmlChar * token,
    void * transdata,
    void * inputdata) -

    Callback function when doing a transition in the automata

    exec:the regular expression context
    token:the current token string
    transdata:transition data
    inputdata:input data

    -

    Function: xmlRegExecErrInfo

    int	xmlRegExecErrInfo		(xmlRegExecCtxtPtr exec, 
    const xmlChar ** string,
    int * nbval,
    int * nbneg,
    xmlChar ** values,
    int * terminal)
    -

    Extract error informations from the regexp execution, the parameter @string will be updated with the value pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values

    -
    exec:a regexp execution context generating an error
    string:return value for the error string
    nbval:pointer to the number of accepted values IN/OUT
    nbneg:return number of negative transitions
    values:pointer to the array of acceptable values
    terminal:return value if this was a terminal state
    Returns:will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of error.

    Function: xmlRegExecNextValues

    int	xmlRegExecNextValues		(xmlRegExecCtxtPtr exec, 
    int * nbval,
    int * nbneg,
    xmlChar ** values,
    int * terminal)
    -

    Extract informations from the regexp execution, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values

    -
    exec:a regexp execution context
    nbval:pointer to the number of accepted values IN/OUT
    nbneg:return number of negative transitions
    values:pointer to the array of acceptable values
    terminal:return value if this was a terminal state
    Returns:will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of error.

    Function: xmlRegExecPushString

    int	xmlRegExecPushString		(xmlRegExecCtxtPtr exec, 
    const xmlChar * value,
    void * data)
    -

    Push one input token in the execution context

    -
    exec:a regexp execution context or NULL to indicate the end
    value:a string token input
    data:data associated to the token to reuse in callbacks
    Returns:1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.

    Function: xmlRegExecPushString2

    int	xmlRegExecPushString2		(xmlRegExecCtxtPtr exec, 
    const xmlChar * value,
    const xmlChar * value2,
    void * data)
    -

    Push one input token in the execution context

    -
    exec:a regexp execution context or NULL to indicate the end
    value:the first string token input
    value2:the second string token input
    data:data associated to the token to reuse in callbacks
    Returns:1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.

    Function: xmlRegFreeExecCtxt

    void	xmlRegFreeExecCtxt		(xmlRegExecCtxtPtr exec)
    -

    Free the structures associated to a regular expression evaulation context.

    -
    exec:a regular expression evaulation context

    Function: xmlRegFreeRegexp

    void	xmlRegFreeRegexp		(xmlRegexpPtr regexp)
    -

    Free a regexp

    -
    regexp:the regexp

    Function: xmlRegNewExecCtxt

    xmlRegExecCtxtPtr	xmlRegNewExecCtxt	(xmlRegexpPtr comp, 
    xmlRegExecCallbacks callback,
    void * data)
    -

    Build a context used for progressive evaluation of a regexp.

    -
    comp:a precompiled regular expression
    callback:a callback function used for handling progresses in the automata matching phase
    data:the context data associated to the callback in this context
    Returns:the new context

    Function: xmlRegexpCompile

    xmlRegexpPtr	xmlRegexpCompile	(const xmlChar * regexp)
    -

    Parses a regular expression conforming to XML Schemas Part 2 Datatype Appendix F and builds an automata suitable for testing strings against that regular expression

    -
    regexp:a regular expression string
    Returns:the compiled expression or NULL in case of error

    Function: xmlRegexpExec

    int	xmlRegexpExec			(xmlRegexpPtr comp, 
    const xmlChar * content)
    -

    Check if the regular expression generates the value

    -
    comp:the compiled regular expression
    content:the value to check against the regular expression
    Returns:1 if it matches, 0 if not and a negative value in case of error

    Function: xmlRegexpIsDeterminist

    int	xmlRegexpIsDeterminist		(xmlRegexpPtr comp)
    -

    Check if the regular expression is determinist

    -
    comp:the compiled regular expression
    Returns:1 if it yes, 0 if not and a negative value in case of error

    Function: xmlRegexpPrint

    void	xmlRegexpPrint			(FILE * output, 
    xmlRegexpPtr regexp)
    -

    Print the content of the compiled regular expression

    -
    output:the file for the output debug
    regexp:the compiled regexp

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlsave.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlsave.html deleted file mode 100644 index a27e6dc..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlsave.html +++ /dev/null @@ -1,60 +0,0 @@ - - -Module xmlsave from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlsave from libxml2

    API Menu
    API Indexes
    Related links

    API to save document or subtree of document

    Table of Contents

    Structure xmlSaveCtxt
    struct _xmlSaveCtxt -The content of this structure is not made public by the API. -
    Typedef xmlSaveCtxt * xmlSaveCtxtPtr
    -
    Enum xmlSaveOption
    -
    int	xmlSaveClose			(xmlSaveCtxtPtr ctxt)
    -
    long	xmlSaveDoc			(xmlSaveCtxtPtr ctxt, 
    xmlDocPtr doc)
    -
    int	xmlSaveFlush			(xmlSaveCtxtPtr ctxt)
    -
    int	xmlSaveSetAttrEscape		(xmlSaveCtxtPtr ctxt, 
    xmlCharEncodingOutputFunc escape)
    -
    int	xmlSaveSetEscape		(xmlSaveCtxtPtr ctxt, 
    xmlCharEncodingOutputFunc escape)
    -
    xmlSaveCtxtPtr	xmlSaveToBuffer		(xmlBufferPtr buffer, 
    const char * encoding,
    int options)
    -
    xmlSaveCtxtPtr	xmlSaveToFd		(int fd, 
    const char * encoding,
    int options)
    -
    xmlSaveCtxtPtr	xmlSaveToFilename	(const char * filename, 
    const char * encoding,
    int options)
    -
    xmlSaveCtxtPtr	xmlSaveToIO		(xmlOutputWriteCallback iowrite, 
    xmlOutputCloseCallback ioclose,
    void * ioctx,
    const char * encoding,
    int options)
    -
    long	xmlSaveTree			(xmlSaveCtxtPtr ctxt, 
    xmlNodePtr node)
    -

    Description

    -

    Structure xmlSaveCtxt

    Structure xmlSaveCtxt
    struct _xmlSaveCtxt { -The content of this structure is not made public by the API. -}

    Enum xmlSaveOption

    Enum xmlSaveOption {
    -    XML_SAVE_FORMAT = 1 : format save output
    -    XML_SAVE_NO_DECL = 2 : drop the xml declaration
    -    XML_SAVE_NO_EMPTY = 4 : no empty tags
    -    XML_SAVE_NO_XHTML = 8 : disable XHTML1 specific rules
    -    XML_SAVE_XHTML = 16 : force XHTML1 specific rules
    -    XML_SAVE_AS_XML = 32 : force XML serialization on HTML doc
    -    XML_SAVE_AS_HTML = 64 : force HTML serialization on XML doc
    -    XML_SAVE_WSNONSIG = 128 : format with non-significant whitespace
    -}
    -

    Function: xmlSaveClose

    int	xmlSaveClose			(xmlSaveCtxtPtr ctxt)
    -

    Close a document saving context, i.e. make sure that all bytes have been output and free the associated data.

    -
    ctxt:a document saving context
    Returns:the number of byte written or -1 in case of error.

    Function: xmlSaveDoc

    long	xmlSaveDoc			(xmlSaveCtxtPtr ctxt, 
    xmlDocPtr doc)
    -

    Save a full document to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead

    -
    ctxt:a document saving context
    doc:a document
    Returns:the number of byte written or -1 in case of error

    Function: xmlSaveFlush

    int	xmlSaveFlush			(xmlSaveCtxtPtr ctxt)
    -

    Flush a document saving context, i.e. make sure that all bytes have been output.

    -
    ctxt:a document saving context
    Returns:the number of byte written or -1 in case of error.

    Function: xmlSaveSetAttrEscape

    int	xmlSaveSetAttrEscape		(xmlSaveCtxtPtr ctxt, 
    xmlCharEncodingOutputFunc escape)
    -

    Set a custom escaping function to be used for text in attribute content

    -
    ctxt:a document saving context
    escape:the escaping function
    Returns:0 if successful or -1 in case of error.

    Function: xmlSaveSetEscape

    int	xmlSaveSetEscape		(xmlSaveCtxtPtr ctxt, 
    xmlCharEncodingOutputFunc escape)
    -

    Set a custom escaping function to be used for text in element content

    -
    ctxt:a document saving context
    escape:the escaping function
    Returns:0 if successful or -1 in case of error.

    Function: xmlSaveToBuffer

    xmlSaveCtxtPtr	xmlSaveToBuffer		(xmlBufferPtr buffer, 
    const char * encoding,
    int options)
    -

    Create a document saving context serializing to a buffer with the encoding and the options given

    -
    buffer:a buffer
    encoding:the encoding name to use or NULL
    options:a set of xmlSaveOptions
    Returns:a new serialization context or NULL in case of error.

    Function: xmlSaveToFd

    xmlSaveCtxtPtr	xmlSaveToFd		(int fd, 
    const char * encoding,
    int options)
    -

    Create a document saving context serializing to a file descriptor with the encoding and the options given.

    -
    fd:a file descriptor number
    encoding:the encoding name to use or NULL
    options:a set of xmlSaveOptions
    Returns:a new serialization context or NULL in case of error.

    Function: xmlSaveToFilename

    xmlSaveCtxtPtr	xmlSaveToFilename	(const char * filename, 
    const char * encoding,
    int options)
    -

    Create a document saving context serializing to a filename or possibly to an URL (but this is less reliable) with the encoding and the options given.

    -
    filename:a file name or an URL
    encoding:the encoding name to use or NULL
    options:a set of xmlSaveOptions
    Returns:a new serialization context or NULL in case of error.

    Function: xmlSaveToIO

    xmlSaveCtxtPtr	xmlSaveToIO		(xmlOutputWriteCallback iowrite, 
    xmlOutputCloseCallback ioclose,
    void * ioctx,
    const char * encoding,
    int options)
    -

    Create a document saving context serializing to a file descriptor with the encoding and the options given

    -
    iowrite:an I/O write function
    ioclose:an I/O close function
    ioctx:an I/O handler
    encoding:the encoding name to use or NULL
    options:a set of xmlSaveOptions
    Returns:a new serialization context or NULL in case of error.

    Function: xmlSaveTree

    long	xmlSaveTree			(xmlSaveCtxtPtr ctxt, 
    xmlNodePtr node)
    -

    Save a subtree starting at the node parameter to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead

    -
    ctxt:a document saving context
    node:the top node of the subtree to save
    Returns:the number of byte written or -1 in case of error

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlschemas.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlschemas.html deleted file mode 100644 index 18402a0..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlschemas.html +++ /dev/null @@ -1,173 +0,0 @@ - - -Module xmlschemas from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlschemas from libxml2

    API Menu
    API Indexes
    Related links

    interface to the XML Schemas handling and schema validity checking, it is incomplete right now.

    Table of Contents

    Structure xmlSchema
    struct _xmlSchema -
    Structure xmlSchemaParserCtxt
    struct _xmlSchemaParserCtxt -The content of this structure is not made public by the API. -
    Typedef xmlSchemaParserCtxt * xmlSchemaParserCtxtPtr
    -
    Typedef xmlSchema * xmlSchemaPtr
    -
    Typedef xmlSchemaSAXPlugStruct * xmlSchemaSAXPlugPtr
    -
    Structure xmlSchemaSAXPlugStruct
    struct _xmlSchemaSAXPlug -The content of this structure is not made public by the API. -
    Structure xmlSchemaValidCtxt
    struct _xmlSchemaValidCtxt -The content of this structure is not made public by the API. -
    Typedef xmlSchemaValidCtxt * xmlSchemaValidCtxtPtr
    -
    Enum xmlSchemaValidError
    -
    Enum xmlSchemaValidOption
    -
    void	xmlSchemaDump			(FILE * output, 
    xmlSchemaPtr schema)
    -
    void	xmlSchemaFree			(xmlSchemaPtr schema)
    -
    void	xmlSchemaFreeParserCtxt		(xmlSchemaParserCtxtPtr ctxt)
    -
    void	xmlSchemaFreeValidCtxt		(xmlSchemaValidCtxtPtr ctxt)
    -
    int	xmlSchemaGetParserErrors	(xmlSchemaParserCtxtPtr ctxt, 
    xmlSchemaValidityErrorFunc * err,
    xmlSchemaValidityWarningFunc * warn,
    void ** ctx)
    -
    int	xmlSchemaGetValidErrors		(xmlSchemaValidCtxtPtr ctxt, 
    xmlSchemaValidityErrorFunc * err,
    xmlSchemaValidityWarningFunc * warn,
    void ** ctx)
    -
    int	xmlSchemaIsValid		(xmlSchemaValidCtxtPtr ctxt)
    -
    xmlSchemaParserCtxtPtr	xmlSchemaNewDocParserCtxt	(xmlDocPtr doc)
    -
    xmlSchemaParserCtxtPtr	xmlSchemaNewMemParserCtxt	(const char * buffer, 
    int size)
    -
    xmlSchemaParserCtxtPtr	xmlSchemaNewParserCtxt	(const char * URL)
    -
    xmlSchemaValidCtxtPtr	xmlSchemaNewValidCtxt	(xmlSchemaPtr schema)
    -
    xmlSchemaPtr	xmlSchemaParse		(xmlSchemaParserCtxtPtr ctxt)
    -
    xmlSchemaSAXPlugPtr	xmlSchemaSAXPlug	(xmlSchemaValidCtxtPtr ctxt, 
    xmlSAXHandlerPtr * sax,
    void ** user_data)
    -
    int	xmlSchemaSAXUnplug		(xmlSchemaSAXPlugPtr plug)
    -
    void	xmlSchemaSetParserErrors	(xmlSchemaParserCtxtPtr ctxt, 
    xmlSchemaValidityErrorFunc err,
    xmlSchemaValidityWarningFunc warn,
    void * ctx)
    -
    void	xmlSchemaSetParserStructuredErrors	(xmlSchemaParserCtxtPtr ctxt, 
    xmlStructuredErrorFunc serror,
    void * ctx)
    -
    void	xmlSchemaSetValidErrors		(xmlSchemaValidCtxtPtr ctxt, 
    xmlSchemaValidityErrorFunc err,
    xmlSchemaValidityWarningFunc warn,
    void * ctx)
    -
    int	xmlSchemaSetValidOptions	(xmlSchemaValidCtxtPtr ctxt, 
    int options)
    -
    void	xmlSchemaSetValidStructuredErrors	(xmlSchemaValidCtxtPtr ctxt, 
    xmlStructuredErrorFunc serror,
    void * ctx)
    -
    int	xmlSchemaValidCtxtGetOptions	(xmlSchemaValidCtxtPtr ctxt)
    -
    xmlParserCtxtPtr	xmlSchemaValidCtxtGetParserCtxt	(xmlSchemaValidCtxtPtr ctxt)
    -
    int	xmlSchemaValidateDoc		(xmlSchemaValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    -
    int	xmlSchemaValidateFile		(xmlSchemaValidCtxtPtr ctxt, 
    const char * filename,
    int options)
    -
    int	xmlSchemaValidateOneElement	(xmlSchemaValidCtxtPtr ctxt, 
    xmlNodePtr elem)
    -
    int	xmlSchemaValidateStream		(xmlSchemaValidCtxtPtr ctxt, 
    xmlParserInputBufferPtr input,
    xmlCharEncoding enc,
    xmlSAXHandlerPtr sax,
    void * user_data)
    -
    Function type: xmlSchemaValidityErrorFunc
    -void	xmlSchemaValidityErrorFunc	(void * ctx, 
    const char * msg,
    ... ...) -
    -
    Function type: xmlSchemaValidityWarningFunc
    -void	xmlSchemaValidityWarningFunc	(void * ctx, 
    const char * msg,
    ... ...) -
    -

    Description

    -

    Structure xmlSchema

    Structure xmlSchema
    struct _xmlSchema { - const xmlChar * name : schema name - const xmlChar * targetNamespace : the target namespace - const xmlChar * version - const xmlChar * id : Obsolete - xmlDocPtr doc - xmlSchemaAnnotPtr annot - int flags - xmlHashTablePtr typeDecl - xmlHashTablePtr attrDecl - xmlHashTablePtr attrgrpDecl - xmlHashTablePtr elemDecl - xmlHashTablePtr notaDecl - xmlHashTablePtr schemasImports - void * _private : unused by the library for users or bind - xmlHashTablePtr groupDecl - xmlDictPtr dict - void * includes : the includes, this is opaque for now - int preserve : whether to free the document - int counter : used to give ononymous components uniqu - xmlHashTablePtr idcDef : All identity-constraint defs. - void * volatiles : Obsolete -}

    Structure xmlSchemaParserCtxt

    Structure xmlSchemaParserCtxt
    struct _xmlSchemaParserCtxt { -The content of this structure is not made public by the API. -}

    Structure xmlSchemaSAXPlugStruct

    Structure xmlSchemaSAXPlugStruct
    struct _xmlSchemaSAXPlug { -The content of this structure is not made public by the API. -}

    Structure xmlSchemaValidCtxt

    Structure xmlSchemaValidCtxt
    struct _xmlSchemaValidCtxt { -The content of this structure is not made public by the API. -}

    Enum xmlSchemaValidError

    Enum xmlSchemaValidError {
    -    XML_SCHEMAS_ERR_OK = 0
    -    XML_SCHEMAS_ERR_NOROOT = 1
    -    XML_SCHEMAS_ERR_UNDECLAREDELEM = 2
    -    XML_SCHEMAS_ERR_NOTTOPLEVEL = 3
    -    XML_SCHEMAS_ERR_MISSING = 4
    -    XML_SCHEMAS_ERR_WRONGELEM = 5
    -    XML_SCHEMAS_ERR_NOTYPE = 6
    -    XML_SCHEMAS_ERR_NOROLLBACK = 7
    -    XML_SCHEMAS_ERR_ISABSTRACT = 8
    -    XML_SCHEMAS_ERR_NOTEMPTY = 9
    -    XML_SCHEMAS_ERR_ELEMCONT = 10
    -    XML_SCHEMAS_ERR_HAVEDEFAULT = 11
    -    XML_SCHEMAS_ERR_NOTNILLABLE = 12
    -    XML_SCHEMAS_ERR_EXTRACONTENT = 13
    -    XML_SCHEMAS_ERR_INVALIDATTR = 14
    -    XML_SCHEMAS_ERR_INVALIDELEM = 15
    -    XML_SCHEMAS_ERR_NOTDETERMINIST = 16
    -    XML_SCHEMAS_ERR_CONSTRUCT = 17
    -    XML_SCHEMAS_ERR_INTERNAL = 18
    -    XML_SCHEMAS_ERR_NOTSIMPLE = 19
    -    XML_SCHEMAS_ERR_ATTRUNKNOWN = 20
    -    XML_SCHEMAS_ERR_ATTRINVALID = 21
    -    XML_SCHEMAS_ERR_VALUE = 22
    -    XML_SCHEMAS_ERR_FACET = 23
    -    XML_SCHEMAS_ERR_ = 24
    -    XML_SCHEMAS_ERR_XXX = 25
    -}
    -

    Enum xmlSchemaValidOption

    Enum xmlSchemaValidOption {
    -    XML_SCHEMA_VAL_VC_I_CREATE = 1 : Default/fixed: create an attribute node * or an element's text node on the instance. *
    -}
    -

    Function: xmlSchemaDump

    void	xmlSchemaDump			(FILE * output, 
    xmlSchemaPtr schema)
    -

    Dump a Schema structure.

    -
    output:the file output
    schema:a schema structure

    Function: xmlSchemaFree

    void	xmlSchemaFree			(xmlSchemaPtr schema)
    -

    Deallocate a Schema structure.

    -
    schema:a schema structure

    Function: xmlSchemaFreeParserCtxt

    void	xmlSchemaFreeParserCtxt		(xmlSchemaParserCtxtPtr ctxt)
    -

    Free the resources associated to the schema parser context

    -
    ctxt:the schema parser context

    Function: xmlSchemaFreeValidCtxt

    void	xmlSchemaFreeValidCtxt		(xmlSchemaValidCtxtPtr ctxt)
    -

    Free the resources associated to the schema validation context

    -
    ctxt:the schema validation context

    Function: xmlSchemaGetParserErrors

    int	xmlSchemaGetParserErrors	(xmlSchemaParserCtxtPtr ctxt, 
    xmlSchemaValidityErrorFunc * err,
    xmlSchemaValidityWarningFunc * warn,
    void ** ctx)
    -

    Get the callback information used to handle errors for a parser context

    -
    ctxt:a XMl-Schema parser context
    err:the error callback result
    warn:the warning callback result
    ctx:contextual data for the callbacks result
    Returns:-1 in case of failure, 0 otherwise

    Function: xmlSchemaGetValidErrors

    int	xmlSchemaGetValidErrors		(xmlSchemaValidCtxtPtr ctxt, 
    xmlSchemaValidityErrorFunc * err,
    xmlSchemaValidityWarningFunc * warn,
    void ** ctx)
    -

    Get the error and warning callback informations

    -
    ctxt:a XML-Schema validation context
    err:the error function result
    warn:the warning function result
    ctx:the functions context result
    Returns:-1 in case of error and 0 otherwise

    Function: xmlSchemaIsValid

    int	xmlSchemaIsValid		(xmlSchemaValidCtxtPtr ctxt)
    -

    Check if any error was detected during validation.

    -
    ctxt:the schema validation context
    Returns:1 if valid so far, 0 if errors were detected, and -1 in case of internal error.

    Function: xmlSchemaNewDocParserCtxt

    xmlSchemaParserCtxtPtr	xmlSchemaNewDocParserCtxt	(xmlDocPtr doc)
    -

    Create an XML Schemas parse context for that document. NB. The document may be modified during the parsing process.

    -
    doc:a preparsed document tree
    Returns:the parser context or NULL in case of error

    Function: xmlSchemaNewMemParserCtxt

    xmlSchemaParserCtxtPtr	xmlSchemaNewMemParserCtxt	(const char * buffer, 
    int size)
    -

    Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas file.

    -
    buffer:a pointer to a char array containing the schemas
    size:the size of the array
    Returns:the parser context or NULL in case of error

    Function: xmlSchemaNewParserCtxt

    xmlSchemaParserCtxtPtr	xmlSchemaNewParserCtxt	(const char * URL)
    -

    Create an XML Schemas parse context for that file/resource expected to contain an XML Schemas file.

    -
    URL:the location of the schema
    Returns:the parser context or NULL in case of error

    Function: xmlSchemaNewValidCtxt

    xmlSchemaValidCtxtPtr	xmlSchemaNewValidCtxt	(xmlSchemaPtr schema)
    -

    Create an XML Schemas validation context based on the given schema.

    -
    schema:a precompiled XML Schemas
    Returns:the validation context or NULL in case of error

    Function: xmlSchemaParse

    xmlSchemaPtr	xmlSchemaParse		(xmlSchemaParserCtxtPtr ctxt)
    -

    parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.

    -
    ctxt:a schema validation context
    Returns:the internal XML Schema structure built from the resource or NULL in case of error

    Function: xmlSchemaSAXPlug

    xmlSchemaSAXPlugPtr	xmlSchemaSAXPlug	(xmlSchemaValidCtxtPtr ctxt, 
    xmlSAXHandlerPtr * sax,
    void ** user_data)
    -

    Plug a SAX based validation layer in a SAX parsing event flow. The original @saxptr and @dataptr data are replaced by new pointers but the calls to the original will be maintained.

    -
    ctxt:a schema validation context
    sax:a pointer to the original xmlSAXHandlerPtr
    user_data:a pointer to the original SAX user data pointer
    Returns:a pointer to a data structure needed to unplug the validation layer or NULL in case of errors.

    Function: xmlSchemaSAXUnplug

    int	xmlSchemaSAXUnplug		(xmlSchemaSAXPlugPtr plug)
    -

    Unplug a SAX based validation layer in a SAX parsing event flow. The original pointers used in the call are restored.

    -
    plug:a data structure returned by xmlSchemaSAXPlug
    Returns:0 in case of success and -1 in case of failure.

    Function: xmlSchemaSetParserErrors

    void	xmlSchemaSetParserErrors	(xmlSchemaParserCtxtPtr ctxt, 
    xmlSchemaValidityErrorFunc err,
    xmlSchemaValidityWarningFunc warn,
    void * ctx)
    -

    Set the callback functions used to handle errors for a validation context

    -
    ctxt:a schema validation context
    err:the error callback
    warn:the warning callback
    ctx:contextual data for the callbacks

    Function: xmlSchemaSetParserStructuredErrors

    void	xmlSchemaSetParserStructuredErrors	(xmlSchemaParserCtxtPtr ctxt, 
    xmlStructuredErrorFunc serror,
    void * ctx)
    -

    Set the structured error callback

    -
    ctxt:a schema parser context
    serror:the structured error function
    ctx:the functions context

    Function: xmlSchemaSetValidErrors

    void	xmlSchemaSetValidErrors		(xmlSchemaValidCtxtPtr ctxt, 
    xmlSchemaValidityErrorFunc err,
    xmlSchemaValidityWarningFunc warn,
    void * ctx)
    -

    Set the error and warning callback informations

    -
    ctxt:a schema validation context
    err:the error function
    warn:the warning function
    ctx:the functions context

    Function: xmlSchemaSetValidOptions

    int	xmlSchemaSetValidOptions	(xmlSchemaValidCtxtPtr ctxt, 
    int options)
    -

    Sets the options to be used during the validation.

    -
    ctxt:a schema validation context
    options:a combination of xmlSchemaValidOption
    Returns:0 in case of success, -1 in case of an API error.

    Function: xmlSchemaSetValidStructuredErrors

    void	xmlSchemaSetValidStructuredErrors	(xmlSchemaValidCtxtPtr ctxt, 
    xmlStructuredErrorFunc serror,
    void * ctx)
    -

    Set the structured error callback

    -
    ctxt:a schema validation context
    serror:the structured error function
    ctx:the functions context

    Function: xmlSchemaValidCtxtGetOptions

    int	xmlSchemaValidCtxtGetOptions	(xmlSchemaValidCtxtPtr ctxt)
    -

    Get the validation context options.

    -
    ctxt:a schema validation context
    Returns:the option combination or -1 on error.

    Function: xmlSchemaValidCtxtGetParserCtxt

    xmlParserCtxtPtr	xmlSchemaValidCtxtGetParserCtxt	(xmlSchemaValidCtxtPtr ctxt)
    -

    allow access to the parser context of the schema validation context

    -
    ctxt:a schema validation context
    Returns:the parser context of the schema validation context or NULL in case of error.

    Function: xmlSchemaValidateDoc

    int	xmlSchemaValidateDoc		(xmlSchemaValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    -

    Validate a document tree in memory.

    -
    ctxt:a schema validation context
    doc:a parsed document tree
    Returns:0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlSchemaValidateFile

    int	xmlSchemaValidateFile		(xmlSchemaValidCtxtPtr ctxt, 
    const char * filename,
    int options)
    -

    Do a schemas validation of the given resource, it will use the SAX streamable validation internally.

    -
    ctxt:a schema validation context
    filename:the URI of the instance
    options:a future set of options, currently unused
    Returns:0 if the document is valid, a positive error code number otherwise and -1 in case of an internal or API error.

    Function: xmlSchemaValidateOneElement

    int	xmlSchemaValidateOneElement	(xmlSchemaValidCtxtPtr ctxt, 
    xmlNodePtr elem)
    -

    Validate a branch of a tree, starting with the given @elem.

    -
    ctxt:a schema validation context
    elem:an element node
    Returns:0 if the element and its subtree is valid, a positive error code number otherwise and -1 in case of an internal or API error.

    Function: xmlSchemaValidateStream

    int	xmlSchemaValidateStream		(xmlSchemaValidCtxtPtr ctxt, 
    xmlParserInputBufferPtr input,
    xmlCharEncoding enc,
    xmlSAXHandlerPtr sax,
    void * user_data)
    -

    Validate an input based on a flow of SAX event from the parser and forward the events to the @sax handler with the provided @user_data the user provided @sax handler must be a SAX2 one.

    -
    ctxt:a schema validation context
    input:the input to use for reading the data
    enc:an optional encoding information
    sax:a SAX handler for the resulting events
    user_data:the context to provide to the SAX handler.
    Returns:0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.

    Function type: xmlSchemaValidityErrorFunc

    Function type: xmlSchemaValidityErrorFunc
    -void	xmlSchemaValidityErrorFunc	(void * ctx, 
    const char * msg,
    ... ...) -

    Signature of an error callback from an XSD validation

    ctx:the validation context
    msg:the message
    ...:extra arguments

    -

    Function type: xmlSchemaValidityWarningFunc

    Function type: xmlSchemaValidityWarningFunc
    -void	xmlSchemaValidityWarningFunc	(void * ctx, 
    const char * msg,
    ... ...) -

    Signature of a warning callback from an XSD validation

    ctx:the validation context
    msg:the message
    ...:extra arguments

    -

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlschemastypes.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlschemastypes.html deleted file mode 100644 index 1d08141..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlschemastypes.html +++ /dev/null @@ -1,123 +0,0 @@ - - -Module xmlschemastypes from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlschemastypes from libxml2

    API Menu
    API Indexes
    Related links

    module providing the XML Schema Datatypes implementation both definition and validity checking

    Table of Contents

    Enum xmlSchemaWhitespaceValueType
    -
    int	xmlSchemaCheckFacet		(xmlSchemaFacetPtr facet, 
    xmlSchemaTypePtr typeDecl,
    xmlSchemaParserCtxtPtr pctxt,
    const xmlChar * name)
    -
    void	xmlSchemaCleanupTypes		(void)
    -
    xmlChar *	xmlSchemaCollapseString	(const xmlChar * value)
    -
    int	xmlSchemaCompareValues		(xmlSchemaValPtr x, 
    xmlSchemaValPtr y)
    -
    int	xmlSchemaCompareValuesWhtsp	(xmlSchemaValPtr x, 
    xmlSchemaWhitespaceValueType xws,
    xmlSchemaValPtr y,
    xmlSchemaWhitespaceValueType yws)
    -
    xmlSchemaValPtr	xmlSchemaCopyValue	(xmlSchemaValPtr val)
    -
    void	xmlSchemaFreeFacet		(xmlSchemaFacetPtr facet)
    -
    void	xmlSchemaFreeValue		(xmlSchemaValPtr value)
    -
    xmlSchemaTypePtr	xmlSchemaGetBuiltInListSimpleTypeItemType	(xmlSchemaTypePtr type)
    -
    xmlSchemaTypePtr	xmlSchemaGetBuiltInType	(xmlSchemaValType type)
    -
    int	xmlSchemaGetCanonValue		(xmlSchemaValPtr val, 
    const xmlChar ** retValue)
    -
    int	xmlSchemaGetCanonValueWhtsp	(xmlSchemaValPtr val, 
    const xmlChar ** retValue,
    xmlSchemaWhitespaceValueType ws)
    -
    unsigned long	xmlSchemaGetFacetValueAsULong	(xmlSchemaFacetPtr facet)
    -
    xmlSchemaTypePtr	xmlSchemaGetPredefinedType	(const xmlChar * name, 
    const xmlChar * ns)
    -
    xmlSchemaValType	xmlSchemaGetValType	(xmlSchemaValPtr val)
    -
    void	xmlSchemaInitTypes		(void)
    -
    int	xmlSchemaIsBuiltInTypeFacet	(xmlSchemaTypePtr type, 
    int facetType)
    -
    xmlSchemaFacetPtr	xmlSchemaNewFacet	(void)
    -
    xmlSchemaValPtr	xmlSchemaNewNOTATIONValue	(const xmlChar * name, 
    const xmlChar * ns)
    -
    xmlSchemaValPtr	xmlSchemaNewQNameValue	(const xmlChar * namespaceName, 
    const xmlChar * localName)
    -
    xmlSchemaValPtr	xmlSchemaNewStringValue	(xmlSchemaValType type, 
    const xmlChar * value)
    -
    int	xmlSchemaValPredefTypeNode	(xmlSchemaTypePtr type, 
    const xmlChar * value,
    xmlSchemaValPtr * val,
    xmlNodePtr node)
    -
    int	xmlSchemaValPredefTypeNodeNoNorm	(xmlSchemaTypePtr type, 
    const xmlChar * value,
    xmlSchemaValPtr * val,
    xmlNodePtr node)
    -
    int	xmlSchemaValidateFacet		(xmlSchemaTypePtr base, 
    xmlSchemaFacetPtr facet,
    const xmlChar * value,
    xmlSchemaValPtr val)
    -
    int	xmlSchemaValidateFacetWhtsp	(xmlSchemaFacetPtr facet, 
    xmlSchemaWhitespaceValueType fws,
    xmlSchemaValType valType,
    const xmlChar * value,
    xmlSchemaValPtr val,
    xmlSchemaWhitespaceValueType ws)
    -
    int	xmlSchemaValidateLengthFacet	(xmlSchemaTypePtr type, 
    xmlSchemaFacetPtr facet,
    const xmlChar * value,
    xmlSchemaValPtr val,
    unsigned long * length)
    -
    int	xmlSchemaValidateLengthFacetWhtsp	(xmlSchemaFacetPtr facet, 
    xmlSchemaValType valType,
    const xmlChar * value,
    xmlSchemaValPtr val,
    unsigned long * length,
    xmlSchemaWhitespaceValueType ws)
    -
    int	xmlSchemaValidateListSimpleTypeFacet	(xmlSchemaFacetPtr facet, 
    const xmlChar * value,
    unsigned long actualLen,
    unsigned long * expectedLen)
    -
    int	xmlSchemaValidatePredefinedType	(xmlSchemaTypePtr type, 
    const xmlChar * value,
    xmlSchemaValPtr * val)
    -
    int	xmlSchemaValueAppend		(xmlSchemaValPtr prev, 
    xmlSchemaValPtr cur)
    -
    int	xmlSchemaValueGetAsBoolean	(xmlSchemaValPtr val)
    -
    const xmlChar *	xmlSchemaValueGetAsString	(xmlSchemaValPtr val)
    -
    xmlSchemaValPtr	xmlSchemaValueGetNext	(xmlSchemaValPtr cur)
    -
    xmlChar *	xmlSchemaWhiteSpaceReplace	(const xmlChar * value)
    -

    Description

    -

    Enum xmlSchemaWhitespaceValueType

    Enum xmlSchemaWhitespaceValueType {
    -    XML_SCHEMA_WHITESPACE_UNKNOWN = 0
    -    XML_SCHEMA_WHITESPACE_PRESERVE = 1
    -    XML_SCHEMA_WHITESPACE_REPLACE = 2
    -    XML_SCHEMA_WHITESPACE_COLLAPSE = 3
    -}
    -

    Function: xmlSchemaCheckFacet

    int	xmlSchemaCheckFacet		(xmlSchemaFacetPtr facet, 
    xmlSchemaTypePtr typeDecl,
    xmlSchemaParserCtxtPtr pctxt,
    const xmlChar * name)
    -

    Checks and computes the values of facets.

    -
    facet:the facet
    typeDecl:the schema type definition
    pctxt:the schema parser context or NULL
    name:the optional name of the type
    Returns:0 if valid, a positive error code if not valid and -1 in case of an internal or API error.

    Function: xmlSchemaCleanupTypes

    void	xmlSchemaCleanupTypes		(void)
    -

    Cleanup the default XML Schemas type library

    -

    Function: xmlSchemaCollapseString

    xmlChar *	xmlSchemaCollapseString	(const xmlChar * value)
    -

    Removes and normalize white spaces in the string

    -
    value:a value
    Returns:the new string or NULL if no change was required.

    Function: xmlSchemaCompareValues

    int	xmlSchemaCompareValues		(xmlSchemaValPtr x, 
    xmlSchemaValPtr y)
    -

    Compare 2 values

    -
    x:a first value
    y:a second value
    Returns:-1 if x < y, 0 if x == y, 1 if x > y, 2 if x <> y, and -2 in case of error

    Function: xmlSchemaCompareValuesWhtsp

    int	xmlSchemaCompareValuesWhtsp	(xmlSchemaValPtr x, 
    xmlSchemaWhitespaceValueType xws,
    xmlSchemaValPtr y,
    xmlSchemaWhitespaceValueType yws)
    -

    Compare 2 values

    -
    x:a first value
    xws:the whitespace value of x
    y:a second value
    yws:the whitespace value of y
    Returns:-1 if x < y, 0 if x == y, 1 if x > y, 2 if x <> y, and -2 in case of error

    Function: xmlSchemaCopyValue

    xmlSchemaValPtr	xmlSchemaCopyValue	(xmlSchemaValPtr val)
    -

    Copies the precomputed value. This duplicates any string within.

    -
    val:the precomputed value to be copied
    Returns:the copy or NULL if a copy for a data-type is not implemented.

    Function: xmlSchemaFreeFacet

    void	xmlSchemaFreeFacet		(xmlSchemaFacetPtr facet)
    -

    Deallocate a Schema Facet structure.

    -
    facet:a schema facet structure

    Function: xmlSchemaFreeValue

    void	xmlSchemaFreeValue		(xmlSchemaValPtr value)
    -

    Cleanup the default XML Schemas type library

    -
    value:the value to free

    Function: xmlSchemaGetBuiltInListSimpleTypeItemType

    xmlSchemaTypePtr	xmlSchemaGetBuiltInListSimpleTypeItemType	(xmlSchemaTypePtr type)
    -

    Lookup function

    -
    type:the built-in simple type.
    Returns:the item type of @type as defined by the built-in datatype hierarchy of XML Schema Part 2: Datatypes, or NULL in case of an error.

    Function: xmlSchemaGetBuiltInType

    xmlSchemaTypePtr	xmlSchemaGetBuiltInType	(xmlSchemaValType type)
    -

    Gives you the type struct for a built-in type by its type id.

    -
    type:the type of the built in type
    Returns:the type if found, NULL otherwise.

    Function: xmlSchemaGetCanonValue

    int	xmlSchemaGetCanonValue		(xmlSchemaValPtr val, 
    const xmlChar ** retValue)
    -

    Get a the cononical lexical representation of the value. The caller has to FREE the returned retValue. WARNING: Some value types are not supported yet, resulting in a @retValue of "???". TODO: XML Schema 1.0 does not define canonical representations for: duration, gYearMonth, gYear, gMonthDay, gMonth, gDay, anyURI, QName, NOTATION. This will be fixed in XML Schema 1.1.

    -
    val:the precomputed value
    retValue:the returned value
    Returns:0 if the value could be built, 1 if the value type is not supported yet and -1 in case of API errors.

    Function: xmlSchemaGetCanonValueWhtsp

    int	xmlSchemaGetCanonValueWhtsp	(xmlSchemaValPtr val, 
    const xmlChar ** retValue,
    xmlSchemaWhitespaceValueType ws)
    -

    Get a the cononical representation of the value. The caller has to free the returned @retValue.

    -
    val:the precomputed value
    retValue:the returned value
    ws:the whitespace type of the value
    Returns:0 if the value could be built, 1 if the value type is not supported yet and -1 in case of API errors.

    Function: xmlSchemaGetFacetValueAsULong

    unsigned long	xmlSchemaGetFacetValueAsULong	(xmlSchemaFacetPtr facet)
    -

    Extract the value of a facet

    -
    facet:an schemas type facet
    Returns:the value as a long

    Function: xmlSchemaGetPredefinedType

    xmlSchemaTypePtr	xmlSchemaGetPredefinedType	(const xmlChar * name, 
    const xmlChar * ns)
    -

    Lookup a type in the default XML Schemas type library

    -
    name:the type name
    ns:the URI of the namespace usually "http://www.w3.org/2001/XMLSchema"
    Returns:the type if found, NULL otherwise

    Function: xmlSchemaGetValType

    xmlSchemaValType	xmlSchemaGetValType	(xmlSchemaValPtr val)
    -

    Accessor for the type of a value

    -
    val:a schemas value
    Returns:the xmlSchemaValType of the value

    Function: xmlSchemaInitTypes

    void	xmlSchemaInitTypes		(void)
    -

    Initialize the default XML Schemas type library

    -

    Function: xmlSchemaIsBuiltInTypeFacet

    int	xmlSchemaIsBuiltInTypeFacet	(xmlSchemaTypePtr type, 
    int facetType)
    -

    Evaluates if a specific facet can be used in conjunction with a type.

    -
    type:the built-in type
    facetType:the facet type
    Returns:1 if the facet can be used with the given built-in type, 0 otherwise and -1 in case the type is not a built-in type.

    Function: xmlSchemaNewFacet

    xmlSchemaFacetPtr	xmlSchemaNewFacet	(void)
    -

    Allocate a new Facet structure.

    -
    Returns:the newly allocated structure or NULL in case or error

    Function: xmlSchemaNewNOTATIONValue

    xmlSchemaValPtr	xmlSchemaNewNOTATIONValue	(const xmlChar * name, 
    const xmlChar * ns)
    -

    Allocate a new NOTATION value. The given values are consumed and freed with the struct.

    -
    name:the notation name
    ns:the notation namespace name or NULL
    Returns:a pointer to the new value or NULL in case of error

    Function: xmlSchemaNewQNameValue

    xmlSchemaValPtr	xmlSchemaNewQNameValue	(const xmlChar * namespaceName, 
    const xmlChar * localName)
    -

    Allocate a new QName value. The given values are consumed and freed with the struct.

    -
    namespaceName:the namespace name
    localName:the local name
    Returns:a pointer to the new value or NULL in case of an error.

    Function: xmlSchemaNewStringValue

    xmlSchemaValPtr	xmlSchemaNewStringValue	(xmlSchemaValType type, 
    const xmlChar * value)
    -

    Allocate a new simple type value. The type can be of XML_SCHEMAS_STRING. WARNING: This one is intended to be expanded for other string based types. We need this for anySimpleType as well. The given value is consumed and freed with the struct.

    -
    type:the value type
    value:the value
    Returns:a pointer to the new value or NULL in case of error

    Function: xmlSchemaValPredefTypeNode

    int	xmlSchemaValPredefTypeNode	(xmlSchemaTypePtr type, 
    const xmlChar * value,
    xmlSchemaValPtr * val,
    xmlNodePtr node)
    -

    Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.

    -
    type:the predefined type
    value:the value to check
    val:the return computed value
    node:the node containing the value
    Returns:0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlSchemaValPredefTypeNodeNoNorm

    int	xmlSchemaValPredefTypeNodeNoNorm	(xmlSchemaTypePtr type, 
    const xmlChar * value,
    xmlSchemaValPtr * val,
    xmlNodePtr node)
    -

    Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val. This one does apply any normalization to the value.

    -
    type:the predefined type
    value:the value to check
    val:the return computed value
    node:the node containing the value
    Returns:0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlSchemaValidateFacet

    int	xmlSchemaValidateFacet		(xmlSchemaTypePtr base, 
    xmlSchemaFacetPtr facet,
    const xmlChar * value,
    xmlSchemaValPtr val)
    -

    Check a value against a facet condition

    -
    base:the base type
    facet:the facet to check
    value:the lexical repr of the value to validate
    val:the precomputed value
    Returns:0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlSchemaValidateFacetWhtsp

    int	xmlSchemaValidateFacetWhtsp	(xmlSchemaFacetPtr facet, 
    xmlSchemaWhitespaceValueType fws,
    xmlSchemaValType valType,
    const xmlChar * value,
    xmlSchemaValPtr val,
    xmlSchemaWhitespaceValueType ws)
    -

    Check a value against a facet condition. This takes value normalization according to the specified whitespace types into account. Note that @value needs to be the *normalized* value if the facet is of type "pattern".

    -
    facet:the facet to check
    fws:the whitespace type of the facet's value
    valType:the built-in type of the value
    value:the lexical (or normalized for pattern) repr of the value to validate
    val:the precomputed value
    ws:the whitespace type of the value
    Returns:0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlSchemaValidateLengthFacet

    int	xmlSchemaValidateLengthFacet	(xmlSchemaTypePtr type, 
    xmlSchemaFacetPtr facet,
    const xmlChar * value,
    xmlSchemaValPtr val,
    unsigned long * length)
    -

    Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.

    -
    type:the built-in type
    facet:the facet to check
    value:the lexical repr. of the value to be validated
    val:the precomputed value
    length:the actual length of the value
    Returns:0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.

    Function: xmlSchemaValidateLengthFacetWhtsp

    int	xmlSchemaValidateLengthFacetWhtsp	(xmlSchemaFacetPtr facet, 
    xmlSchemaValType valType,
    const xmlChar * value,
    xmlSchemaValPtr val,
    unsigned long * length,
    xmlSchemaWhitespaceValueType ws)
    -

    Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.

    -
    facet:the facet to check
    valType:the built-in type
    value:the lexical repr. of the value to be validated
    val:the precomputed value
    length:the actual length of the value
    ws:the whitespace type of the value
    Returns:0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.

    Function: xmlSchemaValidateListSimpleTypeFacet

    int	xmlSchemaValidateListSimpleTypeFacet	(xmlSchemaFacetPtr facet, 
    const xmlChar * value,
    unsigned long actualLen,
    unsigned long * expectedLen)
    -

    Checks the value of a list simple type against a facet.

    -
    facet:the facet to check
    value:the lexical repr of the value to validate
    actualLen:the number of list items
    expectedLen:the resulting expected number of list items
    Returns:0 if the value is valid, a positive error code number otherwise and -1 in case of an internal error.

    Function: xmlSchemaValidatePredefinedType

    int	xmlSchemaValidatePredefinedType	(xmlSchemaTypePtr type, 
    const xmlChar * value,
    xmlSchemaValPtr * val)
    -

    Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.

    -
    type:the predefined type
    value:the value to check
    val:the return computed value
    Returns:0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlSchemaValueAppend

    int	xmlSchemaValueAppend		(xmlSchemaValPtr prev, 
    xmlSchemaValPtr cur)
    -

    Appends a next sibling to a list of computed values.

    -
    prev:the value
    cur:the value to be appended
    Returns:0 if succeeded and -1 on API errors.

    Function: xmlSchemaValueGetAsBoolean

    int	xmlSchemaValueGetAsBoolean	(xmlSchemaValPtr val)
    -

    Accessor for the boolean value of a computed value.

    -
    val:the value
    Returns:1 if true and 0 if false, or in case of an error. Hmm.

    Function: xmlSchemaValueGetAsString

    const xmlChar *	xmlSchemaValueGetAsString	(xmlSchemaValPtr val)
    -

    Accessor for the string value of a computed value.

    -
    val:the value
    Returns:the string value or NULL if there was none, or on API errors.

    Function: xmlSchemaValueGetNext

    xmlSchemaValPtr	xmlSchemaValueGetNext	(xmlSchemaValPtr cur)
    -

    Accessor for the next sibling of a list of computed values.

    -
    cur:the value
    Returns:the next value or NULL if there was none, or on API errors.

    Function: xmlSchemaWhiteSpaceReplace

    xmlChar *	xmlSchemaWhiteSpaceReplace	(const xmlChar * value)
    -

    Replaces 0xd, 0x9 and 0xa with a space.

    -
    value:a value
    Returns:the new string or NULL if no change was required.

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlstring.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlstring.html deleted file mode 100644 index 4f12cc7..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlstring.html +++ /dev/null @@ -1,108 +0,0 @@ - - -Module xmlstring from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlstring from libxml2

    API Menu
    API Indexes
    Related links

    type and interfaces needed for the internal string handling of the library, especially UTF8 processing.

    Table of Contents

    #define BAD_CAST
    Typedef unsigned char xmlChar
    -
    xmlChar *	xmlCharStrdup		(const char * cur)
    -
    xmlChar *	xmlCharStrndup		(const char * cur, 
    int len)
    -
    int	xmlCheckUTF8			(const unsigned char * utf)
    -
    int	xmlGetUTF8Char			(const unsigned char * utf, 
    int * len)
    -
    int	xmlStrEqual			(const xmlChar * str1, 
    const xmlChar * str2)
    -
    int	xmlStrPrintf			(xmlChar * buf, 
    int len,
    const xmlChar * msg,
    ... ...)
    -
    int	xmlStrQEqual			(const xmlChar * pref, 
    const xmlChar * name,
    const xmlChar * str)
    -
    int	xmlStrVPrintf			(xmlChar * buf, 
    int len,
    const xmlChar * msg,
    va_list ap)
    -
    int	xmlStrcasecmp			(const xmlChar * str1, 
    const xmlChar * str2)
    -
    const xmlChar *	xmlStrcasestr		(const xmlChar * str, 
    const xmlChar * val)
    -
    xmlChar *	xmlStrcat		(xmlChar * cur, 
    const xmlChar * add)
    -
    const xmlChar *	xmlStrchr		(const xmlChar * str, 
    xmlChar val)
    -
    int	xmlStrcmp			(const xmlChar * str1, 
    const xmlChar * str2)
    -
    xmlChar *	xmlStrdup		(const xmlChar * cur)
    -
    int	xmlStrlen			(const xmlChar * str)
    -
    int	xmlStrncasecmp			(const xmlChar * str1, 
    const xmlChar * str2,
    int len)
    -
    xmlChar *	xmlStrncat		(xmlChar * cur, 
    const xmlChar * add,
    int len)
    -
    xmlChar *	xmlStrncatNew		(const xmlChar * str1, 
    const xmlChar * str2,
    int len)
    -
    int	xmlStrncmp			(const xmlChar * str1, 
    const xmlChar * str2,
    int len)
    -
    xmlChar *	xmlStrndup		(const xmlChar * cur, 
    int len)
    -
    const xmlChar *	xmlStrstr		(const xmlChar * str, 
    const xmlChar * val)
    -
    xmlChar *	xmlStrsub		(const xmlChar * str, 
    int start,
    int len)
    -
    int	xmlUTF8Charcmp			(const xmlChar * utf1, 
    const xmlChar * utf2)
    -
    int	xmlUTF8Size			(const xmlChar * utf)
    -
    int	xmlUTF8Strlen			(const xmlChar * utf)
    -
    int	xmlUTF8Strloc			(const xmlChar * utf, 
    const xmlChar * utfchar)
    -
    xmlChar *	xmlUTF8Strndup		(const xmlChar * utf, 
    int len)
    -
    const xmlChar *	xmlUTF8Strpos		(const xmlChar * utf, 
    int pos)
    -
    int	xmlUTF8Strsize			(const xmlChar * utf, 
    int len)
    -
    xmlChar *	xmlUTF8Strsub		(const xmlChar * utf, 
    int start,
    int len)
    -

    Description

    -

    Macro: BAD_CAST

    #define BAD_CAST

    Macro to cast a string to an xmlChar * when one know its safe.

    - - This is a basic byte in an UTF-8 encoded string. It's unsigned allowing to pinpoint case where char * are assigned to xmlChar * (possibly making serialization back impossible). -

    Function: xmlCharStrdup

    xmlChar *	xmlCharStrdup		(const char * cur)
    -

    a strdup for char's to xmlChar's

    -
    cur:the input char *
    Returns:a new xmlChar * or NULL

    Function: xmlCharStrndup

    xmlChar *	xmlCharStrndup		(const char * cur, 
    int len)
    -

    a strndup for char's to xmlChar's

    -
    cur:the input char *
    len:the len of @cur
    Returns:a new xmlChar * or NULL

    Function: xmlCheckUTF8

    int	xmlCheckUTF8			(const unsigned char * utf)
    -

    Checks @utf for being valid UTF-8. @utf is assumed to be null-terminated. This function is not super-strict, as it will allow longer UTF-8 sequences than necessary. Note that Java is capable of producing these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check for 0x10ffff maximum value.

    -
    utf:Pointer to putative UTF-8 encoded string.
    Returns:value: true if @utf is valid.

    Function: xmlGetUTF8Char

    int	xmlGetUTF8Char			(const unsigned char * utf, 
    int * len)
    -

    Read the first UTF8 character from @utf

    -
    utf:a sequence of UTF-8 encoded bytes
    len:a pointer to the minimum number of bytes present in the sequence. This is used to assure the next character is completely contained within the sequence.
    Returns:the char value or -1 in case of error, and sets *len to the actual number of bytes consumed (0 in case of error)

    Function: xmlStrEqual

    int	xmlStrEqual			(const xmlChar * str1, 
    const xmlChar * str2)
    -

    Check if both strings are equal of have same content. Should be a bit more readable and faster than xmlStrcmp()

    -
    str1:the first xmlChar *
    str2:the second xmlChar *
    Returns:1 if they are equal, 0 if they are different

    Function: xmlStrPrintf

    int	xmlStrPrintf			(xmlChar * buf, 
    int len,
    const xmlChar * msg,
    ... ...)
    -

    Formats @msg and places result into @buf.

    -
    buf:the result buffer.
    len:the result buffer length.
    msg:the message with printf formatting.
    ...:extra parameters for the message.
    Returns:the number of characters written to @buf or -1 if an error occurs.

    Function: xmlStrQEqual

    int	xmlStrQEqual			(const xmlChar * pref, 
    const xmlChar * name,
    const xmlChar * str)
    -

    Check if a QName is Equal to a given string

    -
    pref:the prefix of the QName
    name:the localname of the QName
    str:the second xmlChar *
    Returns:1 if they are equal, 0 if they are different

    Function: xmlStrVPrintf

    int	xmlStrVPrintf			(xmlChar * buf, 
    int len,
    const xmlChar * msg,
    va_list ap)
    -

    Formats @msg and places result into @buf.

    -
    buf:the result buffer.
    len:the result buffer length.
    msg:the message with printf formatting.
    ap:extra parameters for the message.
    Returns:the number of characters written to @buf or -1 if an error occurs.

    Function: xmlStrcasecmp

    int	xmlStrcasecmp			(const xmlChar * str1, 
    const xmlChar * str2)
    -

    a strcasecmp for xmlChar's

    -
    str1:the first xmlChar *
    str2:the second xmlChar *
    Returns:the integer result of the comparison

    Function: xmlStrcasestr

    const xmlChar *	xmlStrcasestr		(const xmlChar * str, 
    const xmlChar * val)
    -

    a case-ignoring strstr for xmlChar's

    -
    str:the xmlChar * array (haystack)
    val:the xmlChar to search (needle)
    Returns:the xmlChar * for the first occurrence or NULL.

    Function: xmlStrcat

    xmlChar *	xmlStrcat		(xmlChar * cur, 
    const xmlChar * add)
    -

    a strcat for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.

    -
    cur:the original xmlChar * array
    add:the xmlChar * array added
    Returns:a new xmlChar * containing the concatenated string.

    Function: xmlStrchr

    const xmlChar *	xmlStrchr		(const xmlChar * str, 
    xmlChar val)
    -

    a strchr for xmlChar's

    -
    str:the xmlChar * array
    val:the xmlChar to search
    Returns:the xmlChar * for the first occurrence or NULL.

    Function: xmlStrcmp

    int	xmlStrcmp			(const xmlChar * str1, 
    const xmlChar * str2)
    -

    a strcmp for xmlChar's

    -
    str1:the first xmlChar *
    str2:the second xmlChar *
    Returns:the integer result of the comparison

    Function: xmlStrdup

    xmlChar *	xmlStrdup		(const xmlChar * cur)
    -

    a strdup for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.

    -
    cur:the input xmlChar *
    Returns:a new xmlChar * or NULL

    Function: xmlStrlen

    int	xmlStrlen			(const xmlChar * str)
    -

    length of a xmlChar's string

    -
    str:the xmlChar * array
    Returns:the number of xmlChar contained in the ARRAY.

    Function: xmlStrncasecmp

    int	xmlStrncasecmp			(const xmlChar * str1, 
    const xmlChar * str2,
    int len)
    -

    a strncasecmp for xmlChar's

    -
    str1:the first xmlChar *
    str2:the second xmlChar *
    len:the max comparison length
    Returns:the integer result of the comparison

    Function: xmlStrncat

    xmlChar *	xmlStrncat		(xmlChar * cur, 
    const xmlChar * add,
    int len)
    -

    a strncat for array of xmlChar's, it will extend @cur with the len first bytes of @add. Note that if @len < 0 then this is an API error and NULL will be returned.

    -
    cur:the original xmlChar * array
    add:the xmlChar * array added
    len:the length of @add
    Returns:a new xmlChar *, the original @cur is reallocated if needed and should not be freed

    Function: xmlStrncatNew

    xmlChar *	xmlStrncatNew		(const xmlChar * str1, 
    const xmlChar * str2,
    int len)
    -

    same as xmlStrncat, but creates a new string. The original two strings are not freed. If @len is < 0 then the length will be calculated automatically.

    -
    str1:first xmlChar string
    str2:second xmlChar string
    len:the len of @str2 or < 0
    Returns:a new xmlChar * or NULL

    Function: xmlStrncmp

    int	xmlStrncmp			(const xmlChar * str1, 
    const xmlChar * str2,
    int len)
    -

    a strncmp for xmlChar's

    -
    str1:the first xmlChar *
    str2:the second xmlChar *
    len:the max comparison length
    Returns:the integer result of the comparison

    Function: xmlStrndup

    xmlChar *	xmlStrndup		(const xmlChar * cur, 
    int len)
    -

    a strndup for array of xmlChar's

    -
    cur:the input xmlChar *
    len:the len of @cur
    Returns:a new xmlChar * or NULL

    Function: xmlStrstr

    const xmlChar *	xmlStrstr		(const xmlChar * str, 
    const xmlChar * val)
    -

    a strstr for xmlChar's

    -
    str:the xmlChar * array (haystack)
    val:the xmlChar to search (needle)
    Returns:the xmlChar * for the first occurrence or NULL.

    Function: xmlStrsub

    xmlChar *	xmlStrsub		(const xmlChar * str, 
    int start,
    int len)
    -

    Extract a substring of a given string

    -
    str:the xmlChar * array (haystack)
    start:the index of the first char (zero based)
    len:the length of the substring
    Returns:the xmlChar * for the first occurrence or NULL.

    Function: xmlUTF8Charcmp

    int	xmlUTF8Charcmp			(const xmlChar * utf1, 
    const xmlChar * utf2)
    -

    compares the two UCS4 values

    -
    utf1:pointer to first UTF8 char
    utf2:pointer to second UTF8 char
    Returns:result of the compare as with xmlStrncmp

    Function: xmlUTF8Size

    int	xmlUTF8Size			(const xmlChar * utf)
    -

    calculates the internal size of a UTF8 character

    -
    utf:pointer to the UTF8 character
    Returns:the numbers of bytes in the character, -1 on format error

    Function: xmlUTF8Strlen

    int	xmlUTF8Strlen			(const xmlChar * utf)
    -

    compute the length of an UTF8 string, it doesn't do a full UTF8 checking of the content of the string.

    -
    utf:a sequence of UTF-8 encoded bytes
    Returns:the number of characters in the string or -1 in case of error

    Function: xmlUTF8Strloc

    int	xmlUTF8Strloc			(const xmlChar * utf, 
    const xmlChar * utfchar)
    -

    a function to provide the relative location of a UTF8 char

    -
    utf:the input UTF8 *
    utfchar:the UTF8 character to be found
    Returns:the relative character position of the desired char or -1 if not found

    Function: xmlUTF8Strndup

    xmlChar *	xmlUTF8Strndup		(const xmlChar * utf, 
    int len)
    -

    a strndup for array of UTF8's

    -
    utf:the input UTF8 *
    len:the len of @utf (in chars)
    Returns:a new UTF8 * or NULL

    Function: xmlUTF8Strpos

    const xmlChar *	xmlUTF8Strpos		(const xmlChar * utf, 
    int pos)
    -

    a function to provide the equivalent of fetching a character from a string array

    -
    utf:the input UTF8 *
    pos:the position of the desired UTF8 char (in chars)
    Returns:a pointer to the UTF8 character or NULL

    Function: xmlUTF8Strsize

    int	xmlUTF8Strsize			(const xmlChar * utf, 
    int len)
    -

    storage size of an UTF8 string the behaviour is not garanteed if the input string is not UTF-8

    -
    utf:a sequence of UTF-8 encoded bytes
    len:the number of characters in the array
    Returns:the storage size of the first 'len' characters of ARRAY

    Function: xmlUTF8Strsub

    xmlChar *	xmlUTF8Strsub		(const xmlChar * utf, 
    int start,
    int len)
    -

    Create a substring from a given UTF-8 string Note: positions are given in units of UTF-8 chars

    -
    utf:a sequence of UTF-8 encoded bytes
    start:relative pos of first char
    len:total number to copy
    Returns:a pointer to a newly created string or NULL if any problem

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlunicode.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlunicode.html deleted file mode 100644 index 87094ee..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlunicode.html +++ /dev/null @@ -1,512 +0,0 @@ - - -Module xmlunicode from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlunicode from libxml2

    API Menu
    API Indexes
    Related links

    API for the Unicode character APIs This file is automatically generated from the UCS description files of the Unicode Character Database

    Table of Contents

    int	xmlUCSIsAegeanNumbers		(int code)
    -
    int	xmlUCSIsAlphabeticPresentationForms	(int code)
    -
    int	xmlUCSIsArabic			(int code)
    -
    int	xmlUCSIsArabicPresentationFormsA	(int code)
    -
    int	xmlUCSIsArabicPresentationFormsB	(int code)
    -
    int	xmlUCSIsArmenian		(int code)
    -
    int	xmlUCSIsArrows			(int code)
    -
    int	xmlUCSIsBasicLatin		(int code)
    -
    int	xmlUCSIsBengali			(int code)
    -
    int	xmlUCSIsBlock			(int code, 
    const char * block)
    -
    int	xmlUCSIsBlockElements		(int code)
    -
    int	xmlUCSIsBopomofo		(int code)
    -
    int	xmlUCSIsBopomofoExtended	(int code)
    -
    int	xmlUCSIsBoxDrawing		(int code)
    -
    int	xmlUCSIsBraillePatterns		(int code)
    -
    int	xmlUCSIsBuhid			(int code)
    -
    int	xmlUCSIsByzantineMusicalSymbols	(int code)
    -
    int	xmlUCSIsCJKCompatibility	(int code)
    -
    int	xmlUCSIsCJKCompatibilityForms	(int code)
    -
    int	xmlUCSIsCJKCompatibilityIdeographs	(int code)
    -
    int	xmlUCSIsCJKCompatibilityIdeographsSupplement	(int code)
    -
    int	xmlUCSIsCJKRadicalsSupplement	(int code)
    -
    int	xmlUCSIsCJKSymbolsandPunctuation	(int code)
    -
    int	xmlUCSIsCJKUnifiedIdeographs	(int code)
    -
    int	xmlUCSIsCJKUnifiedIdeographsExtensionA	(int code)
    -
    int	xmlUCSIsCJKUnifiedIdeographsExtensionB	(int code)
    -
    int	xmlUCSIsCat			(int code, 
    const char * cat)
    -
    int	xmlUCSIsCatC			(int code)
    -
    int	xmlUCSIsCatCc			(int code)
    -
    int	xmlUCSIsCatCf			(int code)
    -
    int	xmlUCSIsCatCo			(int code)
    -
    int	xmlUCSIsCatCs			(int code)
    -
    int	xmlUCSIsCatL			(int code)
    -
    int	xmlUCSIsCatLl			(int code)
    -
    int	xmlUCSIsCatLm			(int code)
    -
    int	xmlUCSIsCatLo			(int code)
    -
    int	xmlUCSIsCatLt			(int code)
    -
    int	xmlUCSIsCatLu			(int code)
    -
    int	xmlUCSIsCatM			(int code)
    -
    int	xmlUCSIsCatMc			(int code)
    -
    int	xmlUCSIsCatMe			(int code)
    -
    int	xmlUCSIsCatMn			(int code)
    -
    int	xmlUCSIsCatN			(int code)
    -
    int	xmlUCSIsCatNd			(int code)
    -
    int	xmlUCSIsCatNl			(int code)
    -
    int	xmlUCSIsCatNo			(int code)
    -
    int	xmlUCSIsCatP			(int code)
    -
    int	xmlUCSIsCatPc			(int code)
    -
    int	xmlUCSIsCatPd			(int code)
    -
    int	xmlUCSIsCatPe			(int code)
    -
    int	xmlUCSIsCatPf			(int code)
    -
    int	xmlUCSIsCatPi			(int code)
    -
    int	xmlUCSIsCatPo			(int code)
    -
    int	xmlUCSIsCatPs			(int code)
    -
    int	xmlUCSIsCatS			(int code)
    -
    int	xmlUCSIsCatSc			(int code)
    -
    int	xmlUCSIsCatSk			(int code)
    -
    int	xmlUCSIsCatSm			(int code)
    -
    int	xmlUCSIsCatSo			(int code)
    -
    int	xmlUCSIsCatZ			(int code)
    -
    int	xmlUCSIsCatZl			(int code)
    -
    int	xmlUCSIsCatZp			(int code)
    -
    int	xmlUCSIsCatZs			(int code)
    -
    int	xmlUCSIsCherokee		(int code)
    -
    int	xmlUCSIsCombiningDiacriticalMarks	(int code)
    -
    int	xmlUCSIsCombiningDiacriticalMarksforSymbols	(int code)
    -
    int	xmlUCSIsCombiningHalfMarks	(int code)
    -
    int	xmlUCSIsCombiningMarksforSymbols	(int code)
    -
    int	xmlUCSIsControlPictures		(int code)
    -
    int	xmlUCSIsCurrencySymbols		(int code)
    -
    int	xmlUCSIsCypriotSyllabary	(int code)
    -
    int	xmlUCSIsCyrillic		(int code)
    -
    int	xmlUCSIsCyrillicSupplement	(int code)
    -
    int	xmlUCSIsDeseret			(int code)
    -
    int	xmlUCSIsDevanagari		(int code)
    -
    int	xmlUCSIsDingbats		(int code)
    -
    int	xmlUCSIsEnclosedAlphanumerics	(int code)
    -
    int	xmlUCSIsEnclosedCJKLettersandMonths	(int code)
    -
    int	xmlUCSIsEthiopic		(int code)
    -
    int	xmlUCSIsGeneralPunctuation	(int code)
    -
    int	xmlUCSIsGeometricShapes		(int code)
    -
    int	xmlUCSIsGeorgian		(int code)
    -
    int	xmlUCSIsGothic			(int code)
    -
    int	xmlUCSIsGreek			(int code)
    -
    int	xmlUCSIsGreekExtended		(int code)
    -
    int	xmlUCSIsGreekandCoptic		(int code)
    -
    int	xmlUCSIsGujarati		(int code)
    -
    int	xmlUCSIsGurmukhi		(int code)
    -
    int	xmlUCSIsHalfwidthandFullwidthForms	(int code)
    -
    int	xmlUCSIsHangulCompatibilityJamo	(int code)
    -
    int	xmlUCSIsHangulJamo		(int code)
    -
    int	xmlUCSIsHangulSyllables		(int code)
    -
    int	xmlUCSIsHanunoo			(int code)
    -
    int	xmlUCSIsHebrew			(int code)
    -
    int	xmlUCSIsHighPrivateUseSurrogates	(int code)
    -
    int	xmlUCSIsHighSurrogates		(int code)
    -
    int	xmlUCSIsHiragana		(int code)
    -
    int	xmlUCSIsIPAExtensions		(int code)
    -
    int	xmlUCSIsIdeographicDescriptionCharacters	(int code)
    -
    int	xmlUCSIsKanbun			(int code)
    -
    int	xmlUCSIsKangxiRadicals		(int code)
    -
    int	xmlUCSIsKannada			(int code)
    -
    int	xmlUCSIsKatakana		(int code)
    -
    int	xmlUCSIsKatakanaPhoneticExtensions	(int code)
    -
    int	xmlUCSIsKhmer			(int code)
    -
    int	xmlUCSIsKhmerSymbols		(int code)
    -
    int	xmlUCSIsLao			(int code)
    -
    int	xmlUCSIsLatin1Supplement	(int code)
    -
    int	xmlUCSIsLatinExtendedA		(int code)
    -
    int	xmlUCSIsLatinExtendedAdditional	(int code)
    -
    int	xmlUCSIsLatinExtendedB		(int code)
    -
    int	xmlUCSIsLetterlikeSymbols	(int code)
    -
    int	xmlUCSIsLimbu			(int code)
    -
    int	xmlUCSIsLinearBIdeograms	(int code)
    -
    int	xmlUCSIsLinearBSyllabary	(int code)
    -
    int	xmlUCSIsLowSurrogates		(int code)
    -
    int	xmlUCSIsMalayalam		(int code)
    -
    int	xmlUCSIsMathematicalAlphanumericSymbols	(int code)
    -
    int	xmlUCSIsMathematicalOperators	(int code)
    -
    int	xmlUCSIsMiscellaneousMathematicalSymbolsA	(int code)
    -
    int	xmlUCSIsMiscellaneousMathematicalSymbolsB	(int code)
    -
    int	xmlUCSIsMiscellaneousSymbols	(int code)
    -
    int	xmlUCSIsMiscellaneousSymbolsandArrows	(int code)
    -
    int	xmlUCSIsMiscellaneousTechnical	(int code)
    -
    int	xmlUCSIsMongolian		(int code)
    -
    int	xmlUCSIsMusicalSymbols		(int code)
    -
    int	xmlUCSIsMyanmar			(int code)
    -
    int	xmlUCSIsNumberForms		(int code)
    -
    int	xmlUCSIsOgham			(int code)
    -
    int	xmlUCSIsOldItalic		(int code)
    -
    int	xmlUCSIsOpticalCharacterRecognition	(int code)
    -
    int	xmlUCSIsOriya			(int code)
    -
    int	xmlUCSIsOsmanya			(int code)
    -
    int	xmlUCSIsPhoneticExtensions	(int code)
    -
    int	xmlUCSIsPrivateUse		(int code)
    -
    int	xmlUCSIsPrivateUseArea		(int code)
    -
    int	xmlUCSIsRunic			(int code)
    -
    int	xmlUCSIsShavian			(int code)
    -
    int	xmlUCSIsSinhala			(int code)
    -
    int	xmlUCSIsSmallFormVariants	(int code)
    -
    int	xmlUCSIsSpacingModifierLetters	(int code)
    -
    int	xmlUCSIsSpecials		(int code)
    -
    int	xmlUCSIsSuperscriptsandSubscripts	(int code)
    -
    int	xmlUCSIsSupplementalArrowsA	(int code)
    -
    int	xmlUCSIsSupplementalArrowsB	(int code)
    -
    int	xmlUCSIsSupplementalMathematicalOperators	(int code)
    -
    int	xmlUCSIsSupplementaryPrivateUseAreaA	(int code)
    -
    int	xmlUCSIsSupplementaryPrivateUseAreaB	(int code)
    -
    int	xmlUCSIsSyriac			(int code)
    -
    int	xmlUCSIsTagalog			(int code)
    -
    int	xmlUCSIsTagbanwa		(int code)
    -
    int	xmlUCSIsTags			(int code)
    -
    int	xmlUCSIsTaiLe			(int code)
    -
    int	xmlUCSIsTaiXuanJingSymbols	(int code)
    -
    int	xmlUCSIsTamil			(int code)
    -
    int	xmlUCSIsTelugu			(int code)
    -
    int	xmlUCSIsThaana			(int code)
    -
    int	xmlUCSIsThai			(int code)
    -
    int	xmlUCSIsTibetan			(int code)
    -
    int	xmlUCSIsUgaritic		(int code)
    -
    int	xmlUCSIsUnifiedCanadianAboriginalSyllabics	(int code)
    -
    int	xmlUCSIsVariationSelectors	(int code)
    -
    int	xmlUCSIsVariationSelectorsSupplement	(int code)
    -
    int	xmlUCSIsYiRadicals		(int code)
    -
    int	xmlUCSIsYiSyllables		(int code)
    -
    int	xmlUCSIsYijingHexagramSymbols	(int code)
    -

    Description

    -

    Function: xmlUCSIsAegeanNumbers

    int	xmlUCSIsAegeanNumbers		(int code)
    -

    Check whether the character is part of AegeanNumbers UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsAlphabeticPresentationForms

    int	xmlUCSIsAlphabeticPresentationForms	(int code)
    -

    Check whether the character is part of AlphabeticPresentationForms UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsArabic

    int	xmlUCSIsArabic			(int code)
    -

    Check whether the character is part of Arabic UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsArabicPresentationFormsA

    int	xmlUCSIsArabicPresentationFormsA	(int code)
    -

    Check whether the character is part of ArabicPresentationForms-A UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsArabicPresentationFormsB

    int	xmlUCSIsArabicPresentationFormsB	(int code)
    -

    Check whether the character is part of ArabicPresentationForms-B UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsArmenian

    int	xmlUCSIsArmenian		(int code)
    -

    Check whether the character is part of Armenian UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsArrows

    int	xmlUCSIsArrows			(int code)
    -

    Check whether the character is part of Arrows UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsBasicLatin

    int	xmlUCSIsBasicLatin		(int code)
    -

    Check whether the character is part of BasicLatin UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsBengali

    int	xmlUCSIsBengali			(int code)
    -

    Check whether the character is part of Bengali UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsBlock

    int	xmlUCSIsBlock			(int code, 
    const char * block)
    -

    Check whether the character is part of the UCS Block

    -
    code:UCS code point
    block:UCS block name
    Returns:1 if true, 0 if false and -1 on unknown block

    Function: xmlUCSIsBlockElements

    int	xmlUCSIsBlockElements		(int code)
    -

    Check whether the character is part of BlockElements UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsBopomofo

    int	xmlUCSIsBopomofo		(int code)
    -

    Check whether the character is part of Bopomofo UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsBopomofoExtended

    int	xmlUCSIsBopomofoExtended	(int code)
    -

    Check whether the character is part of BopomofoExtended UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsBoxDrawing

    int	xmlUCSIsBoxDrawing		(int code)
    -

    Check whether the character is part of BoxDrawing UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsBraillePatterns

    int	xmlUCSIsBraillePatterns		(int code)
    -

    Check whether the character is part of BraillePatterns UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsBuhid

    int	xmlUCSIsBuhid			(int code)
    -

    Check whether the character is part of Buhid UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsByzantineMusicalSymbols

    int	xmlUCSIsByzantineMusicalSymbols	(int code)
    -

    Check whether the character is part of ByzantineMusicalSymbols UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKCompatibility

    int	xmlUCSIsCJKCompatibility	(int code)
    -

    Check whether the character is part of CJKCompatibility UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKCompatibilityForms

    int	xmlUCSIsCJKCompatibilityForms	(int code)
    -

    Check whether the character is part of CJKCompatibilityForms UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKCompatibilityIdeographs

    int	xmlUCSIsCJKCompatibilityIdeographs	(int code)
    -

    Check whether the character is part of CJKCompatibilityIdeographs UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKCompatibilityIdeographsSupplement

    int	xmlUCSIsCJKCompatibilityIdeographsSupplement	(int code)
    -

    Check whether the character is part of CJKCompatibilityIdeographsSupplement UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKRadicalsSupplement

    int	xmlUCSIsCJKRadicalsSupplement	(int code)
    -

    Check whether the character is part of CJKRadicalsSupplement UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKSymbolsandPunctuation

    int	xmlUCSIsCJKSymbolsandPunctuation	(int code)
    -

    Check whether the character is part of CJKSymbolsandPunctuation UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKUnifiedIdeographs

    int	xmlUCSIsCJKUnifiedIdeographs	(int code)
    -

    Check whether the character is part of CJKUnifiedIdeographs UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKUnifiedIdeographsExtensionA

    int	xmlUCSIsCJKUnifiedIdeographsExtensionA	(int code)
    -

    Check whether the character is part of CJKUnifiedIdeographsExtensionA UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKUnifiedIdeographsExtensionB

    int	xmlUCSIsCJKUnifiedIdeographsExtensionB	(int code)
    -

    Check whether the character is part of CJKUnifiedIdeographsExtensionB UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCat

    int	xmlUCSIsCat			(int code, 
    const char * cat)
    -

    Check whether the character is part of the UCS Category

    -
    code:UCS code point
    cat:UCS Category name
    Returns:1 if true, 0 if false and -1 on unknown category

    Function: xmlUCSIsCatC

    int	xmlUCSIsCatC			(int code)
    -

    Check whether the character is part of C UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatCc

    int	xmlUCSIsCatCc			(int code)
    -

    Check whether the character is part of Cc UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatCf

    int	xmlUCSIsCatCf			(int code)
    -

    Check whether the character is part of Cf UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatCo

    int	xmlUCSIsCatCo			(int code)
    -

    Check whether the character is part of Co UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatCs

    int	xmlUCSIsCatCs			(int code)
    -

    Check whether the character is part of Cs UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatL

    int	xmlUCSIsCatL			(int code)
    -

    Check whether the character is part of L UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatLl

    int	xmlUCSIsCatLl			(int code)
    -

    Check whether the character is part of Ll UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatLm

    int	xmlUCSIsCatLm			(int code)
    -

    Check whether the character is part of Lm UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatLo

    int	xmlUCSIsCatLo			(int code)
    -

    Check whether the character is part of Lo UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatLt

    int	xmlUCSIsCatLt			(int code)
    -

    Check whether the character is part of Lt UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatLu

    int	xmlUCSIsCatLu			(int code)
    -

    Check whether the character is part of Lu UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatM

    int	xmlUCSIsCatM			(int code)
    -

    Check whether the character is part of M UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatMc

    int	xmlUCSIsCatMc			(int code)
    -

    Check whether the character is part of Mc UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatMe

    int	xmlUCSIsCatMe			(int code)
    -

    Check whether the character is part of Me UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatMn

    int	xmlUCSIsCatMn			(int code)
    -

    Check whether the character is part of Mn UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatN

    int	xmlUCSIsCatN			(int code)
    -

    Check whether the character is part of N UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatNd

    int	xmlUCSIsCatNd			(int code)
    -

    Check whether the character is part of Nd UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatNl

    int	xmlUCSIsCatNl			(int code)
    -

    Check whether the character is part of Nl UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatNo

    int	xmlUCSIsCatNo			(int code)
    -

    Check whether the character is part of No UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatP

    int	xmlUCSIsCatP			(int code)
    -

    Check whether the character is part of P UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatPc

    int	xmlUCSIsCatPc			(int code)
    -

    Check whether the character is part of Pc UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatPd

    int	xmlUCSIsCatPd			(int code)
    -

    Check whether the character is part of Pd UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatPe

    int	xmlUCSIsCatPe			(int code)
    -

    Check whether the character is part of Pe UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatPf

    int	xmlUCSIsCatPf			(int code)
    -

    Check whether the character is part of Pf UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatPi

    int	xmlUCSIsCatPi			(int code)
    -

    Check whether the character is part of Pi UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatPo

    int	xmlUCSIsCatPo			(int code)
    -

    Check whether the character is part of Po UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatPs

    int	xmlUCSIsCatPs			(int code)
    -

    Check whether the character is part of Ps UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatS

    int	xmlUCSIsCatS			(int code)
    -

    Check whether the character is part of S UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatSc

    int	xmlUCSIsCatSc			(int code)
    -

    Check whether the character is part of Sc UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatSk

    int	xmlUCSIsCatSk			(int code)
    -

    Check whether the character is part of Sk UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatSm

    int	xmlUCSIsCatSm			(int code)
    -

    Check whether the character is part of Sm UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatSo

    int	xmlUCSIsCatSo			(int code)
    -

    Check whether the character is part of So UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatZ

    int	xmlUCSIsCatZ			(int code)
    -

    Check whether the character is part of Z UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatZl

    int	xmlUCSIsCatZl			(int code)
    -

    Check whether the character is part of Zl UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatZp

    int	xmlUCSIsCatZp			(int code)
    -

    Check whether the character is part of Zp UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatZs

    int	xmlUCSIsCatZs			(int code)
    -

    Check whether the character is part of Zs UCS Category

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCherokee

    int	xmlUCSIsCherokee		(int code)
    -

    Check whether the character is part of Cherokee UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCombiningDiacriticalMarks

    int	xmlUCSIsCombiningDiacriticalMarks	(int code)
    -

    Check whether the character is part of CombiningDiacriticalMarks UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCombiningDiacriticalMarksforSymbols

    int	xmlUCSIsCombiningDiacriticalMarksforSymbols	(int code)
    -

    Check whether the character is part of CombiningDiacriticalMarksforSymbols UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCombiningHalfMarks

    int	xmlUCSIsCombiningHalfMarks	(int code)
    -

    Check whether the character is part of CombiningHalfMarks UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCombiningMarksforSymbols

    int	xmlUCSIsCombiningMarksforSymbols	(int code)
    -

    Check whether the character is part of CombiningMarksforSymbols UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsControlPictures

    int	xmlUCSIsControlPictures		(int code)
    -

    Check whether the character is part of ControlPictures UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCurrencySymbols

    int	xmlUCSIsCurrencySymbols		(int code)
    -

    Check whether the character is part of CurrencySymbols UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCypriotSyllabary

    int	xmlUCSIsCypriotSyllabary	(int code)
    -

    Check whether the character is part of CypriotSyllabary UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCyrillic

    int	xmlUCSIsCyrillic		(int code)
    -

    Check whether the character is part of Cyrillic UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCyrillicSupplement

    int	xmlUCSIsCyrillicSupplement	(int code)
    -

    Check whether the character is part of CyrillicSupplement UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsDeseret

    int	xmlUCSIsDeseret			(int code)
    -

    Check whether the character is part of Deseret UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsDevanagari

    int	xmlUCSIsDevanagari		(int code)
    -

    Check whether the character is part of Devanagari UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsDingbats

    int	xmlUCSIsDingbats		(int code)
    -

    Check whether the character is part of Dingbats UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsEnclosedAlphanumerics

    int	xmlUCSIsEnclosedAlphanumerics	(int code)
    -

    Check whether the character is part of EnclosedAlphanumerics UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsEnclosedCJKLettersandMonths

    int	xmlUCSIsEnclosedCJKLettersandMonths	(int code)
    -

    Check whether the character is part of EnclosedCJKLettersandMonths UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsEthiopic

    int	xmlUCSIsEthiopic		(int code)
    -

    Check whether the character is part of Ethiopic UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGeneralPunctuation

    int	xmlUCSIsGeneralPunctuation	(int code)
    -

    Check whether the character is part of GeneralPunctuation UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGeometricShapes

    int	xmlUCSIsGeometricShapes		(int code)
    -

    Check whether the character is part of GeometricShapes UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGeorgian

    int	xmlUCSIsGeorgian		(int code)
    -

    Check whether the character is part of Georgian UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGothic

    int	xmlUCSIsGothic			(int code)
    -

    Check whether the character is part of Gothic UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGreek

    int	xmlUCSIsGreek			(int code)
    -

    Check whether the character is part of Greek UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGreekExtended

    int	xmlUCSIsGreekExtended		(int code)
    -

    Check whether the character is part of GreekExtended UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGreekandCoptic

    int	xmlUCSIsGreekandCoptic		(int code)
    -

    Check whether the character is part of GreekandCoptic UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGujarati

    int	xmlUCSIsGujarati		(int code)
    -

    Check whether the character is part of Gujarati UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGurmukhi

    int	xmlUCSIsGurmukhi		(int code)
    -

    Check whether the character is part of Gurmukhi UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHalfwidthandFullwidthForms

    int	xmlUCSIsHalfwidthandFullwidthForms	(int code)
    -

    Check whether the character is part of HalfwidthandFullwidthForms UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHangulCompatibilityJamo

    int	xmlUCSIsHangulCompatibilityJamo	(int code)
    -

    Check whether the character is part of HangulCompatibilityJamo UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHangulJamo

    int	xmlUCSIsHangulJamo		(int code)
    -

    Check whether the character is part of HangulJamo UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHangulSyllables

    int	xmlUCSIsHangulSyllables		(int code)
    -

    Check whether the character is part of HangulSyllables UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHanunoo

    int	xmlUCSIsHanunoo			(int code)
    -

    Check whether the character is part of Hanunoo UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHebrew

    int	xmlUCSIsHebrew			(int code)
    -

    Check whether the character is part of Hebrew UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHighPrivateUseSurrogates

    int	xmlUCSIsHighPrivateUseSurrogates	(int code)
    -

    Check whether the character is part of HighPrivateUseSurrogates UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHighSurrogates

    int	xmlUCSIsHighSurrogates		(int code)
    -

    Check whether the character is part of HighSurrogates UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHiragana

    int	xmlUCSIsHiragana		(int code)
    -

    Check whether the character is part of Hiragana UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsIPAExtensions

    int	xmlUCSIsIPAExtensions		(int code)
    -

    Check whether the character is part of IPAExtensions UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsIdeographicDescriptionCharacters

    int	xmlUCSIsIdeographicDescriptionCharacters	(int code)
    -

    Check whether the character is part of IdeographicDescriptionCharacters UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsKanbun

    int	xmlUCSIsKanbun			(int code)
    -

    Check whether the character is part of Kanbun UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsKangxiRadicals

    int	xmlUCSIsKangxiRadicals		(int code)
    -

    Check whether the character is part of KangxiRadicals UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsKannada

    int	xmlUCSIsKannada			(int code)
    -

    Check whether the character is part of Kannada UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsKatakana

    int	xmlUCSIsKatakana		(int code)
    -

    Check whether the character is part of Katakana UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsKatakanaPhoneticExtensions

    int	xmlUCSIsKatakanaPhoneticExtensions	(int code)
    -

    Check whether the character is part of KatakanaPhoneticExtensions UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsKhmer

    int	xmlUCSIsKhmer			(int code)
    -

    Check whether the character is part of Khmer UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsKhmerSymbols

    int	xmlUCSIsKhmerSymbols		(int code)
    -

    Check whether the character is part of KhmerSymbols UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLao

    int	xmlUCSIsLao			(int code)
    -

    Check whether the character is part of Lao UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLatin1Supplement

    int	xmlUCSIsLatin1Supplement	(int code)
    -

    Check whether the character is part of Latin-1Supplement UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLatinExtendedA

    int	xmlUCSIsLatinExtendedA		(int code)
    -

    Check whether the character is part of LatinExtended-A UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLatinExtendedAdditional

    int	xmlUCSIsLatinExtendedAdditional	(int code)
    -

    Check whether the character is part of LatinExtendedAdditional UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLatinExtendedB

    int	xmlUCSIsLatinExtendedB		(int code)
    -

    Check whether the character is part of LatinExtended-B UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLetterlikeSymbols

    int	xmlUCSIsLetterlikeSymbols	(int code)
    -

    Check whether the character is part of LetterlikeSymbols UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLimbu

    int	xmlUCSIsLimbu			(int code)
    -

    Check whether the character is part of Limbu UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLinearBIdeograms

    int	xmlUCSIsLinearBIdeograms	(int code)
    -

    Check whether the character is part of LinearBIdeograms UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLinearBSyllabary

    int	xmlUCSIsLinearBSyllabary	(int code)
    -

    Check whether the character is part of LinearBSyllabary UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLowSurrogates

    int	xmlUCSIsLowSurrogates		(int code)
    -

    Check whether the character is part of LowSurrogates UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMalayalam

    int	xmlUCSIsMalayalam		(int code)
    -

    Check whether the character is part of Malayalam UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMathematicalAlphanumericSymbols

    int	xmlUCSIsMathematicalAlphanumericSymbols	(int code)
    -

    Check whether the character is part of MathematicalAlphanumericSymbols UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMathematicalOperators

    int	xmlUCSIsMathematicalOperators	(int code)
    -

    Check whether the character is part of MathematicalOperators UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMiscellaneousMathematicalSymbolsA

    int	xmlUCSIsMiscellaneousMathematicalSymbolsA	(int code)
    -

    Check whether the character is part of MiscellaneousMathematicalSymbols-A UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMiscellaneousMathematicalSymbolsB

    int	xmlUCSIsMiscellaneousMathematicalSymbolsB	(int code)
    -

    Check whether the character is part of MiscellaneousMathematicalSymbols-B UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMiscellaneousSymbols

    int	xmlUCSIsMiscellaneousSymbols	(int code)
    -

    Check whether the character is part of MiscellaneousSymbols UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMiscellaneousSymbolsandArrows

    int	xmlUCSIsMiscellaneousSymbolsandArrows	(int code)
    -

    Check whether the character is part of MiscellaneousSymbolsandArrows UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMiscellaneousTechnical

    int	xmlUCSIsMiscellaneousTechnical	(int code)
    -

    Check whether the character is part of MiscellaneousTechnical UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMongolian

    int	xmlUCSIsMongolian		(int code)
    -

    Check whether the character is part of Mongolian UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMusicalSymbols

    int	xmlUCSIsMusicalSymbols		(int code)
    -

    Check whether the character is part of MusicalSymbols UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMyanmar

    int	xmlUCSIsMyanmar			(int code)
    -

    Check whether the character is part of Myanmar UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsNumberForms

    int	xmlUCSIsNumberForms		(int code)
    -

    Check whether the character is part of NumberForms UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsOgham

    int	xmlUCSIsOgham			(int code)
    -

    Check whether the character is part of Ogham UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsOldItalic

    int	xmlUCSIsOldItalic		(int code)
    -

    Check whether the character is part of OldItalic UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsOpticalCharacterRecognition

    int	xmlUCSIsOpticalCharacterRecognition	(int code)
    -

    Check whether the character is part of OpticalCharacterRecognition UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsOriya

    int	xmlUCSIsOriya			(int code)
    -

    Check whether the character is part of Oriya UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsOsmanya

    int	xmlUCSIsOsmanya			(int code)
    -

    Check whether the character is part of Osmanya UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsPhoneticExtensions

    int	xmlUCSIsPhoneticExtensions	(int code)
    -

    Check whether the character is part of PhoneticExtensions UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsPrivateUse

    int	xmlUCSIsPrivateUse		(int code)
    -

    Check whether the character is part of PrivateUse UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsPrivateUseArea

    int	xmlUCSIsPrivateUseArea		(int code)
    -

    Check whether the character is part of PrivateUseArea UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsRunic

    int	xmlUCSIsRunic			(int code)
    -

    Check whether the character is part of Runic UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsShavian

    int	xmlUCSIsShavian			(int code)
    -

    Check whether the character is part of Shavian UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSinhala

    int	xmlUCSIsSinhala			(int code)
    -

    Check whether the character is part of Sinhala UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSmallFormVariants

    int	xmlUCSIsSmallFormVariants	(int code)
    -

    Check whether the character is part of SmallFormVariants UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSpacingModifierLetters

    int	xmlUCSIsSpacingModifierLetters	(int code)
    -

    Check whether the character is part of SpacingModifierLetters UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSpecials

    int	xmlUCSIsSpecials		(int code)
    -

    Check whether the character is part of Specials UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSuperscriptsandSubscripts

    int	xmlUCSIsSuperscriptsandSubscripts	(int code)
    -

    Check whether the character is part of SuperscriptsandSubscripts UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSupplementalArrowsA

    int	xmlUCSIsSupplementalArrowsA	(int code)
    -

    Check whether the character is part of SupplementalArrows-A UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSupplementalArrowsB

    int	xmlUCSIsSupplementalArrowsB	(int code)
    -

    Check whether the character is part of SupplementalArrows-B UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSupplementalMathematicalOperators

    int	xmlUCSIsSupplementalMathematicalOperators	(int code)
    -

    Check whether the character is part of SupplementalMathematicalOperators UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSupplementaryPrivateUseAreaA

    int	xmlUCSIsSupplementaryPrivateUseAreaA	(int code)
    -

    Check whether the character is part of SupplementaryPrivateUseArea-A UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSupplementaryPrivateUseAreaB

    int	xmlUCSIsSupplementaryPrivateUseAreaB	(int code)
    -

    Check whether the character is part of SupplementaryPrivateUseArea-B UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSyriac

    int	xmlUCSIsSyriac			(int code)
    -

    Check whether the character is part of Syriac UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsTagalog

    int	xmlUCSIsTagalog			(int code)
    -

    Check whether the character is part of Tagalog UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsTagbanwa

    int	xmlUCSIsTagbanwa		(int code)
    -

    Check whether the character is part of Tagbanwa UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsTags

    int	xmlUCSIsTags			(int code)
    -

    Check whether the character is part of Tags UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsTaiLe

    int	xmlUCSIsTaiLe			(int code)
    -

    Check whether the character is part of TaiLe UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsTaiXuanJingSymbols

    int	xmlUCSIsTaiXuanJingSymbols	(int code)
    -

    Check whether the character is part of TaiXuanJingSymbols UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsTamil

    int	xmlUCSIsTamil			(int code)
    -

    Check whether the character is part of Tamil UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsTelugu

    int	xmlUCSIsTelugu			(int code)
    -

    Check whether the character is part of Telugu UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsThaana

    int	xmlUCSIsThaana			(int code)
    -

    Check whether the character is part of Thaana UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsThai

    int	xmlUCSIsThai			(int code)
    -

    Check whether the character is part of Thai UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsTibetan

    int	xmlUCSIsTibetan			(int code)
    -

    Check whether the character is part of Tibetan UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsUgaritic

    int	xmlUCSIsUgaritic		(int code)
    -

    Check whether the character is part of Ugaritic UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsUnifiedCanadianAboriginalSyllabics

    int	xmlUCSIsUnifiedCanadianAboriginalSyllabics	(int code)
    -

    Check whether the character is part of UnifiedCanadianAboriginalSyllabics UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsVariationSelectors

    int	xmlUCSIsVariationSelectors	(int code)
    -

    Check whether the character is part of VariationSelectors UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsVariationSelectorsSupplement

    int	xmlUCSIsVariationSelectorsSupplement	(int code)
    -

    Check whether the character is part of VariationSelectorsSupplement UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsYiRadicals

    int	xmlUCSIsYiRadicals		(int code)
    -

    Check whether the character is part of YiRadicals UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsYiSyllables

    int	xmlUCSIsYiSyllables		(int code)
    -

    Check whether the character is part of YiSyllables UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsYijingHexagramSymbols

    int	xmlUCSIsYijingHexagramSymbols	(int code)
    -

    Check whether the character is part of YijingHexagramSymbols UCS Block

    -
    code:UCS code point
    Returns:1 if true 0 otherwise

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlversion.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlversion.html deleted file mode 100644 index 2da967c..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlversion.html +++ /dev/null @@ -1,62 +0,0 @@ - - -Module xmlversion from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlversion from libxml2

    API Menu
    API Indexes
    Related links

    compile-time version informations for the XML library

    Table of Contents

    #define ATTRIBUTE_UNUSED
    #define DEBUG_MEMORY_LOCATION
    #define LIBXML_ATTR_ALLOC_SIZE
    #define LIBXML_ATTR_FORMAT
    #define LIBXML_AUTOMATA_ENABLED
    #define LIBXML_C14N_ENABLED
    #define LIBXML_CATALOG_ENABLED
    #define LIBXML_DEBUG_ENABLED
    #define LIBXML_DEBUG_RUNTIME
    #define LIBXML_DOCB_ENABLED
    #define LIBXML_DOTTED_VERSION
    #define LIBXML_EXPR_ENABLED
    #define LIBXML_FTP_ENABLED
    #define LIBXML_HTML_ENABLED
    #define LIBXML_HTTP_ENABLED
    #define LIBXML_ICONV_ENABLED
    #define LIBXML_ICU_ENABLED
    #define LIBXML_ISO8859X_ENABLED
    #define LIBXML_LEGACY_ENABLED
    #define LIBXML_LZMA_ENABLED
    #define LIBXML_MODULES_ENABLED
    #define LIBXML_MODULE_EXTENSION
    #define LIBXML_OUTPUT_ENABLED
    #define LIBXML_PATTERN_ENABLED
    #define LIBXML_PUSH_ENABLED
    #define LIBXML_READER_ENABLED
    #define LIBXML_REGEXP_ENABLED
    #define LIBXML_SAX1_ENABLED
    #define LIBXML_SCHEMAS_ENABLED
    #define LIBXML_SCHEMATRON_ENABLED
    #define LIBXML_TEST_VERSION
    #define LIBXML_THREAD_ENABLED
    #define LIBXML_TREE_ENABLED
    #define LIBXML_UNICODE_ENABLED
    #define LIBXML_VALID_ENABLED
    #define LIBXML_VERSION
    #define LIBXML_VERSION_EXTRA
    #define LIBXML_VERSION_STRING
    #define LIBXML_WRITER_ENABLED
    #define LIBXML_XINCLUDE_ENABLED
    #define LIBXML_XPATH_ENABLED
    #define LIBXML_XPTR_ENABLED
    #define LIBXML_ZLIB_ENABLED
    #define WITHOUT_TRIO
    #define WITH_TRIO
    void	xmlCheckVersion			(int version)
    -

    Description

    -

    Macro: ATTRIBUTE_UNUSED

    #define ATTRIBUTE_UNUSED

    Macro used to signal to GCC unused function parameters

    -

    Macro: DEBUG_MEMORY_LOCATION

    #define DEBUG_MEMORY_LOCATION

    Whether the memory debugging is configured in

    -

    Macro: LIBXML_ATTR_ALLOC_SIZE

    #define LIBXML_ATTR_ALLOC_SIZE

    Macro used to indicate to GCC this is an allocator function

    -

    Macro: LIBXML_ATTR_FORMAT

    #define LIBXML_ATTR_FORMAT

    Macro used to indicate to GCC the parameter are printf like

    -

    Macro: LIBXML_AUTOMATA_ENABLED

    #define LIBXML_AUTOMATA_ENABLED

    Whether the automata interfaces are compiled in

    -

    Macro: LIBXML_C14N_ENABLED

    #define LIBXML_C14N_ENABLED

    Whether the Canonicalization support is configured in

    -

    Macro: LIBXML_CATALOG_ENABLED

    #define LIBXML_CATALOG_ENABLED

    Whether the Catalog support is configured in

    -

    Macro: LIBXML_DEBUG_ENABLED

    #define LIBXML_DEBUG_ENABLED

    Whether Debugging module is configured in

    -

    Macro: LIBXML_DEBUG_RUNTIME

    #define LIBXML_DEBUG_RUNTIME

    Whether the runtime debugging is configured in

    -

    Macro: LIBXML_DOCB_ENABLED

    #define LIBXML_DOCB_ENABLED

    Whether the SGML Docbook support is configured in

    -

    Macro: LIBXML_DOTTED_VERSION

    #define LIBXML_DOTTED_VERSION

    the version string like "1.2.3"

    -

    Macro: LIBXML_EXPR_ENABLED

    #define LIBXML_EXPR_ENABLED

    Whether the formal expressions interfaces are compiled in

    -

    Macro: LIBXML_FTP_ENABLED

    #define LIBXML_FTP_ENABLED

    Whether the FTP support is configured in

    -

    Macro: LIBXML_HTML_ENABLED

    #define LIBXML_HTML_ENABLED

    Whether the HTML support is configured in

    -

    Macro: LIBXML_HTTP_ENABLED

    #define LIBXML_HTTP_ENABLED

    Whether the HTTP support is configured in

    -

    Macro: LIBXML_ICONV_ENABLED

    #define LIBXML_ICONV_ENABLED

    Whether iconv support is available

    -

    Macro: LIBXML_ICU_ENABLED

    #define LIBXML_ICU_ENABLED

    Whether icu support is available

    -

    Macro: LIBXML_ISO8859X_ENABLED

    #define LIBXML_ISO8859X_ENABLED

    Whether ISO-8859-* support is made available in case iconv is not

    -

    Macro: LIBXML_LEGACY_ENABLED

    #define LIBXML_LEGACY_ENABLED

    Whether the deprecated APIs are compiled in for compatibility

    -

    Macro: LIBXML_LZMA_ENABLED

    #define LIBXML_LZMA_ENABLED

    Whether the Lzma support is compiled in

    -

    Macro: LIBXML_MODULES_ENABLED

    #define LIBXML_MODULES_ENABLED

    Whether the module interfaces are compiled in

    -

    Macro: LIBXML_MODULE_EXTENSION

    #define LIBXML_MODULE_EXTENSION

    the string suffix used by dynamic modules (usually shared libraries)

    -

    Macro: LIBXML_OUTPUT_ENABLED

    #define LIBXML_OUTPUT_ENABLED

    Whether the serialization/saving support is configured in

    -

    Macro: LIBXML_PATTERN_ENABLED

    #define LIBXML_PATTERN_ENABLED

    Whether the xmlPattern node selection interface is configured in

    -

    Macro: LIBXML_PUSH_ENABLED

    #define LIBXML_PUSH_ENABLED

    Whether the push parsing interfaces are configured in

    -

    Macro: LIBXML_READER_ENABLED

    #define LIBXML_READER_ENABLED

    Whether the xmlReader parsing interface is configured in

    -

    Macro: LIBXML_REGEXP_ENABLED

    #define LIBXML_REGEXP_ENABLED

    Whether the regular expressions interfaces are compiled in

    -

    Macro: LIBXML_SAX1_ENABLED

    #define LIBXML_SAX1_ENABLED

    Whether the older SAX1 interface is configured in

    -

    Macro: LIBXML_SCHEMAS_ENABLED

    #define LIBXML_SCHEMAS_ENABLED

    Whether the Schemas validation interfaces are compiled in

    -

    Macro: LIBXML_SCHEMATRON_ENABLED

    #define LIBXML_SCHEMATRON_ENABLED

    Whether the Schematron validation interfaces are compiled in

    -

    Macro: LIBXML_TEST_VERSION

    #define LIBXML_TEST_VERSION

    Macro to check that the libxml version in use is compatible with the version the software has been compiled against

    -

    Macro: LIBXML_THREAD_ENABLED

    #define LIBXML_THREAD_ENABLED

    Whether the thread support is configured in

    -

    Macro: LIBXML_TREE_ENABLED

    #define LIBXML_TREE_ENABLED

    Whether the DOM like tree manipulation API support is configured in

    -

    Macro: LIBXML_UNICODE_ENABLED

    #define LIBXML_UNICODE_ENABLED

    Whether the Unicode related interfaces are compiled in

    -

    Macro: LIBXML_VALID_ENABLED

    #define LIBXML_VALID_ENABLED

    Whether the DTD validation support is configured in

    -

    Macro: LIBXML_VERSION

    #define LIBXML_VERSION

    the version number: 1.2.3 value is 10203

    -

    Macro: LIBXML_VERSION_EXTRA

    #define LIBXML_VERSION_EXTRA

    extra version information, used to show a CVS compilation

    -

    Macro: LIBXML_VERSION_STRING

    #define LIBXML_VERSION_STRING

    the version number string, 1.2.3 value is "10203"

    -

    Macro: LIBXML_WRITER_ENABLED

    #define LIBXML_WRITER_ENABLED

    Whether the xmlWriter saving interface is configured in

    -

    Macro: LIBXML_XINCLUDE_ENABLED

    #define LIBXML_XINCLUDE_ENABLED

    Whether XInclude is configured in

    -

    Macro: LIBXML_XPATH_ENABLED

    #define LIBXML_XPATH_ENABLED

    Whether XPath is configured in

    -

    Macro: LIBXML_XPTR_ENABLED

    #define LIBXML_XPTR_ENABLED

    Whether XPointer is configured in

    -

    Macro: LIBXML_ZLIB_ENABLED

    #define LIBXML_ZLIB_ENABLED

    Whether the Zlib support is compiled in

    -

    Macro: WITHOUT_TRIO

    #define WITHOUT_TRIO

    defined if the trio support should not be configured in

    -

    Macro: WITH_TRIO

    #define WITH_TRIO

    defined if the trio support need to be configured in

    -

    Function: xmlCheckVersion

    void	xmlCheckVersion			(int version)
    -

    check the compiled lib version against the include one. This can warn or immediately kill the application

    -
    version:the include version number

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlwriter.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlwriter.html deleted file mode 100644 index 3fef445..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xmlwriter.html +++ /dev/null @@ -1,258 +0,0 @@ - - -Module xmlwriter from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlwriter from libxml2

    API Menu
    API Indexes
    Related links

    text writing API for XML

    Table of Contents

    #define xmlTextWriterWriteDocType
    #define xmlTextWriterWriteProcessingInstruction
    Structure xmlTextWriter
    struct _xmlTextWriter -The content of this structure is not made public by the API. -
    Typedef xmlTextWriter * xmlTextWriterPtr
    -
    void	xmlFreeTextWriter		(xmlTextWriterPtr writer)
    -
    xmlTextWriterPtr	xmlNewTextWriter	(xmlOutputBufferPtr out)
    -
    xmlTextWriterPtr	xmlNewTextWriterDoc	(xmlDocPtr * doc, 
    int compression)
    -
    xmlTextWriterPtr	xmlNewTextWriterFilename	(const char * uri, 
    int compression)
    -
    xmlTextWriterPtr	xmlNewTextWriterMemory	(xmlBufferPtr buf, 
    int compression)
    -
    xmlTextWriterPtr	xmlNewTextWriterPushParser	(xmlParserCtxtPtr ctxt, 
    int compression)
    -
    xmlTextWriterPtr	xmlNewTextWriterTree	(xmlDocPtr doc, 
    xmlNodePtr node,
    int compression)
    -
    int	xmlTextWriterEndAttribute	(xmlTextWriterPtr writer)
    -
    int	xmlTextWriterEndCDATA		(xmlTextWriterPtr writer)
    -
    int	xmlTextWriterEndComment		(xmlTextWriterPtr writer)
    -
    int	xmlTextWriterEndDTD		(xmlTextWriterPtr writer)
    -
    int	xmlTextWriterEndDTDAttlist	(xmlTextWriterPtr writer)
    -
    int	xmlTextWriterEndDTDElement	(xmlTextWriterPtr writer)
    -
    int	xmlTextWriterEndDTDEntity	(xmlTextWriterPtr writer)
    -
    int	xmlTextWriterEndDocument	(xmlTextWriterPtr writer)
    -
    int	xmlTextWriterEndElement		(xmlTextWriterPtr writer)
    -
    int	xmlTextWriterEndPI		(xmlTextWriterPtr writer)
    -
    int	xmlTextWriterFlush		(xmlTextWriterPtr writer)
    -
    int	xmlTextWriterFullEndElement	(xmlTextWriterPtr writer)
    -
    int	xmlTextWriterSetIndent		(xmlTextWriterPtr writer, 
    int indent)
    -
    int	xmlTextWriterSetIndentString	(xmlTextWriterPtr writer, 
    const xmlChar * str)
    -
    int	xmlTextWriterStartAttribute	(xmlTextWriterPtr writer, 
    const xmlChar * name)
    -
    int	xmlTextWriterStartAttributeNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI)
    -
    int	xmlTextWriterStartCDATA		(xmlTextWriterPtr writer)
    -
    int	xmlTextWriterStartComment	(xmlTextWriterPtr writer)
    -
    int	xmlTextWriterStartDTD		(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid)
    -
    int	xmlTextWriterStartDTDAttlist	(xmlTextWriterPtr writer, 
    const xmlChar * name)
    -
    int	xmlTextWriterStartDTDElement	(xmlTextWriterPtr writer, 
    const xmlChar * name)
    -
    int	xmlTextWriterStartDTDEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name)
    -
    int	xmlTextWriterStartDocument	(xmlTextWriterPtr writer, 
    const char * version,
    const char * encoding,
    const char * standalone)
    -
    int	xmlTextWriterStartElement	(xmlTextWriterPtr writer, 
    const xmlChar * name)
    -
    int	xmlTextWriterStartElementNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI)
    -
    int	xmlTextWriterStartPI		(xmlTextWriterPtr writer, 
    const xmlChar * target)
    -
    int	xmlTextWriterWriteAttribute	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * content)
    -
    int	xmlTextWriterWriteAttributeNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const xmlChar * content)
    -
    int	xmlTextWriterWriteBase64	(xmlTextWriterPtr writer, 
    const char * data,
    int start,
    int len)
    -
    int	xmlTextWriterWriteBinHex	(xmlTextWriterPtr writer, 
    const char * data,
    int start,
    int len)
    -
    int	xmlTextWriterWriteCDATA		(xmlTextWriterPtr writer, 
    const xmlChar * content)
    -
    int	xmlTextWriterWriteComment	(xmlTextWriterPtr writer, 
    const xmlChar * content)
    -
    int	xmlTextWriterWriteDTD		(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const xmlChar * subset)
    -
    int	xmlTextWriterWriteDTDAttlist	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * content)
    -
    int	xmlTextWriterWriteDTDElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * content)
    -
    int	xmlTextWriterWriteDTDEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const xmlChar * ndataid,
    const xmlChar * content)
    -
    int	xmlTextWriterWriteDTDExternalEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const xmlChar * ndataid)
    -
    int	xmlTextWriterWriteDTDExternalEntityContents	(xmlTextWriterPtr writer, 
    const xmlChar * pubid,
    const xmlChar * sysid,
    const xmlChar * ndataid)
    -
    int	xmlTextWriterWriteDTDInternalEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const xmlChar * content)
    -
    int	xmlTextWriterWriteDTDNotation	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid)
    -
    int	xmlTextWriterWriteElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * content)
    -
    int	xmlTextWriterWriteElementNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const xmlChar * content)
    -
    int	xmlTextWriterWriteFormatAttribute	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    ... ...)
    -
    int	xmlTextWriterWriteFormatAttributeNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const char * format,
    ... ...)
    -
    int	xmlTextWriterWriteFormatCDATA	(xmlTextWriterPtr writer, 
    const char * format,
    ... ...)
    -
    int	xmlTextWriterWriteFormatComment	(xmlTextWriterPtr writer, 
    const char * format,
    ... ...)
    -
    int	xmlTextWriterWriteFormatDTD	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const char * format,
    ... ...)
    -
    int	xmlTextWriterWriteFormatDTDAttlist	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    ... ...)
    -
    int	xmlTextWriterWriteFormatDTDElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    ... ...)
    -
    int	xmlTextWriterWriteFormatDTDInternalEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const char * format,
    ... ...)
    -
    int	xmlTextWriterWriteFormatElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    ... ...)
    -
    int	xmlTextWriterWriteFormatElementNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const char * format,
    ... ...)
    -
    int	xmlTextWriterWriteFormatPI	(xmlTextWriterPtr writer, 
    const xmlChar * target,
    const char * format,
    ... ...)
    -
    int	xmlTextWriterWriteFormatRaw	(xmlTextWriterPtr writer, 
    const char * format,
    ... ...)
    -
    int	xmlTextWriterWriteFormatString	(xmlTextWriterPtr writer, 
    const char * format,
    ... ...)
    -
    int	xmlTextWriterWritePI		(xmlTextWriterPtr writer, 
    const xmlChar * target,
    const xmlChar * content)
    -
    int	xmlTextWriterWriteRaw		(xmlTextWriterPtr writer, 
    const xmlChar * content)
    -
    int	xmlTextWriterWriteRawLen	(xmlTextWriterPtr writer, 
    const xmlChar * content,
    int len)
    -
    int	xmlTextWriterWriteString	(xmlTextWriterPtr writer, 
    const xmlChar * content)
    -
    int	xmlTextWriterWriteVFormatAttribute	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    va_list argptr)
    -
    int	xmlTextWriterWriteVFormatAttributeNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const char * format,
    va_list argptr)
    -
    int	xmlTextWriterWriteVFormatCDATA	(xmlTextWriterPtr writer, 
    const char * format,
    va_list argptr)
    -
    int	xmlTextWriterWriteVFormatComment	(xmlTextWriterPtr writer, 
    const char * format,
    va_list argptr)
    -
    int	xmlTextWriterWriteVFormatDTD	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const char * format,
    va_list argptr)
    -
    int	xmlTextWriterWriteVFormatDTDAttlist	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    va_list argptr)
    -
    int	xmlTextWriterWriteVFormatDTDElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    va_list argptr)
    -
    int	xmlTextWriterWriteVFormatDTDInternalEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const char * format,
    va_list argptr)
    -
    int	xmlTextWriterWriteVFormatElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    va_list argptr)
    -
    int	xmlTextWriterWriteVFormatElementNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const char * format,
    va_list argptr)
    -
    int	xmlTextWriterWriteVFormatPI	(xmlTextWriterPtr writer, 
    const xmlChar * target,
    const char * format,
    va_list argptr)
    -
    int	xmlTextWriterWriteVFormatRaw	(xmlTextWriterPtr writer, 
    const char * format,
    va_list argptr)
    -
    int	xmlTextWriterWriteVFormatString	(xmlTextWriterPtr writer, 
    const char * format,
    va_list argptr)
    -

    Description

    -

    Macro: xmlTextWriterWriteDocType

    #define xmlTextWriterWriteDocType

    this macro maps to xmlTextWriterWriteDTD

    -

    Macro: xmlTextWriterWriteProcessingInstruction

    #define xmlTextWriterWriteProcessingInstruction

    This macro maps to xmlTextWriterWritePI

    -

    Structure xmlTextWriter

    Structure xmlTextWriter
    struct _xmlTextWriter { -The content of this structure is not made public by the API. -}

    Function: xmlFreeTextWriter

    void	xmlFreeTextWriter		(xmlTextWriterPtr writer)
    -

    Deallocate all the resources associated to the writer

    -
    writer:the xmlTextWriterPtr

    Function: xmlNewTextWriter

    xmlTextWriterPtr	xmlNewTextWriter	(xmlOutputBufferPtr out)
    -

    Create a new xmlNewTextWriter structure using an xmlOutputBufferPtr NOTE: the @out parameter will be deallocated when the writer is closed (if the call succeed.)

    -
    out:an xmlOutputBufferPtr
    Returns:the new xmlTextWriterPtr or NULL in case of error

    Function: xmlNewTextWriterDoc

    xmlTextWriterPtr	xmlNewTextWriterDoc	(xmlDocPtr * doc, 
    int compression)
    -

    Create a new xmlNewTextWriter structure with @*doc as output

    -
    doc:address of a xmlDocPtr to hold the new XML document tree
    compression:compress the output?
    Returns:the new xmlTextWriterPtr or NULL in case of error

    Function: xmlNewTextWriterFilename

    xmlTextWriterPtr	xmlNewTextWriterFilename	(const char * uri, 
    int compression)
    -

    Create a new xmlNewTextWriter structure with @uri as output

    -
    uri:the URI of the resource for the output
    compression:compress the output?
    Returns:the new xmlTextWriterPtr or NULL in case of error

    Function: xmlNewTextWriterMemory

    xmlTextWriterPtr	xmlNewTextWriterMemory	(xmlBufferPtr buf, 
    int compression)
    -

    Create a new xmlNewTextWriter structure with @buf as output TODO: handle compression

    -
    buf:xmlBufferPtr
    compression:compress the output?
    Returns:the new xmlTextWriterPtr or NULL in case of error

    Function: xmlNewTextWriterPushParser

    xmlTextWriterPtr	xmlNewTextWriterPushParser	(xmlParserCtxtPtr ctxt, 
    int compression)
    -

    Create a new xmlNewTextWriter structure with @ctxt as output NOTE: the @ctxt context will be freed with the resulting writer (if the call succeeds). TODO: handle compression

    -
    ctxt:xmlParserCtxtPtr to hold the new XML document tree
    compression:compress the output?
    Returns:the new xmlTextWriterPtr or NULL in case of error

    Function: xmlNewTextWriterTree

    xmlTextWriterPtr	xmlNewTextWriterTree	(xmlDocPtr doc, 
    xmlNodePtr node,
    int compression)
    -

    Create a new xmlNewTextWriter structure with @doc as output starting at @node

    -
    doc:xmlDocPtr
    node:xmlNodePtr or NULL for doc->children
    compression:compress the output?
    Returns:the new xmlTextWriterPtr or NULL in case of error

    Function: xmlTextWriterEndAttribute

    int	xmlTextWriterEndAttribute	(xmlTextWriterPtr writer)
    -

    End the current xml element.

    -
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndCDATA

    int	xmlTextWriterEndCDATA		(xmlTextWriterPtr writer)
    -

    End an xml CDATA section.

    -
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndComment

    int	xmlTextWriterEndComment		(xmlTextWriterPtr writer)
    -

    End the current xml coment.

    -
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndDTD

    int	xmlTextWriterEndDTD		(xmlTextWriterPtr writer)
    -

    End an xml DTD.

    -
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndDTDAttlist

    int	xmlTextWriterEndDTDAttlist	(xmlTextWriterPtr writer)
    -

    End an xml DTD attribute list.

    -
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndDTDElement

    int	xmlTextWriterEndDTDElement	(xmlTextWriterPtr writer)
    -

    End an xml DTD element.

    -
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndDTDEntity

    int	xmlTextWriterEndDTDEntity	(xmlTextWriterPtr writer)
    -

    End an xml DTD entity.

    -
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndDocument

    int	xmlTextWriterEndDocument	(xmlTextWriterPtr writer)
    -

    End an xml document. All open elements are closed, and the content is flushed to the output.

    -
    writer:the xmlTextWriterPtr
    Returns:the bytes written or -1 in case of error

    Function: xmlTextWriterEndElement

    int	xmlTextWriterEndElement		(xmlTextWriterPtr writer)
    -

    End the current xml element.

    -
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndPI

    int	xmlTextWriterEndPI		(xmlTextWriterPtr writer)
    -

    End the current xml PI.

    -
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterFlush

    int	xmlTextWriterFlush		(xmlTextWriterPtr writer)
    -

    Flush the output buffer.

    -
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterFullEndElement

    int	xmlTextWriterFullEndElement	(xmlTextWriterPtr writer)
    -

    End the current xml element. Writes an end tag even if the element is empty

    -
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterSetIndent

    int	xmlTextWriterSetIndent		(xmlTextWriterPtr writer, 
    int indent)
    -

    Set indentation output. indent = 0 do not indentation. indent > 0 do indentation.

    -
    writer:the xmlTextWriterPtr
    indent:do indentation?
    Returns:-1 on error or 0 otherwise.

    Function: xmlTextWriterSetIndentString

    int	xmlTextWriterSetIndentString	(xmlTextWriterPtr writer, 
    const xmlChar * str)
    -

    Set string indentation.

    -
    writer:the xmlTextWriterPtr
    str:the xmlChar string
    Returns:-1 on error or 0 otherwise.

    Function: xmlTextWriterStartAttribute

    int	xmlTextWriterStartAttribute	(xmlTextWriterPtr writer, 
    const xmlChar * name)
    -

    Start an xml attribute.

    -
    writer:the xmlTextWriterPtr
    name:element name
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartAttributeNS

    int	xmlTextWriterStartAttributeNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI)
    -

    Start an xml attribute with namespace support.

    -
    writer:the xmlTextWriterPtr
    prefix:namespace prefix or NULL
    name:element local name
    namespaceURI:namespace URI or NULL
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartCDATA

    int	xmlTextWriterStartCDATA		(xmlTextWriterPtr writer)
    -

    Start an xml CDATA section.

    -
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartComment

    int	xmlTextWriterStartComment	(xmlTextWriterPtr writer)
    -

    Start an xml comment.

    -
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartDTD

    int	xmlTextWriterStartDTD		(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid)
    -

    Start an xml DTD.

    -
    writer:the xmlTextWriterPtr
    name:the name of the DTD
    pubid:the public identifier, which is an alternative to the system identifier
    sysid:the system identifier, which is the URI of the DTD
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartDTDAttlist

    int	xmlTextWriterStartDTDAttlist	(xmlTextWriterPtr writer, 
    const xmlChar * name)
    -

    Start an xml DTD ATTLIST.

    -
    writer:the xmlTextWriterPtr
    name:the name of the DTD ATTLIST
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartDTDElement

    int	xmlTextWriterStartDTDElement	(xmlTextWriterPtr writer, 
    const xmlChar * name)
    -

    Start an xml DTD element.

    -
    writer:the xmlTextWriterPtr
    name:the name of the DTD element
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartDTDEntity

    int	xmlTextWriterStartDTDEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name)
    -

    Start an xml DTD ATTLIST.

    -
    writer:the xmlTextWriterPtr
    pe:TRUE if this is a parameter entity, FALSE if not
    name:the name of the DTD ATTLIST
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartDocument

    int	xmlTextWriterStartDocument	(xmlTextWriterPtr writer, 
    const char * version,
    const char * encoding,
    const char * standalone)
    -

    Start a new xml document

    -
    writer:the xmlTextWriterPtr
    version:the xml version ("1.0") or NULL for default ("1.0")
    encoding:the encoding or NULL for default
    standalone:"yes" or "no" or NULL for default
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartElement

    int	xmlTextWriterStartElement	(xmlTextWriterPtr writer, 
    const xmlChar * name)
    -

    Start an xml element.

    -
    writer:the xmlTextWriterPtr
    name:element name
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartElementNS

    int	xmlTextWriterStartElementNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI)
    -

    Start an xml element with namespace support.

    -
    writer:the xmlTextWriterPtr
    prefix:namespace prefix or NULL
    name:element local name
    namespaceURI:namespace URI or NULL
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartPI

    int	xmlTextWriterStartPI		(xmlTextWriterPtr writer, 
    const xmlChar * target)
    -

    Start an xml PI.

    -
    writer:the xmlTextWriterPtr
    target:PI target
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteAttribute

    int	xmlTextWriterWriteAttribute	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * content)
    -

    Write an xml attribute.

    -
    writer:the xmlTextWriterPtr
    name:attribute name
    content:attribute content
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteAttributeNS

    int	xmlTextWriterWriteAttributeNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const xmlChar * content)
    -

    Write an xml attribute.

    -
    writer:the xmlTextWriterPtr
    prefix:namespace prefix
    name:attribute local name
    namespaceURI:namespace URI
    content:attribute content
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteBase64

    int	xmlTextWriterWriteBase64	(xmlTextWriterPtr writer, 
    const char * data,
    int start,
    int len)
    -

    Write an base64 encoded xml text.

    -
    writer:the xmlTextWriterPtr
    data:binary data
    start:the position within the data of the first byte to encode
    len:the number of bytes to encode
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteBinHex

    int	xmlTextWriterWriteBinHex	(xmlTextWriterPtr writer, 
    const char * data,
    int start,
    int len)
    -

    Write a BinHex encoded xml text.

    -
    writer:the xmlTextWriterPtr
    data:binary data
    start:the position within the data of the first byte to encode
    len:the number of bytes to encode
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteCDATA

    int	xmlTextWriterWriteCDATA		(xmlTextWriterPtr writer, 
    const xmlChar * content)
    -

    Write an xml CDATA.

    -
    writer:the xmlTextWriterPtr
    content:CDATA content
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteComment

    int	xmlTextWriterWriteComment	(xmlTextWriterPtr writer, 
    const xmlChar * content)
    -

    Write an xml comment.

    -
    writer:the xmlTextWriterPtr
    content:comment string
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteDTD

    int	xmlTextWriterWriteDTD		(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const xmlChar * subset)
    -

    Write a DTD.

    -
    writer:the xmlTextWriterPtr
    name:the name of the DTD
    pubid:the public identifier, which is an alternative to the system identifier
    sysid:the system identifier, which is the URI of the DTD
    subset:string content of the DTD
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteDTDAttlist

    int	xmlTextWriterWriteDTDAttlist	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * content)
    -

    Write a DTD ATTLIST.

    -
    writer:the xmlTextWriterPtr
    name:the name of the DTD ATTLIST
    content:content of the ATTLIST
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteDTDElement

    int	xmlTextWriterWriteDTDElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * content)
    -

    Write a DTD element.

    -
    writer:the xmlTextWriterPtr
    name:the name of the DTD element
    content:content of the element
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteDTDEntity

    int	xmlTextWriterWriteDTDEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const xmlChar * ndataid,
    const xmlChar * content)
    -

    Write a DTD entity.

    -
    writer:the xmlTextWriterPtr
    pe:TRUE if this is a parameter entity, FALSE if not
    name:the name of the DTD entity
    pubid:the public identifier, which is an alternative to the system identifier
    sysid:the system identifier, which is the URI of the DTD
    ndataid:the xml notation name.
    content:content of the entity
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteDTDExternalEntity

    int	xmlTextWriterWriteDTDExternalEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const xmlChar * ndataid)
    -

    Write a DTD external entity. The entity must have been started with xmlTextWriterStartDTDEntity

    -
    writer:the xmlTextWriterPtr
    pe:TRUE if this is a parameter entity, FALSE if not
    name:the name of the DTD entity
    pubid:the public identifier, which is an alternative to the system identifier
    sysid:the system identifier, which is the URI of the DTD
    ndataid:the xml notation name.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteDTDExternalEntityContents

    int	xmlTextWriterWriteDTDExternalEntityContents	(xmlTextWriterPtr writer, 
    const xmlChar * pubid,
    const xmlChar * sysid,
    const xmlChar * ndataid)
    -

    Write the contents of a DTD external entity.

    -
    writer:the xmlTextWriterPtr
    pubid:the public identifier, which is an alternative to the system identifier
    sysid:the system identifier, which is the URI of the DTD
    ndataid:the xml notation name.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteDTDInternalEntity

    int	xmlTextWriterWriteDTDInternalEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const xmlChar * content)
    -

    Write a DTD internal entity.

    -
    writer:the xmlTextWriterPtr
    pe:TRUE if this is a parameter entity, FALSE if not
    name:the name of the DTD entity
    content:content of the entity
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteDTDNotation

    int	xmlTextWriterWriteDTDNotation	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid)
    -

    Write a DTD entity.

    -
    writer:the xmlTextWriterPtr
    name:the name of the xml notation
    pubid:the public identifier, which is an alternative to the system identifier
    sysid:the system identifier, which is the URI of the DTD
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteElement

    int	xmlTextWriterWriteElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * content)
    -

    Write an xml element.

    -
    writer:the xmlTextWriterPtr
    name:element name
    content:element content
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteElementNS

    int	xmlTextWriterWriteElementNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const xmlChar * content)
    -

    Write an xml element with namespace support.

    -
    writer:the xmlTextWriterPtr
    prefix:namespace prefix
    name:element local name
    namespaceURI:namespace URI
    content:element content
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatAttribute

    int	xmlTextWriterWriteFormatAttribute	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    ... ...)
    -

    Write a formatted xml attribute.

    -
    writer:the xmlTextWriterPtr
    name:attribute name
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatAttributeNS

    int	xmlTextWriterWriteFormatAttributeNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const char * format,
    ... ...)
    -

    Write a formatted xml attribute.with namespace support

    -
    writer:the xmlTextWriterPtr
    prefix:namespace prefix
    name:attribute local name
    namespaceURI:namespace URI
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatCDATA

    int	xmlTextWriterWriteFormatCDATA	(xmlTextWriterPtr writer, 
    const char * format,
    ... ...)
    -

    Write a formatted xml CDATA.

    -
    writer:the xmlTextWriterPtr
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatComment

    int	xmlTextWriterWriteFormatComment	(xmlTextWriterPtr writer, 
    const char * format,
    ... ...)
    -

    Write an xml comment.

    -
    writer:the xmlTextWriterPtr
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatDTD

    int	xmlTextWriterWriteFormatDTD	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const char * format,
    ... ...)
    -

    Write a DTD with a formatted markup declarations part.

    -
    writer:the xmlTextWriterPtr
    name:the name of the DTD
    pubid:the public identifier, which is an alternative to the system identifier
    sysid:the system identifier, which is the URI of the DTD
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatDTDAttlist

    int	xmlTextWriterWriteFormatDTDAttlist	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    ... ...)
    -

    Write a formatted DTD ATTLIST.

    -
    writer:the xmlTextWriterPtr
    name:the name of the DTD ATTLIST
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatDTDElement

    int	xmlTextWriterWriteFormatDTDElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    ... ...)
    -

    Write a formatted DTD element.

    -
    writer:the xmlTextWriterPtr
    name:the name of the DTD element
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatDTDInternalEntity

    int	xmlTextWriterWriteFormatDTDInternalEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const char * format,
    ... ...)
    -

    Write a formatted DTD internal entity.

    -
    writer:the xmlTextWriterPtr
    pe:TRUE if this is a parameter entity, FALSE if not
    name:the name of the DTD entity
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatElement

    int	xmlTextWriterWriteFormatElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    ... ...)
    -

    Write a formatted xml element.

    -
    writer:the xmlTextWriterPtr
    name:element name
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatElementNS

    int	xmlTextWriterWriteFormatElementNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const char * format,
    ... ...)
    -

    Write a formatted xml element with namespace support.

    -
    writer:the xmlTextWriterPtr
    prefix:namespace prefix
    name:element local name
    namespaceURI:namespace URI
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatPI

    int	xmlTextWriterWriteFormatPI	(xmlTextWriterPtr writer, 
    const xmlChar * target,
    const char * format,
    ... ...)
    -

    Write a formatted PI.

    -
    writer:the xmlTextWriterPtr
    target:PI target
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatRaw

    int	xmlTextWriterWriteFormatRaw	(xmlTextWriterPtr writer, 
    const char * format,
    ... ...)
    -

    Write a formatted raw xml text.

    -
    writer:the xmlTextWriterPtr
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatString

    int	xmlTextWriterWriteFormatString	(xmlTextWriterPtr writer, 
    const char * format,
    ... ...)
    -

    Write a formatted xml text.

    -
    writer:the xmlTextWriterPtr
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWritePI

    int	xmlTextWriterWritePI		(xmlTextWriterPtr writer, 
    const xmlChar * target,
    const xmlChar * content)
    -

    Write an xml PI.

    -
    writer:the xmlTextWriterPtr
    target:PI target
    content:PI content
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteRaw

    int	xmlTextWriterWriteRaw		(xmlTextWriterPtr writer, 
    const xmlChar * content)
    -

    Write a raw xml text.

    -
    writer:the xmlTextWriterPtr
    content:text string
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteRawLen

    int	xmlTextWriterWriteRawLen	(xmlTextWriterPtr writer, 
    const xmlChar * content,
    int len)
    -

    Write an xml text. TODO: what about entities and special chars??

    -
    writer:the xmlTextWriterPtr
    content:text string
    len:length of the text string
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteString

    int	xmlTextWriterWriteString	(xmlTextWriterPtr writer, 
    const xmlChar * content)
    -

    Write an xml text.

    -
    writer:the xmlTextWriterPtr
    content:text string
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatAttribute

    int	xmlTextWriterWriteVFormatAttribute	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    va_list argptr)
    -

    Write a formatted xml attribute.

    -
    writer:the xmlTextWriterPtr
    name:attribute name
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatAttributeNS

    int	xmlTextWriterWriteVFormatAttributeNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const char * format,
    va_list argptr)
    -

    Write a formatted xml attribute.with namespace support

    -
    writer:the xmlTextWriterPtr
    prefix:namespace prefix
    name:attribute local name
    namespaceURI:namespace URI
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatCDATA

    int	xmlTextWriterWriteVFormatCDATA	(xmlTextWriterPtr writer, 
    const char * format,
    va_list argptr)
    -

    Write a formatted xml CDATA.

    -
    writer:the xmlTextWriterPtr
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatComment

    int	xmlTextWriterWriteVFormatComment	(xmlTextWriterPtr writer, 
    const char * format,
    va_list argptr)
    -

    Write an xml comment.

    -
    writer:the xmlTextWriterPtr
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatDTD

    int	xmlTextWriterWriteVFormatDTD	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const char * format,
    va_list argptr)
    -

    Write a DTD with a formatted markup declarations part.

    -
    writer:the xmlTextWriterPtr
    name:the name of the DTD
    pubid:the public identifier, which is an alternative to the system identifier
    sysid:the system identifier, which is the URI of the DTD
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatDTDAttlist

    int	xmlTextWriterWriteVFormatDTDAttlist	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    va_list argptr)
    -

    Write a formatted DTD ATTLIST.

    -
    writer:the xmlTextWriterPtr
    name:the name of the DTD ATTLIST
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatDTDElement

    int	xmlTextWriterWriteVFormatDTDElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    va_list argptr)
    -

    Write a formatted DTD element.

    -
    writer:the xmlTextWriterPtr
    name:the name of the DTD element
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatDTDInternalEntity

    int	xmlTextWriterWriteVFormatDTDInternalEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const char * format,
    va_list argptr)
    -

    Write a formatted DTD internal entity.

    -
    writer:the xmlTextWriterPtr
    pe:TRUE if this is a parameter entity, FALSE if not
    name:the name of the DTD entity
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatElement

    int	xmlTextWriterWriteVFormatElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    va_list argptr)
    -

    Write a formatted xml element.

    -
    writer:the xmlTextWriterPtr
    name:element name
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatElementNS

    int	xmlTextWriterWriteVFormatElementNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const char * format,
    va_list argptr)
    -

    Write a formatted xml element with namespace support.

    -
    writer:the xmlTextWriterPtr
    prefix:namespace prefix
    name:element local name
    namespaceURI:namespace URI
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatPI

    int	xmlTextWriterWriteVFormatPI	(xmlTextWriterPtr writer, 
    const xmlChar * target,
    const char * format,
    va_list argptr)
    -

    Write a formatted xml PI.

    -
    writer:the xmlTextWriterPtr
    target:PI target
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatRaw

    int	xmlTextWriterWriteVFormatRaw	(xmlTextWriterPtr writer, 
    const char * format,
    va_list argptr)
    -

    Write a formatted raw xml text.

    -
    writer:the xmlTextWriterPtr
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatString

    int	xmlTextWriterWriteVFormatString	(xmlTextWriterPtr writer, 
    const char * format,
    va_list argptr)
    -

    Write a formatted xml text.

    -
    writer:the xmlTextWriterPtr
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xpath.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xpath.html deleted file mode 100644 index 1731b2a..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xpath.html +++ /dev/null @@ -1,309 +0,0 @@ - - -Module xpath from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xpath from libxml2

    API Menu
    API Indexes
    Related links

    API for the XML Path Language implementation XML Path Language implementation XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer

    Table of Contents

    #define XML_XPATH_CHECKNS
    #define XML_XPATH_NOVAR
    #define xmlXPathNodeSetGetLength
    #define xmlXPathNodeSetIsEmpty
    #define xmlXPathNodeSetItem
    Structure xmlNodeSet
    struct _xmlNodeSet -
    Typedef xmlNodeSet * xmlNodeSetPtr
    -
    Structure xmlXPathAxis
    struct _xmlXPathAxis -
    Typedef xmlXPathAxis * xmlXPathAxisPtr
    -
    Structure xmlXPathCompExpr
    struct _xmlXPathCompExpr -The content of this structure is not made public by the API. -
    Typedef xmlXPathCompExpr * xmlXPathCompExprPtr
    -
    Structure xmlXPathContext
    struct _xmlXPathContext -
    Typedef xmlXPathContext * xmlXPathContextPtr
    -
    Enum xmlXPathError
    -
    Typedef xmlXPathFunct * xmlXPathFuncPtr
    -
    Structure xmlXPathFunct
    struct _xmlXPathFunct -
    Structure xmlXPathObject
    struct _xmlXPathObject -
    Typedef xmlXPathObject * xmlXPathObjectPtr
    -
    Enum xmlXPathObjectType
    -
    Structure xmlXPathParserContext
    struct _xmlXPathParserContext -
    Typedef xmlXPathParserContext * xmlXPathParserContextPtr
    -
    Structure xmlXPathType
    struct _xmlXPathType -
    Typedef xmlXPathType * xmlXPathTypePtr
    -
    Structure xmlXPathVariable
    struct _xmlXPathVariable -
    Typedef xmlXPathVariable * xmlXPathVariablePtr
    -
    Function type: xmlXPathAxisFunc
    -xmlXPathObjectPtr	xmlXPathAxisFunc	(xmlXPathParserContextPtr ctxt, 
    xmlXPathObjectPtr cur) -
    -
    double	xmlXPathCastBooleanToNumber	(int val)
    -
    xmlChar *	xmlXPathCastBooleanToString	(int val)
    -
    int	xmlXPathCastNodeSetToBoolean	(xmlNodeSetPtr ns)
    -
    double	xmlXPathCastNodeSetToNumber	(xmlNodeSetPtr ns)
    -
    xmlChar *	xmlXPathCastNodeSetToString	(xmlNodeSetPtr ns)
    -
    double	xmlXPathCastNodeToNumber	(xmlNodePtr node)
    -
    xmlChar *	xmlXPathCastNodeToString	(xmlNodePtr node)
    -
    int	xmlXPathCastNumberToBoolean	(double val)
    -
    xmlChar *	xmlXPathCastNumberToString	(double val)
    -
    int	xmlXPathCastStringToBoolean	(const xmlChar * val)
    -
    double	xmlXPathCastStringToNumber	(const xmlChar * val)
    -
    int	xmlXPathCastToBoolean		(xmlXPathObjectPtr val)
    -
    double	xmlXPathCastToNumber		(xmlXPathObjectPtr val)
    -
    xmlChar *	xmlXPathCastToString	(xmlXPathObjectPtr val)
    -
    int	xmlXPathCmpNodes		(xmlNodePtr node1, 
    xmlNodePtr node2)
    -
    xmlXPathCompExprPtr	xmlXPathCompile	(const xmlChar * str)
    -
    xmlXPathObjectPtr	xmlXPathCompiledEval	(xmlXPathCompExprPtr comp, 
    xmlXPathContextPtr ctx)
    -
    int	xmlXPathCompiledEvalToBoolean	(xmlXPathCompExprPtr comp, 
    xmlXPathContextPtr ctxt)
    -
    int	xmlXPathContextSetCache		(xmlXPathContextPtr ctxt, 
    int active,
    int value,
    int options)
    -
    xmlXPathObjectPtr	xmlXPathConvertBoolean	(xmlXPathObjectPtr val)
    -
    Function type: xmlXPathConvertFunc
    -int	xmlXPathConvertFunc		(xmlXPathObjectPtr obj, 
    int type) -
    -
    xmlXPathObjectPtr	xmlXPathConvertNumber	(xmlXPathObjectPtr val)
    -
    xmlXPathObjectPtr	xmlXPathConvertString	(xmlXPathObjectPtr val)
    -
    xmlXPathCompExprPtr	xmlXPathCtxtCompile	(xmlXPathContextPtr ctxt, 
    const xmlChar * str)
    -
    xmlXPathObjectPtr	xmlXPathEval	(const xmlChar * str, 
    xmlXPathContextPtr ctx)
    -
    xmlXPathObjectPtr	xmlXPathEvalExpression	(const xmlChar * str, 
    xmlXPathContextPtr ctxt)
    -
    Function type: xmlXPathEvalFunc
    -void	xmlXPathEvalFunc		(xmlXPathParserContextPtr ctxt, 
    int nargs) -
    -
    int	xmlXPathEvalPredicate		(xmlXPathContextPtr ctxt, 
    xmlXPathObjectPtr res)
    -
    void	xmlXPathFreeCompExpr		(xmlXPathCompExprPtr comp)
    -
    void	xmlXPathFreeContext		(xmlXPathContextPtr ctxt)
    -
    void	xmlXPathFreeNodeSet		(xmlNodeSetPtr obj)
    -
    void	xmlXPathFreeNodeSetList		(xmlXPathObjectPtr obj)
    -
    void	xmlXPathFreeObject		(xmlXPathObjectPtr obj)
    -
    Function type: xmlXPathFuncLookupFunc
    -xmlXPathFunction	xmlXPathFuncLookupFunc	(void * ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri) -
    -
    Function type: xmlXPathFunction
    -void	xmlXPathFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs) -
    -
    void	xmlXPathInit			(void)
    -
    int	xmlXPathIsInf			(double val)
    -
    int	xmlXPathIsNaN			(double val)
    -
    xmlXPathContextPtr	xmlXPathNewContext	(xmlDocPtr doc)
    -
    xmlNodeSetPtr	xmlXPathNodeSetCreate	(xmlNodePtr val)
    -
    xmlXPathObjectPtr	xmlXPathObjectCopy	(xmlXPathObjectPtr val)
    -
    long	xmlXPathOrderDocElems		(xmlDocPtr doc)
    -
    Function type: xmlXPathVariableLookupFunc
    -xmlXPathObjectPtr	xmlXPathVariableLookupFunc	(void * ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri) -
    -

    Description

    -

    Macro: XML_XPATH_CHECKNS

    #define XML_XPATH_CHECKNS

    check namespaces at compilation

    -

    Macro: XML_XPATH_NOVAR

    #define XML_XPATH_NOVAR

    forbid variables in expression

    -

    Macro: xmlXPathNodeSetGetLength

    #define xmlXPathNodeSetGetLength

    Implement a functionality similar to the DOM NodeList.length. Returns the number of nodes in the node-set.

    -

    Macro: xmlXPathNodeSetIsEmpty

    #define xmlXPathNodeSetIsEmpty

    Checks whether @ns is empty or not. Returns %TRUE if @ns is an empty node-set.

    -

    Macro: xmlXPathNodeSetItem

    #define xmlXPathNodeSetItem

    Implements a functionality similar to the DOM NodeList.item(). Returns the xmlNodePtr at the given @index in @ns or NULL if @index is out of range (0 to length-1)

    -

    Structure xmlNodeSet

    Structure xmlNodeSet
    struct _xmlNodeSet { - int nodeNr : number of nodes in the set - int nodeMax : size of the array as allocated - xmlNodePtr * nodeTab : array of nodes in no particular order @ -}

    Structure xmlXPathAxis

    Structure xmlXPathAxis
    struct _xmlXPathAxis { - const xmlChar * name : the axis name - xmlXPathAxisFunc func : the search function -}

    Structure xmlXPathCompExpr

    Structure xmlXPathCompExpr
    struct _xmlXPathCompExpr { -The content of this structure is not made public by the API. -}

    Structure xmlXPathContext

    Structure xmlXPathContext
    struct _xmlXPathContext { - xmlDocPtr doc : The current document - xmlNodePtr node : The current node - int nb_variables_unused : unused (hash table) - int max_variables_unused : unused (hash table) - xmlHashTablePtr varHash : Hash table of defined variables - int nb_types : number of defined types - int max_types : max number of types - xmlXPathTypePtr types : Array of defined types - int nb_funcs_unused : unused (hash table) - int max_funcs_unused : unused (hash table) - xmlHashTablePtr funcHash : Hash table of defined funcs - int nb_axis : number of defined axis - int max_axis : max number of axis - xmlXPathAxisPtr axis : Array of defined axis the namespace nod - xmlNsPtr * namespaces : Array of namespaces - int nsNr : number of namespace in scope - void * user : function to free extra variables - int contextSize : the context size - int proximityPosition : the proximity position extra stuff for - int xptr : is this an XPointer context? - xmlNodePtr here : for here() - xmlNodePtr origin : for origin() the set of namespace decla - xmlHashTablePtr nsHash : The namespaces hash table - xmlXPathVariableLookupFunc varLookupFunc : variable lookup func - void * varLookupData : variable lookup data Possibility to lin - void * extra : needed for XSLT The function name and U - const xmlChar * function - const xmlChar * functionURI : function lookup function and data - xmlXPathFuncLookupFunc funcLookupFunc : function lookup func - void * funcLookupData : function lookup data temporary namespac - xmlNsPtr * tmpNsList : Array of namespaces - int tmpNsNr : number of namespaces in scope error rep - void * userData : user specific data block - xmlStructuredErrorFunc error : the callback in case of errors - xmlError lastError : the last error - xmlNodePtr debugNode : the source node XSLT dictionary - xmlDictPtr dict : dictionary if any - int flags : flags to control compilation Cache for - void * cache -}

    Enum xmlXPathError

    Enum xmlXPathError {
    -    XPATH_EXPRESSION_OK = 0
    -    XPATH_NUMBER_ERROR = 1
    -    XPATH_UNFINISHED_LITERAL_ERROR = 2
    -    XPATH_START_LITERAL_ERROR = 3
    -    XPATH_VARIABLE_REF_ERROR = 4
    -    XPATH_UNDEF_VARIABLE_ERROR = 5
    -    XPATH_INVALID_PREDICATE_ERROR = 6
    -    XPATH_EXPR_ERROR = 7
    -    XPATH_UNCLOSED_ERROR = 8
    -    XPATH_UNKNOWN_FUNC_ERROR = 9
    -    XPATH_INVALID_OPERAND = 10
    -    XPATH_INVALID_TYPE = 11
    -    XPATH_INVALID_ARITY = 12
    -    XPATH_INVALID_CTXT_SIZE = 13
    -    XPATH_INVALID_CTXT_POSITION = 14
    -    XPATH_MEMORY_ERROR = 15
    -    XPTR_SYNTAX_ERROR = 16
    -    XPTR_RESOURCE_ERROR = 17
    -    XPTR_SUB_RESOURCE_ERROR = 18
    -    XPATH_UNDEF_PREFIX_ERROR = 19
    -    XPATH_ENCODING_ERROR = 20
    -    XPATH_INVALID_CHAR_ERROR = 21
    -    XPATH_INVALID_CTXT = 22
    -    XPATH_STACK_ERROR = 23
    -}
    -

    Structure xmlXPathFunct

    Structure xmlXPathFunct
    struct _xmlXPathFunct { - const xmlChar * name : the function name - xmlXPathEvalFunc func : the evaluation function -}

    Structure xmlXPathObject

    Structure xmlXPathObject
    struct _xmlXPathObject { - xmlXPathObjectType type - xmlNodeSetPtr nodesetval - int boolval - double floatval - xmlChar * stringval - void * user - int index - void * user2 - int index2 -}

    Enum xmlXPathObjectType

    Enum xmlXPathObjectType {
    -    XPATH_UNDEFINED = 0
    -    XPATH_NODESET = 1
    -    XPATH_BOOLEAN = 2
    -    XPATH_NUMBER = 3
    -    XPATH_STRING = 4
    -    XPATH_POINT = 5
    -    XPATH_RANGE = 6
    -    XPATH_LOCATIONSET = 7
    -    XPATH_USERS = 8
    -    XPATH_XSLT_TREE = 9 : An XSLT value tree, non modifiable
    -}
    -

    Structure xmlXPathParserContext

    Structure xmlXPathParserContext
    struct _xmlXPathParserContext { - const xmlChar * cur : the current char being parsed - const xmlChar * base : the full expression - int error : error code - xmlXPathContextPtr context : the evaluation context - xmlXPathObjectPtr value : the current value - int valueNr : number of values stacked - int valueMax : max number of values stacked - xmlXPathObjectPtr * valueTab : stack of values - xmlXPathCompExprPtr comp : the precompiled expression - int xptr : it this an XPointer expression - xmlNodePtr ancestor : used for walking preceding axis - int valueFrame : used to limit Pop on the stack -}

    Structure xmlXPathType

    Structure xmlXPathType
    struct _xmlXPathType { - const xmlChar * name : the type name - xmlXPathConvertFunc func : the conversion function -}

    Structure xmlXPathVariable

    Structure xmlXPathVariable
    struct _xmlXPathVariable { - const xmlChar * name : the variable name - xmlXPathObjectPtr value : the value -}

    Function type: xmlXPathAxisFunc

    Function type: xmlXPathAxisFunc
    -xmlXPathObjectPtr	xmlXPathAxisFunc	(xmlXPathParserContextPtr ctxt, 
    xmlXPathObjectPtr cur) -

    An axis traversal function. To traverse an axis, the engine calls the first time with cur == NULL and repeat until the function returns NULL indicating the end of the axis traversal.

    ctxt:the XPath interpreter context
    cur:the previous node being explored on that axis
    Returns:the next node in that axis or NULL if at the end of the axis.

    -

    Function: xmlXPathCastBooleanToNumber

    double	xmlXPathCastBooleanToNumber	(int val)
    -

    Converts a boolean to its number value

    -
    val:a boolean
    Returns:the number value

    Function: xmlXPathCastBooleanToString

    xmlChar *	xmlXPathCastBooleanToString	(int val)
    -

    Converts a boolean to its string value.

    -
    val:a boolean
    Returns:a newly allocated string.

    Function: xmlXPathCastNodeSetToBoolean

    int	xmlXPathCastNodeSetToBoolean	(xmlNodeSetPtr ns)
    -

    Converts a node-set to its boolean value

    -
    ns:a node-set
    Returns:the boolean value

    Function: xmlXPathCastNodeSetToNumber

    double	xmlXPathCastNodeSetToNumber	(xmlNodeSetPtr ns)
    -

    Converts a node-set to its number value

    -
    ns:a node-set
    Returns:the number value

    Function: xmlXPathCastNodeSetToString

    xmlChar *	xmlXPathCastNodeSetToString	(xmlNodeSetPtr ns)
    -

    Converts a node-set to its string value.

    -
    ns:a node-set
    Returns:a newly allocated string.

    Function: xmlXPathCastNodeToNumber

    double	xmlXPathCastNodeToNumber	(xmlNodePtr node)
    -

    Converts a node to its number value

    -
    node:a node
    Returns:the number value

    Function: xmlXPathCastNodeToString

    xmlChar *	xmlXPathCastNodeToString	(xmlNodePtr node)
    -

    Converts a node to its string value.

    -
    node:a node
    Returns:a newly allocated string.

    Function: xmlXPathCastNumberToBoolean

    int	xmlXPathCastNumberToBoolean	(double val)
    -

    Converts a number to its boolean value

    -
    val:a number
    Returns:the boolean value

    Function: xmlXPathCastNumberToString

    xmlChar *	xmlXPathCastNumberToString	(double val)
    -

    Converts a number to its string value.

    -
    val:a number
    Returns:a newly allocated string.

    Function: xmlXPathCastStringToBoolean

    int	xmlXPathCastStringToBoolean	(const xmlChar * val)
    -

    Converts a string to its boolean value

    -
    val:a string
    Returns:the boolean value

    Function: xmlXPathCastStringToNumber

    double	xmlXPathCastStringToNumber	(const xmlChar * val)
    -

    Converts a string to its number value

    -
    val:a string
    Returns:the number value

    Function: xmlXPathCastToBoolean

    int	xmlXPathCastToBoolean		(xmlXPathObjectPtr val)
    -

    Converts an XPath object to its boolean value

    -
    val:an XPath object
    Returns:the boolean value

    Function: xmlXPathCastToNumber

    double	xmlXPathCastToNumber		(xmlXPathObjectPtr val)
    -

    Converts an XPath object to its number value

    -
    val:an XPath object
    Returns:the number value

    Function: xmlXPathCastToString

    xmlChar *	xmlXPathCastToString	(xmlXPathObjectPtr val)
    -

    Converts an existing object to its string() equivalent

    -
    val:an XPath object
    Returns:the allocated string value of the object, NULL in case of error. It's up to the caller to free the string memory with xmlFree().

    Function: xmlXPathCmpNodes

    int	xmlXPathCmpNodes		(xmlNodePtr node1, 
    xmlNodePtr node2)
    -

    Compare two nodes w.r.t document order

    -
    node1:the first node
    node2:the second node
    Returns:-2 in case of error 1 if first point < second point, 0 if it's the same node, -1 otherwise

    Function: xmlXPathCompile

    xmlXPathCompExprPtr	xmlXPathCompile	(const xmlChar * str)
    -

    Compile an XPath expression

    -
    str:the XPath expression
    Returns:the xmlXPathCompExprPtr resulting from the compilation or NULL. the caller has to free the object.

    Function: xmlXPathCompiledEval

    xmlXPathObjectPtr	xmlXPathCompiledEval	(xmlXPathCompExprPtr comp, 
    xmlXPathContextPtr ctx)
    -

    Evaluate the Precompiled XPath expression in the given context.

    -
    comp:the compiled XPath expression
    ctx:the XPath context
    Returns:the xmlXPathObjectPtr resulting from the evaluation or NULL. the caller has to free the object.

    Function: xmlXPathCompiledEvalToBoolean

    int	xmlXPathCompiledEvalToBoolean	(xmlXPathCompExprPtr comp, 
    xmlXPathContextPtr ctxt)
    -

    Applies the XPath boolean() function on the result of the given compiled expression.

    -
    comp:the compiled XPath expression
    ctxt:the XPath context
    Returns:1 if the expression evaluated to true, 0 if to false and -1 in API and internal errors.

    Function: xmlXPathContextSetCache

    int	xmlXPathContextSetCache		(xmlXPathContextPtr ctxt, 
    int active,
    int value,
    int options)
    -

    Creates/frees an object cache on the XPath context. If activates XPath objects (xmlXPathObject) will be cached internally to be reused. @options: 0: This will set the XPath object caching: @value: This will set the maximum number of XPath objects to be cached per slot There are 5 slots for: node-set, string, number, boolean, and misc objects. Use <0 for the default number (100). Other values for @options have currently no effect.

    -
    ctxt:the XPath context
    active:enables/disables (creates/frees) the cache
    value:a value with semantics dependant on @options
    options:options (currently only the value 0 is used)
    Returns:0 if the setting succeeded, and -1 on API or internal errors.

    Function: xmlXPathConvertBoolean

    xmlXPathObjectPtr	xmlXPathConvertBoolean	(xmlXPathObjectPtr val)
    -

    Converts an existing object to its boolean() equivalent

    -
    val:an XPath object
    Returns:the new object, the old one is freed (or the operation is done directly on @val)

    Function type: xmlXPathConvertFunc

    Function type: xmlXPathConvertFunc
    -int	xmlXPathConvertFunc		(xmlXPathObjectPtr obj, 
    int type) -

    A conversion function is associated to a type and used to cast the new type to primitive values.

    obj:an XPath object
    type:the number of the target type
    Returns:-1 in case of error, 0 otherwise

    -

    Function: xmlXPathConvertNumber

    xmlXPathObjectPtr	xmlXPathConvertNumber	(xmlXPathObjectPtr val)
    -

    Converts an existing object to its number() equivalent

    -
    val:an XPath object
    Returns:the new object, the old one is freed (or the operation is done directly on @val)

    Function: xmlXPathConvertString

    xmlXPathObjectPtr	xmlXPathConvertString	(xmlXPathObjectPtr val)
    -

    Converts an existing object to its string() equivalent

    -
    val:an XPath object
    Returns:the new object, the old one is freed (or the operation is done directly on @val)

    Function: xmlXPathCtxtCompile

    xmlXPathCompExprPtr	xmlXPathCtxtCompile	(xmlXPathContextPtr ctxt, 
    const xmlChar * str)
    -

    Compile an XPath expression

    -
    ctxt:an XPath context
    str:the XPath expression
    Returns:the xmlXPathCompExprPtr resulting from the compilation or NULL. the caller has to free the object.

    Function: xmlXPathEval

    xmlXPathObjectPtr	xmlXPathEval	(const xmlChar * str, 
    xmlXPathContextPtr ctx)
    -

    Evaluate the XPath Location Path in the given context.

    -
    str:the XPath expression
    ctx:the XPath context
    Returns:the xmlXPathObjectPtr resulting from the evaluation or NULL. the caller has to free the object.

    Function: xmlXPathEvalExpression

    xmlXPathObjectPtr	xmlXPathEvalExpression	(const xmlChar * str, 
    xmlXPathContextPtr ctxt)
    -

    Evaluate the XPath expression in the given context.

    -
    str:the XPath expression
    ctxt:the XPath context
    Returns:the xmlXPathObjectPtr resulting from the evaluation or NULL. the caller has to free the object.

    Function type: xmlXPathEvalFunc

    Function type: xmlXPathEvalFunc
    -void	xmlXPathEvalFunc		(xmlXPathParserContextPtr ctxt, 
    int nargs) -

    An XPath evaluation function, the parameters are on the XPath context stack.

    ctxt:an XPath parser context
    nargs:the number of arguments passed to the function

    -

    Function: xmlXPathEvalPredicate

    int	xmlXPathEvalPredicate		(xmlXPathContextPtr ctxt, 
    xmlXPathObjectPtr res)
    -

    Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the Expr and converting the result to a boolean. If the result is a number, the result will be converted to true if the number is equal to the position of the context node in the context node list (as returned by the position function) and will be converted to false otherwise; if the result is not a number, then the result will be converted as if by a call to the boolean function.

    -
    ctxt:the XPath context
    res:the Predicate Expression evaluation result
    Returns:1 if predicate is true, 0 otherwise

    Function: xmlXPathFreeCompExpr

    void	xmlXPathFreeCompExpr		(xmlXPathCompExprPtr comp)
    -

    Free up the memory allocated by @comp

    -
    comp:an XPATH comp

    Function: xmlXPathFreeContext

    void	xmlXPathFreeContext		(xmlXPathContextPtr ctxt)
    -

    Free up an xmlXPathContext

    -
    ctxt:the context to free

    Function: xmlXPathFreeNodeSet

    void	xmlXPathFreeNodeSet		(xmlNodeSetPtr obj)
    -

    Free the NodeSet compound (not the actual nodes !).

    -
    obj:the xmlNodeSetPtr to free

    Function: xmlXPathFreeNodeSetList

    void	xmlXPathFreeNodeSetList		(xmlXPathObjectPtr obj)
    -

    Free up the xmlXPathObjectPtr @obj but don't deallocate the objects in the list contrary to xmlXPathFreeObject().

    -
    obj:an existing NodeSetList object

    Function: xmlXPathFreeObject

    void	xmlXPathFreeObject		(xmlXPathObjectPtr obj)
    -

    Free up an xmlXPathObjectPtr object.

    -
    obj:the object to free

    Function type: xmlXPathFuncLookupFunc

    Function type: xmlXPathFuncLookupFunc
    -xmlXPathFunction	xmlXPathFuncLookupFunc	(void * ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri) -

    Prototype for callbacks used to plug function lookup in the XPath engine.

    ctxt:an XPath context
    name:name of the function
    ns_uri:the namespace name hosting this function
    Returns:the XPath function or NULL if not found.

    -

    Function type: xmlXPathFunction

    Function type: xmlXPathFunction
    -void	xmlXPathFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs) -

    An XPath function. The arguments (if any) are popped out from the context stack and the result is pushed on the stack.

    ctxt:the XPath interprestation context
    nargs:the number of arguments

    -

    Function: xmlXPathInit

    void	xmlXPathInit			(void)
    -

    Initialize the XPath environment

    -

    Function: xmlXPathIsInf

    int	xmlXPathIsInf			(double val)
    -

    Provides a portable isinf() function to detect whether a double is a +Infinite or -Infinite. Based on trio code http://sourceforge.net/projects/ctrio/

    -
    val:a double value
    Returns:1 vi the value is +Infinite, -1 if -Infinite, 0 otherwise

    Function: xmlXPathIsNaN

    int	xmlXPathIsNaN			(double val)
    -

    Provides a portable isnan() function to detect whether a double is a NotaNumber. Based on trio code http://sourceforge.net/projects/ctrio/

    -
    val:a double value
    Returns:1 if the value is a NaN, 0 otherwise

    Function: xmlXPathNewContext

    xmlXPathContextPtr	xmlXPathNewContext	(xmlDocPtr doc)
    -

    Create a new xmlXPathContext

    -
    doc:the XML document
    Returns:the xmlXPathContext just allocated. The caller will need to free it.

    Function: xmlXPathNodeSetCreate

    xmlNodeSetPtr	xmlXPathNodeSetCreate	(xmlNodePtr val)
    -

    Create a new xmlNodeSetPtr of type double and of value @val

    -
    val:an initial xmlNodePtr, or NULL
    Returns:the newly created object.

    Function: xmlXPathObjectCopy

    xmlXPathObjectPtr	xmlXPathObjectCopy	(xmlXPathObjectPtr val)
    -

    allocate a new copy of a given object

    -
    val:the original object
    Returns:the newly created object.

    Function: xmlXPathOrderDocElems

    long	xmlXPathOrderDocElems		(xmlDocPtr doc)
    -

    Call this routine to speed up XPath computation on static documents. This stamps all the element nodes with the document order Like for line information, the order is kept in the element->content field, the value stored is actually - the node number (starting at -1) to be able to differentiate from line numbers.

    -
    doc:an input document
    Returns:the number of elements found in the document or -1 in case of error.

    Function type: xmlXPathVariableLookupFunc

    Function type: xmlXPathVariableLookupFunc
    -xmlXPathObjectPtr	xmlXPathVariableLookupFunc	(void * ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri) -

    Prototype for callbacks used to plug variable lookup in the XPath engine.

    ctxt:an XPath context
    name:name of the variable
    ns_uri:the namespace name hosting this variable
    Returns:the XPath object value or NULL if not found.

    -

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xpathInternals.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xpathInternals.html deleted file mode 100644 index 4a6bb2e..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xpathInternals.html +++ /dev/null @@ -1,394 +0,0 @@ - - -Module xpathInternals from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xpathInternals from libxml2

    API Menu
    API Indexes
    Related links

    internal interfaces for XML Path Language implementation used to build new modules on top of XPath like XPointer and XSLT

    Table of Contents

    #define CAST_TO_BOOLEAN
    #define CAST_TO_NUMBER
    #define CAST_TO_STRING
    #define CHECK_ARITY
    #define CHECK_ERROR
    #define CHECK_ERROR0
    #define CHECK_TYPE
    #define CHECK_TYPE0
    #define XP_ERROR
    #define XP_ERROR0
    #define xmlXPathCheckError
    #define xmlXPathEmptyNodeSet
    #define xmlXPathGetContextNode
    #define xmlXPathGetDocument
    #define xmlXPathGetError
    #define xmlXPathReturnBoolean
    #define xmlXPathReturnEmptyNodeSet
    #define xmlXPathReturnEmptyString
    #define xmlXPathReturnExternal
    #define xmlXPathReturnFalse
    #define xmlXPathReturnNodeSet
    #define xmlXPathReturnNumber
    #define xmlXPathReturnString
    #define xmlXPathReturnTrue
    #define xmlXPathSetArityError
    #define xmlXPathSetError
    #define xmlXPathSetTypeError
    #define xmlXPathStackIsExternal
    #define xmlXPathStackIsNodeSet
    xmlXPathObjectPtr	valuePop	(xmlXPathParserContextPtr ctxt)
    -
    int	valuePush			(xmlXPathParserContextPtr ctxt, 
    xmlXPathObjectPtr value)
    -
    void	xmlXPathAddValues		(xmlXPathParserContextPtr ctxt)
    -
    void	xmlXPathBooleanFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathCeilingFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    int	xmlXPathCompareValues		(xmlXPathParserContextPtr ctxt, 
    int inf,
    int strict)
    -
    void	xmlXPathConcatFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathContainsFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathCountFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathDebugDumpCompExpr	(FILE * output, 
    xmlXPathCompExprPtr comp,
    int depth)
    -
    void	xmlXPathDebugDumpObject		(FILE * output, 
    xmlXPathObjectPtr cur,
    int depth)
    -
    xmlNodeSetPtr	xmlXPathDifference	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    -
    xmlNodeSetPtr	xmlXPathDistinct	(xmlNodeSetPtr nodes)
    -
    xmlNodeSetPtr	xmlXPathDistinctSorted	(xmlNodeSetPtr nodes)
    -
    void	xmlXPathDivValues		(xmlXPathParserContextPtr ctxt)
    -
    int	xmlXPathEqualValues		(xmlXPathParserContextPtr ctxt)
    -
    void	xmlXPathErr			(xmlXPathParserContextPtr ctxt, 
    int error)
    -
    void	xmlXPathEvalExpr		(xmlXPathParserContextPtr ctxt)
    -
    int	xmlXPathEvaluatePredicateResult	(xmlXPathParserContextPtr ctxt, 
    xmlXPathObjectPtr res)
    -
    void	xmlXPathFalseFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathFloorFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathFreeParserContext	(xmlXPathParserContextPtr ctxt)
    -
    xmlXPathFunction	xmlXPathFunctionLookup	(xmlXPathContextPtr ctxt, 
    const xmlChar * name)
    -
    xmlXPathFunction	xmlXPathFunctionLookupNS	(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri)
    -
    int	xmlXPathHasSameNodes		(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    -
    void	xmlXPathIdFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    xmlNodeSetPtr	xmlXPathIntersection	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    -
    int	xmlXPathIsNodeType		(const xmlChar * name)
    -
    void	xmlXPathLangFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathLastFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    xmlNodeSetPtr	xmlXPathLeading		(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    -
    xmlNodeSetPtr	xmlXPathLeadingSorted	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    -
    void	xmlXPathLocalNameFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathModValues		(xmlXPathParserContextPtr ctxt)
    -
    void	xmlXPathMultValues		(xmlXPathParserContextPtr ctxt)
    -
    void	xmlXPathNamespaceURIFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    xmlXPathObjectPtr	xmlXPathNewBoolean	(int val)
    -
    xmlXPathObjectPtr	xmlXPathNewCString	(const char * val)
    -
    xmlXPathObjectPtr	xmlXPathNewFloat	(double val)
    -
    xmlXPathObjectPtr	xmlXPathNewNodeSet	(xmlNodePtr val)
    -
    xmlXPathObjectPtr	xmlXPathNewNodeSetList	(xmlNodeSetPtr val)
    -
    xmlXPathParserContextPtr	xmlXPathNewParserContext	(const xmlChar * str, 
    xmlXPathContextPtr ctxt)
    -
    xmlXPathObjectPtr	xmlXPathNewString	(const xmlChar * val)
    -
    xmlXPathObjectPtr	xmlXPathNewValueTree	(xmlNodePtr val)
    -
    xmlNodePtr	xmlXPathNextAncestor	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -
    xmlNodePtr	xmlXPathNextAncestorOrSelf	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -
    xmlNodePtr	xmlXPathNextAttribute	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -
    xmlNodePtr	xmlXPathNextChild	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -
    xmlNodePtr	xmlXPathNextDescendant	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -
    xmlNodePtr	xmlXPathNextDescendantOrSelf	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -
    xmlNodePtr	xmlXPathNextFollowing	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -
    xmlNodePtr	xmlXPathNextFollowingSibling	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -
    xmlNodePtr	xmlXPathNextNamespace	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -
    xmlNodePtr	xmlXPathNextParent	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -
    xmlNodePtr	xmlXPathNextPreceding	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -
    xmlNodePtr	xmlXPathNextPrecedingSibling	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -
    xmlNodePtr	xmlXPathNextSelf	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -
    xmlNodeSetPtr	xmlXPathNodeLeading	(xmlNodeSetPtr nodes, 
    xmlNodePtr node)
    -
    xmlNodeSetPtr	xmlXPathNodeLeadingSorted	(xmlNodeSetPtr nodes, 
    xmlNodePtr node)
    -
    void	xmlXPathNodeSetAdd		(xmlNodeSetPtr cur, 
    xmlNodePtr val)
    -
    void	xmlXPathNodeSetAddNs		(xmlNodeSetPtr cur, 
    xmlNodePtr node,
    xmlNsPtr ns)
    -
    void	xmlXPathNodeSetAddUnique	(xmlNodeSetPtr cur, 
    xmlNodePtr val)
    -
    int	xmlXPathNodeSetContains		(xmlNodeSetPtr cur, 
    xmlNodePtr val)
    -
    void	xmlXPathNodeSetDel		(xmlNodeSetPtr cur, 
    xmlNodePtr val)
    -
    void	xmlXPathNodeSetFreeNs		(xmlNsPtr ns)
    -
    xmlNodeSetPtr	xmlXPathNodeSetMerge	(xmlNodeSetPtr val1, 
    xmlNodeSetPtr val2)
    -
    void	xmlXPathNodeSetRemove		(xmlNodeSetPtr cur, 
    int val)
    -
    void	xmlXPathNodeSetSort		(xmlNodeSetPtr set)
    -
    xmlNodeSetPtr	xmlXPathNodeTrailing	(xmlNodeSetPtr nodes, 
    xmlNodePtr node)
    -
    xmlNodeSetPtr	xmlXPathNodeTrailingSorted	(xmlNodeSetPtr nodes, 
    xmlNodePtr node)
    -
    void	xmlXPathNormalizeFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    int	xmlXPathNotEqualValues		(xmlXPathParserContextPtr ctxt)
    -
    void	xmlXPathNotFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    const xmlChar *	xmlXPathNsLookup	(xmlXPathContextPtr ctxt, 
    const xmlChar * prefix)
    -
    void	xmlXPathNumberFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    xmlChar *	xmlXPathParseNCName	(xmlXPathParserContextPtr ctxt)
    -
    xmlChar *	xmlXPathParseName	(xmlXPathParserContextPtr ctxt)
    -
    int	xmlXPathPopBoolean		(xmlXPathParserContextPtr ctxt)
    -
    void *	xmlXPathPopExternal		(xmlXPathParserContextPtr ctxt)
    -
    xmlNodeSetPtr	xmlXPathPopNodeSet	(xmlXPathParserContextPtr ctxt)
    -
    double	xmlXPathPopNumber		(xmlXPathParserContextPtr ctxt)
    -
    xmlChar *	xmlXPathPopString	(xmlXPathParserContextPtr ctxt)
    -
    void	xmlXPathPositionFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathRegisterAllFunctions	(xmlXPathContextPtr ctxt)
    -
    int	xmlXPathRegisterFunc		(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    xmlXPathFunction f)
    -
    void	xmlXPathRegisterFuncLookup	(xmlXPathContextPtr ctxt, 
    xmlXPathFuncLookupFunc f,
    void * funcCtxt)
    -
    int	xmlXPathRegisterFuncNS		(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri,
    xmlXPathFunction f)
    -
    int	xmlXPathRegisterNs		(xmlXPathContextPtr ctxt, 
    const xmlChar * prefix,
    const xmlChar * ns_uri)
    -
    int	xmlXPathRegisterVariable	(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    xmlXPathObjectPtr value)
    -
    void	xmlXPathRegisterVariableLookup	(xmlXPathContextPtr ctxt, 
    xmlXPathVariableLookupFunc f,
    void * data)
    -
    int	xmlXPathRegisterVariableNS	(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri,
    xmlXPathObjectPtr value)
    -
    void	xmlXPathRegisteredFuncsCleanup	(xmlXPathContextPtr ctxt)
    -
    void	xmlXPathRegisteredNsCleanup	(xmlXPathContextPtr ctxt)
    -
    void	xmlXPathRegisteredVariablesCleanup	(xmlXPathContextPtr ctxt)
    -
    void	xmlXPathRoot			(xmlXPathParserContextPtr ctxt)
    -
    void	xmlXPathRoundFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathStartsWithFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    double	xmlXPathStringEvalNumber	(const xmlChar * str)
    -
    void	xmlXPathStringFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathStringLengthFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathSubValues		(xmlXPathParserContextPtr ctxt)
    -
    void	xmlXPathSubstringAfterFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathSubstringBeforeFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathSubstringFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathSumFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    xmlNodeSetPtr	xmlXPathTrailing	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    -
    xmlNodeSetPtr	xmlXPathTrailingSorted	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    -
    void	xmlXPathTranslateFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathTrueFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    void	xmlXPathValueFlipSign		(xmlXPathParserContextPtr ctxt)
    -
    xmlXPathObjectPtr	xmlXPathVariableLookup	(xmlXPathContextPtr ctxt, 
    const xmlChar * name)
    -
    xmlXPathObjectPtr	xmlXPathVariableLookupNS	(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri)
    -
    xmlXPathObjectPtr	xmlXPathWrapCString	(char * val)
    -
    xmlXPathObjectPtr	xmlXPathWrapExternal	(void * val)
    -
    xmlXPathObjectPtr	xmlXPathWrapNodeSet	(xmlNodeSetPtr val)
    -
    xmlXPathObjectPtr	xmlXPathWrapString	(xmlChar * val)
    -
    void	xmlXPatherror			(xmlXPathParserContextPtr ctxt, 
    const char * file,
    int line,
    int no)
    -

    Description

    -

    Macro: CAST_TO_BOOLEAN

    #define CAST_TO_BOOLEAN

    Macro to try to cast the value on the top of the XPath stack to a boolean.

    -

    Macro: CAST_TO_NUMBER

    #define CAST_TO_NUMBER

    Macro to try to cast the value on the top of the XPath stack to a number.

    -

    Macro: CAST_TO_STRING

    #define CAST_TO_STRING

    Macro to try to cast the value on the top of the XPath stack to a string.

    -

    Macro: CHECK_ARITY

    #define CHECK_ARITY

    Macro to check that the number of args passed to an XPath function matches.

    -

    Macro: CHECK_ERROR

    #define CHECK_ERROR

    Macro to return from the function if an XPath error was detected.

    -

    Macro: CHECK_ERROR0

    #define CHECK_ERROR0

    Macro to return 0 from the function if an XPath error was detected.

    -

    Macro: CHECK_TYPE

    #define CHECK_TYPE

    Macro to check that the value on top of the XPath stack is of a given type.

    -

    Macro: CHECK_TYPE0

    #define CHECK_TYPE0

    Macro to check that the value on top of the XPath stack is of a given type. Return(0) in case of failure

    -

    Macro: XP_ERROR

    #define XP_ERROR

    Macro to raise an XPath error and return.

    -

    Macro: XP_ERROR0

    #define XP_ERROR0

    Macro to raise an XPath error and return 0.

    -

    Macro: xmlXPathCheckError

    #define xmlXPathCheckError

    Check if an XPath error was raised. Returns true if an error has been raised, false otherwise.

    -

    Macro: xmlXPathEmptyNodeSet

    #define xmlXPathEmptyNodeSet

    Empties a node-set.

    -

    Macro: xmlXPathGetContextNode

    #define xmlXPathGetContextNode

    Get the context node of an XPath context. Returns the context node.

    -

    Macro: xmlXPathGetDocument

    #define xmlXPathGetDocument

    Get the document of an XPath context. Returns the context document.

    -

    Macro: xmlXPathGetError

    #define xmlXPathGetError

    Get the error code of an XPath context. Returns the context error.

    -

    Macro: xmlXPathReturnBoolean

    #define xmlXPathReturnBoolean

    Pushes the boolean @val on the context stack.

    -

    Macro: xmlXPathReturnEmptyNodeSet

    #define xmlXPathReturnEmptyNodeSet

    Pushes an empty node-set on the context stack.

    -

    Macro: xmlXPathReturnEmptyString

    #define xmlXPathReturnEmptyString

    Pushes an empty string on the stack.

    -

    Macro: xmlXPathReturnExternal

    #define xmlXPathReturnExternal

    Pushes user data on the context stack.

    -

    Macro: xmlXPathReturnFalse

    #define xmlXPathReturnFalse

    Pushes false on the context stack.

    -

    Macro: xmlXPathReturnNodeSet

    #define xmlXPathReturnNodeSet

    Pushes the node-set @ns on the context stack.

    -

    Macro: xmlXPathReturnNumber

    #define xmlXPathReturnNumber

    Pushes the double @val on the context stack.

    -

    Macro: xmlXPathReturnString

    #define xmlXPathReturnString

    Pushes the string @str on the context stack.

    -

    Macro: xmlXPathReturnTrue

    #define xmlXPathReturnTrue

    Pushes true on the context stack.

    -

    Macro: xmlXPathSetArityError

    #define xmlXPathSetArityError

    Raises an XPATH_INVALID_ARITY error.

    -

    Macro: xmlXPathSetError

    #define xmlXPathSetError

    Raises an error.

    -

    Macro: xmlXPathSetTypeError

    #define xmlXPathSetTypeError

    Raises an XPATH_INVALID_TYPE error.

    -

    Macro: xmlXPathStackIsExternal

    #define xmlXPathStackIsExternal

    Checks if the current value on the XPath stack is an external object. Returns true if the current object on the stack is an external object.

    -

    Macro: xmlXPathStackIsNodeSet

    #define xmlXPathStackIsNodeSet

    Check if the current value on the XPath stack is a node set or an XSLT value tree. Returns true if the current object on the stack is a node-set.

    -

    Function: valuePop

    xmlXPathObjectPtr	valuePop	(xmlXPathParserContextPtr ctxt)
    -

    Pops the top XPath object from the value stack

    -
    ctxt:an XPath evaluation context
    Returns:the XPath object just removed

    Function: valuePush

    int	valuePush			(xmlXPathParserContextPtr ctxt, 
    xmlXPathObjectPtr value)
    -

    Pushes a new XPath object on top of the value stack

    -
    ctxt:an XPath evaluation context
    value:the XPath object
    Returns:the number of items on the value stack

    Function: xmlXPathAddValues

    void	xmlXPathAddValues		(xmlXPathParserContextPtr ctxt)
    -

    Implement the add operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.

    -
    ctxt:the XPath Parser context

    Function: xmlXPathBooleanFunction

    void	xmlXPathBooleanFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the boolean() XPath function boolean boolean(object) The boolean function converts its argument to a boolean as follows: - a number is true if and only if it is neither positive or negative zero nor NaN - a node-set is true if and only if it is non-empty - a string is true if and only if its length is non-zero

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathCeilingFunction

    void	xmlXPathCeilingFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the ceiling() XPath function number ceiling(number) The ceiling function returns the smallest (closest to negative infinity) number that is not less than the argument and that is an integer.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathCompareValues

    int	xmlXPathCompareValues		(xmlXPathParserContextPtr ctxt, 
    int inf,
    int strict)
    -

    Implement the compare operation on XPath objects: @arg1 < @arg2 (1, 1, ... @arg1 <= @arg2 (1, 0, ... @arg1 > @arg2 (0, 1, ... @arg1 >= @arg2 (0, 0, ... When neither object to be compared is a node-set and the operator is <=, <, >=, >, then the objects are compared by converted both objects to numbers and comparing the numbers according to IEEE 754. The < comparison will be true if and only if the first number is less than the second number. The <= comparison will be true if and only if the first number is less than or equal to the second number. The > comparison will be true if and only if the first number is greater than the second number. The >= comparison will be true if and only if the first number is greater than or equal to the second number.

    -
    ctxt:the XPath Parser context
    inf:less than (1) or greater than (0)
    strict:is the comparison strict
    Returns:1 if the comparison succeeded, 0 if it failed

    Function: xmlXPathConcatFunction

    void	xmlXPathConcatFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the concat() XPath function string concat(string, string, string*) The concat function returns the concatenation of its arguments.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathContainsFunction

    void	xmlXPathContainsFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the contains() XPath function boolean contains(string, string) The contains function returns true if the first argument string contains the second argument string, and otherwise returns false.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathCountFunction

    void	xmlXPathCountFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the count() XPath function number count(node-set)

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathDebugDumpCompExpr

    void	xmlXPathDebugDumpCompExpr	(FILE * output, 
    xmlXPathCompExprPtr comp,
    int depth)
    -

    Dumps the tree of the compiled XPath expression.

    -
    output:the FILE * for the output
    comp:the precompiled XPath expression
    depth:the indentation level.

    Function: xmlXPathDebugDumpObject

    void	xmlXPathDebugDumpObject		(FILE * output, 
    xmlXPathObjectPtr cur,
    int depth)
    -

    Dump the content of the object for debugging purposes

    -
    output:the FILE * to dump the output
    cur:the object to inspect
    depth:indentation level

    Function: xmlXPathDifference

    xmlNodeSetPtr	xmlXPathDifference	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    -

    Implements the EXSLT - Sets difference() function: node-set set:difference (node-set, node-set)

    -
    nodes1:a node-set
    nodes2:a node-set
    Returns:the difference between the two node sets, or nodes1 if nodes2 is empty

    Function: xmlXPathDistinct

    xmlNodeSetPtr	xmlXPathDistinct	(xmlNodeSetPtr nodes)
    -

    Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set) @nodes is sorted by document order, then #exslSetsDistinctSorted is called with the sorted node-set

    -
    nodes:a node-set
    Returns:a subset of the nodes contained in @nodes, or @nodes if it is empty

    Function: xmlXPathDistinctSorted

    xmlNodeSetPtr	xmlXPathDistinctSorted	(xmlNodeSetPtr nodes)
    -

    Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set)

    -
    nodes:a node-set, sorted by document order
    Returns:a subset of the nodes contained in @nodes, or @nodes if it is empty

    Function: xmlXPathDivValues

    void	xmlXPathDivValues		(xmlXPathParserContextPtr ctxt)
    -

    Implement the div operation on XPath objects @arg1 / @arg2: The numeric operators convert their operands to numbers as if by calling the number function.

    -
    ctxt:the XPath Parser context

    Function: xmlXPathEqualValues

    int	xmlXPathEqualValues		(xmlXPathParserContextPtr ctxt)
    -

    Implement the equal operation on XPath objects content: @arg1 == @arg2

    -
    ctxt:the XPath Parser context
    Returns:0 or 1 depending on the results of the test.

    Function: xmlXPathErr

    void	xmlXPathErr			(xmlXPathParserContextPtr ctxt, 
    int error)
    -

    Handle an XPath error

    -
    ctxt:a XPath parser context
    error:the error code

    Function: xmlXPathEvalExpr

    void	xmlXPathEvalExpr		(xmlXPathParserContextPtr ctxt)
    -

    Parse and evaluate an XPath expression in the given context, then push the result on the context stack

    -
    ctxt:the XPath Parser context

    Function: xmlXPathEvaluatePredicateResult

    int	xmlXPathEvaluatePredicateResult	(xmlXPathParserContextPtr ctxt, 
    xmlXPathObjectPtr res)
    -

    Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the Expr and converting the result to a boolean. If the result is a number, the result will be converted to true if the number is equal to the position of the context node in the context node list (as returned by the position function) and will be converted to false otherwise; if the result is not a number, then the result will be converted as if by a call to the boolean function.

    -
    ctxt:the XPath Parser context
    res:the Predicate Expression evaluation result
    Returns:1 if predicate is true, 0 otherwise

    Function: xmlXPathFalseFunction

    void	xmlXPathFalseFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the false() XPath function boolean false()

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathFloorFunction

    void	xmlXPathFloorFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the floor() XPath function number floor(number) The floor function returns the largest (closest to positive infinity) number that is not greater than the argument and that is an integer.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathFreeParserContext

    void	xmlXPathFreeParserContext	(xmlXPathParserContextPtr ctxt)
    -

    Free up an xmlXPathParserContext

    -
    ctxt:the context to free

    Function: xmlXPathFunctionLookup

    xmlXPathFunction	xmlXPathFunctionLookup	(xmlXPathContextPtr ctxt, 
    const xmlChar * name)
    -

    Search in the Function array of the context for the given function.

    -
    ctxt:the XPath context
    name:the function name
    Returns:the xmlXPathFunction or NULL if not found

    Function: xmlXPathFunctionLookupNS

    xmlXPathFunction	xmlXPathFunctionLookupNS	(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri)
    -

    Search in the Function array of the context for the given function.

    -
    ctxt:the XPath context
    name:the function name
    ns_uri:the function namespace URI
    Returns:the xmlXPathFunction or NULL if not found

    Function: xmlXPathHasSameNodes

    int	xmlXPathHasSameNodes		(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    -

    Implements the EXSLT - Sets has-same-nodes function: boolean set:has-same-node(node-set, node-set)

    -
    nodes1:a node-set
    nodes2:a node-set
    Returns:true (1) if @nodes1 shares any node with @nodes2, false (0) otherwise

    Function: xmlXPathIdFunction

    void	xmlXPathIdFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the id() XPath function node-set id(object) The id function selects elements by their unique ID (see [5.2.1 Unique IDs]). When the argument to id is of type node-set, then the result is the union of the result of applying id to the string value of each of the nodes in the argument node-set. When the argument to id is of any other type, the argument is converted to a string as if by a call to the string function; the string is split into a whitespace-separated list of tokens (whitespace is any sequence of characters matching the production S); the result is a node-set containing the elements in the same document as the context node that have a unique ID equal to any of the tokens in the list.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathIntersection

    xmlNodeSetPtr	xmlXPathIntersection	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    -

    Implements the EXSLT - Sets intersection() function: node-set set:intersection (node-set, node-set)

    -
    nodes1:a node-set
    nodes2:a node-set
    Returns:a node set comprising the nodes that are within both the node sets passed as arguments

    Function: xmlXPathIsNodeType

    int	xmlXPathIsNodeType		(const xmlChar * name)
    -

    Is the name given a NodeType one. [38] NodeType ::= 'comment' | 'text' | 'processing-instruction' | 'node'

    -
    name:a name string
    Returns:1 if true 0 otherwise

    Function: xmlXPathLangFunction

    void	xmlXPathLangFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the lang() XPath function boolean lang(string) The lang function returns true or false depending on whether the language of the context node as specified by xml:lang attributes is the same as or is a sublanguage of the language specified by the argument string. The language of the context node is determined by the value of the xml:lang attribute on the context node, or, if the context node has no xml:lang attribute, by the value of the xml:lang attribute on the nearest ancestor of the context node that has an xml:lang attribute. If there is no such attribute, then lang

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathLastFunction

    void	xmlXPathLastFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the last() XPath function number last() The last function returns the number of nodes in the context node list.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathLeading

    xmlNodeSetPtr	xmlXPathLeading		(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    -

    Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes1 and @nodes2 are sorted by document order, then #exslSetsLeadingSorted is called.

    -
    nodes1:a node-set
    nodes2:a node-set
    Returns:the nodes in @nodes1 that precede the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2

    Function: xmlXPathLeadingSorted

    xmlNodeSetPtr	xmlXPathLeadingSorted	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    -

    Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)

    -
    nodes1:a node-set, sorted by document order
    nodes2:a node-set, sorted by document order
    Returns:the nodes in @nodes1 that precede the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2

    Function: xmlXPathLocalNameFunction

    void	xmlXPathLocalNameFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the local-name() XPath function string local-name(node-set?) The local-name function returns a string containing the local part of the name of the node in the argument node-set that is first in document order. If the node-set is empty or the first node has no name, an empty string is returned. If the argument is omitted it defaults to the context node.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathModValues

    void	xmlXPathModValues		(xmlXPathParserContextPtr ctxt)
    -

    Implement the mod operation on XPath objects: @arg1 / @arg2 The numeric operators convert their operands to numbers as if by calling the number function.

    -
    ctxt:the XPath Parser context

    Function: xmlXPathMultValues

    void	xmlXPathMultValues		(xmlXPathParserContextPtr ctxt)
    -

    Implement the multiply operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.

    -
    ctxt:the XPath Parser context

    Function: xmlXPathNamespaceURIFunction

    void	xmlXPathNamespaceURIFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the namespace-uri() XPath function string namespace-uri(node-set?) The namespace-uri function returns a string containing the namespace URI of the expanded name of the node in the argument node-set that is first in document order. If the node-set is empty, the first node has no name, or the expanded name has no namespace URI, an empty string is returned. If the argument is omitted it defaults to the context node.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathNewBoolean

    xmlXPathObjectPtr	xmlXPathNewBoolean	(int val)
    -

    Create a new xmlXPathObjectPtr of type boolean and of value @val

    -
    val:the boolean value
    Returns:the newly created object.

    Function: xmlXPathNewCString

    xmlXPathObjectPtr	xmlXPathNewCString	(const char * val)
    -

    Create a new xmlXPathObjectPtr of type string and of value @val

    -
    val:the char * value
    Returns:the newly created object.

    Function: xmlXPathNewFloat

    xmlXPathObjectPtr	xmlXPathNewFloat	(double val)
    -

    Create a new xmlXPathObjectPtr of type double and of value @val

    -
    val:the double value
    Returns:the newly created object.

    Function: xmlXPathNewNodeSet

    xmlXPathObjectPtr	xmlXPathNewNodeSet	(xmlNodePtr val)
    -

    Create a new xmlXPathObjectPtr of type NodeSet and initialize it with the single Node @val

    -
    val:the NodePtr value
    Returns:the newly created object.

    Function: xmlXPathNewNodeSetList

    xmlXPathObjectPtr	xmlXPathNewNodeSetList	(xmlNodeSetPtr val)
    -

    Create a new xmlXPathObjectPtr of type NodeSet and initialize it with the Nodeset @val

    -
    val:an existing NodeSet
    Returns:the newly created object.

    Function: xmlXPathNewParserContext

    xmlXPathParserContextPtr	xmlXPathNewParserContext	(const xmlChar * str, 
    xmlXPathContextPtr ctxt)
    -

    Create a new xmlXPathParserContext

    -
    str:the XPath expression
    ctxt:the XPath context
    Returns:the xmlXPathParserContext just allocated.

    Function: xmlXPathNewString

    xmlXPathObjectPtr	xmlXPathNewString	(const xmlChar * val)
    -

    Create a new xmlXPathObjectPtr of type string and of value @val

    -
    val:the xmlChar * value
    Returns:the newly created object.

    Function: xmlXPathNewValueTree

    xmlXPathObjectPtr	xmlXPathNewValueTree	(xmlNodePtr val)
    -

    Create a new xmlXPathObjectPtr of type Value Tree (XSLT) and initialize it with the tree root @val

    -
    val:the NodePtr value
    Returns:the newly created object.

    Function: xmlXPathNextAncestor

    xmlNodePtr	xmlXPathNextAncestor	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -

    Traversal function for the "ancestor" direction the ancestor axis contains the ancestors of the context node; the ancestors of the context node consist of the parent of context node and the parent's parent and so on; the nodes are ordered in reverse document order; thus the parent is the first node on the axis, and the parent's parent is the second node on the axis

    -
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextAncestorOrSelf

    xmlNodePtr	xmlXPathNextAncestorOrSelf	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -

    Traversal function for the "ancestor-or-self" direction he ancestor-or-self axis contains the context node and ancestors of the context node in reverse document order; thus the context node is the first node on the axis, and the context node's parent the second; parent here is defined the same as with the parent axis.

    -
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextAttribute

    xmlNodePtr	xmlXPathNextAttribute	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -

    Traversal function for the "attribute" direction TODO: support DTD inherited default attributes

    -
    ctxt:the XPath Parser context
    cur:the current attribute in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextChild

    xmlNodePtr	xmlXPathNextChild	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -

    Traversal function for the "child" direction The child axis contains the children of the context node in document order.

    -
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextDescendant

    xmlNodePtr	xmlXPathNextDescendant	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -

    Traversal function for the "descendant" direction the descendant axis contains the descendants of the context node in document order; a descendant is a child or a child of a child and so on.

    -
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextDescendantOrSelf

    xmlNodePtr	xmlXPathNextDescendantOrSelf	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -

    Traversal function for the "descendant-or-self" direction the descendant-or-self axis contains the context node and the descendants of the context node in document order; thus the context node is the first node on the axis, and the first child of the context node is the second node on the axis

    -
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextFollowing

    xmlNodePtr	xmlXPathNextFollowing	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -

    Traversal function for the "following" direction The following axis contains all nodes in the same document as the context node that are after the context node in document order, excluding any descendants and excluding attribute nodes and namespace nodes; the nodes are ordered in document order

    -
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextFollowingSibling

    xmlNodePtr	xmlXPathNextFollowingSibling	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -

    Traversal function for the "following-sibling" direction The following-sibling axis contains the following siblings of the context node in document order.

    -
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextNamespace

    xmlNodePtr	xmlXPathNextNamespace	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -

    Traversal function for the "namespace" direction the namespace axis contains the namespace nodes of the context node; the order of nodes on this axis is implementation-defined; the axis will be empty unless the context node is an element We keep the XML namespace node at the end of the list.

    -
    ctxt:the XPath Parser context
    cur:the current attribute in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextParent

    xmlNodePtr	xmlXPathNextParent	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -

    Traversal function for the "parent" direction The parent axis contains the parent of the context node, if there is one.

    -
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextPreceding

    xmlNodePtr	xmlXPathNextPreceding	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -

    Traversal function for the "preceding" direction the preceding axis contains all nodes in the same document as the context node that are before the context node in document order, excluding any ancestors and excluding attribute nodes and namespace nodes; the nodes are ordered in reverse document order

    -
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextPrecedingSibling

    xmlNodePtr	xmlXPathNextPrecedingSibling	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -

    Traversal function for the "preceding-sibling" direction The preceding-sibling axis contains the preceding siblings of the context node in reverse document order; the first preceding sibling is first on the axis; the sibling preceding that node is the second on the axis and so on.

    -
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextSelf

    xmlNodePtr	xmlXPathNextSelf	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    -

    Traversal function for the "self" direction The self axis contains just the context node itself

    -
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNodeLeading

    xmlNodeSetPtr	xmlXPathNodeLeading	(xmlNodeSetPtr nodes, 
    xmlNodePtr node)
    -

    Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes is sorted by document order, then #exslSetsNodeLeadingSorted is called.

    -
    nodes:a node-set
    node:a node
    Returns:the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node

    Function: xmlXPathNodeLeadingSorted

    xmlNodeSetPtr	xmlXPathNodeLeadingSorted	(xmlNodeSetPtr nodes, 
    xmlNodePtr node)
    -

    Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)

    -
    nodes:a node-set, sorted by document order
    node:a node
    Returns:the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node

    Function: xmlXPathNodeSetAdd

    void	xmlXPathNodeSetAdd		(xmlNodeSetPtr cur, 
    xmlNodePtr val)
    -

    add a new xmlNodePtr to an existing NodeSet

    -
    cur:the initial node set
    val:a new xmlNodePtr

    Function: xmlXPathNodeSetAddNs

    void	xmlXPathNodeSetAddNs		(xmlNodeSetPtr cur, 
    xmlNodePtr node,
    xmlNsPtr ns)
    -

    add a new namespace node to an existing NodeSet

    -
    cur:the initial node set
    node:the hosting node
    ns:a the namespace node

    Function: xmlXPathNodeSetAddUnique

    void	xmlXPathNodeSetAddUnique	(xmlNodeSetPtr cur, 
    xmlNodePtr val)
    -

    add a new xmlNodePtr to an existing NodeSet, optimized version when we are sure the node is not already in the set.

    -
    cur:the initial node set
    val:a new xmlNodePtr

    Function: xmlXPathNodeSetContains

    int	xmlXPathNodeSetContains		(xmlNodeSetPtr cur, 
    xmlNodePtr val)
    -

    checks whether @cur contains @val

    -
    cur:the node-set
    val:the node
    Returns:true (1) if @cur contains @val, false (0) otherwise

    Function: xmlXPathNodeSetDel

    void	xmlXPathNodeSetDel		(xmlNodeSetPtr cur, 
    xmlNodePtr val)
    -

    Removes an xmlNodePtr from an existing NodeSet

    -
    cur:the initial node set
    val:an xmlNodePtr

    Function: xmlXPathNodeSetFreeNs

    void	xmlXPathNodeSetFreeNs		(xmlNsPtr ns)
    -

    Namespace nodes in libxml don't match the XPath semantic. In a node set the namespace nodes are duplicated and the next pointer is set to the parent node in the XPath semantic. Check if such a node needs to be freed

    -
    ns:the XPath namespace node found in a nodeset.

    Function: xmlXPathNodeSetMerge

    xmlNodeSetPtr	xmlXPathNodeSetMerge	(xmlNodeSetPtr val1, 
    xmlNodeSetPtr val2)
    -

    Merges two nodesets, all nodes from @val2 are added to @val1 if @val1 is NULL, a new set is created and copied from @val2

    -
    val1:the first NodeSet or NULL
    val2:the second NodeSet
    Returns:@val1 once extended or NULL in case of error.

    Function: xmlXPathNodeSetRemove

    void	xmlXPathNodeSetRemove		(xmlNodeSetPtr cur, 
    int val)
    -

    Removes an entry from an existing NodeSet list.

    -
    cur:the initial node set
    val:the index to remove

    Function: xmlXPathNodeSetSort

    void	xmlXPathNodeSetSort		(xmlNodeSetPtr set)
    -

    Sort the node set in document order

    -
    set:the node set

    Function: xmlXPathNodeTrailing

    xmlNodeSetPtr	xmlXPathNodeTrailing	(xmlNodeSetPtr nodes, 
    xmlNodePtr node)
    -

    Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes is sorted by document order, then #xmlXPathNodeTrailingSorted is called.

    -
    nodes:a node-set
    node:a node
    Returns:the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node

    Function: xmlXPathNodeTrailingSorted

    xmlNodeSetPtr	xmlXPathNodeTrailingSorted	(xmlNodeSetPtr nodes, 
    xmlNodePtr node)
    -

    Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)

    -
    nodes:a node-set, sorted by document order
    node:a node
    Returns:the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node

    Function: xmlXPathNormalizeFunction

    void	xmlXPathNormalizeFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the normalize-space() XPath function string normalize-space(string?) The normalize-space function returns the argument string with white space normalized by stripping leading and trailing whitespace and replacing sequences of whitespace characters by a single space. Whitespace characters are the same allowed by the S production in XML. If the argument is omitted, it defaults to the context node converted to a string, in other words the value of the context node.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathNotEqualValues

    int	xmlXPathNotEqualValues		(xmlXPathParserContextPtr ctxt)
    -

    Implement the equal operation on XPath objects content: @arg1 == @arg2

    -
    ctxt:the XPath Parser context
    Returns:0 or 1 depending on the results of the test.

    Function: xmlXPathNotFunction

    void	xmlXPathNotFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the not() XPath function boolean not(boolean) The not function returns true if its argument is false, and false otherwise.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathNsLookup

    const xmlChar *	xmlXPathNsLookup	(xmlXPathContextPtr ctxt, 
    const xmlChar * prefix)
    -

    Search in the namespace declaration array of the context for the given namespace name associated to the given prefix

    -
    ctxt:the XPath context
    prefix:the namespace prefix value
    Returns:the value or NULL if not found

    Function: xmlXPathNumberFunction

    void	xmlXPathNumberFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the number() XPath function number number(object?)

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathParseNCName

    xmlChar *	xmlXPathParseNCName	(xmlXPathParserContextPtr ctxt)
    -

    parse an XML namespace non qualified name. [NS 3] NCName ::= (Letter | '_') (NCNameChar)* [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender

    -
    ctxt:the XPath Parser context
    Returns:the namespace name or NULL

    Function: xmlXPathParseName

    xmlChar *	xmlXPathParseName	(xmlXPathParserContextPtr ctxt)
    -

    parse an XML name [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)*

    -
    ctxt:the XPath Parser context
    Returns:the namespace name or NULL

    Function: xmlXPathPopBoolean

    int	xmlXPathPopBoolean		(xmlXPathParserContextPtr ctxt)
    -

    Pops a boolean from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.

    -
    ctxt:an XPath parser context
    Returns:the boolean

    Function: xmlXPathPopExternal

    void *	xmlXPathPopExternal		(xmlXPathParserContextPtr ctxt)
    -

    Pops an external object from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.

    -
    ctxt:an XPath parser context
    Returns:the object

    Function: xmlXPathPopNodeSet

    xmlNodeSetPtr	xmlXPathPopNodeSet	(xmlXPathParserContextPtr ctxt)
    -

    Pops a node-set from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.

    -
    ctxt:an XPath parser context
    Returns:the node-set

    Function: xmlXPathPopNumber

    double	xmlXPathPopNumber		(xmlXPathParserContextPtr ctxt)
    -

    Pops a number from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.

    -
    ctxt:an XPath parser context
    Returns:the number

    Function: xmlXPathPopString

    xmlChar *	xmlXPathPopString	(xmlXPathParserContextPtr ctxt)
    -

    Pops a string from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.

    -
    ctxt:an XPath parser context
    Returns:the string

    Function: xmlXPathPositionFunction

    void	xmlXPathPositionFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the position() XPath function number position() The position function returns the position of the context node in the context node list. The first position is 1, and so the last position will be equal to last().

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathRegisterAllFunctions

    void	xmlXPathRegisterAllFunctions	(xmlXPathContextPtr ctxt)
    -

    Registers all default XPath functions in this context

    -
    ctxt:the XPath context

    Function: xmlXPathRegisterFunc

    int	xmlXPathRegisterFunc		(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    xmlXPathFunction f)
    -

    Register a new function. If @f is NULL it unregisters the function

    -
    ctxt:the XPath context
    name:the function name
    f:the function implementation or NULL
    Returns:0 in case of success, -1 in case of error

    Function: xmlXPathRegisterFuncLookup

    void	xmlXPathRegisterFuncLookup	(xmlXPathContextPtr ctxt, 
    xmlXPathFuncLookupFunc f,
    void * funcCtxt)
    -

    Registers an external mechanism to do function lookup.

    -
    ctxt:the XPath context
    f:the lookup function
    funcCtxt:the lookup data

    Function: xmlXPathRegisterFuncNS

    int	xmlXPathRegisterFuncNS		(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri,
    xmlXPathFunction f)
    -

    Register a new function. If @f is NULL it unregisters the function

    -
    ctxt:the XPath context
    name:the function name
    ns_uri:the function namespace URI
    f:the function implementation or NULL
    Returns:0 in case of success, -1 in case of error

    Function: xmlXPathRegisterNs

    int	xmlXPathRegisterNs		(xmlXPathContextPtr ctxt, 
    const xmlChar * prefix,
    const xmlChar * ns_uri)
    -

    Register a new namespace. If @ns_uri is NULL it unregisters the namespace

    -
    ctxt:the XPath context
    prefix:the namespace prefix cannot be NULL or empty string
    ns_uri:the namespace name
    Returns:0 in case of success, -1 in case of error

    Function: xmlXPathRegisterVariable

    int	xmlXPathRegisterVariable	(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    xmlXPathObjectPtr value)
    -

    Register a new variable value. If @value is NULL it unregisters the variable

    -
    ctxt:the XPath context
    name:the variable name
    value:the variable value or NULL
    Returns:0 in case of success, -1 in case of error

    Function: xmlXPathRegisterVariableLookup

    void	xmlXPathRegisterVariableLookup	(xmlXPathContextPtr ctxt, 
    xmlXPathVariableLookupFunc f,
    void * data)
    -

    register an external mechanism to do variable lookup

    -
    ctxt:the XPath context
    f:the lookup function
    data:the lookup data

    Function: xmlXPathRegisterVariableNS

    int	xmlXPathRegisterVariableNS	(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri,
    xmlXPathObjectPtr value)
    -

    Register a new variable value. If @value is NULL it unregisters the variable

    -
    ctxt:the XPath context
    name:the variable name
    ns_uri:the variable namespace URI
    value:the variable value or NULL
    Returns:0 in case of success, -1 in case of error

    Function: xmlXPathRegisteredFuncsCleanup

    void	xmlXPathRegisteredFuncsCleanup	(xmlXPathContextPtr ctxt)
    -

    Cleanup the XPath context data associated to registered functions

    -
    ctxt:the XPath context

    Function: xmlXPathRegisteredNsCleanup

    void	xmlXPathRegisteredNsCleanup	(xmlXPathContextPtr ctxt)
    -

    Cleanup the XPath context data associated to registered variables

    -
    ctxt:the XPath context

    Function: xmlXPathRegisteredVariablesCleanup

    void	xmlXPathRegisteredVariablesCleanup	(xmlXPathContextPtr ctxt)
    -

    Cleanup the XPath context data associated to registered variables

    -
    ctxt:the XPath context

    Function: xmlXPathRoot

    void	xmlXPathRoot			(xmlXPathParserContextPtr ctxt)
    -

    Initialize the context to the root of the document

    -
    ctxt:the XPath Parser context

    Function: xmlXPathRoundFunction

    void	xmlXPathRoundFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the round() XPath function number round(number) The round function returns the number that is closest to the argument and that is an integer. If there are two such numbers, then the one that is even is returned.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathStartsWithFunction

    void	xmlXPathStartsWithFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the starts-with() XPath function boolean starts-with(string, string) The starts-with function returns true if the first argument string starts with the second argument string, and otherwise returns false.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathStringEvalNumber

    double	xmlXPathStringEvalNumber	(const xmlChar * str)
    -

    [30a] Float ::= Number ('e' Digits?)? [30] Number ::= Digits ('.' Digits?)? | '.' Digits [31] Digits ::= [0-9]+ Compile a Number in the string In complement of the Number expression, this function also handles negative values : '-' Number.

    -
    str:A string to scan
    Returns:the double value.

    Function: xmlXPathStringFunction

    void	xmlXPathStringFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the string() XPath function string string(object?) The string function converts an object to a string as follows: - A node-set is converted to a string by returning the value of the node in the node-set that is first in document order. If the node-set is empty, an empty string is returned. - A number is converted to a string as follows + NaN is converted to the string NaN + positive zero is converted to the string 0 + negative zero is converted to the string 0 + positive infinity is converted to the string Infinity + negative infinity is converted to the string -Infinity + if the number is an integer, the number is represented in decimal form as a Number with no decimal point and no leading zeros, preceded by a minus sign (-) if the number is negative + otherwise, the number is represented in decimal form as a Number including a decimal point with at least one digit before the decimal point and at least one digit after the decimal point, preceded by a minus sign (-) if the number is negative; there must be no leading zeros before the decimal point apart possibly from the one required digit immediately before the decimal point; beyond the one required digit after the decimal point there must be as many, but only as many, more digits as are needed to uniquely distinguish the number from all other IEEE 754 numeric values. - The boolean false value is converted to the string false. The boolean true value is converted to the string true. If the argument is omitted, it defaults to a node-set with the context node as its only member.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathStringLengthFunction

    void	xmlXPathStringLengthFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the string-length() XPath function number string-length(string?) The string-length returns the number of characters in the string (see [3.6 Strings]). If the argument is omitted, it defaults to the context node converted to a string, in other words the value of the context node.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathSubValues

    void	xmlXPathSubValues		(xmlXPathParserContextPtr ctxt)
    -

    Implement the subtraction operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.

    -
    ctxt:the XPath Parser context

    Function: xmlXPathSubstringAfterFunction

    void	xmlXPathSubstringAfterFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the substring-after() XPath function string substring-after(string, string) The substring-after function returns the substring of the first argument string that follows the first occurrence of the second argument string in the first argument string, or the empty stringi if the first argument string does not contain the second argument string. For example, substring-after("1999/04/01","/") returns 04/01, and substring-after("1999/04/01","19") returns 99/04/01.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathSubstringBeforeFunction

    void	xmlXPathSubstringBeforeFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the substring-before() XPath function string substring-before(string, string) The substring-before function returns the substring of the first argument string that precedes the first occurrence of the second argument string in the first argument string, or the empty string if the first argument string does not contain the second argument string. For example, substring-before("1999/04/01","/") returns 1999.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathSubstringFunction

    void	xmlXPathSubstringFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the substring() XPath function string substring(string, number, number?) The substring function returns the substring of the first argument starting at the position specified in the second argument with length specified in the third argument. For example, substring("12345",2,3) returns "234". If the third argument is not specified, it returns the substring starting at the position specified in the second argument and continuing to the end of the string. For example, substring("12345",2) returns "2345". More precisely, each character in the string (see [3.6 Strings]) is considered to have a numeric position: the position of the first character is 1, the position of the second character is 2 and so on. The returned substring contains those characters for which the position of the character is greater than or equal to the second argument and, if the third argument is specified, less than the sum of the second and third arguments; the comparisons and addition used for the above follow the standard IEEE 754 rules. Thus: - substring("12345", 1.5, 2.6) returns "234" - substring("12345", 0, 3) returns "12" - substring("12345", 0 div 0, 3) returns "" - substring("12345", 1, 0 div 0) returns "" - substring("12345", -42, 1 div 0) returns "12345" - substring("12345", -1 div 0, 1 div 0) returns ""

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathSumFunction

    void	xmlXPathSumFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the sum() XPath function number sum(node-set) The sum function returns the sum of the values of the nodes in the argument node-set.

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathTrailing

    xmlNodeSetPtr	xmlXPathTrailing	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    -

    Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes1 and @nodes2 are sorted by document order, then #xmlXPathTrailingSorted is called.

    -
    nodes1:a node-set
    nodes2:a node-set
    Returns:the nodes in @nodes1 that follow the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2

    Function: xmlXPathTrailingSorted

    xmlNodeSetPtr	xmlXPathTrailingSorted	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    -

    Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)

    -
    nodes1:a node-set, sorted by document order
    nodes2:a node-set, sorted by document order
    Returns:the nodes in @nodes1 that follow the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2

    Function: xmlXPathTranslateFunction

    void	xmlXPathTranslateFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the translate() XPath function string translate(string, string, string) The translate function returns the first argument string with occurrences of characters in the second argument string replaced by the character at the corresponding position in the third argument string. For example, translate("bar","abc","ABC") returns the string BAr. If there is a character in the second argument string with no character at a corresponding position in the third argument string (because the second argument string is longer than the third argument string), then occurrences of that character in the first argument string are removed. For example, translate("--aaa--","abc-","ABC")

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathTrueFunction

    void	xmlXPathTrueFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the true() XPath function boolean true()

    -
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathValueFlipSign

    void	xmlXPathValueFlipSign		(xmlXPathParserContextPtr ctxt)
    -

    Implement the unary - operation on an XPath object The numeric operators convert their operands to numbers as if by calling the number function.

    -
    ctxt:the XPath Parser context

    Function: xmlXPathVariableLookup

    xmlXPathObjectPtr	xmlXPathVariableLookup	(xmlXPathContextPtr ctxt, 
    const xmlChar * name)
    -

    Search in the Variable array of the context for the given variable value.

    -
    ctxt:the XPath context
    name:the variable name
    Returns:a copy of the value or NULL if not found

    Function: xmlXPathVariableLookupNS

    xmlXPathObjectPtr	xmlXPathVariableLookupNS	(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri)
    -

    Search in the Variable array of the context for the given variable value.

    -
    ctxt:the XPath context
    name:the variable name
    ns_uri:the variable namespace URI
    Returns:the a copy of the value or NULL if not found

    Function: xmlXPathWrapCString

    xmlXPathObjectPtr	xmlXPathWrapCString	(char * val)
    -

    Wraps a string into an XPath object.

    -
    val:the char * value
    Returns:the newly created object.

    Function: xmlXPathWrapExternal

    xmlXPathObjectPtr	xmlXPathWrapExternal	(void * val)
    -

    Wraps the @val data into an XPath object.

    -
    val:the user data
    Returns:the newly created object.

    Function: xmlXPathWrapNodeSet

    xmlXPathObjectPtr	xmlXPathWrapNodeSet	(xmlNodeSetPtr val)
    -

    Wrap the Nodeset @val in a new xmlXPathObjectPtr

    -
    val:the NodePtr value
    Returns:the newly created object.

    Function: xmlXPathWrapString

    xmlXPathObjectPtr	xmlXPathWrapString	(xmlChar * val)
    -

    Wraps the @val string into an XPath object.

    -
    val:the xmlChar * value
    Returns:the newly created object.

    Function: xmlXPatherror

    void	xmlXPatherror			(xmlXPathParserContextPtr ctxt, 
    const char * file,
    int line,
    int no)
    -

    Formats an error message.

    -
    ctxt:the XPath Parser context
    file:the file name
    line:the line number
    no:the error number

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xpointer.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xpointer.html deleted file mode 100644 index 45526de..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xpointer.html +++ /dev/null @@ -1,83 +0,0 @@ - - -Module xpointer from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xpointer from libxml2

    API Menu
    API Indexes
    Related links

    API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 June 2000

    Table of Contents

    Structure xmlLocationSet
    struct _xmlLocationSet -
    Typedef xmlLocationSet * xmlLocationSetPtr
    -
    xmlNodePtr	xmlXPtrBuildNodeList	(xmlXPathObjectPtr obj)
    -
    xmlXPathObjectPtr	xmlXPtrEval	(const xmlChar * str, 
    xmlXPathContextPtr ctx)
    -
    void	xmlXPtrEvalRangePredicate	(xmlXPathParserContextPtr ctxt)
    -
    void	xmlXPtrFreeLocationSet		(xmlLocationSetPtr obj)
    -
    void	xmlXPtrLocationSetAdd		(xmlLocationSetPtr cur, 
    xmlXPathObjectPtr val)
    -
    xmlLocationSetPtr	xmlXPtrLocationSetCreate	(xmlXPathObjectPtr val)
    -
    void	xmlXPtrLocationSetDel		(xmlLocationSetPtr cur, 
    xmlXPathObjectPtr val)
    -
    xmlLocationSetPtr	xmlXPtrLocationSetMerge	(xmlLocationSetPtr val1, 
    xmlLocationSetPtr val2)
    -
    void	xmlXPtrLocationSetRemove	(xmlLocationSetPtr cur, 
    int val)
    -
    xmlXPathObjectPtr	xmlXPtrNewCollapsedRange	(xmlNodePtr start)
    -
    xmlXPathContextPtr	xmlXPtrNewContext	(xmlDocPtr doc, 
    xmlNodePtr here,
    xmlNodePtr origin)
    -
    xmlXPathObjectPtr	xmlXPtrNewLocationSetNodeSet	(xmlNodeSetPtr set)
    -
    xmlXPathObjectPtr	xmlXPtrNewLocationSetNodes	(xmlNodePtr start, 
    xmlNodePtr end)
    -
    xmlXPathObjectPtr	xmlXPtrNewRange	(xmlNodePtr start, 
    int startindex,
    xmlNodePtr end,
    int endindex)
    -
    xmlXPathObjectPtr	xmlXPtrNewRangeNodeObject	(xmlNodePtr start, 
    xmlXPathObjectPtr end)
    -
    xmlXPathObjectPtr	xmlXPtrNewRangeNodePoint	(xmlNodePtr start, 
    xmlXPathObjectPtr end)
    -
    xmlXPathObjectPtr	xmlXPtrNewRangeNodes	(xmlNodePtr start, 
    xmlNodePtr end)
    -
    xmlXPathObjectPtr	xmlXPtrNewRangePointNode	(xmlXPathObjectPtr start, 
    xmlNodePtr end)
    -
    xmlXPathObjectPtr	xmlXPtrNewRangePoints	(xmlXPathObjectPtr start, 
    xmlXPathObjectPtr end)
    -
    void	xmlXPtrRangeToFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -
    xmlXPathObjectPtr	xmlXPtrWrapLocationSet	(xmlLocationSetPtr val)
    -

    Description

    -

    Structure xmlLocationSet

    Structure xmlLocationSet
    struct _xmlLocationSet { - int locNr : number of locations in the set - int locMax : size of the array as allocated - xmlXPathObjectPtr * locTab : array of locations -}

    Function: xmlXPtrBuildNodeList

    xmlNodePtr	xmlXPtrBuildNodeList	(xmlXPathObjectPtr obj)
    -

    Build a node list tree copy of the XPointer result. This will drop Attributes and Namespace declarations.

    -
    obj:the XPointer result from the evaluation.
    Returns:an xmlNodePtr list or NULL. the caller has to free the node tree.

    Function: xmlXPtrEval

    xmlXPathObjectPtr	xmlXPtrEval	(const xmlChar * str, 
    xmlXPathContextPtr ctx)
    -

    Evaluate the XPath Location Path in the given context.

    -
    str:the XPointer expression
    ctx:the XPointer context
    Returns:the xmlXPathObjectPtr resulting from the evaluation or NULL. the caller has to free the object.

    Function: xmlXPtrEvalRangePredicate

    void	xmlXPtrEvalRangePredicate	(xmlXPathParserContextPtr ctxt)
    -

    [8] Predicate ::= '[' PredicateExpr ']' [9] PredicateExpr ::= Expr Evaluate a predicate as in xmlXPathEvalPredicate() but for a Location Set instead of a node set

    -
    ctxt:the XPointer Parser context

    Function: xmlXPtrFreeLocationSet

    void	xmlXPtrFreeLocationSet		(xmlLocationSetPtr obj)
    -

    Free the LocationSet compound (not the actual ranges !).

    -
    obj:the xmlLocationSetPtr to free

    Function: xmlXPtrLocationSetAdd

    void	xmlXPtrLocationSetAdd		(xmlLocationSetPtr cur, 
    xmlXPathObjectPtr val)
    -

    add a new xmlXPathObjectPtr to an existing LocationSet If the location already exist in the set @val is freed.

    -
    cur:the initial range set
    val:a new xmlXPathObjectPtr

    Function: xmlXPtrLocationSetCreate

    xmlLocationSetPtr	xmlXPtrLocationSetCreate	(xmlXPathObjectPtr val)
    -

    Create a new xmlLocationSetPtr of type double and of value @val

    -
    val:an initial xmlXPathObjectPtr, or NULL
    Returns:the newly created object.

    Function: xmlXPtrLocationSetDel

    void	xmlXPtrLocationSetDel		(xmlLocationSetPtr cur, 
    xmlXPathObjectPtr val)
    -

    Removes an xmlXPathObjectPtr from an existing LocationSet

    -
    cur:the initial range set
    val:an xmlXPathObjectPtr

    Function: xmlXPtrLocationSetMerge

    xmlLocationSetPtr	xmlXPtrLocationSetMerge	(xmlLocationSetPtr val1, 
    xmlLocationSetPtr val2)
    -

    Merges two rangesets, all ranges from @val2 are added to @val1

    -
    val1:the first LocationSet
    val2:the second LocationSet
    Returns:val1 once extended or NULL in case of error.

    Function: xmlXPtrLocationSetRemove

    void	xmlXPtrLocationSetRemove	(xmlLocationSetPtr cur, 
    int val)
    -

    Removes an entry from an existing LocationSet list.

    -
    cur:the initial range set
    val:the index to remove

    Function: xmlXPtrNewCollapsedRange

    xmlXPathObjectPtr	xmlXPtrNewCollapsedRange	(xmlNodePtr start)
    -

    Create a new xmlXPathObjectPtr of type range using a single nodes

    -
    start:the starting and ending node
    Returns:the newly created object.

    Function: xmlXPtrNewContext

    xmlXPathContextPtr	xmlXPtrNewContext	(xmlDocPtr doc, 
    xmlNodePtr here,
    xmlNodePtr origin)
    -

    Create a new XPointer context

    -
    doc:the XML document
    here:the node that directly contains the XPointer being evaluated or NULL
    origin:the element from which a user or program initiated traversal of the link, or NULL.
    Returns:the xmlXPathContext just allocated.

    Function: xmlXPtrNewLocationSetNodeSet

    xmlXPathObjectPtr	xmlXPtrNewLocationSetNodeSet	(xmlNodeSetPtr set)
    -

    Create a new xmlXPathObjectPtr of type LocationSet and initialize it with all the nodes from @set

    -
    set:a node set
    Returns:the newly created object.

    Function: xmlXPtrNewLocationSetNodes

    xmlXPathObjectPtr	xmlXPtrNewLocationSetNodes	(xmlNodePtr start, 
    xmlNodePtr end)
    -

    Create a new xmlXPathObjectPtr of type LocationSet and initialize it with the single range made of the two nodes @start and @end

    -
    start:the start NodePtr value
    end:the end NodePtr value or NULL
    Returns:the newly created object.

    Function: xmlXPtrNewRange

    xmlXPathObjectPtr	xmlXPtrNewRange	(xmlNodePtr start, 
    int startindex,
    xmlNodePtr end,
    int endindex)
    -

    Create a new xmlXPathObjectPtr of type range

    -
    start:the starting node
    startindex:the start index
    end:the ending point
    endindex:the ending index
    Returns:the newly created object.

    Function: xmlXPtrNewRangeNodeObject

    xmlXPathObjectPtr	xmlXPtrNewRangeNodeObject	(xmlNodePtr start, 
    xmlXPathObjectPtr end)
    -

    Create a new xmlXPathObjectPtr of type range from a not to an object

    -
    start:the starting node
    end:the ending object
    Returns:the newly created object.

    Function: xmlXPtrNewRangeNodePoint

    xmlXPathObjectPtr	xmlXPtrNewRangeNodePoint	(xmlNodePtr start, 
    xmlXPathObjectPtr end)
    -

    Create a new xmlXPathObjectPtr of type range from a node to a point

    -
    start:the starting node
    end:the ending point
    Returns:the newly created object.

    Function: xmlXPtrNewRangeNodes

    xmlXPathObjectPtr	xmlXPtrNewRangeNodes	(xmlNodePtr start, 
    xmlNodePtr end)
    -

    Create a new xmlXPathObjectPtr of type range using 2 nodes

    -
    start:the starting node
    end:the ending node
    Returns:the newly created object.

    Function: xmlXPtrNewRangePointNode

    xmlXPathObjectPtr	xmlXPtrNewRangePointNode	(xmlXPathObjectPtr start, 
    xmlNodePtr end)
    -

    Create a new xmlXPathObjectPtr of type range from a point to a node

    -
    start:the starting point
    end:the ending node
    Returns:the newly created object.

    Function: xmlXPtrNewRangePoints

    xmlXPathObjectPtr	xmlXPtrNewRangePoints	(xmlXPathObjectPtr start, 
    xmlXPathObjectPtr end)
    -

    Create a new xmlXPathObjectPtr of type range using 2 Points

    -
    start:the starting point
    end:the ending point
    Returns:the newly created object.

    Function: xmlXPtrRangeToFunction

    void	xmlXPtrRangeToFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    -

    Implement the range-to() XPointer function

    -
    ctxt:the XPointer Parser context
    nargs:the number of args

    Function: xmlXPtrWrapLocationSet

    xmlXPathObjectPtr	xmlXPtrWrapLocationSet	(xmlLocationSetPtr val)
    -

    Wrap the LocationSet @val in a new xmlXPathObjectPtr

    -
    val:the LocationSet value
    Returns:the newly created object.

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xzlib.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xzlib.html deleted file mode 100644 index c4dfdc3..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/libxml-xzlib.html +++ /dev/null @@ -1,16 +0,0 @@ - - -Module xzlib from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xzlib from libxml2

    API Menu
    API Indexes
    Related links

    Table of Contents

    #define LIBXML2_XZLIB_H
    Typedef void * xzFile
    -

    Description

    -

    Macro: LIBXML2_XZLIB_H

    #define LIBXML2_XZLIB_H

    -

    Daniel Veillard

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/right.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/right.png deleted file mode 100644 index 92832e3..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/right.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/up.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/up.png deleted file mode 100644 index 85b3e2a..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/html/up.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/io1.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/io1.c deleted file mode 100644 index c8a47e3..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/io1.c +++ /dev/null @@ -1,166 +0,0 @@ -/** - * section: InputOutput - * synopsis: Example of custom Input/Output - * purpose: Demonstrate the use of xmlRegisterInputCallbacks - * to build a custom I/O layer, this is used in an - * XInclude method context to show how dynamic document can - * be built in a clean way. - * usage: io1 - * test: io1 > io1.tmp ; diff io1.tmp io1.res ; rm -f io1.tmp - * author: Daniel Veillard - * copy: see Copyright for the status of this software. - */ - -#include -#include -#include -#include -#include -#include - -#ifdef LIBXML_XINCLUDE_ENABLED -static const char *result = "ab"; -static const char *cur = NULL; -static int rlen; - -/** - * sqlMatch: - * @URI: an URI to test - * - * Check for an sql: query - * - * Returns 1 if yes and 0 if another Input module should be used - */ -static int -sqlMatch(const char * URI) { - if ((URI != NULL) && (!strncmp(URI, "sql:", 4))) - return(1); - return(0); -} - -/** - * sqlOpen: - * @URI: an URI to test - * - * Return a pointer to the sql: query handler, in this example simply - * the current pointer... - * - * Returns an Input context or NULL in case or error - */ -static void * -sqlOpen(const char * URI) { - if ((URI == NULL) || (strncmp(URI, "sql:", 4))) - return(NULL); - cur = result; - rlen = strlen(result); - return((void *) cur); -} - -/** - * sqlClose: - * @context: the read context - * - * Close the sql: query handler - * - * Returns 0 or -1 in case of error - */ -static int -sqlClose(void * context) { - if (context == NULL) return(-1); - cur = NULL; - rlen = 0; - return(0); -} - -/** - * sqlRead: - * @context: the read context - * @buffer: where to store data - * @len: number of bytes to read - * - * Implement an sql: query read. - * - * Returns the number of bytes read or -1 in case of error - */ -static int -sqlRead(void * context, char * buffer, int len) { - const char *ptr = (const char *) context; - - if ((context == NULL) || (buffer == NULL) || (len < 0)) - return(-1); - - if (len > rlen) len = rlen; - memcpy(buffer, ptr, len); - rlen -= len; - return(len); -} - -const char *include = "\n\ -\n\ -

    List of people:

    \n\ - \n\ -
    \n"; - -int main(void) { - xmlDocPtr doc; - - /* - * this initialize the library and check potential ABI mismatches - * between the version it was compiled for and the actual shared - * library used. - */ - LIBXML_TEST_VERSION - - /* - * register the new I/O handlers - */ - if (xmlRegisterInputCallbacks(sqlMatch, sqlOpen, sqlRead, sqlClose) < 0) { - fprintf(stderr, "failed to register SQL handler\n"); - exit(1); - } - /* - * parse include into a document - */ - doc = xmlReadMemory(include, strlen(include), "include.xml", NULL, 0); - if (doc == NULL) { - fprintf(stderr, "failed to parse the including file\n"); - exit(1); - } - - /* - * apply the XInclude process, this should trigger the I/O just - * registered. - */ - if (xmlXIncludeProcess(doc) <= 0) { - fprintf(stderr, "XInclude processing failed\n"); - exit(1); - } - -#ifdef LIBXML_OUTPUT_ENABLED - /* - * save the output for checking to stdout - */ - xmlDocDump(stdout, doc); -#endif - - /* - * Free the document - */ - xmlFreeDoc(doc); - - /* - * Cleanup function for the XML library. - */ - xmlCleanupParser(); - /* - * this is to debug memory for regression tests - */ - xmlMemoryDump(); - return(0); -} -#else -int main(void) { - fprintf(stderr, "XInclude support not compiled in\n"); - exit(1); -} -#endif diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/io1.res b/gtk+-mingw/share/doc/libxml2-2.8.0/html/io1.res deleted file mode 100644 index 4a4c036..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/io1.res +++ /dev/null @@ -1,5 +0,0 @@ - - -

    List of people:

    - ab -
    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/io2.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/io2.c deleted file mode 100644 index 814a27e..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/io2.c +++ /dev/null @@ -1,58 +0,0 @@ -/** - * section: InputOutput - * synopsis: Output to char buffer - * purpose: Demonstrate the use of xmlDocDumpMemory - * to output document to a character buffer - * usage: io2 - * test: io2 > io2.tmp ; diff io2.tmp io2.res ; rm -f io2.tmp - * author: John Fleck - * copy: see Copyright for the status of this software. - */ - -#include - -#if defined(LIBXML_TREE_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) -int -main(void) -{ - - xmlNodePtr n; - xmlDocPtr doc; - xmlChar *xmlbuff; - int buffersize; - - /* - * Create the document. - */ - doc = xmlNewDoc(BAD_CAST "1.0"); - n = xmlNewNode(NULL, BAD_CAST "root"); - xmlNodeSetContent(n, BAD_CAST "content"); - xmlDocSetRootElement(doc, n); - - /* - * Dump the document to a buffer and print it - * for demonstration purposes. - */ - xmlDocDumpFormatMemory(doc, &xmlbuff, &buffersize, 1); - printf("%s", (char *) xmlbuff); - - /* - * Free associated memory. - */ - xmlFree(xmlbuff); - xmlFreeDoc(doc); - - return (0); - -} -#else -#include - -int -main(void) -{ - fprintf(stderr, - "library not configured with tree and output support\n"); - return (1); -} -#endif diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/io2.res b/gtk+-mingw/share/doc/libxml2-2.8.0/html/io2.res deleted file mode 100644 index 8737b87..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/io2.res +++ /dev/null @@ -1,2 +0,0 @@ - -content diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/libxml.gif b/gtk+-mingw/share/doc/libxml2-2.8.0/html/libxml.gif deleted file mode 100644 index e24adf8..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/libxml.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/parse1.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/parse1.c deleted file mode 100644 index b44b03b..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/parse1.c +++ /dev/null @@ -1,56 +0,0 @@ -/** - * section: Parsing - * synopsis: Parse an XML file to a tree and free it - * purpose: Demonstrate the use of xmlReadFile() to read an XML file - * into a tree and and xmlFreeDoc() to free the resulting tree - * usage: parse1 test1.xml - * test: parse1 test1.xml - * author: Daniel Veillard - * copy: see Copyright for the status of this software. - */ - -#include -#include -#include - -/** - * example1Func: - * @filename: a filename or an URL - * - * Parse the resource and free the resulting tree - */ -static void -example1Func(const char *filename) { - xmlDocPtr doc; /* the resulting document tree */ - - doc = xmlReadFile(filename, NULL, 0); - if (doc == NULL) { - fprintf(stderr, "Failed to parse %s\n", filename); - return; - } - xmlFreeDoc(doc); -} - -int main(int argc, char **argv) { - if (argc != 2) - return(1); - - /* - * this initialize the library and check potential ABI mismatches - * between the version it was compiled for and the actual shared - * library used. - */ - LIBXML_TEST_VERSION - - example1Func(argv[1]); - - /* - * Cleanup function for the XML library. - */ - xmlCleanupParser(); - /* - * this is to debug memory for regression tests - */ - xmlMemoryDump(); - return(0); -} diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/parse2.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/parse2.c deleted file mode 100644 index aed7676..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/parse2.c +++ /dev/null @@ -1,72 +0,0 @@ -/** - * section: Parsing - * synopsis: Parse and validate an XML file to a tree and free the result - * purpose: Create a parser context for an XML file, then parse and validate - * the file, creating a tree, check the validation result - * and xmlFreeDoc() to free the resulting tree. - * usage: parse2 test2.xml - * test: parse2 test2.xml - * author: Daniel Veillard - * copy: see Copyright for the status of this software. - */ - -#include -#include -#include - -/** - * exampleFunc: - * @filename: a filename or an URL - * - * Parse and validate the resource and free the resulting tree - */ -static void -exampleFunc(const char *filename) { - xmlParserCtxtPtr ctxt; /* the parser context */ - xmlDocPtr doc; /* the resulting document tree */ - - /* create a parser context */ - ctxt = xmlNewParserCtxt(); - if (ctxt == NULL) { - fprintf(stderr, "Failed to allocate parser context\n"); - return; - } - /* parse the file, activating the DTD validation option */ - doc = xmlCtxtReadFile(ctxt, filename, NULL, XML_PARSE_DTDVALID); - /* check if parsing suceeded */ - if (doc == NULL) { - fprintf(stderr, "Failed to parse %s\n", filename); - } else { - /* check if validation suceeded */ - if (ctxt->valid == 0) - fprintf(stderr, "Failed to validate %s\n", filename); - /* free up the resulting document */ - xmlFreeDoc(doc); - } - /* free up the parser context */ - xmlFreeParserCtxt(ctxt); -} - -int main(int argc, char **argv) { - if (argc != 2) - return(1); - - /* - * this initialize the library and check potential ABI mismatches - * between the version it was compiled for and the actual shared - * library used. - */ - LIBXML_TEST_VERSION - - exampleFunc(argv[1]); - - /* - * Cleanup function for the XML library. - */ - xmlCleanupParser(); - /* - * this is to debug memory for regression tests - */ - xmlMemoryDump(); - return(0); -} diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/parse3.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/parse3.c deleted file mode 100644 index a2d3a40..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/parse3.c +++ /dev/null @@ -1,60 +0,0 @@ -/** - * section: Parsing - * synopsis: Parse an XML document in memory to a tree and free it - * purpose: Demonstrate the use of xmlReadMemory() to read an XML file - * into a tree and and xmlFreeDoc() to free the resulting tree - * usage: parse3 - * test: parse3 - * author: Daniel Veillard - * copy: see Copyright for the status of this software. - */ - -#include -#include -#include - -static const char *document = ""; - -/** - * example3Func: - * @content: the content of the document - * @length: the length in bytes - * - * Parse the in memory document and free the resulting tree - */ -static void -example3Func(const char *content, int length) { - xmlDocPtr doc; /* the resulting document tree */ - - /* - * The document being in memory, it have no base per RFC 2396, - * and the "noname.xml" argument will serve as its base. - */ - doc = xmlReadMemory(content, length, "noname.xml", NULL, 0); - if (doc == NULL) { - fprintf(stderr, "Failed to parse document\n"); - return; - } - xmlFreeDoc(doc); -} - -int main(void) { - /* - * this initialize the library and check potential ABI mismatches - * between the version it was compiled for and the actual shared - * library used. - */ - LIBXML_TEST_VERSION - - example3Func(document, 6); - - /* - * Cleanup function for the XML library. - */ - xmlCleanupParser(); - /* - * this is to debug memory for regression tests - */ - xmlMemoryDump(); - return(0); -} diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/parse4.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/parse4.c deleted file mode 100644 index 3e28056..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/parse4.c +++ /dev/null @@ -1,143 +0,0 @@ -/** - * section: Parsing - * synopsis: Parse an XML document chunk by chunk to a tree and free it - * purpose: Demonstrate the use of xmlCreatePushParserCtxt() and - * xmlParseChunk() to read an XML file progressively - * into a tree and and xmlFreeDoc() to free the resulting tree - * usage: parse4 test3.xml - * test: parse4 test3.xml - * author: Daniel Veillard - * copy: see Copyright for the status of this software. - */ - -#include -#include -#include - -#ifdef LIBXML_PUSH_ENABLED -static FILE *desc; - -/** - * readPacket: - * @mem: array to store the packet - * @size: the packet size - * - * read at most @size bytes from the document and store it in @mem - * - * Returns the number of bytes read - */ -static int -readPacket(char *mem, int size) { - int res; - - res = fread(mem, 1, size, desc); - return(res); -} - -/** - * example4Func: - * @filename: a filename or an URL - * - * Parse the resource and free the resulting tree - */ -static void -example4Func(const char *filename) { - xmlParserCtxtPtr ctxt; - char chars[4]; - xmlDocPtr doc; /* the resulting document tree */ - int res; - - /* - * Read a few first byte to check the input used for the - * encoding detection at the parser level. - */ - res = readPacket(chars, 4); - if (res <= 0) { - fprintf(stderr, "Failed to parse %s\n", filename); - return; - } - - /* - * Create a progressive parsing context, the 2 first arguments - * are not used since we want to build a tree and not use a SAX - * parsing interface. We also pass the first bytes of the document - * to allow encoding detection when creating the parser but this - * is optional. - */ - ctxt = xmlCreatePushParserCtxt(NULL, NULL, - chars, res, filename); - if (ctxt == NULL) { - fprintf(stderr, "Failed to create parser context !\n"); - return; - } - - /* - * loop on the input getting the document data, of course 4 bytes - * at a time is not realistic but allows to verify testing on small - * documents. - */ - while ((res = readPacket(chars, 4)) > 0) { - xmlParseChunk(ctxt, chars, res, 0); - } - - /* - * there is no more input, indicate the parsing is finished. - */ - xmlParseChunk(ctxt, chars, 0, 1); - - /* - * collect the document back and if it was wellformed - * and destroy the parser context. - */ - doc = ctxt->myDoc; - res = ctxt->wellFormed; - xmlFreeParserCtxt(ctxt); - - if (!res) { - fprintf(stderr, "Failed to parse %s\n", filename); - } - - /* - * since we don't use the document, destroy it now. - */ - xmlFreeDoc(doc); -} - -int main(int argc, char **argv) { - if (argc != 2) - return(1); - - /* - * this initialize the library and check potential ABI mismatches - * between the version it was compiled for and the actual shared - * library used. - */ - LIBXML_TEST_VERSION - - /* - * simulate a progressive parsing using the input file. - */ - desc = fopen(argv[1], "rb"); - if (desc != NULL) { - example4Func(argv[1]); - fclose(desc); - } else { - fprintf(stderr, "Failed to parse %s\n", argv[1]); - } - - /* - * Cleanup function for the XML library. - */ - xmlCleanupParser(); - /* - * this is to debug memory for regression tests - */ - xmlMemoryDump(); - return(0); -} -#else /* ! LIBXML_PUSH_ENABLED */ -int main(int argc, char **argv) { - fprintf(stderr, "Library not compiled with push parser support\n"); - return(1); -} -#endif diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader1.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader1.c deleted file mode 100644 index 90db2a1..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader1.c +++ /dev/null @@ -1,107 +0,0 @@ -/** - * section: xmlReader - * synopsis: Parse an XML file with an xmlReader - * purpose: Demonstrate the use of xmlReaderForFile() to parse an XML file - * and dump the informations about the nodes found in the process. - * (Note that the XMLReader functions require libxml2 version later - * than 2.6.) - * usage: reader1 - * test: reader1 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp - * author: Daniel Veillard - * copy: see Copyright for the status of this software. - */ - -#include -#include - -#ifdef LIBXML_READER_ENABLED - -/** - * processNode: - * @reader: the xmlReader - * - * Dump information about the current node - */ -static void -processNode(xmlTextReaderPtr reader) { - const xmlChar *name, *value; - - name = xmlTextReaderConstName(reader); - if (name == NULL) - name = BAD_CAST "--"; - - value = xmlTextReaderConstValue(reader); - - printf("%d %d %s %d %d", - xmlTextReaderDepth(reader), - xmlTextReaderNodeType(reader), - name, - xmlTextReaderIsEmptyElement(reader), - xmlTextReaderHasValue(reader)); - if (value == NULL) - printf("\n"); - else { - if (xmlStrlen(value) > 40) - printf(" %.40s...\n", value); - else - printf(" %s\n", value); - } -} - -/** - * streamFile: - * @filename: the file name to parse - * - * Parse and print information about an XML file. - */ -static void -streamFile(const char *filename) { - xmlTextReaderPtr reader; - int ret; - - reader = xmlReaderForFile(filename, NULL, 0); - if (reader != NULL) { - ret = xmlTextReaderRead(reader); - while (ret == 1) { - processNode(reader); - ret = xmlTextReaderRead(reader); - } - xmlFreeTextReader(reader); - if (ret != 0) { - fprintf(stderr, "%s : failed to parse\n", filename); - } - } else { - fprintf(stderr, "Unable to open %s\n", filename); - } -} - -int main(int argc, char **argv) { - if (argc != 2) - return(1); - - /* - * this initialize the library and check potential ABI mismatches - * between the version it was compiled for and the actual shared - * library used. - */ - LIBXML_TEST_VERSION - - streamFile(argv[1]); - - /* - * Cleanup function for the XML library. - */ - xmlCleanupParser(); - /* - * this is to debug memory for regression tests - */ - xmlMemoryDump(); - return(0); -} - -#else -int main(void) { - fprintf(stderr, "XInclude support not compiled in\n"); - exit(1); -} -#endif diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader1.res b/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader1.res deleted file mode 100644 index eb48d85..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader1.res +++ /dev/null @@ -1,14 +0,0 @@ -0 10 doc 0 0 -0 1 doc 0 0 -1 14 #text 0 1 - -1 1 src 1 0 -1 14 #text 0 1 - -1 1 dest 1 0 -1 14 #text 0 1 - -1 1 src 1 0 -1 14 #text 0 1 - -0 15 doc 0 0 diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader2.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader2.c deleted file mode 100644 index c32ada5..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader2.c +++ /dev/null @@ -1,122 +0,0 @@ -/** - * section: xmlReader - * synopsis: Parse and validate an XML file with an xmlReader - * purpose: Demonstrate the use of xmlReaderForFile() to parse an XML file - * validating the content in the process and activating options - * like entities substitution, and DTD attributes defaulting. - * (Note that the XMLReader functions require libxml2 version later - * than 2.6.) - * usage: reader2 - * test: reader2 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp - * author: Daniel Veillard - * copy: see Copyright for the status of this software. - */ - -#include -#include - -#ifdef LIBXML_READER_ENABLED - -/** - * processNode: - * @reader: the xmlReader - * - * Dump information about the current node - */ -static void -processNode(xmlTextReaderPtr reader) { - const xmlChar *name, *value; - - name = xmlTextReaderConstName(reader); - if (name == NULL) - name = BAD_CAST "--"; - - value = xmlTextReaderConstValue(reader); - - printf("%d %d %s %d %d", - xmlTextReaderDepth(reader), - xmlTextReaderNodeType(reader), - name, - xmlTextReaderIsEmptyElement(reader), - xmlTextReaderHasValue(reader)); - if (value == NULL) - printf("\n"); - else { - if (xmlStrlen(value) > 40) - printf(" %.40s...\n", value); - else - printf(" %s\n", value); - } -} - -/** - * streamFile: - * @filename: the file name to parse - * - * Parse, validate and print information about an XML file. - */ -static void -streamFile(const char *filename) { - xmlTextReaderPtr reader; - int ret; - - - /* - * Pass some special parsing options to activate DTD attribute defaulting, - * entities substitution and DTD validation - */ - reader = xmlReaderForFile(filename, NULL, - XML_PARSE_DTDATTR | /* default DTD attributes */ - XML_PARSE_NOENT | /* substitute entities */ - XML_PARSE_DTDVALID); /* validate with the DTD */ - if (reader != NULL) { - ret = xmlTextReaderRead(reader); - while (ret == 1) { - processNode(reader); - ret = xmlTextReaderRead(reader); - } - /* - * Once the document has been fully parsed check the validation results - */ - if (xmlTextReaderIsValid(reader) != 1) { - fprintf(stderr, "Document %s does not validate\n", filename); - } - xmlFreeTextReader(reader); - if (ret != 0) { - fprintf(stderr, "%s : failed to parse\n", filename); - } - } else { - fprintf(stderr, "Unable to open %s\n", filename); - } -} - -int main(int argc, char **argv) { - if (argc != 2) - return(1); - - /* - * this initialize the library and check potential ABI mismatches - * between the version it was compiled for and the actual shared - * library used. - */ - LIBXML_TEST_VERSION - - streamFile(argv[1]); - - /* - * Cleanup function for the XML library. - */ - xmlCleanupParser(); - /* - * this is to debug memory for regression tests - */ - xmlMemoryDump(); - return(0); -} - -#else -int main(void) { - fprintf(stderr, "XInclude support not compiled in\n"); - exit(1); -} -#endif diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader3.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader3.c deleted file mode 100644 index 51f9d3b..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader3.c +++ /dev/null @@ -1,120 +0,0 @@ -/** - * section: xmlReader - * synopsis: Show how to extract subdocuments with xmlReader - * purpose: Demonstrate the use of xmlTextReaderPreservePattern() - * to parse an XML file with the xmlReader while collecting - * only some subparts of the document. - * (Note that the XMLReader functions require libxml2 version later - * than 2.6.) - * usage: reader3 - * test: reader3 > reader3.tmp ; diff reader3.tmp reader3.res ; rm reader3.tmp - * author: Daniel Veillard - * copy: see Copyright for the status of this software. - */ - -#include -#include - -#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_PATTERN_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) - - -/** - * streamFile: - * @filename: the file name to parse - * - * Parse and print information about an XML file. - * - * Returns the resulting doc with just the elements preserved. - */ -static xmlDocPtr -extractFile(const char *filename, const xmlChar *pattern) { - xmlDocPtr doc; - xmlTextReaderPtr reader; - int ret; - - /* - * build an xmlReader for that file - */ - reader = xmlReaderForFile(filename, NULL, 0); - if (reader != NULL) { - /* - * add the pattern to preserve - */ - if (xmlTextReaderPreservePattern(reader, pattern, NULL) < 0) { - fprintf(stderr, "%s : failed add preserve pattern %s\n", - filename, (const char *) pattern); - } - /* - * Parse and traverse the tree, collecting the nodes in the process - */ - ret = xmlTextReaderRead(reader); - while (ret == 1) { - ret = xmlTextReaderRead(reader); - } - if (ret != 0) { - fprintf(stderr, "%s : failed to parse\n", filename); - xmlFreeTextReader(reader); - return(NULL); - } - /* - * get the resulting nodes - */ - doc = xmlTextReaderCurrentDoc(reader); - /* - * Free up the reader - */ - xmlFreeTextReader(reader); - } else { - fprintf(stderr, "Unable to open %s\n", filename); - return(NULL); - } - return(doc); -} - -int main(int argc, char **argv) { - const char *filename = "test3.xml"; - const char *pattern = "preserved"; - xmlDocPtr doc; - - if (argc == 3) { - filename = argv[1]; - pattern = argv[2]; - } - - /* - * this initialize the library and check potential ABI mismatches - * between the version it was compiled for and the actual shared - * library used. - */ - LIBXML_TEST_VERSION - - doc = extractFile(filename, (const xmlChar *) pattern); - if (doc != NULL) { - /* - * ouptut the result. - */ - xmlDocDump(stdout, doc); - /* - * don't forget to free up the doc - */ - xmlFreeDoc(doc); - } - - - /* - * Cleanup function for the XML library. - */ - xmlCleanupParser(); - /* - * this is to debug memory for regression tests - */ - xmlMemoryDump(); - return(0); -} - -#else -int main(void) { - fprintf(stderr, "Reader, Pattern or output support not compiled in\n"); - exit(1); -} -#endif diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader3.res b/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader3.res deleted file mode 100644 index 20e2e82..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader3.res +++ /dev/null @@ -1,13 +0,0 @@ - - - content1 - - content2 - too - content3 - - content4 - - content5 - content6 - diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader4.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader4.c deleted file mode 100644 index ed2726a..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader4.c +++ /dev/null @@ -1,122 +0,0 @@ -/** - * section: xmlReader - * synopsis: Parse multiple XML files reusing an xmlReader - * purpose: Demonstrate the use of xmlReaderForFile() and - * xmlReaderNewFile to parse XML files while reusing the reader object - * and parser context. (Note that the XMLReader functions require - * libxml2 version later than 2.6.) - * usage: reader4 [ filename ... ] - * test: reader4 test1.xml test2.xml test3.xml > reader4.tmp ; diff reader4.tmp reader4.res ; rm reader4.tmp - * author: Graham Bennett - * copy: see Copyright for the status of this software. - */ - -#include -#include - -#ifdef LIBXML_READER_ENABLED - -static void processDoc(xmlTextReaderPtr readerPtr) { - int ret; - xmlDocPtr docPtr; - const xmlChar *URL; - - ret = xmlTextReaderRead(readerPtr); - while (ret == 1) { - ret = xmlTextReaderRead(readerPtr); - } - - /* - * One can obtain the document pointer to get insteresting - * information about the document like the URL, but one must also - * be sure to clean it up at the end (see below). - */ - docPtr = xmlTextReaderCurrentDoc(readerPtr); - if (NULL == docPtr) { - fprintf(stderr, "failed to obtain document\n"); - return; - } - - URL = docPtr->URL; - if (NULL == URL) { - fprintf(stderr, "Failed to obtain URL\n"); - } - - if (ret != 0) { - fprintf(stderr, "%s: Failed to parse\n", URL); - return; - } - - printf("%s: Processed ok\n", (const char *)URL); -} - -int main(int argc, char **argv) { - xmlTextReaderPtr readerPtr; - int i; - xmlDocPtr docPtr; - - if (argc < 2) - return(1); - - /* - * this initialises the library and check potential ABI mismatches - * between the version it was compiled for and the actual shared - * library used. - */ - LIBXML_TEST_VERSION - - /* - * Create a new reader for the first file and process the - * document. - */ - readerPtr = xmlReaderForFile(argv[1], NULL, 0); - if (NULL == readerPtr) { - fprintf(stderr, "%s: failed to create reader\n", argv[1]); - return(1); - } - processDoc(readerPtr); - - /* - * The reader can be reused for subsequent files. - */ - for (i=2; i < argc; ++i) { - xmlReaderNewFile(readerPtr, argv[i], NULL, 0); - if (NULL == readerPtr) { - fprintf(stderr, "%s: failed to create reader\n", argv[i]); - return(1); - } - processDoc(readerPtr); - } - - /* - * Since we've called xmlTextReaderCurrentDoc, we now have to - * clean up after ourselves. We only have to do this the last - * time, because xmlReaderNewFile calls xmlCtxtReset which takes - * care of it. - */ - docPtr = xmlTextReaderCurrentDoc(readerPtr); - if (docPtr != NULL) - xmlFreeDoc(docPtr); - - /* - * Clean up the reader. - */ - xmlFreeTextReader(readerPtr); - - /* - * Cleanup function for the XML library. - */ - xmlCleanupParser(); - /* - * this is to debug memory for regression tests - */ - xmlMemoryDump(); - return(0); -} - -#else -int main(void) { - fprintf(stderr, "xmlReader support not compiled in\n"); - exit(1); -} -#endif diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader4.res b/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader4.res deleted file mode 100644 index b793f82..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader4.res +++ /dev/null @@ -1,3 +0,0 @@ -test1.xml: Processed ok -test2.xml: Processed ok -test3.xml: Processed ok diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/redhat.gif b/gtk+-mingw/share/doc/libxml2-2.8.0/html/redhat.gif deleted file mode 100644 index eff3d73..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/redhat.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/smallfootonly.gif b/gtk+-mingw/share/doc/libxml2-2.8.0/html/smallfootonly.gif deleted file mode 100644 index ddbb9ee..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/smallfootonly.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/structure.gif b/gtk+-mingw/share/doc/libxml2-2.8.0/html/structure.gif deleted file mode 100644 index 4b9a3e6..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/structure.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/test1.xml b/gtk+-mingw/share/doc/libxml2-2.8.0/html/test1.xml deleted file mode 100644 index 69d62f2..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/test1.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/test2.xml b/gtk+-mingw/share/doc/libxml2-2.8.0/html/test2.xml deleted file mode 100644 index 7390f5e..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/test2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - -]> - - - - - - diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/test3.xml b/gtk+-mingw/share/doc/libxml2-2.8.0/html/test3.xml deleted file mode 100644 index 4d0828f..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/test3.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - This text node must be discarded - - - - - content1 - - content2 - too - content3 - - content4 - - content5 - content6 - - This text node must be discarded - - - - This text node must be discarded - - This text node must be discarded - - This text node must be discarded - - - - This text node must be discarded - - - - diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/testWriter.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/testWriter.c deleted file mode 100644 index 9bf590f..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/testWriter.c +++ /dev/null @@ -1,1198 +0,0 @@ -/** - * section: xmlWriter - * synopsis: use various APIs for the xmlWriter - * purpose: tests a number of APIs for the xmlWriter, especially - * the various methods to write to a filename, to a memory - * buffer, to a new document, or to a subtree. It shows how to - * do encoding string conversions too. The resulting - * documents are then serialized. - * usage: testWriter - * test: testWriter ; for i in 1 2 3 4 ; do diff writer.xml writer$$i.res ; done ; rm writer*.res - * author: Alfred Mickautsch - * copy: see Copyright for the status of this software. - */ -#include -#include -#include -#include - -#if defined(LIBXML_WRITER_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) - -#define MY_ENCODING "ISO-8859-1" - -void testXmlwriterFilename(const char *uri); -void testXmlwriterMemory(const char *file); -void testXmlwriterDoc(const char *file); -void testXmlwriterTree(const char *file); -xmlChar *ConvertInput(const char *in, const char *encoding); - -int -main(void) -{ - /* - * this initialize the library and check potential ABI mismatches - * between the version it was compiled for and the actual shared - * library used. - */ - LIBXML_TEST_VERSION - - /* first, the file version */ - testXmlwriterFilename("writer1.res"); - - /* next, the memory version */ - testXmlwriterMemory("writer2.res"); - - /* next, the DOM version */ - testXmlwriterDoc("writer3.res"); - - /* next, the tree version */ - testXmlwriterTree("writer4.res"); - - /* - * Cleanup function for the XML library. - */ - xmlCleanupParser(); - /* - * this is to debug memory for regression tests - */ - xmlMemoryDump(); - return 0; -} - -/** - * testXmlwriterFilename: - * @uri: the output URI - * - * test the xmlWriter interface when writing to a new file - */ -void -testXmlwriterFilename(const char *uri) -{ - int rc; - xmlTextWriterPtr writer; - xmlChar *tmp; - - /* Create a new XmlWriter for uri, with no compression. */ - writer = xmlNewTextWriterFilename(uri, 0); - if (writer == NULL) { - printf("testXmlwriterFilename: Error creating the xml writer\n"); - return; - } - - /* Start the document with the xml default for the version, - * encoding ISO 8859-1 and the default for the standalone - * declaration. */ - rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterStartDocument\n"); - return; - } - - /* Start an element named "EXAMPLE". Since thist is the first - * element, this will be the root element of the document. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE"); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write a comment as child of EXAMPLE. - * Please observe, that the input to the xmlTextWriter functions - * HAS to be in UTF-8, even if the output XML is encoded - * in iso-8859-1 */ - tmp = ConvertInput("This is a comment with special chars: <äöü>", - MY_ENCODING); - rc = xmlTextWriterWriteComment(writer, tmp); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterWriteComment\n"); - return; - } - if (tmp != NULL) xmlFree(tmp); - - /* Start an element named "ORDER" as child of EXAMPLE. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER"); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Add an attribute with name "version" and value "1.0" to ORDER. */ - rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version", - BAD_CAST "1.0"); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n"); - return; - } - - /* Add an attribute with name "xml:lang" and value "de" to ORDER. */ - rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", - BAD_CAST "de"); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n"); - return; - } - - /* Write a comment as child of ORDER */ - tmp = ConvertInput("<äöü>", MY_ENCODING); - rc = xmlTextWriterWriteFormatComment(writer, - "This is another comment with special chars: %s", - tmp); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatComment\n"); - return; - } - if (tmp != NULL) xmlFree(tmp); - - /* Start an element named "HEADER" as child of ORDER. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER"); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write an element named "X_ORDER_ID" as child of HEADER. */ - rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID", - "%010d", 53535); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n"); - return; - } - - /* Write an element named "CUSTOMER_ID" as child of HEADER. */ - rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID", - "%d", 1010); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n"); - return; - } - - /* Write an element named "NAME_1" as child of HEADER. */ - tmp = ConvertInput("Müller", MY_ENCODING); - rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); - return; - } - if (tmp != NULL) xmlFree(tmp); - - /* Write an element named "NAME_2" as child of HEADER. */ - tmp = ConvertInput("Jörg", MY_ENCODING); - rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); - return; - } - if (tmp != NULL) xmlFree(tmp); - - /* Close the element named HEADER. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Start an element named "ENTRIES" as child of ORDER. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES"); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Start an element named "ENTRY" as child of ENTRIES. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write an element named "ARTICLE" as child of ENTRY. */ - rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", - BAD_CAST ""); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); - return; - } - - /* Write an element named "ENTRY_NO" as child of ENTRY. */ - rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", - 10); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n"); - return; - } - - /* Close the element named ENTRY. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Start an element named "ENTRY" as child of ENTRIES. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write an element named "ARTICLE" as child of ENTRY. */ - rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", - BAD_CAST ""); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); - return; - } - - /* Write an element named "ENTRY_NO" as child of ENTRY. */ - rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", - 20); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n"); - return; - } - - /* Close the element named ENTRY. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Close the element named ENTRIES. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Start an element named "FOOTER" as child of ORDER. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER"); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write an element named "TEXT" as child of FOOTER. */ - rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT", - BAD_CAST "This is a text."); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); - return; - } - - /* Close the element named FOOTER. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Here we could close the elements ORDER and EXAMPLE using the - * function xmlTextWriterEndElement, but since we do not want to - * write any other elements, we simply call xmlTextWriterEndDocument, - * which will do all the work. */ - rc = xmlTextWriterEndDocument(writer); - if (rc < 0) { - printf - ("testXmlwriterFilename: Error at xmlTextWriterEndDocument\n"); - return; - } - - xmlFreeTextWriter(writer); -} - -/** - * testXmlwriterMemory: - * @file: the output file - * - * test the xmlWriter interface when writing to memory - */ -void -testXmlwriterMemory(const char *file) -{ - int rc; - xmlTextWriterPtr writer; - xmlBufferPtr buf; - xmlChar *tmp; - FILE *fp; - - /* Create a new XML buffer, to which the XML document will be - * written */ - buf = xmlBufferCreate(); - if (buf == NULL) { - printf("testXmlwriterMemory: Error creating the xml buffer\n"); - return; - } - - /* Create a new XmlWriter for memory, with no compression. - * Remark: there is no compression for this kind of xmlTextWriter */ - writer = xmlNewTextWriterMemory(buf, 0); - if (writer == NULL) { - printf("testXmlwriterMemory: Error creating the xml writer\n"); - return; - } - - /* Start the document with the xml default for the version, - * encoding ISO 8859-1 and the default for the standalone - * declaration. */ - rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterStartDocument\n"); - return; - } - - /* Start an element named "EXAMPLE". Since thist is the first - * element, this will be the root element of the document. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE"); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write a comment as child of EXAMPLE. - * Please observe, that the input to the xmlTextWriter functions - * HAS to be in UTF-8, even if the output XML is encoded - * in iso-8859-1 */ - tmp = ConvertInput("This is a comment with special chars: <äöü>", - MY_ENCODING); - rc = xmlTextWriterWriteComment(writer, tmp); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterWriteComment\n"); - return; - } - if (tmp != NULL) xmlFree(tmp); - - /* Start an element named "ORDER" as child of EXAMPLE. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER"); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Add an attribute with name "version" and value "1.0" to ORDER. */ - rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version", - BAD_CAST "1.0"); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterWriteAttribute\n"); - return; - } - - /* Add an attribute with name "xml:lang" and value "de" to ORDER. */ - rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", - BAD_CAST "de"); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterWriteAttribute\n"); - return; - } - - /* Write a comment as child of ORDER */ - tmp = ConvertInput("<äöü>", MY_ENCODING); - rc = xmlTextWriterWriteFormatComment(writer, - "This is another comment with special chars: %s", - tmp); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatComment\n"); - return; - } - if (tmp != NULL) xmlFree(tmp); - - /* Start an element named "HEADER" as child of ORDER. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER"); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write an element named "X_ORDER_ID" as child of HEADER. */ - rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID", - "%010d", 53535); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n"); - return; - } - - /* Write an element named "CUSTOMER_ID" as child of HEADER. */ - rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID", - "%d", 1010); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n"); - return; - } - - /* Write an element named "NAME_1" as child of HEADER. */ - tmp = ConvertInput("Müller", MY_ENCODING); - rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); - return; - } - if (tmp != NULL) xmlFree(tmp); - - /* Write an element named "NAME_2" as child of HEADER. */ - tmp = ConvertInput("Jörg", MY_ENCODING); - rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp); - - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); - return; - } - if (tmp != NULL) xmlFree(tmp); - - /* Close the element named HEADER. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Start an element named "ENTRIES" as child of ORDER. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES"); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Start an element named "ENTRY" as child of ENTRIES. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write an element named "ARTICLE" as child of ENTRY. */ - rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", - BAD_CAST ""); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); - return; - } - - /* Write an element named "ENTRY_NO" as child of ENTRY. */ - rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", - 10); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n"); - return; - } - - /* Close the element named ENTRY. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Start an element named "ENTRY" as child of ENTRIES. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write an element named "ARTICLE" as child of ENTRY. */ - rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", - BAD_CAST ""); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); - return; - } - - /* Write an element named "ENTRY_NO" as child of ENTRY. */ - rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", - 20); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n"); - return; - } - - /* Close the element named ENTRY. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Close the element named ENTRIES. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Start an element named "FOOTER" as child of ORDER. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER"); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write an element named "TEXT" as child of FOOTER. */ - rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT", - BAD_CAST "This is a text."); - if (rc < 0) { - printf - ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); - return; - } - - /* Close the element named FOOTER. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Here we could close the elements ORDER and EXAMPLE using the - * function xmlTextWriterEndElement, but since we do not want to - * write any other elements, we simply call xmlTextWriterEndDocument, - * which will do all the work. */ - rc = xmlTextWriterEndDocument(writer); - if (rc < 0) { - printf("testXmlwriterMemory: Error at xmlTextWriterEndDocument\n"); - return; - } - - xmlFreeTextWriter(writer); - - fp = fopen(file, "w"); - if (fp == NULL) { - printf("testXmlwriterMemory: Error at fopen\n"); - return; - } - - fprintf(fp, "%s", (const char *) buf->content); - - fclose(fp); - - xmlBufferFree(buf); -} - -/** - * testXmlwriterDoc: - * @file: the output file - * - * test the xmlWriter interface when creating a new document - */ -void -testXmlwriterDoc(const char *file) -{ - int rc; - xmlTextWriterPtr writer; - xmlChar *tmp; - xmlDocPtr doc; - - - /* Create a new XmlWriter for DOM, with no compression. */ - writer = xmlNewTextWriterDoc(&doc, 0); - if (writer == NULL) { - printf("testXmlwriterDoc: Error creating the xml writer\n"); - return; - } - - /* Start the document with the xml default for the version, - * encoding ISO 8859-1 and the default for the standalone - * declaration. */ - rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterStartDocument\n"); - return; - } - - /* Start an element named "EXAMPLE". Since thist is the first - * element, this will be the root element of the document. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE"); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write a comment as child of EXAMPLE. - * Please observe, that the input to the xmlTextWriter functions - * HAS to be in UTF-8, even if the output XML is encoded - * in iso-8859-1 */ - tmp = ConvertInput("This is a comment with special chars: <äöü>", - MY_ENCODING); - rc = xmlTextWriterWriteComment(writer, tmp); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterWriteComment\n"); - return; - } - if (tmp != NULL) xmlFree(tmp); - - /* Start an element named "ORDER" as child of EXAMPLE. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER"); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Add an attribute with name "version" and value "1.0" to ORDER. */ - rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version", - BAD_CAST "1.0"); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterWriteAttribute\n"); - return; - } - - /* Add an attribute with name "xml:lang" and value "de" to ORDER. */ - rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", - BAD_CAST "de"); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterWriteAttribute\n"); - return; - } - - /* Write a comment as child of ORDER */ - tmp = ConvertInput("<äöü>", MY_ENCODING); - rc = xmlTextWriterWriteFormatComment(writer, - "This is another comment with special chars: %s", - tmp); - if (rc < 0) { - printf - ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatComment\n"); - return; - } - if (tmp != NULL) xmlFree(tmp); - - /* Start an element named "HEADER" as child of ORDER. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER"); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write an element named "X_ORDER_ID" as child of HEADER. */ - rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID", - "%010d", 53535); - if (rc < 0) { - printf - ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n"); - return; - } - - /* Write an element named "CUSTOMER_ID" as child of HEADER. */ - rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID", - "%d", 1010); - if (rc < 0) { - printf - ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n"); - return; - } - - /* Write an element named "NAME_1" as child of HEADER. */ - tmp = ConvertInput("Müller", MY_ENCODING); - rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); - return; - } - if (tmp != NULL) xmlFree(tmp); - - /* Write an element named "NAME_2" as child of HEADER. */ - tmp = ConvertInput("Jörg", MY_ENCODING); - rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); - return; - } - if (tmp != NULL) xmlFree(tmp); - - /* Close the element named HEADER. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Start an element named "ENTRIES" as child of ORDER. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES"); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Start an element named "ENTRY" as child of ENTRIES. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write an element named "ARTICLE" as child of ENTRY. */ - rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", - BAD_CAST ""); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); - return; - } - - /* Write an element named "ENTRY_NO" as child of ENTRY. */ - rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", - 10); - if (rc < 0) { - printf - ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n"); - return; - } - - /* Close the element named ENTRY. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Start an element named "ENTRY" as child of ENTRIES. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write an element named "ARTICLE" as child of ENTRY. */ - rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", - BAD_CAST ""); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); - return; - } - - /* Write an element named "ENTRY_NO" as child of ENTRY. */ - rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", - 20); - if (rc < 0) { - printf - ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n"); - return; - } - - /* Close the element named ENTRY. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Close the element named ENTRIES. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Start an element named "FOOTER" as child of ORDER. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER"); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write an element named "TEXT" as child of FOOTER. */ - rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT", - BAD_CAST "This is a text."); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); - return; - } - - /* Close the element named FOOTER. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Here we could close the elements ORDER and EXAMPLE using the - * function xmlTextWriterEndElement, but since we do not want to - * write any other elements, we simply call xmlTextWriterEndDocument, - * which will do all the work. */ - rc = xmlTextWriterEndDocument(writer); - if (rc < 0) { - printf("testXmlwriterDoc: Error at xmlTextWriterEndDocument\n"); - return; - } - - xmlFreeTextWriter(writer); - - xmlSaveFileEnc(file, doc, MY_ENCODING); - - xmlFreeDoc(doc); -} - -/** - * testXmlwriterTree: - * @file: the output file - * - * test the xmlWriter interface when writing to a subtree - */ -void -testXmlwriterTree(const char *file) -{ - int rc; - xmlTextWriterPtr writer; - xmlDocPtr doc; - xmlNodePtr node; - xmlChar *tmp; - - /* Create a new XML DOM tree, to which the XML document will be - * written */ - doc = xmlNewDoc(BAD_CAST XML_DEFAULT_VERSION); - if (doc == NULL) { - printf - ("testXmlwriterTree: Error creating the xml document tree\n"); - return; - } - - /* Create a new XML node, to which the XML document will be - * appended */ - node = xmlNewDocNode(doc, NULL, BAD_CAST "EXAMPLE", NULL); - if (node == NULL) { - printf("testXmlwriterTree: Error creating the xml node\n"); - return; - } - - /* Make ELEMENT the root node of the tree */ - xmlDocSetRootElement(doc, node); - - /* Create a new XmlWriter for DOM tree, with no compression. */ - writer = xmlNewTextWriterTree(doc, node, 0); - if (writer == NULL) { - printf("testXmlwriterTree: Error creating the xml writer\n"); - return; - } - - /* Start the document with the xml default for the version, - * encoding ISO 8859-1 and the default for the standalone - * declaration. */ - rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterStartDocument\n"); - return; - } - - /* Write a comment as child of EXAMPLE. - * Please observe, that the input to the xmlTextWriter functions - * HAS to be in UTF-8, even if the output XML is encoded - * in iso-8859-1 */ - tmp = ConvertInput("This is a comment with special chars: <äöü>", - MY_ENCODING); - rc = xmlTextWriterWriteComment(writer, tmp); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterWriteComment\n"); - return; - } - if (tmp != NULL) xmlFree(tmp); - - /* Start an element named "ORDER" as child of EXAMPLE. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER"); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Add an attribute with name "version" and value "1.0" to ORDER. */ - rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version", - BAD_CAST "1.0"); - if (rc < 0) { - printf - ("testXmlwriterTree: Error at xmlTextWriterWriteAttribute\n"); - return; - } - - /* Add an attribute with name "xml:lang" and value "de" to ORDER. */ - rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", - BAD_CAST "de"); - if (rc < 0) { - printf - ("testXmlwriterTree: Error at xmlTextWriterWriteAttribute\n"); - return; - } - - /* Write a comment as child of ORDER */ - tmp = ConvertInput("<äöü>", MY_ENCODING); - rc = xmlTextWriterWriteFormatComment(writer, - "This is another comment with special chars: %s", - tmp); - if (rc < 0) { - printf - ("testXmlwriterTree: Error at xmlTextWriterWriteFormatComment\n"); - return; - } - if (tmp != NULL) xmlFree(tmp); - - /* Start an element named "HEADER" as child of ORDER. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER"); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write an element named "X_ORDER_ID" as child of HEADER. */ - rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID", - "%010d", 53535); - if (rc < 0) { - printf - ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n"); - return; - } - - /* Write an element named "CUSTOMER_ID" as child of HEADER. */ - rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID", - "%d", 1010); - if (rc < 0) { - printf - ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n"); - return; - } - - /* Write an element named "NAME_1" as child of HEADER. */ - tmp = ConvertInput("Müller", MY_ENCODING); - rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); - return; - } - if (tmp != NULL) xmlFree(tmp); - - /* Write an element named "NAME_2" as child of HEADER. */ - tmp = ConvertInput("Jörg", MY_ENCODING); - rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); - return; - } - if (tmp != NULL) xmlFree(tmp); - - /* Close the element named HEADER. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Start an element named "ENTRIES" as child of ORDER. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES"); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Start an element named "ENTRY" as child of ENTRIES. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write an element named "ARTICLE" as child of ENTRY. */ - rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", - BAD_CAST ""); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); - return; - } - - /* Write an element named "ENTRY_NO" as child of ENTRY. */ - rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", - 10); - if (rc < 0) { - printf - ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n"); - return; - } - - /* Close the element named ENTRY. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Start an element named "ENTRY" as child of ENTRIES. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write an element named "ARTICLE" as child of ENTRY. */ - rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", - BAD_CAST ""); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); - return; - } - - /* Write an element named "ENTRY_NO" as child of ENTRY. */ - rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", - 20); - if (rc < 0) { - printf - ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n"); - return; - } - - /* Close the element named ENTRY. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Close the element named ENTRIES. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Start an element named "FOOTER" as child of ORDER. */ - rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER"); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); - return; - } - - /* Write an element named "TEXT" as child of FOOTER. */ - rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT", - BAD_CAST "This is a text."); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); - return; - } - - /* Close the element named FOOTER. */ - rc = xmlTextWriterEndElement(writer); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); - return; - } - - /* Here we could close the elements ORDER and EXAMPLE using the - * function xmlTextWriterEndElement, but since we do not want to - * write any other elements, we simply call xmlTextWriterEndDocument, - * which will do all the work. */ - rc = xmlTextWriterEndDocument(writer); - if (rc < 0) { - printf("testXmlwriterTree: Error at xmlTextWriterEndDocument\n"); - return; - } - - xmlFreeTextWriter(writer); - - xmlSaveFileEnc(file, doc, MY_ENCODING); - - xmlFreeDoc(doc); -} - -/** - * ConvertInput: - * @in: string in a given encoding - * @encoding: the encoding used - * - * Converts @in into UTF-8 for processing with libxml2 APIs - * - * Returns the converted UTF-8 string, or NULL in case of error. - */ -xmlChar * -ConvertInput(const char *in, const char *encoding) -{ - xmlChar *out; - int ret; - int size; - int out_size; - int temp; - xmlCharEncodingHandlerPtr handler; - - if (in == 0) - return 0; - - handler = xmlFindCharEncodingHandler(encoding); - - if (!handler) { - printf("ConvertInput: no encoding handler found for '%s'\n", - encoding ? encoding : ""); - return 0; - } - - size = (int) strlen(in) + 1; - out_size = size * 2 - 1; - out = (unsigned char *) xmlMalloc((size_t) out_size); - - if (out != 0) { - temp = size - 1; - ret = handler->input(out, &out_size, (const xmlChar *) in, &temp); - if ((ret < 0) || (temp - size + 1)) { - if (ret < 0) { - printf("ConvertInput: conversion wasn't successful.\n"); - } else { - printf - ("ConvertInput: conversion wasn't successful. converted: %i octets.\n", - temp); - } - - xmlFree(out); - out = 0; - } else { - out = (unsigned char *) xmlRealloc(out, out_size + 1); - out[out_size] = 0; /*null terminating out */ - } - } else { - printf("ConvertInput: no mem\n"); - } - - return out; -} - -#else -int main(void) { - fprintf(stderr, "Writer or output support not compiled in\n"); - exit(1); -} -#endif diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tree1.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tree1.c deleted file mode 100644 index 8644cf1..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tree1.c +++ /dev/null @@ -1,94 +0,0 @@ -/** - * section: Tree - * synopsis: Navigates a tree to print element names - * purpose: Parse a file to a tree, use xmlDocGetRootElement() to - * get the root element, then walk the document and print - * all the element name in document order. - * usage: tree1 filename_or_URL - * test: tree1 test2.xml > tree1.tmp ; diff tree1.tmp tree1.res ; rm tree1.tmp - * author: Dodji Seketeli - * copy: see Copyright for the status of this software. - */ -#include -#include -#include - -#ifdef LIBXML_TREE_ENABLED - -/* - *To compile this file using gcc you can type - *gcc `xml2-config --cflags --libs` -o xmlexample libxml2-example.c - */ - -/** - * print_element_names: - * @a_node: the initial xml node to consider. - * - * Prints the names of the all the xml elements - * that are siblings or children of a given xml node. - */ -static void -print_element_names(xmlNode * a_node) -{ - xmlNode *cur_node = NULL; - - for (cur_node = a_node; cur_node; cur_node = cur_node->next) { - if (cur_node->type == XML_ELEMENT_NODE) { - printf("node type: Element, name: %s\n", cur_node->name); - } - - print_element_names(cur_node->children); - } -} - - -/** - * Simple example to parse a file called "file.xml", - * walk down the DOM, and print the name of the - * xml elements nodes. - */ -int -main(int argc, char **argv) -{ - xmlDoc *doc = NULL; - xmlNode *root_element = NULL; - - if (argc != 2) - return(1); - - /* - * this initialize the library and check potential ABI mismatches - * between the version it was compiled for and the actual shared - * library used. - */ - LIBXML_TEST_VERSION - - /*parse the file and get the DOM */ - doc = xmlReadFile(argv[1], NULL, 0); - - if (doc == NULL) { - printf("error: could not parse file %s\n", argv[1]); - } - - /*Get the root element node */ - root_element = xmlDocGetRootElement(doc); - - print_element_names(root_element); - - /*free the document */ - xmlFreeDoc(doc); - - /* - *Free the global variables that may - *have been allocated by the parser. - */ - xmlCleanupParser(); - - return 0; -} -#else -int main(void) { - fprintf(stderr, "Tree support not compiled in\n"); - exit(1); -} -#endif diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tree1.res b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tree1.res deleted file mode 100644 index 7b14ad0..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tree1.res +++ /dev/null @@ -1,4 +0,0 @@ -node type: Element, name: doc -node type: Element, name: src -node type: Element, name: dest -node type: Element, name: src diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tree2.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tree2.c deleted file mode 100644 index c40fc55..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tree2.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * section: Tree - * synopsis: Creates a tree - * purpose: Shows how to create document, nodes and dump it to stdout or file. - * usage: tree2 -Default output: stdout - * test: tree2 > tree2.tmp ; diff tree2.tmp tree2.res ; rm tree2.tmp - * author: Lucas Brasilino - * copy: see Copyright for the status of this software - */ - -#include -#include -#include - -#if defined(LIBXML_TREE_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) - -/* - *To compile this file using gcc you can type - *gcc `xml2-config --cflags --libs` -o tree2 tree2.c - */ - -/* A simple example how to create DOM. Libxml2 automagically - * allocates the necessary amount of memory to it. -*/ -int -main(int argc, char **argv) -{ - xmlDocPtr doc = NULL; /* document pointer */ - xmlNodePtr root_node = NULL, node = NULL, node1 = NULL;/* node pointers */ - xmlDtdPtr dtd = NULL; /* DTD pointer */ - char buff[256]; - int i, j; - - LIBXML_TEST_VERSION; - - /* - * Creates a new document, a node and set it as a root node - */ - doc = xmlNewDoc(BAD_CAST "1.0"); - root_node = xmlNewNode(NULL, BAD_CAST "root"); - xmlDocSetRootElement(doc, root_node); - - /* - * Creates a DTD declaration. Isn't mandatory. - */ - dtd = xmlCreateIntSubset(doc, BAD_CAST "root", NULL, BAD_CAST "tree2.dtd"); - - /* - * xmlNewChild() creates a new node, which is "attached" as child node - * of root_node node. - */ - xmlNewChild(root_node, NULL, BAD_CAST "node1", - BAD_CAST "content of node 1"); - /* - * The same as above, but the new child node doesn't have a content - */ - xmlNewChild(root_node, NULL, BAD_CAST "node2", NULL); - - /* - * xmlNewProp() creates attributes, which is "attached" to an node. - * It returns xmlAttrPtr, which isn't used here. - */ - node = - xmlNewChild(root_node, NULL, BAD_CAST "node3", - BAD_CAST "this node has attributes"); - xmlNewProp(node, BAD_CAST "attribute", BAD_CAST "yes"); - xmlNewProp(node, BAD_CAST "foo", BAD_CAST "bar"); - - /* - * Here goes another way to create nodes. xmlNewNode() and xmlNewText - * creates a node and a text node separately. They are "attached" - * by xmlAddChild() - */ - node = xmlNewNode(NULL, BAD_CAST "node4"); - node1 = xmlNewText(BAD_CAST - "other way to create content (which is also a node)"); - xmlAddChild(node, node1); - xmlAddChild(root_node, node); - - /* - * A simple loop that "automates" nodes creation - */ - for (i = 5; i < 7; i++) { - sprintf(buff, "node%d", i); - node = xmlNewChild(root_node, NULL, BAD_CAST buff, NULL); - for (j = 1; j < 4; j++) { - sprintf(buff, "node%d%d", i, j); - node1 = xmlNewChild(node, NULL, BAD_CAST buff, NULL); - xmlNewProp(node1, BAD_CAST "odd", BAD_CAST((j % 2) ? "no" : "yes")); - } - } - - /* - * Dumping document to stdio or file - */ - xmlSaveFormatFileEnc(argc > 1 ? argv[1] : "-", doc, "UTF-8", 1); - - /*free the document */ - xmlFreeDoc(doc); - - /* - *Free the global variables that may - *have been allocated by the parser. - */ - xmlCleanupParser(); - - /* - * this is to debug memory for regression tests - */ - xmlMemoryDump(); - return(0); -} -#else -int main(void) { - fprintf(stderr, "tree support not compiled in\n"); - exit(1); -} -#endif diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tree2.res b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tree2.res deleted file mode 100644 index ed00195..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tree2.res +++ /dev/null @@ -1,18 +0,0 @@ - - - - content of node 1 - - this node has attributes - other way to create content (which is also a node) - - - - - - - - - - - diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tst.xml b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tst.xml deleted file mode 100644 index 1cc6c95..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tst.xml +++ /dev/null @@ -1,7 +0,0 @@ - - hello - - - goodbye - - diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apa.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apa.html deleted file mode 100644 index 964e15f..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apa.html +++ /dev/null @@ -1,8 +0,0 @@ -A. Compilation

    A. Compilation

    - Libxml includes a script, - xml2-config, that can be used to generate - flags for compilation and linking of programs written with the - library. For pre-processor and compiler flags, use xml2-config - --cflags. For library linking flags, use xml2-config - --libs. Other options are available using xml2-config - --help.

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apb.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apb.html deleted file mode 100644 index ef14066..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apb.html +++ /dev/null @@ -1,14 +0,0 @@ -B. Sample Document

    B. Sample Document

    -<?xml version="1.0"?>
    -<story>
    -  <storyinfo>
    -    <author>John Fleck</author>
    -    <datewritten>June 2, 2002</datewritten>
    -    <keyword>example keyword</keyword>
    -  </storyinfo>
    -  <body>
    -    <headline>This is the headline</headline>
    -    <para>This is the body text.</para>
    -  </body>
    -</story>
    -
    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apc.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apc.html deleted file mode 100644 index f8d9911..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apc.html +++ /dev/null @@ -1,82 +0,0 @@ -C. Code for Keyword Example

    C. Code for Keyword Example

    -

    -#include <stdio.h>
    -#include <string.h>
    -#include <stdlib.h>
    -#include <libxml/xmlmemory.h>
    -#include <libxml/parser.h>
    -
    -void
    -parseStory (xmlDocPtr doc, xmlNodePtr cur) {
    -
    -	xmlChar *key;
    -	cur = cur->xmlChildrenNode;
    -	while (cur != NULL) {
    -	    if ((!xmlStrcmp(cur->name, (const xmlChar *)"keyword"))) {
    -		    key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
    -		    printf("keyword: %s\n", key);
    -		    xmlFree(key);
    - 	    }
    -	cur = cur->next;
    -	}
    -    return;
    -}
    -
    -static void
    -parseDoc(char *docname) {
    -
    -	xmlDocPtr doc;
    -	xmlNodePtr cur;
    -
    -	doc = xmlParseFile(docname);
    -	
    -	if (doc == NULL ) {
    -		fprintf(stderr,"Document not parsed successfully. \n");
    -		return;
    -	}
    -	
    -	cur = xmlDocGetRootElement(doc);
    -	
    -	if (cur == NULL) {
    -		fprintf(stderr,"empty document\n");
    -		xmlFreeDoc(doc);
    -		return;
    -	}
    -	
    -	if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
    -		fprintf(stderr,"document of the wrong type, root node != story");
    -		xmlFreeDoc(doc);
    -		return;
    -	}
    -	
    -	cur = cur->xmlChildrenNode;
    -	while (cur != NULL) {
    -		if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){
    -			parseStory (doc, cur);
    -		}
    -		 
    -	cur = cur->next;
    -	}
    -	
    -	xmlFreeDoc(doc);
    -	return;
    -}
    -
    -int
    -main(int argc, char **argv) {
    -
    -	char *docname;
    -		
    -	if (argc <= 1) {
    -		printf("Usage: %s docname\n", argv[0]);
    -		return(0);
    -	}
    -
    -	docname = argv[1];
    -	parseDoc (docname);
    -
    -	return (1);
    -}
    -
    -

    -

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apd.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apd.html deleted file mode 100644 index 8f9618d..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apd.html +++ /dev/null @@ -1,76 +0,0 @@ -D. Code for XPath Example

    D. Code for XPath Example

    -

    -#include <libxml/parser.h>
    -#include <libxml/xpath.h>
    -
    -xmlDocPtr
    -getdoc (char *docname) {
    -	xmlDocPtr doc;
    -	doc = xmlParseFile(docname);
    -	
    -	if (doc == NULL ) {
    -		fprintf(stderr,"Document not parsed successfully. \n");
    -		return NULL;
    -	}
    -
    -	return doc;
    -}
    -
    -xmlXPathObjectPtr
    -getnodeset (xmlDocPtr doc, xmlChar *xpath){
    -	
    -	xmlXPathContextPtr context;
    -	xmlXPathObjectPtr result;
    -
    -	context = xmlXPathNewContext(doc);
    -	if (context == NULL) {
    -		printf("Error in xmlXPathNewContext\n");
    -		return NULL;
    -	}
    -	result = xmlXPathEvalExpression(xpath, context);
    -	xmlXPathFreeContext(context);
    -	if (result == NULL) {
    -		printf("Error in xmlXPathEvalExpression\n");
    -		return NULL;
    -	}
    -	if(xmlXPathNodeSetIsEmpty(result->nodesetval)){
    -		xmlXPathFreeObject(result);
    -                printf("No result\n");
    -		return NULL;
    -	}
    -	return result;
    -}
    -int
    -main(int argc, char **argv) {
    -
    -	char *docname;
    -	xmlDocPtr doc;
    -	xmlChar *xpath = (xmlChar*) "//keyword";
    -	xmlNodeSetPtr nodeset;
    -	xmlXPathObjectPtr result;
    -	int i;
    -	xmlChar *keyword;
    -		
    -	if (argc <= 1) {
    -		printf("Usage: %s docname\n", argv[0]);
    -		return(0);
    -	}
    -
    -	docname = argv[1];
    -	doc = getdoc(docname);
    -	result = getnodeset (doc, xpath);
    -	if (result) {
    -		nodeset = result->nodesetval;
    -		for (i=0; i < nodeset->nodeNr; i++) {
    -			keyword = xmlNodeListGetString(doc, nodeset->nodeTab[i]->xmlChildrenNode, 1);
    -		printf("keyword: %s\n", keyword);
    -		xmlFree(keyword);
    -		}
    -		xmlXPathFreeObject (result);
    -	}
    -	xmlFreeDoc(doc);
    -	xmlCleanupParser();
    -	return (1);
    -}
    -

    -

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ape.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ape.html deleted file mode 100644 index 200319a..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ape.html +++ /dev/null @@ -1,78 +0,0 @@ -E. Code for Add Keyword Example

    E. Code for Add Keyword Example

    -

    -#include <stdio.h>
    -#include <string.h>
    -#include <stdlib.h>
    -#include <libxml/xmlmemory.h>
    -#include <libxml/parser.h>
    -
    -void
    -parseStory (xmlDocPtr doc, xmlNodePtr cur, char *keyword) {
    -
    -	xmlNewTextChild (cur, NULL, "keyword", keyword);
    -    return;
    -}
    -
    -xmlDocPtr
    -parseDoc(char *docname, char *keyword) {
    -
    -	xmlDocPtr doc;
    -	xmlNodePtr cur;
    -
    -	doc = xmlParseFile(docname);
    -	
    -	if (doc == NULL ) {
    -		fprintf(stderr,"Document not parsed successfully. \n");
    -		return (NULL);
    -	}
    -	
    -	cur = xmlDocGetRootElement(doc);
    -	
    -	if (cur == NULL) {
    -		fprintf(stderr,"empty document\n");
    -		xmlFreeDoc(doc);
    -		return (NULL);
    -	}
    -	
    -	if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
    -		fprintf(stderr,"document of the wrong type, root node != story");
    -		xmlFreeDoc(doc);
    -		return (NULL);
    -	}
    -	
    -	cur = cur->xmlChildrenNode;
    -	while (cur != NULL) {
    -		if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){
    -			parseStory (doc, cur, keyword);
    -		}
    -		 
    -	cur = cur->next;
    -	}
    -	return(doc);
    -}
    -
    -int
    -main(int argc, char **argv) {
    -
    -	char *docname;
    -	char *keyword;
    -	xmlDocPtr doc;
    -
    -	if (argc <= 2) {
    -		printf("Usage: %s docname, keyword\n", argv[0]);
    -		return(0);
    -	}
    -
    -	docname = argv[1];
    -	keyword = argv[2];
    -	doc = parseDoc (docname, keyword);
    -	if (doc != NULL) {
    -		xmlSaveFormatFile (docname, doc, 0);
    -		xmlFreeDoc(doc);
    -	}
    -	
    -	return (1);
    -}
    -
    -

    -

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apf.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apf.html deleted file mode 100644 index 4848cdb..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apf.html +++ /dev/null @@ -1,67 +0,0 @@ -F. Code for Add Attribute Example

    F. Code for Add Attribute Example

    -

    -#include <stdio.h>
    -#include <string.h>
    -#include <stdlib.h>
    -#include <libxml/xmlmemory.h>
    -#include <libxml/parser.h>
    -
    -
    -xmlDocPtr
    -parseDoc(char *docname, char *uri) {
    -
    -	xmlDocPtr doc;
    -	xmlNodePtr cur;
    -	xmlNodePtr newnode;
    -	xmlAttrPtr newattr;
    -
    -	doc = xmlParseFile(docname);
    -	
    -	if (doc == NULL ) {
    -		fprintf(stderr,"Document not parsed successfully. \n");
    -		return (NULL);
    -	}
    -	
    -	cur = xmlDocGetRootElement(doc);
    -	
    -	if (cur == NULL) {
    -		fprintf(stderr,"empty document\n");
    -		xmlFreeDoc(doc);
    -		return (NULL);
    -	}
    -	
    -	if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
    -		fprintf(stderr,"document of the wrong type, root node != story");
    -		xmlFreeDoc(doc);
    -		return (NULL);
    -	}
    -	
    -	newnode = xmlNewTextChild (cur, NULL, "reference", NULL);
    -	newattr = xmlNewProp (newnode, "uri", uri);
    -	return(doc);
    -}
    -
    -int
    -main(int argc, char **argv) {
    -
    -	char *docname;
    -	char *uri;
    -	xmlDocPtr doc;
    -
    -	if (argc <= 2) {
    -		printf("Usage: %s docname, uri\n", argv[0]);
    -		return(0);
    -	}
    -
    -	docname = argv[1];
    -	uri = argv[2];
    -	doc = parseDoc (docname, uri);
    -	if (doc != NULL) {
    -		xmlSaveFormatFile (docname, doc, 1);
    -		xmlFreeDoc(doc);
    -	}
    -	return (1);
    -}
    -
    -

    -

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apg.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apg.html deleted file mode 100644 index fffa0ee..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/apg.html +++ /dev/null @@ -1,75 +0,0 @@ -G. Code for Retrieving Attribute Value Example

    G. Code for Retrieving Attribute Value Example

    -

    -#include <stdio.h>
    -#include <string.h>
    -#include <stdlib.h>
    -#include <libxml/xmlmemory.h>
    -#include <libxml/parser.h>
    -
    -void
    -getReference (xmlDocPtr doc, xmlNodePtr cur) {
    -
    -	xmlChar *uri;
    -	cur = cur->xmlChildrenNode;
    -	while (cur != NULL) {
    -	    if ((!xmlStrcmp(cur->name, (const xmlChar *)"reference"))) {
    -		    uri = xmlGetProp(cur, "uri");
    -		    printf("uri: %s\n", uri);
    -		    xmlFree(uri);
    -	    }
    -	    cur = cur->next;
    -	}
    -	return;
    -}
    -
    -
    -void
    -parseDoc(char *docname) {
    -
    -	xmlDocPtr doc;
    -	xmlNodePtr cur;
    -
    -	doc = xmlParseFile(docname);
    -	
    -	if (doc == NULL ) {
    -		fprintf(stderr,"Document not parsed successfully. \n");
    -		return;
    -	}
    -	
    -	cur = xmlDocGetRootElement(doc);
    -	
    -	if (cur == NULL) {
    -		fprintf(stderr,"empty document\n");
    -		xmlFreeDoc(doc);
    -		return;
    -	}
    -	
    -	if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
    -		fprintf(stderr,"document of the wrong type, root node != story");
    -		xmlFreeDoc(doc);
    -		return;
    -	}
    -	
    -	getReference (doc, cur);
    -	xmlFreeDoc(doc);
    -	return;
    -}
    -
    -int
    -main(int argc, char **argv) {
    -
    -	char *docname;
    -
    -	if (argc <= 1) {
    -		printf("Usage: %s docname\n", argv[0]);
    -		return(0);
    -	}
    -
    -	docname = argv[1];
    -	parseDoc (docname);
    -	
    -	return (1);
    -}
    -
    -

    -

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/aph.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/aph.html deleted file mode 100644 index ef46605..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/aph.html +++ /dev/null @@ -1,76 +0,0 @@ -H. Code for Encoding Conversion Example

    H. Code for Encoding Conversion Example

    -

    -#include <string.h>
    -#include <libxml/parser.h>
    -
    -
    -unsigned char*
    -convert (unsigned char *in, char *encoding)
    -{
    -	unsigned char *out;
    -        int ret,size,out_size,temp;
    -        xmlCharEncodingHandlerPtr handler;
    -
    -        size = (int)strlen(in)+1; 
    -        out_size = size*2-1; 
    -        out = malloc((size_t)out_size); 
    -
    -        if (out) {
    -                handler = xmlFindCharEncodingHandler(encoding);
    -                
    -                if (!handler) {
    -                        free(out);
    -                        out = NULL;
    -                }
    -        }
    -        if (out) {
    -                temp=size-1;
    -                ret = handler->input(out, &out_size, in, &temp);
    -                if (ret || temp-size+1) {
    -                        if (ret) {
    -                                printf("conversion wasn't successful.\n");
    -                        } else {
    -                                printf("conversion wasn't successful. converted: %i octets.\n",temp);
    -                        }
    -                        free(out);
    -                        out = NULL;
    -                } else {
    -                        out = realloc(out,out_size+1); 
    -                        out[out_size]=0; /*null terminating out*/
    -                        
    -                }
    -        } else {
    -                printf("no mem\n");
    -        }
    -        return (out);
    -}	
    -
    -
    -int
    -main(int argc, char **argv) {
    -
    -	unsigned char *content, *out;
    -	xmlDocPtr doc;
    -	xmlNodePtr rootnode;
    -	char *encoding = "ISO-8859-1";
    -	
    -		
    -	if (argc <= 1) {
    -		printf("Usage: %s content\n", argv[0]);
    -		return(0);
    -	}
    -
    -	content = argv[1];
    -
    -	out = convert(content, encoding);
    -
    -	doc = xmlNewDoc ("1.0");
    -	rootnode = xmlNewDocNode(doc, NULL, (const xmlChar*)"root", out);
    -	xmlDocSetRootElement(doc, rootnode);
    -
    -	xmlSaveFormatFileEnc("-", doc, encoding, 1);
    -	return (1);
    -}
    -
    -

    -

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/api.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/api.html deleted file mode 100644 index 16e7981..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/api.html +++ /dev/null @@ -1,4 +0,0 @@ -I. Acknowledgements

    I. Acknowledgements

    A number of people have generously offered feedback, code and - suggested improvements to this tutorial. In no particular order: - Daniel Veillard, Marcus Labib Iskander, Christopher R. Harris, Igor Zlatkovic, Niraj Tolia, David Turover -

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s02.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s02.html deleted file mode 100644 index 1e30a98..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s02.html +++ /dev/null @@ -1,14 +0,0 @@ -Data Types

    Data Types

    Libxml declares a number of data types we - will encounter repeatedly, hiding the messy stuff so you do not have to deal - with it unless you have some specific need.

    -

    -xmlChar

    A basic replacement for char, a byte in a UTF-8 encoded - string. If your data uses another encoding, it must be converted to - UTF-8 for use with libxml's - functions. More information on encoding is available on the libxml encoding support web page.

    - xmlDoc

    A structure containing the tree created by a parsed doc. xmlDocPtr - is a pointer to the structure.

    -xmlNodePtr - and xmlNode

    A structure containing a single node. xmlNodePtr - is a pointer to the structure, and is used in traversing the document tree.

    -

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s03.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s03.html deleted file mode 100644 index cd28fff..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s03.html +++ /dev/null @@ -1,47 +0,0 @@ -Parsing the file

    Parsing the file

    -Parsing the file requires only the name of the file and a single - function call, plus error checking. Full code: Appendix C, Code for Keyword Example

    -

    -        1 xmlDocPtr doc;
    -	2 xmlNodePtr cur;
    -
    -	3 doc = xmlParseFile(docname);
    -	
    -	4 if (doc == NULL ) {
    -		fprintf(stderr,"Document not parsed successfully. \n");
    -		return;
    -	}
    -
    -	5 cur = xmlDocGetRootElement(doc);
    -	
    -	6 if (cur == NULL) {
    -		fprintf(stderr,"empty document\n");
    -		xmlFreeDoc(doc);
    -		return;
    -	}
    -	
    -	7 if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
    -		fprintf(stderr,"document of the wrong type, root node != story");
    -		xmlFreeDoc(doc);
    -		return;
    -	}
    -
    -    

    -

    1

    Declare the pointer that will point to your parsed document.

    2

    Declare a node pointer (you'll need this in order to - interact with individual nodes).

    4

    Check to see that the document was successfully parsed. If it - was not, libxml will at this point - register an error and stop. -

    [Note]Note

    -One common example of an error at this point is improper - handling of encoding. The XML standard requires - documents stored with an encoding other than UTF-8 or UTF-16 to - contain an explicit declaration of their encoding. If the - declaration is there, libxml will - automatically perform the necessary conversion to UTF-8 for - you. More information on XML's encoding - requirements is contained in the standard.

    -

    5

    Retrieve the document's root element.

    6

    Check to make sure the document actually contains something.

    7

    In our case, we need to make sure the document is the right - type. "story" is the root type of the documents used in this - tutorial.

    - -

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s04.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s04.html deleted file mode 100644 index 11492eb..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s04.html +++ /dev/null @@ -1,54 +0,0 @@ -Retrieving Element Content

    Retrieving Element Content

    -Retrieving the content of an element involves traversing the document - tree until you find what you are looking for. In this case, we are looking - for an element called "keyword" contained within element called "story". The - process to find the node we are interested in involves tediously walking the - tree. We assume you already have an xmlDocPtr called doc - and an xmlNodPtr called cur.

    -

    -	1cur = cur->xmlChildrenNode;
    -	2while (cur != NULL) {
    -		if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){
    -			parseStory (doc, cur);
    -		}
    -		 
    -	cur = cur->next;
    -	}
    -      

    - -

    1

    Get the first child node of cur. At this - point, cur points at the document root, which is - the element "story".

    2

    This loop iterates through the elements that are children of - "story", looking for one called "storyinfo". That - is the element that will contain the "keywords" we are - looking for. It uses the libxml string - comparison - function, xmlStrcmp. If there is a match, it calls the function parseStory.

    -

    -

    -void
    -parseStory (xmlDocPtr doc, xmlNodePtr cur) {
    -
    -	xmlChar *key;
    -	1 cur = cur->xmlChildrenNode;
    -	2 while (cur != NULL) {
    -	    if ((!xmlStrcmp(cur->name, (const xmlChar *)"keyword"))) {
    -	3	    key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
    -		    printf("keyword: %s\n", key);
    -		    xmlFree(key);
    - 	    }
    -	cur = cur->next;
    -	}
    -    return;
    -}
    -      

    -

    1

    Again we get the first child node.

    2

    Like the loop above, we then iterate through the nodes, looking - for one that matches the element we're interested in, in this case - "keyword".

    3

    When we find the "keyword" element, we need to print - its contents. Remember that in XML, the text - contained within an element is a child node of that element, so we - turn to cur->xmlChildrenNode. To retrieve it, we - use the function xmlNodeListGetString, which also takes the doc pointer as an argument. In this case, we just print it out.

    [Note]Note

    Because xmlNodeListGetString allocates - memory for the string it returns, you must use - xmlFree to free it.

    -

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s05.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s05.html deleted file mode 100644 index 1c40925..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s05.html +++ /dev/null @@ -1,55 +0,0 @@ -Using XPath to Retrieve Element Content

    Using XPath to Retrieve Element Content

    In addition to walking the document tree to find an element, - Libxml2 includes support for - use of XPath expressions to retrieve sets of - nodes that match a specified criteria. Full documentation of the - XPath API is here. -

    XPath allows searching through a document - for nodes that match specified criteria. In the example below we search - through a document for the contents of all keyword - elements. -

    [Note]Note

    A full discussion of XPath is beyond - the scope of this document. For details on its use, see the XPath specification.

    - Full code for this example is at Appendix D, Code for XPath Example. -

    Using XPath requires setting up an - xmlXPathContext and then supplying the XPath - expression and the context to the - xmlXPathEvalExpression function. The function returns - an xmlXPathObjectPtr, which includes the set of nodes satisfying the - XPath expression.

    -

    -	xmlXPathObjectPtr
    -	getnodeset (xmlDocPtr doc, xmlChar *xpath){
    -	
    -	1xmlXPathContextPtr context;
    -	xmlXPathObjectPtr result;
    -
    -	2context = xmlXPathNewContext(doc);
    -	3result = xmlXPathEvalExpression(xpath, context);
    -	4if(xmlXPathNodeSetIsEmpty(result->nodesetval)){
    -		xmlXPathFreeObject(result);
    -                printf("No result\n");
    -		return NULL;
    -      

    -

    1

    First we declare our variables.

    2

    Initialize the context variable.

    3

    Apply the XPath expression.

    4

    Check the result and free the memory allocated to - result if no result is found.

    -

    The xmlPathObjectPtr returned by the function contains a set of nodes - and other information needed to iterate through the set and act on the - results. For this example, our functions returns the - xmlXPathObjectPtr. We use it to print the contents of - keyword nodes in our document. The node set object - includes the number of elements in the set (nodeNr) and - an array of nodes (nodeTab): -

    -	1for (i=0; i < nodeset->nodeNr; i++) {
    -	2keyword = xmlNodeListGetString(doc, nodeset->nodeTab[i]->xmlChildrenNode, 1);
    -		printf("keyword: %s\n", keyword);
    -	        xmlFree(keyword);
    -	}
    -      

    -

    1

    The value of nodeset->Nr holds the number of - elements in the node set. Here we use it to iterate through the array.

    2

    Here we print the contents of each of the nodes returned. -

    [Note]Note

    Note that we are printing the child node of the node that is - returned, because the contents of the keyword - element are a child text node.

    -

    -

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s06.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s06.html deleted file mode 100644 index c09e6ef..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s06.html +++ /dev/null @@ -1,35 +0,0 @@ -Writing element content

    Writing element content

    - Writing element content uses many of the same steps we used above - — parsing the document and walking the tree. We parse the document, - then traverse the tree to find the place we want to insert our element. For - this example, we want to again find the "storyinfo" element and - this time insert a keyword. Then we'll write the file to disk. Full code: - Appendix E, Code for Add Keyword Example

    - The main difference in this example is in - parseStory: - -

    -void
    -parseStory (xmlDocPtr doc, xmlNodePtr cur, char *keyword) {
    -
    -	1 xmlNewTextChild (cur, NULL, "keyword", keyword);
    -    return;
    -}
    -      

    -

    1

    The xmlNewTextChild - function adds a new child element at the - current node pointer's location in the - tree, specified by cur.

    -

    - - Once the node has been added, we would like to write the document to - file. Is you want the element to have a namespace, you can add it here as - well. In our case, the namespace is NULL. -

    -	xmlSaveFormatFile (docname, doc, 1);
    -      

    - The first parameter is the name of the file to be written. You'll notice - it is the same as the file we just read. In this case, we just write over - the old file. The second parameter is a pointer to the xmlDoc - structure. Setting the third parameter equal to one ensures indenting on output. -

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s07.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s07.html deleted file mode 100644 index fd5c4dd..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s07.html +++ /dev/null @@ -1,30 +0,0 @@ -Writing Attribute

    Writing Attribute

    -Writing an attribute is similar to writing text to a new element. In - this case, we'll add a reference URI to our - document. Full code:Appendix F, Code for Add Attribute Example.

    - A reference is a child of the story - element, so finding the place to put our new element and attribute is - simple. As soon as we do the error-checking test in our - parseDoc, we are in the right spot to add our - element. But before we do that, we need to make a declaration using a - data type we have not seen yet: -

    -	xmlAttrPtr newattr;
    -      

    - We also need an extra xmlNodePtr: -

    -	xmlNodePtr newnode;
    -      

    -

    - The rest of parseDoc is the same as before until we - check to see if our root element is story. If it is, - then we know we are at the right spot to add our element: - -

    -	1 newnode = xmlNewTextChild (cur, NULL, "reference", NULL);
    -	2 newattr = xmlNewProp (newnode, "uri", uri);	
    -      

    -

    1

    First we add a new node at the location of the current node - pointer, cur. using the xmlNewTextChild function.

    -

    Once the node is added, the file is written to disk just as in the - previous example in which we added an element with text content.

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s08.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s08.html deleted file mode 100644 index 758f811..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s08.html +++ /dev/null @@ -1,38 +0,0 @@ -Retrieving Attributes

    Retrieving Attributes

    -Retrieving the value of an attribute is similar to the previous - example in which we retrieved a node's text contents. In this case we'll - extract the value of the URI we added in the previous - section. Full code: Appendix G, Code for Retrieving Attribute Value Example.

    - The initial steps for this example are similar to the previous ones: parse - the doc, find the element you are interested in, then enter a function to - carry out the specific task required. In this case, we call - getReference: -

    -void
    -getReference (xmlDocPtr doc, xmlNodePtr cur) {
    -
    -	xmlChar *uri;
    -	cur = cur->xmlChildrenNode;
    -	while (cur != NULL) {
    -	    if ((!xmlStrcmp(cur->name, (const xmlChar *)"reference"))) {
    -		   1 uri = xmlGetProp(cur, "uri");
    -		    printf("uri: %s\n", uri);
    -		    xmlFree(uri);
    -	    }
    -	    cur = cur->next;
    -	}
    -	return;
    -}
    -      

    - -

    1

    - The key function is xmlGetProp, which returns an - xmlChar containing the attribute's value. In this case, - we just print it out. -

    [Note]Note

    - If you are using a DTD that declares a fixed or - default value for the attribute, this function will retrieve it. -

    -

    - -

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s09.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s09.html deleted file mode 100644 index 2987add..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ar01s09.html +++ /dev/null @@ -1,63 +0,0 @@ -Encoding Conversion

    Encoding Conversion

    -Data encoding compatibility problems are one of the most common - difficulties encountered by programmers new to XML in - general and libxml in particular. Thinking - through the design of your application in light of this issue will help - avoid difficulties later. Internally, libxml - stores and manipulates data in the UTF-8 format. Data used by your program - in other formats, such as the commonly used ISO-8859-1 encoding, must be - converted to UTF-8 before passing it to libxml - functions. If you want your program's output in an encoding other than - UTF-8, you also must convert it.

    Libxml uses - iconv if it is available to convert - data. Without iconv, only UTF-8, UTF-16 and - ISO-8859-1 can be used as external formats. With - iconv, any format can be used provided - iconv is able to convert it to and from - UTF-8. Currently iconv supports about 150 - different character formats with ability to convert from any to any. While - the actual number of supported formats varies between implementations, every - iconv implementation is almost guaranteed to - support every format anyone has ever heard of.

    [Warning]Warning

    A common mistake is to use different formats for the internal data - in different parts of one's code. The most common case is an application - that assumes ISO-8859-1 to be the internal data format, combined with - libxml, which assumes UTF-8 to be the - internal data format. The result is an application that treats internal - data differently, depending on which code section is executing. The one or - the other part of code will then, naturally, misinterpret the data. -

    This example constructs a simple document, then adds content provided - at the command line to the document's root element and outputs the results - to stdout in the proper encoding. For this example, we - use ISO-8859-1 encoding. The encoding of the string input at the command - line is converted from ISO-8859-1 to UTF-8. Full code: Appendix H, Code for Encoding Conversion Example

    The conversion, encapsulated in the example code in the - convert function, uses - libxml's - xmlFindCharEncodingHandler function: -

    -	1xmlCharEncodingHandlerPtr handler;
    -        2size = (int)strlen(in)+1; 
    -        out_size = size*2-1; 
    -        out = malloc((size_t)out_size); 
    -
    -…
    -	3handler = xmlFindCharEncodingHandler(encoding);
    -…
    -	4handler->input(out, &out_size, in, &temp);
    -…	
    -	5xmlSaveFormatFileEnc("-", doc, encoding, 1);
    -      

    -

    1

    handler is declared as a pointer to an - xmlCharEncodingHandler function.

    2

    The xmlCharEncodingHandler function needs - to be given the size of the input and output strings, which are - calculated here for strings in and - out.

    3

    xmlFindCharEncodingHandler takes as its - argument the data's initial encoding and searches - libxml's built-in set of conversion - handlers, returning a pointer to the function or NULL if none is - found.

    4

    The conversion function identified by handler - requires as its arguments pointers to the input and output strings, - along with the length of each. The lengths must be determined - separately by the application.

    5

    To output in a specified encoding rather than UTF-8, we use - xmlSaveFormatFileEnc, specifying the - encoding.

    -

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/blank.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/blank.png deleted file mode 100644 index 764bf4f..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/blank.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/1.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/1.png deleted file mode 100644 index 7d47343..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/1.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/10.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/10.png deleted file mode 100644 index 997bbc8..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/10.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/2.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/2.png deleted file mode 100644 index 5d09341..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/2.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/3.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/3.png deleted file mode 100644 index ef7b700..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/3.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/4.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/4.png deleted file mode 100644 index adb8364..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/4.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/5.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/5.png deleted file mode 100644 index 4d7eb46..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/5.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/6.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/6.png deleted file mode 100644 index 0ba694a..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/6.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/7.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/7.png deleted file mode 100644 index 472e96f..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/7.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/8.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/8.png deleted file mode 100644 index 5e60973..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/8.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/9.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/9.png deleted file mode 100644 index a0676d2..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/callouts/9.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/caution.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/caution.png deleted file mode 100644 index 5b7809c..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/caution.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/draft.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/draft.png deleted file mode 100644 index 0084708..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/draft.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/home.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/home.png deleted file mode 100644 index cbb711d..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/home.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/important.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/important.png deleted file mode 100644 index 12c90f6..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/important.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/next.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/next.png deleted file mode 100644 index 45835bf..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/next.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/note.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/note.png deleted file mode 100644 index d0c3c64..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/note.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/prev.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/prev.png deleted file mode 100644 index cf24654..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/prev.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/tip.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/tip.png deleted file mode 100644 index 5c4aab3..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/tip.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/toc-blank.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/toc-blank.png deleted file mode 100644 index 6ffad17..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/toc-blank.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/toc-minus.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/toc-minus.png deleted file mode 100644 index abbb020..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/toc-minus.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/toc-plus.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/toc-plus.png deleted file mode 100644 index 941312c..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/toc-plus.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/up.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/up.png deleted file mode 100644 index 07634de..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/up.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/warning.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/warning.png deleted file mode 100644 index 1c33db8..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/images/warning.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includeaddattribute.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includeaddattribute.c deleted file mode 100644 index bb6a18b..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includeaddattribute.c +++ /dev/null @@ -1,64 +0,0 @@ - -#include -#include -#include -#include - - -xmlDocPtr -parseDoc(char *docname, char *uri) { - - xmlDocPtr doc; - xmlNodePtr cur; - xmlNodePtr newnode; - xmlAttrPtr newattr; - - doc = xmlParseFile(docname); - - if (doc == NULL ) { - fprintf(stderr,"Document not parsed successfully. \n"); - return (NULL); - } - - cur = xmlDocGetRootElement(doc); - - if (cur == NULL) { - fprintf(stderr,"empty document\n"); - xmlFreeDoc(doc); - return (NULL); - } - - if (xmlStrcmp(cur->name, (const xmlChar *) "story")) { - fprintf(stderr,"document of the wrong type, root node != story"); - xmlFreeDoc(doc); - return (NULL); - } - - newnode = xmlNewTextChild (cur, NULL, "reference", NULL); - newattr = xmlNewProp (newnode, "uri", uri); - return(doc); -} - -int -main(int argc, char **argv) { - - char *docname; - char *uri; - xmlDocPtr doc; - - if (argc <= 2) { - printf("Usage: %s docname, uri\n", argv[0]); - return(0); - } - - docname = argv[1]; - uri = argv[2]; - doc = parseDoc (docname, uri); - if (doc != NULL) { - xmlSaveFormatFile (docname, doc, 1); - xmlFreeDoc(doc); - } - return (1); -} -]]> diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includeaddkeyword.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includeaddkeyword.c deleted file mode 100644 index 975168d..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includeaddkeyword.c +++ /dev/null @@ -1,75 +0,0 @@ - -#include -#include -#include -#include - -void -parseStory (xmlDocPtr doc, xmlNodePtr cur, char *keyword) { - - xmlNewTextChild (cur, NULL, "keyword", keyword); - return; -} - -xmlDocPtr -parseDoc(char *docname, char *keyword) { - - xmlDocPtr doc; - xmlNodePtr cur; - - doc = xmlParseFile(docname); - - if (doc == NULL ) { - fprintf(stderr,"Document not parsed successfully. \n"); - return (NULL); - } - - cur = xmlDocGetRootElement(doc); - - if (cur == NULL) { - fprintf(stderr,"empty document\n"); - xmlFreeDoc(doc); - return (NULL); - } - - if (xmlStrcmp(cur->name, (const xmlChar *) "story")) { - fprintf(stderr,"document of the wrong type, root node != story"); - xmlFreeDoc(doc); - return (NULL); - } - - cur = cur->xmlChildrenNode; - while (cur != NULL) { - if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){ - parseStory (doc, cur, keyword); - } - - cur = cur->next; - } - return(doc); -} - -int -main(int argc, char **argv) { - - char *docname; - char *keyword; - xmlDocPtr doc; - - if (argc <= 2) { - printf("Usage: %s docname, keyword\n", argv[0]); - return(0); - } - - docname = argv[1]; - keyword = argv[2]; - doc = parseDoc (docname, keyword); - if (doc != NULL) { - xmlSaveFormatFile (docname, doc, 0); - xmlFreeDoc(doc); - } - - return (1); -} -]]> diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includeconvert.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includeconvert.c deleted file mode 100644 index 482e56f..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includeconvert.c +++ /dev/null @@ -1,73 +0,0 @@ - -#include - - -unsigned char* -convert (unsigned char *in, char *encoding) -{ - unsigned char *out; - int ret,size,out_size,temp; - xmlCharEncodingHandlerPtr handler; - - size = (int)strlen(in)+1; - out_size = size*2-1; - out = malloc((size_t)out_size); - - if (out) { - handler = xmlFindCharEncodingHandler(encoding); - - if (!handler) { - free(out); - out = NULL; - } - } - if (out) { - temp=size-1; - ret = handler->input(out, &out_size, in, &temp); - if (ret || temp-size+1) { - if (ret) { - printf("conversion wasn't successful.\n"); - } else { - printf("conversion wasn't successful. converted: %i octets.\n",temp); - } - free(out); - out = NULL; - } else { - out = realloc(out,out_size+1); - out[out_size]=0; /*null terminating out*/ - - } - } else { - printf("no mem\n"); - } - return (out); -} - - -int -main(int argc, char **argv) { - - unsigned char *content, *out; - xmlDocPtr doc; - xmlNodePtr rootnode; - char *encoding = "ISO-8859-1"; - - - if (argc <= 1) { - printf("Usage: %s content\n", argv[0]); - return(0); - } - - content = argv[1]; - - out = convert(content, encoding); - - doc = xmlNewDoc ("1.0"); - rootnode = xmlNewDocNode(doc, NULL, (const xmlChar*)"root", out); - xmlDocSetRootElement(doc, rootnode); - - xmlSaveFormatFileEnc("-", doc, encoding, 1); - return (1); -} -]]> diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includegetattribute.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includegetattribute.c deleted file mode 100644 index b2b7471..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includegetattribute.c +++ /dev/null @@ -1,72 +0,0 @@ - -#include -#include -#include -#include - -void -getReference (xmlDocPtr doc, xmlNodePtr cur) { - - xmlChar *uri; - cur = cur->xmlChildrenNode; - while (cur != NULL) { - if ((!xmlStrcmp(cur->name, (const xmlChar *)"reference"))) { - uri = xmlGetProp(cur, "uri"); - printf("uri: %s\n", uri); - xmlFree(uri); - } - cur = cur->next; - } - return; -} - - -void -parseDoc(char *docname) { - - xmlDocPtr doc; - xmlNodePtr cur; - - doc = xmlParseFile(docname); - - if (doc == NULL ) { - fprintf(stderr,"Document not parsed successfully. \n"); - return; - } - - cur = xmlDocGetRootElement(doc); - - if (cur == NULL) { - fprintf(stderr,"empty document\n"); - xmlFreeDoc(doc); - return; - } - - if (xmlStrcmp(cur->name, (const xmlChar *) "story")) { - fprintf(stderr,"document of the wrong type, root node != story"); - xmlFreeDoc(doc); - return; - } - - getReference (doc, cur); - xmlFreeDoc(doc); - return; -} - -int -main(int argc, char **argv) { - - char *docname; - - if (argc <= 1) { - printf("Usage: %s docname\n", argv[0]); - return(0); - } - - docname = argv[1]; - parseDoc (docname); - - return (1); -} -]]> diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includekeyword.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includekeyword.c deleted file mode 100644 index e9bb467..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includekeyword.c +++ /dev/null @@ -1,79 +0,0 @@ - -#include -#include -#include -#include - -void -parseStory (xmlDocPtr doc, xmlNodePtr cur) { - - xmlChar *key; - cur = cur->xmlChildrenNode; - while (cur != NULL) { - if ((!xmlStrcmp(cur->name, (const xmlChar *)"keyword"))) { - key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); - printf("keyword: %s\n", key); - xmlFree(key); - } - cur = cur->next; - } - return; -} - -static void -parseDoc(char *docname) { - - xmlDocPtr doc; - xmlNodePtr cur; - - doc = xmlParseFile(docname); - - if (doc == NULL ) { - fprintf(stderr,"Document not parsed successfully. \n"); - return; - } - - cur = xmlDocGetRootElement(doc); - - if (cur == NULL) { - fprintf(stderr,"empty document\n"); - xmlFreeDoc(doc); - return; - } - - if (xmlStrcmp(cur->name, (const xmlChar *) "story")) { - fprintf(stderr,"document of the wrong type, root node != story"); - xmlFreeDoc(doc); - return; - } - - cur = cur->xmlChildrenNode; - while (cur != NULL) { - if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){ - parseStory (doc, cur); - } - - cur = cur->next; - } - - xmlFreeDoc(doc); - return; -} - -int -main(int argc, char **argv) { - - char *docname; - - if (argc <= 1) { - printf("Usage: %s docname\n", argv[0]); - return(0); - } - - docname = argv[1]; - parseDoc (docname); - - return (1); -} -]]> diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includexpath.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includexpath.c deleted file mode 100644 index 6b66e60..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/includexpath.c +++ /dev/null @@ -1,74 +0,0 @@ - -#include - -xmlDocPtr -getdoc (char *docname) { - xmlDocPtr doc; - doc = xmlParseFile(docname); - - if (doc == NULL ) { - fprintf(stderr,"Document not parsed successfully. \n"); - return NULL; - } - - return doc; -} - -xmlXPathObjectPtr -getnodeset (xmlDocPtr doc, xmlChar *xpath){ - - xmlXPathContextPtr context; - xmlXPathObjectPtr result; - - context = xmlXPathNewContext(doc); - if (context == NULL) { - printf("Error in xmlXPathNewContext\n"); - return NULL; - } - result = xmlXPathEvalExpression(xpath, context); - xmlXPathFreeContext(context); - if (result == NULL) { - printf("Error in xmlXPathEvalExpression\n"); - return NULL; - } - if(xmlXPathNodeSetIsEmpty(result->nodesetval)){ - xmlXPathFreeObject(result); - printf("No result\n"); - return NULL; - } - return result; -} -int -main(int argc, char **argv) { - - char *docname; - xmlDocPtr doc; - xmlChar *xpath = (xmlChar*) "//keyword"; - xmlNodeSetPtr nodeset; - xmlXPathObjectPtr result; - int i; - xmlChar *keyword; - - if (argc <= 1) { - printf("Usage: %s docname\n", argv[0]); - return(0); - } - - docname = argv[1]; - doc = getdoc(docname); - result = getnodeset (doc, xpath); - if (result) { - nodeset = result->nodesetval; - for (i=0; i < nodeset->nodeNr; i++) { - keyword = xmlNodeListGetString(doc, nodeset->nodeTab[i]->xmlChildrenNode, 1); - printf("keyword: %s\n", keyword); - xmlFree(keyword); - } - xmlXPathFreeObject (result); - } - xmlFreeDoc(doc); - xmlCleanupParser(); - return (1); -} -]]> \ No newline at end of file diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/index.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/index.html deleted file mode 100644 index 51fd481..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/index.html +++ /dev/null @@ -1,14 +0,0 @@ -Libxml Tutorial

    Libxml Tutorial

    John Fleck

    Revision History
    Revision 1June 4, 2002
    Initial draft
    Revision 2June 12, 2002
    retrieving attribute value added
    Revision 3Aug. 31, 2002
    freeing memory fix
    Revision 4Nov. 10, 2002
    encoding discussion added
    Revision 5Dec. 15, 2002
    more memory freeing changes
    Revision 6Jan. 26. 2003
    add index
    Revision 7April 25, 2003
    add compilation appendix
    Revision 8July 24, 2003
    add XPath example
    Revision 9Feb. 14, 2004
    Fix bug in XPath example
    Revision 7Aug. 24, 2004
    Fix another bug in XPath example

    Abstract

    Libxml is a freely licensed C language library for handling - XML, portable across a large number of platforms. This - tutorial provides examples of its basic functions.

    Introduction

    Libxml is a C language library implementing functions for reading, - creating and manipulating XML data. This tutorial - provides example code and explanations of its basic functionality.

    Libxml and more details about its use are available on the project home page. Included there is complete - API documentation. This tutorial is not meant - to substitute for that complete documentation, but to illustrate the - functions needed to use the library to perform basic operations. - -

    The tutorial is based on a simple XML application I - use for articles I write. The format includes metadata and the body - of the article.

    The example code in this tutorial demonstrates how to: -

    • Parse the document.

    • Extract the text within a specified element.

    • Add an element and its content.

    • Add an attribute.

    • Extract the value of an attribute.

    -

    Full code for the examples is included in the appendices.

    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ix01.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ix01.html deleted file mode 100644 index fca9d42..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/ix01.html +++ /dev/null @@ -1 +0,0 @@ -Index

    Index

    A

    attribute
    retrieving value, Retrieving Attributes
    writing, Writing Attribute

    C

    compiler flags, Compilation

    E

    element
    retrieving content, Retrieving Element Content
    writing content, Writing element content
    encoding, Parsing the file, Encoding Conversion

    X

    xmlChar, Data Types
    xmlDoc, Data Types
    xmlNodePtr, Data Types
    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/xmltutorial.pdf b/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/xmltutorial.pdf deleted file mode 100644 index 967d445..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/tutorial/xmltutorial.pdf +++ /dev/null @@ -1,1336 +0,0 @@ -%PDF-1.3 -%ª«¬­ -4 0 obj -<< /Type /Info -/Producer (FOP 0.20.5) >> -endobj -5 0 obj -<< /Length 1748 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb"/*>Edeu'RnB3cso,c'tRV<@2QG"Te1sI,sZ*n#KKlNVMQ<5BAq5!'k+!#c"8(NNgbpHe&;a;1aP(M@rJfk-$BS+$?JcRY,(_A6k,SUN`TO7efXhh3i=3:BXHM%E2OW]0H+sk$H[O\XG#u0mW@.r"s`W.g99!tcR*(\/("@>q@BW^Q2G*D>/#n3]_.il=X.o?OD#U^04dS]Ss+,a%^lQgnf/]&ceW@ko*%B0QokTBn:$jairCK+PLS%Cdch@t;kIOGu!8)fQ]DhR/U#>#9%l:;J>aO=nBdX8N?;VToPUM@?BfP;2DbSCG8.#;H:nr:@X[RoUP5#8V!2XYms3+,Pg+L(An4XOouF2iL@.s#m5[\'e,fq`PS,Y"o@$je=#b?gu9;/r=qMt:mb%%G5$FjcsdUbn".i6X#Km]hZSOE(i@A:'C!]#YQVN-&c&_nu&jGD2gg2I,X>Af/QL5%8n)7XSCb0W0Z8*)+\&9B^bTmkJ.5_$RWeH_2p2XZM9@ot$UX[_53q*&3VO&J)5%86Y$AZWkI@N:&FKcs%p6WMQCcUFbh8)(40P\*ZA"bb8R+Uti6J;Fdmlr'!#08-$\rUW.S*`0l$l7lOkfeCu3KUG37:dV;6?`SiLnX36m\Ar>kEqpnE4+,0ZZ3>mbtc]/Ye]ERO8`($8oE>X;g2g1^GaWe,."f\E*6Km3M;^8S1^,jb5M4kL$muHb\#!ZDs2A'bm;94ZWTnMuE=%!9!G)bJEiSMujhEeJoj\[m_?-@s8c*.C1268G+TV1+An"dq!66BOQ/uWk*6"Zr]hpdqsAYX6mH:4q,p%/mN/clgm6_*Vk"=D&P?A)R&GV[-;l5h5dH^[E8!6^O+q)a!Ngs^]Q]QTYaG>BGrFu -endstream -endobj -6 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 5 0 R -/Annots 7 0 R ->> -endobj -7 0 obj -[ -8 0 R -10 0 R -12 0 R -14 0 R -16 0 R -18 0 R -20 0 R -22 0 R -24 0 R -26 0 R -28 0 R -30 0 R -32 0 R -34 0 R -36 0 R -38 0 R -40 0 R -42 0 R -] -endobj -8 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 336.111 193.44 326.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 9 0 R -/H /I ->> -endobj -10 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 325.111 189.82 315.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 11 0 R -/H /I ->> -endobj -12 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 314.111 204.55 304.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 13 0 R -/H /I ->> -endobj -14 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 303.111 256.22 293.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 15 0 R -/H /I ->> -endobj -16 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 292.111 312.05 282.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 17 0 R -/H /I ->> -endobj -18 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 281.111 241.21 271.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 19 0 R -/H /I ->> -endobj -20 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 270.111 213.72 260.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 21 0 R -/H /I ->> -endobj -22 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 259.111 228.72 249.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 23 0 R -/H /I ->> -endobj -24 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 248.111 230.94 238.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 25 0 R -/H /I ->> -endobj -26 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 237.111 206.23 227.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 27 0 R -/H /I ->> -endobj -28 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 226.111 229.83 216.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 29 0 R -/H /I ->> -endobj -30 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 215.111 268.7 205.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 31 0 R -/H /I ->> -endobj -32 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 204.111 257.04 194.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 33 0 R -/H /I ->> -endobj -34 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 193.111 287.86 183.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 35 0 R -/H /I ->> -endobj -36 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 182.111 286.21 172.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 37 0 R -/H /I ->> -endobj -38 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 171.111 339.25 161.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 39 0 R -/H /I ->> -endobj -40 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 160.111 318.98 150.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 41 0 R -/H /I ->> -endobj -42 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 149.111 231.76 139.111 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 43 0 R -/H /I ->> -endobj -44 0 obj -<< /Length 1970 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=,=c_>r%"@)@iO:/L`pnKL/_:&.,f(7`!X7:ABPbqR$=B([4oTk@OWIA+4)'QU(?B+bQUm"&pP5fY2lRStIc)5A=+PRF'mbH1$b\5c1meN1+6MFRp&93T.bTmCC[Xt;`dSL&60,^g0&&(*cX!K=g*;q:et62rBUCjRZ5n?05Ff\bT:/_4"`%09AcElf^08^P=?A?TFKJcGeUf"b7J5C3b<,X-$:\'NQXH>\Y#;"_As:Kf[l:Q."b%M*F!R*3AN'##69g9!fQc."g"2G@I+`7q@&5U'r$"^?k@\d^C1kkf4S(@Gq.OJSaUa\R=EctaF!:u9NfqLs,%M0\b<%#]H])4C,>^$F,<;gtL22]H)KKDnY251JPZj\_eqmgMQE@Du&XI!2GcuSro%=1]VO6g=97Burk(cB>ITR8R9JdtsHgE+k=Y'S]VNL4U<"+-#;V85td%%r\Xj6![NqhME,!+"t90\oA1k+o'>"$rlgTG:gRa:t%=mj>_$I7F/7j+`9b?+Xi^hU:Bh;,1@e9s4!-,?0#(UN<#4[8>'Q@NK56"R\7)dp;4j$:,H[&4!7)rI?Y68=RN#]qkrdkK@JH&pq:D`NOOr+d=Y[c]gWC-oViQH)!;CLs;hDhq)GuRnlk89ZK>+-C0.HtfRmQ5LA[Kn^hXV3ei2*!;C1nA4A`m2C'q29lVD77t>J8P9p3`RP`$hQgfWHkO#_dki3GO?PeZMhFM?]pW-r6Hc`op.:b4a0TfB(JojgKl7A\h!I&P;]dG4)u'c,+fp1G+Abf*8ZAaTcL,fGt;[+lkrH>\r;ljeq11PAF>FXedJZ;>Z&l)EkXRIf\Ha:#=XgB)1-Z]&q+"bP*.A&V'C_X"L7PlNNX?lVp91%H1n=Yn]oa#3@,Ib&J[LZUmFMg?jPEDa2sgp0db=,c^&1/*9LC9rV/n?;UW_\>iXRc"`1qPj8u)8'H'Dq?7ZQ\j`KtH<>V9O@M`ZPm(VaoFUW4Y&A;KK>o#o*Rsd0gnWrK?R;#r`((7;dH8YnLcA1=o[9G:t*4EBVooVn0Ia'=2/(T5?Q`5l'GhY -endstream -endobj -45 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 44 0 R -/Annots 46 0 R ->> -endobj -46 0 obj -[ -47 0 R -48 0 R -49 0 R -50 0 R -51 0 R -52 0 R -53 0 R -54 0 R -55 0 R -56 0 R -57 0 R -] -endobj -47 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 384.46 600.674 473.05 590.674 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://www.xmlsoft.org/) -/S /URI >> -/H /I ->> -endobj -48 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 253.694 589.674 331.744 579.674 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://xmlsoft.org/html/libxml-lib.html) -/S /URI >> -/H /I ->> -endobj -49 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 251.348 179.0 241.348 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLCHAR) -/S /URI >> -/H /I ->> -endobj -50 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 352.782 207.348 469.722 197.348 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://www.xmlsoft.org/encoding.html) -/S /URI >> -/H /I ->> -endobj -51 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 264.0 196.348 282.88 186.348 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://www.xmlsoft.org/encoding.html) -/S /URI >> -/H /I ->> -endobj -52 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 175.348 176.22 165.348 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLDOC) -/S /URI >> -/H /I ->> -endobj -53 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 283.44 164.348 327.33 154.348 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLDOCPTR) -/S /URI >> -/H /I ->> -endobj -54 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 143.348 192.89 133.348 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNODEPTR) -/S /URI >> -/H /I ->> -endobj -55 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 212.33 143.348 231.22 133.348 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNODE) -/S /URI >> -/H /I ->> -endobj -56 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 132.348 165.66 122.348 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNODE) -/S /URI >> -/H /I ->> -endobj -57 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 424.512 143.348 473.402 133.348 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNODEPTR) -/S /URI >> -/H /I ->> -endobj -58 0 obj -<< /Length 2255 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat$:CN%rcn9]V)f)7lYMf=BOaGonl2NeL#u91a,^@K1brQZuE0=@IajGN?FZ4NajnBA_M>$dU!$+"`eJ1M:]Ojt7YKEu/OYS42f>`:;^:<_db'E9`C7D86c>iM!V?%pq(j]8(TmjVJ@/hO"p#j@3$Cj)4QYlBcgmo5=D]d<8.JRsJY8>L4/XA88AID>np@tONC8KI)bAGC3$m"!ol?'^:h?4-6L<"E#a5rAX2ShL+&_V,VqYEtn>0Fj43E%+&Ekf?Li<4)g$teS2lhk6>sg2KSjV/BMUnok;DSIBKIbUhDRqs.9s]Bp3=r"*W]mmU)T`L'&is2[VesK?nNlQW+Uahq#nVnFM-VB)JSoeo1rq&7<6]P/6JJ0/D,$3%QY<05[,$Bu^Ae]k+F4_O=l2g^<#2LmSAW:Dg?r!I#$;1'RT^-d;:$PNM0SfjJc!"cQZR?[dCCA/snB&hh'4#.+2d?roNc-)'@gK;cN$J7'="QakeCFunHn=1U3USH&9&$/,lqM)"Y'4*H3g)qD<)kXPS;]okLL`JWqWMRlE%3`n0@O6tXU$U;4<#MC&G$?d=.VcSME<\3sIPJl.7[CM!ZS1#ahHq'0`Oa78ENU_Er5@;9oP[b`k;X'n*oo_28P_AZ;d>63&TeE_^UH_:)bSM4b*=#7>H"2PAtLr:%D#t"8/uEm0)SGaq+.A4rZ_<:#;WB`mk28O`#XYBYHe(CXl;7[=Zmnf>CFp_Qk&EE2=-\/)BUG5CgE:$^ea!Vce4,h-eulDr1h9jd6+g2s43i!`Z.X^b9(aAqnjcQ@#)-c0&?Xo*d_B%7i[ujL\pI$,cZci6BNbt0l'I+Bi.ml?R'^Z`)<2DCRJKmENilV[D6AmL%9&fp=rSnhn:Er+E!o"Oe/%nf]X^Y]=[(V],=KW>)Qr9^.hEfHP[P0--L4i9JHYLN4q+nC%k"+67D6+u7]g3=L*SSkBV;5s=(V;;;%S/O/rCA\tC;K[g]Og43!D]U)&(IYu4,t5,Q"4p=_kW]Kf37`!Q/i=UI(]S\AY3NrUr9n?lPpei&m6CoL!F`f1+bJ$84s'f0tU@=jQIjTU("RUJle@h7c`d.fuADeA4tVEWS[5H-"W0_a^lq5DI(Z2_DWJIGhSjqc(nY"rdP.V*G7.LOF'0]?;ZgSME\LiNLcOJ+n?Na8g7&Y@WgLo39FL'PQ9aFr##"lo'oaIMH0MX/E.nHkg4Ja0!6:N$p!WhL5inlikLtQKUXVR8#9Lh=1YEJL(oo\t'U@@iK;.=#g=V3+>Aj=?H/_SNohk*67B;HjI&#_:l42+^]%"B)M<=5DK%T79CZ_=P(W3NMU6`#oPccelH<4)5@*IX4oI:AR5OYQ=li?mjlg"1":[Y00-:\@)_A>F8"AAX!RU?Ocn3'i?Sh%Z1?T8k[CjJ%Hk6[#]Abe7DpY5@:0R%J)<$X+,\`)9`~> -endstream -endobj -59 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 58 0 R -/Annots 60 0 R ->> -endobj -60 0 obj -[ -61 0 R -62 0 R -] -endobj -61 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 249.81 674.674 414.8 664.674 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 31 0 R -/H /I ->> -endobj -62 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 361.83 222.18 395.71 212.18 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://www.w3.org/TR/REC-xml#charencoding) -/S /URI >> -/H /I ->> -endobj -63 0 obj -<< /Length 2246 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0ED/\/e&H88.i?T1`KZ:@;DYDi(6aa\!>qr$"?Y%npAuc0WfOT1=I4j@Nj)4aBQ+q3Pa3(aUU75?9EhY]l!(_GIo\i/[M"`c&W]oL@>WG])@66`>;!2H^Tuf2u+>EkCXSYS$Jd,P;E2f]]etge+?UA!d^F52EY@d6K^eU5Ao`BTU$H"J%tJ);S?DXeUbSelaNNpNBJ:qjS%,84V;iGk6&C/X=k"Ec0X*j/C,d`ch#rca=9PGr$LkQM(\i=)+LfKG,7,5mV3ukqfp2#4k[g+o[g^=T[UHJ0EXb!&7_2]id]cpVh;;n>n+oX=-TgO"HeIrM%V&aG9Ym?8^oG@Nk%=e4V_YOgd_#ac6BF,E@*'](*M^fsd4%&6;Ho*r8-JYbRJc!Rr?YK0@8i]-$F+&X!">e:>m3Q243PU53n6(SnKNAVS]:$7i93u=TieI'rtbdbTmc6Skbif(hQsKIh3RO-bUDoE'B:EbR#3YQp`RO"5j0%IfboC=\KHS'!Pks:fn&tHtHb&d[6ii,[f4aK-WW*YbPsnK`Suho`#&;[P_2iGNd@@W-FaZ(iMbV#?.=*)?XIU0Kbd_>Dh$$dfO'+X8CHRDEPulqFjCEAYaJV#F*BC4U[/%os/M]h`1EbRcUh;7g`\I;3`m.H.m1e(U]LN,P.<5>*P+>9]9/-&eb4'>g($8@JE,4OBmN$\u[*!=YS#46d`GNnr*CJK6<2jMm^m*B$8jq*qg5qR$LQ?#-q-foc\)T7G;Uo<`^Vdra4PYor"Nb/t3r*ki*!SV^2ZK$)$+&4@u&XOYemi9M?Aj3AuPS3;^gfV$47i(4oA-`?*'oFB!ogXt:2?o<-;^ckYV(R@!(pI\H^S+=*bkTe^Y31&$6j,=d7p.ffdV;nY"lp3Yb0UujM)F"[M+DKmK+2Ot^LO>)]O.5?Rm8?]gr^%Z;IDLZji1m;=uketLoR=IZQpk@B:]K@8(&(g$k?8KB7>E%K_AXend`36oJc5)8Do0cObfGJL;Md\*+:U;M%e5gK8VjQ4PaL;o]49r5f;Bfcs=I>R;I(u3bPc0]'j%aO$dLm"A4"se*j%-VW,kPmgToCI:i7pJ_F((hrse=HpsIi@ee1K[Br0lq!dSBrQ(8#g:+6N`R*\#939.tKt9rlACg=OC8VEc8jEVQ3f0aicZH-[4CpkX"l'pke7rA*TO?jHJ.#MFgW'`J!2Rk=a"k+@9:I`]'"7BMU;8/]l\"3aNSo%"bgW5lGYe)r0/(d?@=ZrXohAR73#)Y-6q.8-I0Of'7Z4lVE7sDnnK9Q&.&8FpPttORU@,_l?"4F2!]:RGLkj@1?YAcGB5*9[IcG_`i]cg7[hiI_1SBC/McQI/-s=8@5`p8@_-a=IcI$)hi$FI$&9dD8 -endstream -endobj -64 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 63 0 R -/Annots 65 0 R ->> -endobj -65 0 obj -[ -66 0 R -67 0 R -] -endobj -66 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 186.56 514.4 240.56 504.4 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://xmlsoft.org/html/libxml-parser.html#XMLSTRCMP) -/S /URI >> -/H /I ->> -endobj -67 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 262.18 229.78 382.18 219.78 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNODELISTGETSTRING) -/S /URI >> -/H /I ->> -endobj -68 0 obj -<< /Length 2448 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat^W'uNY0_Xf9KZ+sN+]f\Y0XhlN`OXShJ0_co2^'JFQL?"Y%SXR1@]`YPL]N6qYe(mO2n-Z(TS>Q&1"=J?.2uMn!F9ISR)9h0'@QhZA2r5\uol7c6@ODf.H$"aZ^nd*TPs4n%.1-b\!IloaWu8OPh*54L,b>X$9YN+%PJ5))^OljfW,u+S$c9T(A[.3GZg.=O_J#<>O:H7=S]&cT)hTd=]/Jc1fE`g+`q^p$ReCb0I0aX9GV48Z&mj4JT=WFuC1C=Z'ad&aEstoX%'i'X,=8^f93::pC)9og[0ZJf+-+kWH-0'[nm7Cm-U>l+aLEu.5n6Gh9Y/L^Y!BO%f7D'VMp&d2+Etg#SN<[44`Del8(gVW"&f;/C0@N??3!7V3o??'8&33a/QAs)Qh4#Y[INpQ]=lcL3:$A'#?CoI.#2,UZ]G8SkCVa^7+N*q['QpWCjB3.oJp.=0C/`0o"'nP7F=P=Pp0Wo[7`L_t.0QVS+N1j(r0(cEKLH@i_qUtfgg]-*Jj@JiiDFZAs4NABV72_)m7lck-C;U*`&KpX!@8N)Til]s7C,FY%.BgeO>K^)N![Um]LY>9&)EFo7fPNR),'Q<9"Q[)U14`7fBj2RuG8J7AJ8\\EUIN1VlE2g44VcX6WG;bkEZW:Om=/(':s&[4Q>$g-c7A!Wh;nUtni\/\Wpdct?R*)+1eYYlFf.o6OG@63'I7/02kX'pG&@H1]ju\nT,eg=V!#;"2.*rb]h4^0dck22HQ7jY4YFIj(`#bd;?9cZ8`PWZPN0-\j8u`$dWHAtfHX;DNVX?aVkGPK(\MeFW8VRUe6r0oR?^Y3C-US'%*,4'Xol)QZ.6hiMOH/UJXW@or4nUJ8#`r>KbMr=V'Hb=+l:3IpI1[F:Q8MR6D_9n[2+Ws*CB`4.0NO8B6H*Rs">%I7+pp-l,)ZY34E39q@l]IV7M?Kj1"#+b]gpRV%%qatk)\!BNJ=Q(V*g<,Qp+MrS_l%0[)!EUc,Ilh)dAaW,Yk3tZ.[.J+d"E+Ah#=Gp:dnQBpW2[V>iC%LV"&sIFdF+e5Whj,;_T(-/IP_H`oBZP:3JKt$)r8YaT_rOs$gQpBA!SU<3RVE0e/;qN-\^KoBAajC]>'%VZD40K)Vo1qklK/c=edgY6chpU]L/C8:mr"H3qTFBi*mGorIE6OE4MAM=j1nN$]#US0'U*L[[i].Z!O;P+iX'l'eb9'A%t4G/D0Fe.c@?W8]uN7[HPWM\hHKo,@]Pd(l_oIP%.r;#R_'?lqV0&Hucn:)5f=%HZaVnY2b7^Z@mWnQI5p"9TGYGD(T1)-q_iZT15JQ9lo]dHcJ4`=^PX/9IH+UOH',T5Mb(^1WRa>3T&E\d:i~> -endstream -endobj -69 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 68 0 R -/Annots 70 0 R ->> -endobj -70 0 obj -[ -71 0 R -72 0 R -73 0 R -] -endobj -71 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 363.98 698.0 381.19 688.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://xmlsoft.org/html/libxml-xpath.html) -/S /URI >> -/H /I ->> -endobj -72 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 263.38 597.866 341.98 587.866 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://www.w3.org/TR/xpath) -/S /URI >> -/H /I ->> -endobj -73 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 270.38 586.866 424.81 576.866 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 33 0 R -/H /I ->> -endobj -74 0 obj -<< /Length 2451 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasar99\,?&\cSp;#.ERe/0A(k2nMWXK.k63=fn@.i%6_Tcf72M9pjMjf)5YHU)b,h%2$\Q7i+ndHGI1q>n:chYltM[ZRg#2V\19Yk`;e2hCqLND)^_9T)6Y.,A]8Rt&-NW&s\Nk22Zq?`[54OTA!Y8S"4pI#0djP)3Z>\iZ,sTaU`q)@"KaDS!FT_?JWUl;/RH"<5$a+8,VfPX!C$Ui)#IWp5UnP;s`GAC=X"'IMXs`mid:Tkn'iC'LkXnGfe]Cu\MVY!/@-12l%/-Z=9P@Nu0klY+@3DjA"6hGd@;V`,'L;ehIl4Xg:O>'Y/4d)V2i!d1;JV%=*mSLMV9%_6p-OYlRi*'lXH$_uW[2a:RqG'l2*g1S!bfaj8"D]I3A/IDI7L5`e6gnLcXE1Q3gZ]aD>0)-p_X-tO'kMC9-H6tGIm(e60+9TNkhJR5/DOf_\;Hs)YVLn?eM?n(j/3il+Hc)2gjKQX.%3bpm'nDq.6ZG,\/[e8knrl#+tD.JIO[_bDO+DVb:-Xq0[>6.`9!bh@RI9,Dbqd)m4UJ&8q!HnoR'qq_\bIgs0q\HSit'dGa)5.I2_]o,A8;%H(7@C%GRgHi8hhFP,Ds^-#MXW'7KNBLPaZ8.72(3*Y0S5Ss+Ln[RpsRS@*pm)?UP')2']J'paRlLmd\I+Jmt.$F#J%g4!"B@ZA6DoDJ9IYo014=Z)BLiUh]+'i%MX2\FhPODTbr7QeZ8J.JE(F)omVj"DnB@V7o57L+u/YQ]2\K=l%T^OWN;$!H,l?]pe@Y.Q)dG0sF6i=:YI")%]FSrJJrmhrrg2M.0a:@uYpX'pWonJI)%OM#G#<^n9^F.lf-Z[fXZ+XZs%B1rH6oe$X`@sD#[%k5`,*8-C("llc/[TChY0apeTqX-Bfst6]3WSkOc?p`E5`>S(1'jud28EOYW)//EEi[:(n=UG/&3&Vpme`DH^4De?0.ia8p"Ms-L_R]1[.'=p8k9??Rlns*hV'D65GD+oPCXa%!aoWfE12-5V*t^W/.>`ItdY57BqZHjTC$KJ`oq="M1c3M5c>J!4)4Oj'7D:DZCrS,NNGh-ZRq"$MUos9IME-aU:7ktce_UEdpKYq![CX[G0D'lU#luaWj<+8+:>dT(%!n#YM/.KL[aaMT*5;N4WZ>HomM"=EuO4Ds[:3Uj",jK9d`hhK#jKo&l1HhFA"10jInOua:6kTBi*`m2H7[6el!edoBk,[2%mSpkZj)iZLg/cGQYYddK+G6(*gD`ct('-"@Z>J_@DU[tK"<\'^G<0#<2\H0V0q]L]=bo@4\)S/:Y*@,\+Q^aQA-6dM^*Y\T%H3+b_MKP6=GIror,rWc\urD!MCn*U@t)D=stWd*g;6#`\^>a;:M$Wl^*+6-\-(-8@u;kj-`jX$em[0fZmdsEc15Y03;]$*Y$ErD!"QAYF-gMgp`&C#fbEeB"9=Q\YLAZCH4#P_e&6DYRS-[Me1u#(f(^gLqVA"ShhLe#=!b.!XA9)O-@$"Lsmk#m7XQl@)Ilh,s(ArJWdWe7>@WQu#O/[KVH$+TOb.EGl@Wr.S2QeJl4%"48C9-^`lK`US@it7[TbFp05Si&l;.Dp70if4#V&HMgQ#Fr7dS)dH"LnU,O*&_8?-0(L!N'l:'9)$11?,[a;ShNt%e++a]:/s3A>]kOElQo=j]^-L#T$M0)''pj?#*a8*/[SZ:SlN8r^baQu;VGstii2\od]Wb-%"!(LdW6P>0mrr]ZFG+Ln;96\9Zp?hWb,fdrr_0@G\I~> -endstream -endobj -75 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 74 0 R -/Annots 76 0 R ->> -endobj -76 0 obj -[ -77 0 R -78 0 R -79 0 R -80 0 R -] -endobj -77 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 272.33 574.54 455.37 564.54 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 35 0 R -/H /I ->> -endobj -78 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 186.348 433.66 276.348 423.66 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNEWTEXTCHILD) -/S /URI >> -/H /I ->> -endobj -79 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 324.744 220.754 470.014 210.754 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 37 0 R -/H /I ->> -endobj -80 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 209.754 208.16 199.754 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 37 0 R -/H /I ->> -endobj -81 0 obj -<< /Length 2156 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4=`<(R&:XAW:]hF%()p9JiLg?p3H,S?BtEP%[h"@^o!4S#NC:_qMZ3>[77oAa9'ZJ2!J<2fI,pfffpA27+"pR9F_o+P'PEGKF66X9r4/,_HGGKtIhGqS46t5aLV*+\m+?YfYH2B!UL_Y#G$b:=q9&QWgAD"[i;bb9"b?^^4Zc=pct:T(_%1oTYg.%88>JX.+Jm+LE1+f=7TbGIDV/`eT=BEL/eCJs1#CiVP$Y'.mKf)?D4aoRC@\L/,VP:m-_KrmbAYK'K&AGjNu(4U[O+HU65kh1AdmH\#?J,l<[m'S8RNoHVpr$BP/MOVBS=`';1C`?3VQXq`q->?Eq\]fG!&9Ofm#eM)ig;(k/pqh)=4%VmS-BU!gI_qpR4EeJJ&+\8BQTP,L4jVl/NV)naGOGh5Uh0e2=d?<@P>0f^o>_RQ;o]C'6)"'nKr>,&PY#%.NYHeHMZ_MKR"-[5esp%eaN&2TGqTRHgC7e#0iOX;BHhE;CL*&B#l6`goi_Su:Z)k':'g7,IM[PjKgl`Pa>:q,KcEr@C]u3<3mhT$3!`h^VW)"2567"61``P%T_@Dhn^BdsD0U2u;CCgY@8\gbLf!]:BWGBPC!UBo#kb$LrtWCMa[JBZf7[#Q:gNZ2.t0NiHn;+C_98Rj-*Xn*?jmeg!6=n?;c&AV57Gejf[n#<339o!1R(gjSSSZm4]+Pk_&df#`VD#O8Vh=*L4B(b54n]6-7UBu-`p?9<6]o7/JiZWi]FtepGHIP*%g.]NX*@o%(b)rS2dY"GZb':M&O`aZdc$N2Ro;j+UhQs+kM'Tmf=Y?[)g"^qqOI^UXp3ljX26T,)]49t$+R'e!'Cpn-k1&_2IHq1('$Y,m?\!IJAQtHkj^>S+,[VN$XP31LjLiIK)BFO(SWQnZeRRSQ9W6_I3V?ldFKW[o!56g_&jI9"LR;[L:oe);Ek=`(P-FdVsg+6(CE?%d-RnK?<@qHt=Tc(2DZ@pUq(32)l#d\IE&:6r=$7;Y.'.I+1OXhp4>YI&UWSnGnS]KFSVFk;SV%h/colS3/ElIQ02bZd15,g!3(<'mZa4P+uA.-opVha"G\;[Ou_]^>mmQ3kj2TP99YHpI'&sEH!1LEGC*R('l&C*OG^&i4F7rq2l[$ZhM:j(V1r\>Y"Cm%Q`;k:FC&DgU8UXs-Xqc[I1aJfkIW'TY/uk"QB[MUS#lU5r7Lg_9a@.k.5cp5PqtnKiS_K\gBWAN8_E+[_:NunDoiZogef7OTY6/ZE0haWh..]2"Z,.GE_ZL]KQ9)me=>po=Mn@hm\3JIQ]_t<*a-lVOeW=]-?jqG,>1uY;A=oG[[?7#G"_R"Q)*K`ic>j,8"nCXSLhPDjaSBdrbNR`[)Ud#4P/P,ReX8e;(u9L5JoG4,F=JpqGF!X2TX*JeuFM*+=Y/er4G^"LPoFkS3o%pih1F%u(J+-2]7V6Pa.VK:*od36#ccZ,?$)!Gth@=%?@u(4-P(gEfJ*L;i)j/nJYr:rd21V-a)h@ajIMi")]=kt'84)S%&-9*-ro$:^7tm[FfJ09:DkXg"f17Ub?+ooe'C!qh2N)/DpTU5(8aYhhlg2J8ZT:ZG`Da6L]A$gItu*E^k9.aEK)Hat -endstream -endobj -82 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 81 0 R -/Annots 83 0 R ->> -endobj -83 0 obj -[ -84 0 R -85 0 R -86 0 R -87 0 R -] -endobj -84 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 204.89 545.98 279.89 535.98 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNEWTEXTCHILD) -/S /URI >> -/H /I ->> -endobj -85 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 338.334 437.654 471.934 427.654 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 39 0 R -/H /I ->> -endobj -86 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 426.654 242.88 416.654 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 39 0 R -/H /I ->> -endobj -87 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 246.998 175.034 306.998 165.034 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLGETPROP) -/S /URI >> -/H /I ->> -endobj -88 0 obj -<< /Length 3062 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=.D/\LD&cV3*Z,h^W?#-KeIn@ugaYcPj8C84+iX41(5k!--,$J\2;>.Q8^*I?i)9Q.;.IIS9a5h2O3#p4Wn%7u+n#s&l)Fme.DROa*n`Kfpfu3#[Z>%H0hGeJ1`EBP#*]O+Fs*_BBpStk*YdmB,.VbunX>]N3p>(?@7b)])2ZMWMs(k(=Rj9nMNBf-Ja`Bh6%ZnRZK[#*5UHV(N*g%ECLd-=Z>8jC4:"Xd`7RABsnA\mOqLo#gm\G])`CqZA2kJ\<&RI7G-%%caI9)@22KWDu$$Uck3MfXOrU#JD`]+4S@INT7rVGZ8NQkTJX/\s[h0Ar;@M=nh%.b)q%Z($8UC_Op0LGG8rH0%hN=H,QKG#;-.>$,KJ\l82YSCrRN6![?e>*'6s"R?HZBb!3>d=1,HNbjB-%otsYjL^8LX!)4]V.3OFF)#Mb`KMbAFS.pp/UY)g+EkEZ0S9>-(@\b^_%fg\BY1=%U1G[<^cIV9KQ:[=]ELb:Cecr8*_!!!9c68%"6&&Qdf#t;dpfQi&Ve7+ZR!jC@5'E.+%3U+RQ+FQ^,spj`cOR5ZsunQ+#b<)=sB2;c\t:5drmt$So8AUaMd"-86MVphQa=tA%"cf#h9:RRLo_$%:c7]&2m67)W4!#gKg&>!9!W;Qpc9KOVJ)HVG*fI>>('-\+n/5H$_Xk/0VIdb(06+?2U@NQr'$l1Knk@0CdAIjF(b/L(+4)V,R6OgC3]OI^PbT@nDimj=L=W,XkhqE^/c.rHN/(mPeT8D**'g0I$kG7]DZBm:PP`j6,r7l]@5j13Ya&kXCW7GjYU5fSZuoQsmj;2.,^>8cHFL_F[,E'b6oT+B'b2ICQ.&B=]@Zm"$qa'7^@`jtAh@6=t/?g'ZMNfai]3*2Oa.4]FVV1+XAhX*)@9Fr1>VKOl\k,L+_Yh`Z^ES2"pkbD^+*TKX.Mq1t[JF=j!%&RFLEl2nJ`G8'nXIMRH:ic90+f%bjM8"=gU*&pA,oX4XrCMlT:U%Tlk*Di!W[q5TR3&j/f(>D*l`N"luAPpDgS]ms?Y5:j;4jois'^e0d9>952;TVuH5KXi:L$!-i&P>\*8j%d#^/35S<4N2a:dKD,Zh8>^2!B>pr:@UHMSU@&/@/RN?5-e!^M>E\-T-13UJ'RG[tNIq]S8N\nl"prl^1"-pVeCPoe^!Q@rjDNCX^PFjk*!"35#R245@$\"'!SV>1rciW^2<_6qN/LVX4(QBHnP8:^n=?j<_U[l*I2XBShl's<#KqEBT%1rqf+u+*'WHGj^'OTu&RjP!;%M,NZUob'UC*pfqqYf?[S*?r0l66+56fQD:U?'hje?+T"&\CX<:Odcc!=ES(.FHTC2F^"C,5r.OQ")dK!tl/2<'D*f-)Bt3=j5E.R9%R^9T7og?#DbIO:OscXcI,0DE8\pTEe/jTAsm1mA-u?)\M6W.;[R`sKU&YjXUtU9=BE08?N^ZQYbiM0WX;iRpZ(aS=pVgN)E:RIW5YCDIDo8T#1@d,OFd_AA[R-K:XL;B<406j`gL*#=H#qH.:&a5o)M[=i5Nbn(OLN@D/>)J0je'%@=UZFHL]GJC\fhoi20IX?)aq?o#B>gDk>5)ZVOb+b[?[ekkPE%X3Yn1Wb9n?:dA/>&;9Ms@*KWQf!$e$cNaK4RP+F>%!'GP9HsFVuKJ'kf\<\7[D#=$6j+q6*fah]f@n.Mi&<"l'FWbId9J*>A=L,7A%L-.f0OIl+:,5IDS,I()"$SCKYNb,>U-Gce`PQR2IMr\h$X<>#&a9Q&:aHr8iLWp=&H;0YO_^M+X9AW/4$j1]ek.V3#tnZ#Q,:kc"geUJn4q?IqqfXg>0K?6-Uln#[Bn@RbNj`uF^k"R6SOCqJhcY$hC5Q!FQ3[_pr]ME,oWtLGihWT/B7QW-dB;;-WnE.VEW@liO[#F#?UuLAC%Q/g-c46u92`R&(3;CR!dJeNdhTW1G=Z^*A?<=n]NheBAT$2@'YM6lpTH.*`F>(jt4crCCj>Yr_N)LahT]P]ccBcE0RBlTf[T"TabbnR>Dm4qt0Rj$n4NMJrq;5D#0BAb;Le0H2%rKS_L"q%"%L:FX._].JPV[T'ps-5e1HGsII^`_,he%/1EYQ,m@s!3j0842/.%^)-WpHgr3QcR7$#._!)hQJ-=p7YBLO?2XZ\].Kkj]SW)Q0JdKK?7p]!K6hN!l$cI'?/NOFY3b7%WlFQ%QD"/E"T8ic:i;a~> -endstream -endobj -89 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 88 0 R -/Annots 90 0 R ->> -endobj -90 0 obj -[ -91 0 R -] -endobj -91 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 219.0 344.54 435.37 334.54 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 41 0 R -/H /I ->> -endobj -92 0 obj -<< /Length 2048 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=,D/\/e&H88.Tk5.-$o'>kHJR!`l\c!i6+8$*Vg0?uM7/,\P"SYDK44e.-^#*6>B5=hBZiL-T&[NTkdSaAq''d^Md0o*5'*:>)0T9[K,kqd^l5LQE9&QocJlZ$F(Y-OfVH%Li)OdsJ9,j@)(AH^0jUVUOqmIpKXJcU@\BUu(2P&CK"(b2(*sccC0I;+VZIt2^/tKbJji9`0?*):f=X@qVK$HRsWF##YU>hDO#-X$ZQ>0mbt,f=_!Y6#1M:Q$=A@Lo".+lblXl(a1Pg/La0([KVlj-2".T]&;]U[V9r)c=Sp2@?_1n.`B3o#skAJZ!,J\Rr6$P!@TQMQ[Yi\`IEGG_b9oZs=Bf?ume::TV-V*R,^"a\9O7,_e27Ap?'klu7Zo%%&HRM3qhq=MRr%dT)_tR&c$$"qi.J.F"U:#T,28X6bJc$HZ?_M\VV?is-l3sQ-qQPE\(5jbok/+0+[\4$DhX6h8BU\8]WTeJ,,6pC>Up-4YcVNCQ"8-0J;/9,RHPlb&O[$Ip(F&o`[BFKc^l=H0a@aD57"%9g?oX]1M0t7ceY,P+5<=trle/De_)a^r=DeMSO3mjI?R;Rs>X_W(s5A=Vj:=2O,g)kXU68G1j;f]$HWG&e\na.cOVOBb"&(Qn7EN%Ld.])&:IoOBiYEKKkmS8:ZtZC2M24&YSiUihY#.d&7/\NonBR;rc)QRh&iN$>nSAY(,W3k`Q79jM?S2KPh@"-RU`lPaMGR&&)1;MaQR0dQTf6P<.^I_91nV(jK@5W>)[U6Shc7;Ra,te:;oUDN1:(m`Ul]`nV86mc@H=4),`%TO]uZ9e/b^V$nKAm$FC`I6XX,*OQ!Pm5^U7:h?+Sc`@g:N]3YNaSM:S_H@>%1eYla[rNU/Kq.r8)SdHbk4h"*H`UIF+YeVnK$hsd't*Gl4r`pLeLAfPSr;6B/Zc#B#eB#mu8oUFk*86\C%lYS70o.;-n&ebM."+6;pPqTG"GMK_^9=0*VES82q]4_"nHk'X+3pd4,Bje&61/sSfD2\hjUjY3ceu\m9lm7EHF)Ca\Q^*$>g)Q6LjoBsI#o?"Jpj#1HS+(CoMQ.Sac0*g)b8M$!AJD7f5:eRcU[@<)+bG_"UEnsH+q'"9H^U@k(@l5GB[qkf35n4#5U7r?AnQO:PNL3Ye+gE5c!E.eEsCZ"/V.s2;1eBlU"fH:'l-.q385kF%/\qWeRrE.36c$G2,S\9h>V"+f[7o2J8!Mh_7(q44IPeNqj.*,L#BX33kSWrkUS+FVc6JBZWGMr'8^1r/k1C/pfDLp1G'1Q7D;kY,/68llZ-?5IYkbq8-hrpON(?pB6oj<[r06)u&&/I]t>31<_imL/Bt^V)]Gm=(*W_@i]&@Go&>'UIC7^eE=O\Dcq9aGee`WWg -endstream -endobj -93 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 92 0 R ->> -endobj -94 0 obj -<< /Length 1148 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm:>AMtc&:XAW:f7XD8LJjlD/Tr%P/8B,SCWB\Pm>iG-N[Fk=)sd,c@8'jP&*^ueo%/aJp'1$Ml2.!baf&08=$@S283c\,$][Y?I@usVs9a8_62%o;Dn(@[0q>.ZI3,--WmC4:_>mj,Q2p![Q-HXD!1bQq]2WjAU6FL4cXDEl,H0;DPM9O^qZ(B3^;(U:4q?WW7U?ltd_o=j9+B7abk]1Mq%haO^fKf>kYQSEc)m!k0I,NbDhWs`BSsPeCG.CUTq?k#*##l$HT^Q?f!68O2Oo_I%f_'8b55'e9VH_0bLnD@[E[3b>GK%QK_RP!S2!k<&G2K3+ERl8)p5),ba,::YifpEg!=suk#kRT$MZgCh1KN>n!0hP$2[8`oq;-N(#A]l843_lYDgjGq.`[7!p$Cn/O:*_[9\;f4G/TpU;FA\2ad\ASc64amQ*j^-A'`jl`3tL.cUQ;MIK\emF&I8mehqH=98fbI^p\@2`%b%^Mq@+Yt_#RB#47Jr=61NMqmsM?Z+lo^3=Yo&2.+&=uLia[ -endstream -endobj -95 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 94 0 R ->> -endobj -96 0 obj -<< /Length 1343 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU3>ArLj'Ro4H=@e]"929(]2c$p9LYX:WX!g]MXAgXoK*)5A(2R`TCnds0^#KL70k6*@8-GD,d?/8*X,='P%2+#T7KH6lgY_+CT0*QA^?t[2r*[b`g/`Xh"\`>0*TD4Vhf-"e!0D)GFYZ:\0H2%'_H#i&^1g6`V?ZZ21Yu9oRG4T4VGfX'G[%@$SF.Nb;QKL<3>W6#t^5!h&eSVfnrhO_ZU6$%-7B%tG[6s8[Ds>%:Ed-+J*/N.Aq.n7]cmj[K>nTW[b+GK_;C0G$Xq:%k(lV?4-Ve5QV7_uuJ+$[_AVI$ThO[])kS7/:cQcpB35t@ZtrPk_OA`-UO=12q(.+I.TDj?dq]PX0HQiSp^in-e_(T5s%&-GtpmQcNs9p3GsR)(V\Cacr,N$hM+/Kq_4266XPRQ*(E1ldg)S-nJ)6>"D+DP$U%C1)npoLcne!o_WHTU5-=/mP:6'j0$+pFWg0(7gaq1k,%49>6DA.]u8$mpmO!S#QR/M3r8`e4ZVK+4DK!MTo^bQjb3L'[:KW4#!j)&0MLA<j.ee:9PcCH[r.&c"i7aGK9m7Pl*bL0!=hs2Z;JhDi?iu5=f.g@iA][rMeYf`Q<.:1$>Q3Hj_.Y\"om_S/X%HKVa0rA9h;Kt[Z_(4j3R]rppClG(AKEruL/4-X$BBk1AYPo(_5p!U91E/c?Q*ZG+IBCk&jV-92Gm7\rR@-UBKZ$A>O_2%kn7BV9L[49J_9U;QoN-=i0(7FlM`AZ"^M.aUrqV#)4&*CmWhP1<'PnQ`:cBSC\0X.^irY"6hJ7t,DV-bJ\&?@^D-C9.T6@`Mt(f`d\arVlo?Y'!\UmGT1;f_/l"*8rZi\U]`**dgJpLo9n6qrJ^I]N%:6`@"2?6uSRg8U(`f,U3;5W(hQCR5gmoA=X-iWp#>MK6>RY_Rp,]^$#MOE*LV?o-0L]GP/4G+$Y!p6<4/();o@?+7H-;K'&1?(12tnRA)N:LcN>O('5hphg'NN]0*F#0)$!X[Q>#;3O:6cA)_Gq3s#:/;j!ReMc@%X,c-r,?6BL>oQ;DHik91egU-`TsIJ(mr5cMJR#1Jap>EX=MpV1!Ja"GPlZH086n00?&'*M$\FrtUflpL7M%u&M^%@dic@,s"CYgB5\u<+tT:S"dm6s\mKp1u`Gg`-O\s%[=RQlHCKfC1cUP=BuWSU`i!='8K<%J/,>jm?#&9Sr)YIR\t!l;u]H9JH"'PZag`7AL\N$RetRk58[RCF!E0Xj^TR.2.&gWCBhjtk*Hd+^BYdZX -endstream -endobj -99 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 98 0 R ->> -endobj -100 0 obj -<< /Length 1188 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=+?#S1_'Re<2n.r-jY2In&jmfR*Zp97s.`Cb0-ense32sO$@a5'@OD@g=p`[XINq4i9U>Ro4sr%\I_6_BC^8nYuq4l>&U:)Wg9BA^^Q\/\&W:(q%Pb4@nujEB=<:`O/d7?`tl#dkQ?3A>T5ACSCIe4';hr%XSseO#.T*!@3rLn8ahpHc2&cdQend>O-)Oj2:]ZfK*G*5_7LZ%`KFn5Yp'k@\QpW,q^QsiXG4,1a]1jCU5SmBlN/V^gr[M9o]nLU3Hd@2DSe^?:al2[,B\Ju$^ss,9`F*1E],l35de,NoA4&07JWt=76Er&Dn<:k+Y4ksY^'BNXB]j?g[+0to^_f'FjKYgl!cR+:cZ!9[)TFcSCoDG2FU4&abbtXncGOsI:,$Kh?Zj/.fT\O0<+u`gotb2Qa=P'OE,?RhPn-9+kdn6YkRc>sB^#U8A6Ln=lMI%C>),l<@hT8#I#r/d@.rsuo[2=dTMe[J@aO8MDT=+_J#r>'$S5GG``["PO;e^c"u6BV;+4>e'^KMGh1H:CN`DR/;Pq6H&&>a<*Tc-E%okku_T)hF\dE]*+EiaH-CEtc\GR`#bNj"M-Tij=`)e)'BO1HuIX5lDWUM6IX%&WIb'iaV*/ZO@0C]`_nU>RT[29^`GJ@)i,$^d]Z6Y+6GZu+5YFa7?Nmca7a!WME)MG/:K#4UV]8p(#Xm3XHSg+k(j#?b66&341W.b#[WGYD54@3=D-k[/lj85~> -endstream -endobj -101 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 100 0 R ->> -endobj -102 0 obj -<< /Length 1250 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%#>E@5m'RoMS#_Q/m&Y-*H4-!H/=pBkk)Bfk'04Z+jlZOI08_6[LB!p@m^*gDPK&$p:>/edtIQmbVl.a2XeIX)n,i-=r(?f+;YDWbAR@a'V3M0*8/o?6,m3rks<-u%4!(`bYj")W(u1O>B@5P7e`rRpj3aMDf1:Y,J#/Ks?/YBi(A:8Q6\\Lf'3dA4K4#jj[A?@:SL)u['@rG=b)YQSK90i?N*Tb@%ejQ>XBBRC"(!]d>,i[Qu43/#dY7C@e%J2G>(d91BU'c"E%\7#G@K**I]2S`Q%VuU0GUTbZh`Fc=2oj:/u4C)>+!J9$_@,UUtlS4`r.g)pW"QEOK?fF.1cV5;oo44mtLPn7-'m1NX%g>LHoIr587)DA8:bDgK-%Z-%4HkKo5r`W2;31^.0KRY\XFeEM=T6%6>R2?#V,VnA+dq=*7$s2V,DVX?Z$f,l0.82M:B]OLLDqLLR4[/`%PU2.U&+?mM[\GlJ>Q]<+7dhK?&b&sj^EX-K8'flDH'pTIZq@[6"nqo8'OQOp/qb"*d/.=hO5htJCat=u-ODViR?$pN/HbUclK\sC*A_4qZ)G&cdEP@,]Tn'MgrW33jcSj)A4*6#qH?o<=7(pgZ1Zm4GB-?%(W4Q<8f;:9uh!jtY[Xo2O,jG:O;W-g0,7;e95C\NT1k$-X^>tA*-CVUndP]rGm#FmCoV#~> -endstream -endobj -103 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 102 0 R ->> -endobj -104 0 obj -<< /Length 1203 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%"gMYb8&:N/3YV$8RXutPk05[/5,^+dT.+2.A$B7BK<\a]5<0sC"-cj&8QDDHq]Tc\=0M#r]B?jag/LHh9O[f]hDm>lFD_n(._*@54LuCiGs+f$,CqWWn"VKp1O#-.X9+HQ^m^9'0SW=m:362T`Df,m$+mcF*C-;bbVY!nhIhkIqPpqo$KB6bIL]C%Q"W4g1._sN;b=DVs,I"69Y'T:`XL]mO_GQ$hGgtHb/?cHZR-@.ZSOt"inu&1J^&UAW"hbTO,3_E#6i!e2a`c89G4F"BI6N1daNJ_[g%m)k%>nhqJ=BV(W=Ie$a4]2P4JarbA4">ddc_qkH+R,lZM,6Oc!O]b`:hun-SuADm@jR+g*,??&8;Nk,8Z1SF5YbsDlp<_s!uoFZQ/Fi^/sFd!f-S=^n@J\0b;>8aaaIns]bt?AUuFE6I".$">t2bfW/L;h69">g8FS;5)S*H#K[miPY_Y`?mK=R6^q5j*NH"Tr>]/%E^$8DT@,*S#$)c$q!6tHiE]Z`]mKXj=AW3NtXQEali1FO+k5g7`@?[.)S--H]MVaB'@3L_\k%7W,Z'XU:bEnD(pg>u4b1*-9:lIgdLnd[eH-JJj!"7'-E$R%bK_qP'S_9IK-eLhO?*4*N2!?2]3<8HVt(f@=`]lJXQAT+J$'LZqEtDbfdil$U*u#A%#@i+-/[^S7mdgng7ph867%GZ\+KR[<7T2+QK;Rth?sN=d[oifV(foA$G04ltNPo2V[[LWYM;Y5RK@(/he'3a9V-Z_*_4*7'^3R;.It4StQ7m9M:js0c!QK4Z7Q+uZuW7P]3lH0`QoP?6m=Q]INW"EKf#e-^bMKBf=B)L?&%n\1rA:T)C[m17McmW -endstream -endobj -105 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 104 0 R ->> -endobj -106 0 obj -<< /Length 1326 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU3>Ar7S'Roe[cjX`s^%d6p8PrZX!G`XL*J3VjpF-FV9r;3)16kFO13D?%+)+Rg4/C>7#S>&kcZa9a\`i-qFM1lT`0_JK\LPW13i7%;N?>O^bF;T(WEh*/XPl*sVfIT/YaO'"Q.RBf58GD8+*PlICZc]Td-8b2h\ZF$6*#F7@[IUOs1eb\#j97cd3'_bahS!^Y=DX@j^qHVY>6Q[JoY3?@AMG?7iUF"r6eK]HKebRk#;:YfCj"lJV9B4ZdN'Su:f(>J]oc%)_)17(!)B"T^Lh-1QUq2^rV>j=ikEWI]oFK#[#bfmXKk1dif?YW^E".rmF"s5eU!QL*6YUFClC&5;+H@A>3(rnehj"M:]?u#rF$pQMq.S#g"0C,>bnd+X1^0!NdN_p@0XZdIrb]H@/)O9O[]b2BA/rh(hq'AIqa"a@a6*BV@/X*1gF;tD&$_^3d_65g3s19Y]1`;Llr82&MEUTiK@5;I!KKg8>QNf7mH],0BZ^@`LciSbR.\`T@,,!ZB$N[MnJ(I!fYT.F1'O+<[$(ji>]h-5U%*,8;,>XbapAe)bCVp'4#C(398,DZc5("li]i3dfW4aa<)Nr_7f"qFM>U:*`X%BTpVCC:?TlPX\#e>_6(l2tJ.S^-6Z==Y79g>6oigGnKlhkoCN7/a`\^WaYt;s)/Yep\tf6f"oGn8=BoYpdb3;D5=\W6JJ!C-FKA&A??7fg.VX1b"Tr)tDB@CD5Is7ncag)n/3u?P!qXn3d0QF*LtBU4,2;hs+djk?P,fR!OsgdQ_=5R#BL,+0!D5>qSWs2'5\B!)>7&e_'N#$B8*oDa!r6oMU0\Z0nBfY<56= -endstream -endobj -107 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 106 0 R ->> -endobj -108 0 obj -<< /Length 817 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%!?#uMY'RekG_.,6a&.hh->Os^H-ge8]Vpf@X&$1[A%4bZ\B_q1Ud3r*9VrNDM4Qfu;"YQ/+k2J9%(dS;QI"O\h_#W-n"&,Zt@h_0JKCf/XS\.,ik6)$O,(p#:;Ds<40Ku@TIs_t,W.^6!GrnA#;$s(f9)Y?njhchE&*?4F[QJmroANC3B!/e:.BB\)JOQ]!C$4[(gs)X_6\-S26U;)p&ieiOdM[QSYB]2mpjJ`JopoZP2JdO'V?T$KYciKiD*c47hETggnZGLA-'G\'#LoBWT!TojA.W9Q/SNQ]nJ`O]ANEHXS8j':ceoE+9cGii^Wf=[A1kBGCWM]!jkED&P^+_.>&bKm.5;3qTK?ppVcZ$AGm)GD=Q>Cg9$OE':kjQWVe.YT9E=O6,PD&>4CZYags^t'3erVnTh.?YQ\q9sZF44TY%64A7?c+qhj7TB`T'>Gd$])l4-[KR2YPVSJ_4/jW9$HYfU'(JV5&]0_?P<=eaf<-5s2DgkGad1Gs8n@;)91d-5CJ!F%[/#D(20lr6&ha,YfIo"9%b_Y4gXf9u5h@OGJ1VCRqSC_V!>M\+e+%H7@E>](t%:T`*,,0an'h\o2,oMu`\9j5r*;!sCH3#nAPNNG\AqDJ]ro_tDX%Ef>f@noBOGmLBeZcb0k0PLCUR)UIp~> -endstream -endobj -109 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 108 0 R -/Annots 110 0 R ->> -endobj -110 0 obj -[ -] -endobj -113 0 obj -<< - /Title (\376\377\0\114\0\151\0\142\0\170\0\155\0\154\0\40\0\124\0\165\0\164\0\157\0\162\0\151\0\141\0\154) - /Parent 111 0 R - /Next 115 0 R - /A 112 0 R ->> endobj -115 0 obj -<< - /Title (\376\377\0\124\0\141\0\142\0\154\0\145\0\40\0\157\0\146\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164\0\163) - /Parent 111 0 R - /Prev 113 0 R - /Next 116 0 R - /A 114 0 R ->> endobj -116 0 obj -<< - /Title (\376\377\0\111\0\156\0\164\0\162\0\157\0\144\0\165\0\143\0\164\0\151\0\157\0\156) - /Parent 111 0 R - /Prev 115 0 R - /Next 117 0 R - /A 9 0 R ->> endobj -117 0 obj -<< - /Title (\376\377\0\104\0\141\0\164\0\141\0\40\0\124\0\171\0\160\0\145\0\163) - /Parent 111 0 R - /Prev 116 0 R - /Next 118 0 R - /A 11 0 R ->> endobj -118 0 obj -<< - /Title (\376\377\0\120\0\141\0\162\0\163\0\151\0\156\0\147\0\40\0\164\0\150\0\145\0\40\0\146\0\151\0\154\0\145) - /Parent 111 0 R - /Prev 117 0 R - /Next 119 0 R - /A 13 0 R ->> endobj -119 0 obj -<< - /Title (\376\377\0\122\0\145\0\164\0\162\0\151\0\145\0\166\0\151\0\156\0\147\0\40\0\105\0\154\0\145\0\155\0\145\0\156\0\164\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164) - /Parent 111 0 R - /Prev 118 0 R - /Next 120 0 R - /A 15 0 R ->> endobj -120 0 obj -<< - /Title (\376\377\0\125\0\163\0\151\0\156\0\147\0\40\0\130\0\120\0\141\0\164\0\150\0\40\0\164\0\157\0\40\0\122\0\145\0\164\0\162\0\151\0\145\0\166\0\145\0\40\0\105\0\154\0\145\0\155\0\145\0\156\0\164\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164) - /Parent 111 0 R - /Prev 119 0 R - /Next 121 0 R - /A 17 0 R ->> endobj -121 0 obj -<< - /Title (\376\377\0\127\0\162\0\151\0\164\0\151\0\156\0\147\0\40\0\145\0\154\0\145\0\155\0\145\0\156\0\164\0\40\0\143\0\157\0\156\0\164\0\145\0\156\0\164) - /Parent 111 0 R - /Prev 120 0 R - /Next 122 0 R - /A 19 0 R ->> endobj -122 0 obj -<< - /Title (\376\377\0\127\0\162\0\151\0\164\0\151\0\156\0\147\0\40\0\101\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145) - /Parent 111 0 R - /Prev 121 0 R - /Next 123 0 R - /A 21 0 R ->> endobj -123 0 obj -<< - /Title (\376\377\0\122\0\145\0\164\0\162\0\151\0\145\0\166\0\151\0\156\0\147\0\40\0\101\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145\0\163) - /Parent 111 0 R - /Prev 122 0 R - /Next 124 0 R - /A 23 0 R ->> endobj -124 0 obj -<< - /Title (\376\377\0\105\0\156\0\143\0\157\0\144\0\151\0\156\0\147\0\40\0\103\0\157\0\156\0\166\0\145\0\162\0\163\0\151\0\157\0\156) - /Parent 111 0 R - /Prev 123 0 R - /Next 125 0 R - /A 25 0 R ->> endobj -125 0 obj -<< - /Title (\376\377\0\101\0\56\0\240\0\103\0\157\0\155\0\160\0\151\0\154\0\141\0\164\0\151\0\157\0\156) - /Parent 111 0 R - /Prev 124 0 R - /Next 126 0 R - /A 27 0 R ->> endobj -126 0 obj -<< - /Title (\376\377\0\102\0\56\0\240\0\123\0\141\0\155\0\160\0\154\0\145\0\40\0\104\0\157\0\143\0\165\0\155\0\145\0\156\0\164) - /Parent 111 0 R - /Prev 125 0 R - /Next 127 0 R - /A 29 0 R ->> endobj -127 0 obj -<< - /Title (\376\377\0\103\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\113\0\145\0\171\0\167\0\157\0\162\0\144\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145) - /Parent 111 0 R - /Prev 126 0 R - /Next 128 0 R - /A 31 0 R ->> endobj -128 0 obj -<< - /Title (\376\377\0\104\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\130\0\120\0\141\0\164\0\150\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145) - /Parent 111 0 R - /Prev 127 0 R - /Next 129 0 R - /A 33 0 R ->> endobj -129 0 obj -<< - /Title (\376\377\0\105\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\101\0\144\0\144\0\40\0\113\0\145\0\171\0\167\0\157\0\162\0\144\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145) - /Parent 111 0 R - /Prev 128 0 R - /Next 130 0 R - /A 35 0 R ->> endobj -130 0 obj -<< - /Title (\376\377\0\106\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\101\0\144\0\144\0\40\0\101\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145) - /Parent 111 0 R - /Prev 129 0 R - /Next 131 0 R - /A 37 0 R ->> endobj -131 0 obj -<< - /Title (\376\377\0\107\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\122\0\145\0\164\0\162\0\151\0\145\0\166\0\151\0\156\0\147\0\40\0\101\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145\0\40\0\126\0\141\0\154\0\165\0\145\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145) - /Parent 111 0 R - /Prev 130 0 R - /Next 132 0 R - /A 39 0 R ->> endobj -132 0 obj -<< - /Title (\376\377\0\110\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\105\0\156\0\143\0\157\0\144\0\151\0\156\0\147\0\40\0\103\0\157\0\156\0\166\0\145\0\162\0\163\0\151\0\157\0\156\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145) - /Parent 111 0 R - /Prev 131 0 R - /Next 133 0 R - /A 41 0 R ->> endobj -133 0 obj -<< - /Title (\376\377\0\111\0\56\0\240\0\101\0\143\0\153\0\156\0\157\0\167\0\154\0\145\0\144\0\147\0\145\0\155\0\145\0\156\0\164\0\163) - /Parent 111 0 R - /Prev 132 0 R - /Next 135 0 R - /A 43 0 R ->> endobj -135 0 obj -<< - /Title (\376\377\0\111\0\156\0\144\0\145\0\170) - /Parent 111 0 R - /Prev 133 0 R - /A 134 0 R ->> endobj -136 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F3 -/BaseFont /Helvetica-Bold -/Encoding /WinAnsiEncoding >> -endobj -137 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F14 -/BaseFont /ZapfDingbats >> -endobj -138 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F5 -/BaseFont /Times-Roman -/Encoding /WinAnsiEncoding >> -endobj -139 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F6 -/BaseFont /Times-Italic -/Encoding /WinAnsiEncoding >> -endobj -140 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F1 -/BaseFont /Helvetica -/Encoding /WinAnsiEncoding >> -endobj -141 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F9 -/BaseFont /Courier -/Encoding /WinAnsiEncoding >> -endobj -142 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F7 -/BaseFont /Times-Bold -/Encoding /WinAnsiEncoding >> -endobj -1 0 obj -<< /Type /Pages -/Count 17 -/Kids [6 0 R 45 0 R 59 0 R 64 0 R 69 0 R 75 0 R 82 0 R 89 0 R 93 0 R 95 0 R 97 0 R 99 0 R 101 0 R 103 0 R 105 0 R 107 0 R 109 0 R ] >> -endobj -2 0 obj -<< /Type /Catalog -/Pages 1 0 R - /Outlines 111 0 R - /PageMode /UseOutlines - >> -endobj -3 0 obj -<< -/Font << /F3 136 0 R /F5 138 0 R /F14 137 0 R /F1 140 0 R /F6 139 0 R /F9 141 0 R /F7 142 0 R >> -/ProcSet [ /PDF /ImageC /Text ] >> -endobj -9 0 obj -<< -/S /GoTo -/D [45 0 R /XYZ 139.0 693.0 null] ->> -endobj -11 0 obj -<< -/S /GoTo -/D [45 0 R /XYZ 139.0 363.674 null] ->> -endobj -13 0 obj -<< -/S /GoTo -/D [59 0 R /XYZ 139.0 725.0 null] ->> -endobj -15 0 obj -<< -/S /GoTo -/D [59 0 R /XYZ 139.0 173.18 null] ->> -endobj -17 0 obj -<< -/S /GoTo -/D [64 0 R /XYZ 139.0 156.646 null] ->> -endobj -19 0 obj -<< -/S /GoTo -/D [75 0 R /XYZ 139.0 667.866 null] ->> -endobj -21 0 obj -<< -/S /GoTo -/D [75 0 R /XYZ 139.0 281.08 null] ->> -endobj -23 0 obj -<< -/S /GoTo -/D [82 0 R /XYZ 139.0 508.98 null] ->> -endobj -25 0 obj -<< -/S /GoTo -/D [89 0 R /XYZ 139.0 725.0 null] ->> -endobj -27 0 obj -<< -/S /GoTo -/D [93 0 R /XYZ 139.0 648.0 null] ->> -endobj -29 0 obj -<< -/S /GoTo -/D [93 0 R /XYZ 139.0 564.561 null] ->> -endobj -31 0 obj -<< -/S /GoTo -/D [93 0 R /XYZ 139.0 386.942 null] ->> -endobj -33 0 obj -<< -/S /GoTo -/D [95 0 R /XYZ 139.0 182.42 null] ->> -endobj -35 0 obj -<< -/S /GoTo -/D [99 0 R /XYZ 139.0 665.56 null] ->> -endobj -37 0 obj -<< -/S /GoTo -/D [101 0 R /XYZ 139.0 497.94 null] ->> -endobj -39 0 obj -<< -/S /GoTo -/D [103 0 R /XYZ 139.0 438.78 null] ->> -endobj -41 0 obj -<< -/S /GoTo -/D [105 0 R /XYZ 139.0 281.02 null] ->> -endobj -43 0 obj -<< -/S /GoTo -/D [107 0 R /XYZ 139.0 113.4 null] ->> -endobj -111 0 obj -<< - /First 113 0 R - /Last 135 0 R ->> endobj -112 0 obj -<< -/S /GoTo -/D [6 0 R /XYZ 139.0 725.0 null] ->> -endobj -114 0 obj -<< -/S /GoTo -/D [6 0 R /XYZ 139.0 396.11 null] ->> -endobj -134 0 obj -<< -/S /GoTo -/D [109 0 R /XYZ 139.0 682.0 null] ->> -endobj -xref -0 143 -0000000000 65535 f -0000046903 00000 n -0000047079 00000 n -0000047172 00000 n -0000000015 00000 n -0000000071 00000 n -0000001911 00000 n -0000002031 00000 n -0000002175 00000 n -0000047325 00000 n -0000002309 00000 n -0000047389 00000 n -0000002445 00000 n -0000047456 00000 n -0000002581 00000 n -0000047521 00000 n -0000002717 00000 n -0000047587 00000 n -0000002853 00000 n -0000047654 00000 n -0000002989 00000 n -0000047721 00000 n -0000003125 00000 n -0000047787 00000 n -0000003261 00000 n -0000047853 00000 n -0000003397 00000 n -0000047918 00000 n -0000003533 00000 n -0000047983 00000 n -0000003669 00000 n -0000048050 00000 n -0000003804 00000 n -0000048117 00000 n -0000003940 00000 n -0000048183 00000 n -0000004076 00000 n -0000048249 00000 n -0000004212 00000 n -0000048316 00000 n -0000004348 00000 n -0000048383 00000 n -0000004484 00000 n -0000048450 00000 n -0000004620 00000 n -0000006683 00000 n -0000006806 00000 n -0000006903 00000 n -0000007078 00000 n -0000007271 00000 n -0000007469 00000 n -0000007659 00000 n -0000007846 00000 n -0000008044 00000 n -0000008246 00000 n -0000008448 00000 n -0000008648 00000 n -0000008847 00000 n -0000009052 00000 n -0000011400 00000 n -0000011523 00000 n -0000011557 00000 n -0000011693 00000 n -0000011884 00000 n -0000014223 00000 n -0000014346 00000 n -0000014380 00000 n -0000014580 00000 n -0000014791 00000 n -0000017332 00000 n -0000017455 00000 n -0000017496 00000 n -0000017685 00000 n -0000017863 00000 n -0000018000 00000 n -0000020544 00000 n -0000020667 00000 n -0000020715 00000 n -0000020850 00000 n -0000021058 00000 n -0000021197 00000 n -0000021333 00000 n -0000023582 00000 n -0000023705 00000 n -0000023753 00000 n -0000023959 00000 n -0000024098 00000 n -0000024234 00000 n -0000024439 00000 n -0000027594 00000 n -0000027717 00000 n -0000027744 00000 n -0000027878 00000 n -0000030019 00000 n -0000030127 00000 n -0000031368 00000 n -0000031476 00000 n -0000032912 00000 n -0000033020 00000 n -0000034353 00000 n -0000034461 00000 n -0000035743 00000 n -0000035853 00000 n -0000037197 00000 n -0000037307 00000 n -0000038604 00000 n -0000038714 00000 n -0000040134 00000 n -0000040244 00000 n -0000041154 00000 n -0000041280 00000 n -0000048516 00000 n -0000048570 00000 n -0000041301 00000 n -0000048635 00000 n -0000041476 00000 n -0000041677 00000 n -0000041848 00000 n -0000042007 00000 n -0000042201 00000 n -0000042455 00000 n -0000042784 00000 n -0000043020 00000 n -0000043221 00000 n -0000043446 00000 n -0000043659 00000 n -0000043842 00000 n -0000044048 00000 n -0000044306 00000 n -0000044552 00000 n -0000044833 00000 n -0000045126 00000 n -0000045496 00000 n -0000045825 00000 n -0000048701 00000 n -0000046038 00000 n -0000046154 00000 n -0000046268 00000 n -0000046354 00000 n -0000046465 00000 n -0000046577 00000 n -0000046686 00000 n -0000046793 00000 n -trailer -<< -/Size 143 -/Root 2 0 R -/Info 4 0 R ->> -startxref -48768 -%%EOF diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/w3c.png b/gtk+-mingw/share/doc/libxml2-2.8.0/html/w3c.png deleted file mode 100644 index c541c20..0000000 Binary files a/gtk+-mingw/share/doc/libxml2-2.8.0/html/w3c.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/writer.xml b/gtk+-mingw/share/doc/libxml2-2.8.0/html/writer.xml deleted file mode 100644 index 6ab05fd..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/writer.xml +++ /dev/null @@ -1,2 +0,0 @@ - -
    00000535351010MüllerJörg
    <Test>
    10
    <Test 2>
    20
    This is a text.
    diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/xml.html b/gtk+-mingw/share/doc/libxml2-2.8.0/html/xml.html deleted file mode 100644 index 2f73b54..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/xml.html +++ /dev/null @@ -1,5587 +0,0 @@ - - - - The XML C parser and toolkit of Gnome - - - -

    The XML C parser and toolkit of Gnome

    - -

    Note: this is the flat content of the web -site

    - -

    libxml, a.k.a. gnome-xml

    - -

    - -

    "Programming -with libxml2 is like the thrilling embrace of an exotic stranger." Mark -Pilgrim

    - -

    Libxml2 is the XML C parser and toolkit developed for the Gnome project -(but usable outside of the Gnome platform), it is free software available -under the MIT -License. XML itself is a metalanguage to design markup languages, i.e. -text language where semantic and structure are added to the content using -extra "markup" information enclosed between angle brackets. HTML is the most -well-known markup language. Though the library is written in C a variety of language bindings make it available in -other environments.

    - -

    Libxml2 is known to be very portable, the library should build and work -without serious troubles on a variety of systems (Linux, Unix, Windows, -CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, VxWorks, ...)

    - -

    Libxml2 implements a number of existing standards related to markup -languages:

    - - -

    In most cases libxml2 tries to implement the specifications in a -relatively strictly compliant way. As of release 2.4.16, libxml2 passed all -1800+ tests from the OASIS XML Tests -Suite.

    - -

    To some extent libxml2 provides support for the following additional -specifications but doesn't claim to implement them completely:

    -
      -
    • Document Object Model (DOM) http://www.w3.org/TR/DOM-Level-2-Core/ - the document model, but it doesn't implement the API itself, gdome2 does - this on top of libxml2
    • -
    • RFC 959 : - libxml2 implements a basic FTP client code
    • -
    • RFC 1945 : - HTTP/1.0, again a basic HTTP client code
    • -
    • SAX: a SAX2 like interface and a minimal SAX1 implementation compatible - with early expat versions
    • -
    - -

    A partial implementation of XML Schemas Part -1: Structure is being worked on but it would be far too early to make any -conformance statement about it at the moment.

    - -

    Separate documents:

    - -

    Hosting sponsored by Open Source CMS services from AOE media.

    - -

    Logo designed by Marc Liyanage.

    - -

    Introduction

    - -

    This document describes libxml, the XML C parser and toolkit developed for the -Gnome project. XML is a standard for building tag-based -structured documents/data.

    - -

    Here are some key points about libxml:

    -
      -
    • Libxml2 exports Push (progressive) and Pull (blocking) type parser - interfaces for both XML and HTML.
    • -
    • Libxml2 can do DTD validation at parse time, using a parsed document - instance, or with an arbitrary DTD.
    • -
    • Libxml2 includes complete XPath, XPointer and XInclude implementations.
    • -
    • It is written in plain C, making as few assumptions as possible, and - sticking closely to ANSI C/POSIX for easy embedding. Works on - Linux/Unix/Windows, ported to a number of other platforms.
    • -
    • Basic support for HTTP and FTP client allowing applications to fetch - remote resources.
    • -
    • The design is modular, most of the extensions can be compiled out.
    • -
    • The internal document representation is as close as possible to the DOM interfaces.
    • -
    • Libxml2 also has a SAX like interface; - the interface is designed to be compatible with Expat.
    • -
    • This library is released under the MIT - License. See the Copyright file in the distribution for the precise - wording.
    • -
    - -

    Warning: unless you are forced to because your application links with a -Gnome-1.X library requiring it, Do Not Use libxml1, use -libxml2

    - -

    FAQ

    - -

    Table of Contents:

    - - -

    License(s)

    -
      -
    1. Licensing Terms for libxml -

      libxml2 is released under the MIT - License; see the file Copyright in the distribution for the precise - wording

      -
    2. -
    3. Can I embed libxml2 in a proprietary application ? -

      Yes. The MIT License allows you to keep proprietary the changes you - made to libxml, but it would be graceful to send-back bug fixes and - improvements as patches for possible incorporation in the main - development tree.

      -
    4. -
    - -

    Installation

    -
      -
    1. Do Not Use - libxml1, use libxml2
    2. -

      -
    3. Where can I get libxml ? -

      The original distribution comes from xmlsoft.org or gnome.org

      -

      Most Linux and BSD distributions include libxml, this is probably the - safer way for end-users to use libxml.

      -

      David Doolin provides precompiled Windows versions at http://www.ce.berkeley.edu/~doolin/code/libxmlwin32/

      -
    4. -

      -
    5. I see libxml and libxml2 releases, which one should I install ? -
        -
      • If you are not constrained by backward compatibility issues with - existing applications, install libxml2 only
      • -
      • If you are not doing development, you can safely install both. - Usually the packages libxml and libxml2 are - compatible (this is not the case for development packages).
      • -
      • If you are a developer and your system provides separate packaging - for shared libraries and the development components, it is possible - to install libxml and libxml2, and also libxml-devel - and libxml2-devel - too for libxml2 >= 2.3.0
      • -
      • If you are developing a new application, please develop against - libxml2(-devel)
      • -
      -
    6. -
    7. I can't install the libxml package, it conflicts with libxml0 -

      You probably have an old libxml0 package used to provide the shared - library for libxml.so.0, you can probably safely remove it. The libxml - packages provided on xmlsoft.org provide - libxml.so.0

      -
    8. -
    9. I can't install the libxml(2) RPM package due to failed - dependencies -

      The most generic solution is to re-fetch the latest src.rpm , and - rebuild it locally with

      -

      rpm --rebuild libxml(2)-xxx.src.rpm.

      -

      If everything goes well it will generate two binary rpm packages (one - providing the shared libs and xmllint, and the other one, the -devel - package, providing includes, static libraries and scripts needed to build - applications with libxml(2)) that you can install locally.

      -
    10. -
    - -

    Compilation

    -
      -
    1. What is the process to compile libxml2 ? -

      As most UNIX libraries libxml2 follows the "standard":

      -

      gunzip -c xxx.tar.gz | tar xvf -

      -

      cd libxml-xxxx

      -

      ./configure --help

      -

      to see the options, then the compilation/installation proper

      -

      ./configure [possible options]

      -

      make

      -

      make install

      -

      At that point you may have to rerun ldconfig or a similar utility to - update your list of installed shared libs.

      -
    2. -
    3. What other libraries are needed to compile/install libxml2 ? -

      Libxml2 does not require any other library, the normal C ANSI API - should be sufficient (please report any violation to this rule you may - find).

      -

      However if found at configuration time libxml2 will detect and use the - following libs:

      -
        -
      • libz : a - highly portable and available widely compression library.
      • -
      • iconv: a powerful character encoding conversion library. It is - included by default in recent glibc libraries, so it doesn't need to - be installed specifically on Linux. It now seems a part - of the official UNIX specification. Here is one implementation of the - library which source can be found here.
      • -
      -
    4. -

      -
    5. Make check fails on some platforms -

      Sometimes the regression tests' results don't completely match the - value produced by the parser, and the makefile uses diff to print the - delta. On some platforms the diff return breaks the compilation process; - if the diff is small this is probably not a serious problem.

      -

      Sometimes (especially on Solaris) make checks fail due to limitations - in make. Try using GNU-make instead.

      -
    6. -
    7. I use the SVN version and there is no configure script -

      The configure script (and other Makefiles) are generated. Use the - autogen.sh script to regenerate the configure script and Makefiles, - like:

      -

      ./autogen.sh --prefix=/usr --disable-shared

      -
    8. -
    9. I have troubles when running make tests with gcc-3.0 -

      It seems the initial release of gcc-3.0 has a problem with the - optimizer which miscompiles the URI module. Please use another - compiler.

      -
    10. -
    - -

    Developer corner

    -
      -
    1. Troubles compiling or linking programs using libxml2 -

      Usually the problem comes from the fact that the compiler doesn't get - the right compilation or linking flags. There is a small shell script - xml2-config which is installed as part of libxml2 usual - install process which provides those flags. Use

      -

      xml2-config --cflags

      -

      to get the compilation flags and

      -

      xml2-config --libs

      -

      to get the linker flags. Usually this is done directly from the - Makefile as:

      -

      CFLAGS=`xml2-config --cflags`

      -

      LIBS=`xml2-config --libs`

      -
    2. -
    3. I want to install my own copy of libxml2 in my home directory and - link my programs against it, but it doesn't work -

      There are many different ways to accomplish this. Here is one way to - do this under Linux. Suppose your home directory is /home/user. - Then:

      -
        -
      • Create a subdirectory, let's call it myxml
      • -
      • unpack the libxml2 distribution into that subdirectory
      • -
      • chdir into the unpacked distribution - (/home/user/myxml/libxml2 )
      • -
      • configure the library using the "--prefix" switch, - specifying an installation subdirectory in - /home/user/myxml, e.g. -

        ./configure --prefix /home/user/myxml/xmlinst {other - configuration options}

        -
      • -
      • now run make followed by make install
      • -
      • At this point, the installation subdirectory contains the complete - "private" include files, library files and binary program files (e.g. - xmllint), located in -

        /home/user/myxml/xmlinst/lib, - /home/user/myxml/xmlinst/include and - /home/user/myxml/xmlinst/bin

        - respectively.
      • -
      • In order to use this "private" library, you should first add it to - the beginning of your default PATH (so that your own private program - files such as xmllint will be used instead of the normal system - ones). To do this, the Bash command would be -

        export PATH=/home/user/myxml/xmlinst/bin:$PATH

        -
      • -
      • Now suppose you have a program test1.c that you would - like to compile with your "private" library. Simply compile it using - the command -

        gcc `xml2-config --cflags --libs` -o test test.c

        - Note that, because your PATH has been set with - /home/user/myxml/xmlinst/bin at the beginning, the xml2-config - program which you just installed will be used instead of the system - default one, and this will automatically get the correct - libraries linked with your program.
      • -
      -
    4. - -

      -
    5. xmlDocDump() generates output on one line. -

      Libxml2 will not invent spaces in the content of a - document since all spaces in the content of a document are - significant. If you build a tree from the API and want - indentation:

      -
        -
      1. the correct way is to generate those yourself too.
      2. -
      3. the dangerous way is to ask libxml2 to add those blanks to your - content modifying the content of your document in the - process. The result may not be what you expect. There is - NO way to guarantee that such a modification won't - affect other parts of the content of your document. See xmlKeepBlanksDefault - () and xmlSaveFormatFile - ()
      4. -
      -
    6. -

      -
    7. Extra nodes in the document: -

      For an XML file as below:

      -
      <?xml version="1.0"?>
      -<PLAN xmlns="http://www.argus.ca/autotest/1.0/">
      -<NODE CommFlag="0"/>
      -<NODE CommFlag="1"/>
      -</PLAN>
      -

      after parsing it with the function - pxmlDoc=xmlParseFile(...);

      -

      I want to the get the content of the first node (node with the - CommFlag="0")

      -

      so I did it as following;

      -
      xmlNodePtr pnode;
      -pnode=pxmlDoc->children->children;
      -

      but it does not work. If I change it to

      -
      pnode=pxmlDoc->children->children->next;
      -

      then it works. Can someone explain it to me.

      -

      -

      In XML all characters in the content of the document are significant - including blanks and formatting line breaks.

      -

      The extra nodes you are wondering about are just that, text nodes with - the formatting spaces which are part of the document but that people tend - to forget. There is a function xmlKeepBlanksDefault - () to remove those at parse time, but that's an heuristic, and its - use should be limited to cases where you are certain there is no - mixed-content in the document.

      -
    8. -
    9. I get compilation errors of existing code like when accessing - root or child fields of nodes. -

      You are compiling code developed for libxml version 1 and using a - libxml2 development environment. Either switch back to libxml v1 devel or - even better fix the code to compile with libxml2 (or both) by following the instructions.

      -
    10. -
    11. I get compilation errors about non existing - xmlRootNode or xmlChildrenNode - fields. -

      The source code you are using has been upgraded to be able to compile with both libxml - and libxml2, but you need to install a more recent version: - libxml(-devel) >= 1.8.8 or libxml2(-devel) >= 2.1.0

      -
    12. -
    13. Random crashes in threaded applications -

      Read and follow all advices on the thread - safety page, and make 100% sure you never call xmlCleanupParser() - while the library or an XML document might still be in use by another - thread.

      -
    14. -
    15. The example provided in the web page does not compile. -

      It's hard to maintain the documentation in sync with the code - <grin/> ...

      -

      Check the previous points 1/ and 2/ raised before, and please send - patches.

      -
    16. -
    17. Where can I get more examples and information than provided on the - web page? -

      Ideally a libxml2 book would be nice. I have no such plan ... But you - can:

      -
        -
      • check more deeply the existing - generated doc
      • -
      • have a look at the set of - examples.
      • -
      • look for examples of use for libxml2 function using the Gnome code - or by asking on Google.
      • -
      • Browse - the libxml2 source , I try to write code as clean and documented - as possible, so looking at it may be helpful. In particular the code - of xmllint.c and of the various testXXX.c test programs should - provide good examples of how to do things with the library.
      • -
      -
    18. -

      -
    19. What about C++ ? -

      libxml2 is written in pure C in order to allow easy reuse on a number - of platforms, including embedded systems. I don't intend to convert to - C++.

      -

      There is however a C++ wrapper which may fulfill your needs:

      - -
    20. -
    21. How to validate a document a posteriori ? -

      It is possible to validate documents which had not been validated at - initial parsing time or documents which have been built from scratch - using the API. Use the xmlValidateDtd() - function. It is also possible to simply add a DTD to an existing - document:

      -
      xmlDocPtr doc; /* your existing document */
      -xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /* parse the DTD */
      -
      -        dtd->name = xmlStrDup((xmlChar*)"root_name"); /* use the given root */
      -
      -        doc->intSubset = dtd;
      -        if (doc->children == NULL) xmlAddChild((xmlNodePtr)doc, (xmlNodePtr)dtd);
      -        else xmlAddPrevSibling(doc->children, (xmlNodePtr)dtd);
      -          
      -
    22. -
    23. So what is this funky "xmlChar" used all the time? -

      It is a null terminated sequence of utf-8 characters. And only utf-8! - You need to convert strings encoded in different ways to utf-8 before - passing them to the API. This can be accomplished with the iconv library - for instance.

      -
    24. -
    25. etc ...
    26. -
    - -

    - -

    Developer Menu

    - -

    There are several on-line resources related to using libxml:

    -
      -
    1. Use the search engine to look up - information.
    2. -
    3. Check the FAQ.
    4. -
    5. Check the extensive - documentation automatically extracted from code comments.
    6. -
    7. Look at the documentation about libxml - internationalization support.
    8. -
    9. This page provides a global overview and some - examples on how to use libxml.
    10. -
    11. Code examples
    12. -
    13. John Fleck's libxml2 tutorial: html - or pdf.
    14. -
    15. If you need to parse large files, check the xmlReader API tutorial
    16. -
    17. James Henstridge wrote some nice - documentation explaining how to use the libxml SAX interface.
    18. -
    19. George Lebl wrote an article - for IBM developerWorks about using libxml.
    20. -
    21. Check the TODO - file.
    22. -
    23. Read the 1.x to 2.x upgrade path - description. If you are starting a new project using libxml you should - really use the 2.x version.
    24. -
    25. And don't forget to look at the mailing-list archive.
    26. -
    - -

    Reporting bugs and getting help

    - -

    Well, bugs or missing features are always possible, and I will make a -point of fixing them in a timely fashion. The best way to report a bug is to -use the Gnome -bug tracking database (make sure to use the "libxml2" module name). I -look at reports there regularly and it's good to have a reminder when a bug -is still open. Be sure to specify that the bug is for the package libxml2.

    - -

    For small problems you can try to get help on IRC, the #xml channel on -irc.gnome.org (port 6667) usually have a few person subscribed which may help -(but there is no guarantee and if a real issue is raised it should go on the -mailing-list for archival).

    - -

    There is also a mailing-list xml@gnome.org for libxml, with an on-line archive (old). To subscribe to this list, -please visit the associated Web page and -follow the instructions. Do not send code, I won't debug it -(but patches are really appreciated!).

    - -

    Please note that with the current amount of virus and SPAM, sending mail -to the list without being subscribed won't work. There is *far too many -bounces* (in the order of a thousand a day !) I cannot approve them manually -anymore. If your mail to the list bounced waiting for administrator approval, -it is LOST ! Repost it and fix the problem triggering the error. Also please -note that emails with -a legal warning asking to not copy or redistribute freely the information -they contain are NOT acceptable for the mailing-list, -such mail will as much as possible be discarded automatically, and are less -likely to be answered if they made it to the list, DO NOT -post to the list from an email address where such legal requirements are -automatically added, get private paying support if you can't share -information.

    - -

    Check the following before -posting:

    -
      -
    • Read the FAQ and use the - search engine to get information related to your problem.
    • -
    • Make sure you are using a recent - version, and that the problem still shows up in a recent version.
    • -
    • Check the list - archives to see if the problem was reported already. In this case - there is probably a fix available, similarly check the registered - open bugs.
    • -
    • Make sure you can reproduce the bug with xmllint or one of the test - programs found in source in the distribution.
    • -
    • Please send the command showing the error as well as the input (as an - attachment)
    • -
    - -

    Then send the bug with associated information to reproduce it to the xml@gnome.org list; if it's really libxml -related I will approve it. Please do not send mail to me directly, it makes -things really hard to track and in some cases I am not the best person to -answer a given question, ask on the list.

    - -

    To be really clear about support:

    -
      -
    • Support or help requests MUST be sent to - the list or on bugzilla in case of problems, so that the Question - and Answers can be shared publicly. Failing to do so carries the implicit - message "I want free support but I don't want to share the benefits with - others" and is not welcome. I will automatically Carbon-Copy the - xml@gnome.org mailing list for any technical reply made about libxml2 or - libxslt.
    • -
    • There is no guarantee of support. If - your question remains unanswered after a week, repost it, making sure you - gave all the detail needed and the information requested.
    • -
    • Failing to provide information as requested or double checking first - for prior feedback also carries the implicit message "the time of the - library maintainers is less valuable than my time" and might not be - welcome.
    • -
    - -

    Of course, bugs reported with a suggested patch for fixing them will -probably be processed faster than those without.

    - -

    If you're looking for help, a quick look at the list archive may actually -provide the answer. I usually send source samples when answering libxml2 -usage questions. The auto-generated documentation is -not as polished as I would like (i need to learn more about DocBook), but -it's a good starting point.

    - -

    How to help

    - -

    You can help the project in various ways, the best thing to do first is to -subscribe to the mailing-list as explained before, check the archives and the Gnome bug -database:

    -
      -
    1. Provide patches when you find problems.
    2. -
    3. Provide the diffs when you port libxml2 to a new platform. They may not - be integrated in all cases but help pinpointing portability problems - and
    4. -
    5. Provide documentation fixes (either as patches to the code comments or - as HTML diffs).
    6. -
    7. Provide new documentations pieces (translations, examples, etc - ...).
    8. -
    9. Check the TODO file and try to close one of the items.
    10. -
    11. Take one of the points raised in the archive or the bug database and - provide a fix. Get in touch with me - before to avoid synchronization problems and check that the suggested - fix will fit in nicely :-)
    12. -
    - -

    Downloads

    - -

    The latest versions of libxml2 can be found on the xmlsoft.org server ( FTP and rsync are available), there are also -mirrors (France and -Antonin Sprinzl also provide a -mirror in Austria). (NOTE that you need both the libxml(2) and libxml(2)-devel -packages installed to compile applications using libxml if using RPMs.)

    - -

    You can find all the history of libxml(2) and libxslt releases in the old directory. The precompiled -Windows binaries made by Igor Zlatovic are available in the win32 directory.

    - -

    Binary ports:

    - - -

    If you know other supported binary ports, please contact me.

    - -

    Snapshot:

    - - -

    Contributions:

    - -

    I do accept external contributions, especially if compiling on another -platform, get in touch with the list to upload the package, wrappers for -various languages have been provided, and can be found in the bindings section

    - -

    Libxml2 is also available from GIT:

    -
      -
    • See libxml2 Git web. - To checkout a local tree use:

      -
      git clone git://git.gnome.org/libxml2
      -
    • -
    • The libxslt module is also present - there.
    • -
    - -

    Releases

    - -

    Items not finished and worked on, get in touch with the list if you want -to help those

    - - -

    The change log describes the recents commits -to the SVN code base.

    - -

    Here is the list of public releases:

    - -

    2.8.0: May 23 2012

    -
      -
    • Features: -- add lzma compression support (Anders F Bjorklund) -
    • - -
    • Documentation: - xmlcatalog: Add uri and delegateURI to possible add types in man page. (Ville Skyttä), - Update README.tests (Daniel Veillard), - URI handling code is not OOM resilient (Daniel Veillard), - Fix an error in comment (Daniel Veillard), - Fixed bug #617016 (Daniel Mustieles), - Fixed two typos in the README document (Daniel Neel), - add generated html files (Anders F Bjorklund), - Clarify the need to use xmlFreeNode after xmlUnlinkNode (Daniel Veillard), - Improve documentation a bit (Daniel Veillard), - Updated URL for lxml python bindings (Daniel Veillard) -
    • - -
    • Portability: - Restore code for Windows compilation (Daniel Veillard), - Remove git error message during configure (Christian Dywan), - xmllint: Build fix for endTimer if !defined(HAVE_GETTIMEOFDAY) (Patrick R. Gansterer), - remove a bashism in confgure.in (John Hein), - undef ERROR if already defined (Patrick R. Gansterer), - Fix library problems with mingw-w64 (Michael Cronenworth), - fix windows build. ifdef addition from bug 666491 makes no sense (Rob Richards), - prefer native threads on win32 (Sam Thursfield), - Allow to compile with Visual Studio 2010 (Thomas Lemm), - Fix mingw's snprintf configure check (Andoni Morales), - fixed a 64bit big endian issue (Marcus Meissner), - Fix portability failure if netdb.h lacks NO_ADDRESS (Daniel Veillard), - Fix windows build from lzma addition (Rob Richards), - autogen: Only check for libtoolize (Colin Walters), - Fix the Windows build files (Patrick von Reth), - 634846 Remove a linking option breaking Windows VC10 (Daniel Veillard), - 599241 fix an initialization problem on Win64 (Andrew W. Nosenko), - fix win build (Rob Richards) -
    • - -
    • Bug fixes: - Part for rand_r checking missing (Daniel Veillard), - Cleanup on randomization (Daniel Veillard), - Fix undefined reference in python module (Pacho Ramos), - Fix a race in xmlNewInputStream (Daniel Veillard), - Fix weird streaming RelaxNG errors (Noam), - Fix various bugs in new code raised by the API checking (Daniel Veillard), - Fix various problems with "make dist" (Daniel Veillard), - Fix a memory leak in the xzlib code (Daniel Veillard), - HTML parser error with <noscript> in the <head> (Denis Pauk), - XSD: optional element in complex type extension (Remi Gacogne), - Fix html serialization error and htmlSetMetaEncoding() (Daniel Veillard), - Fix a wrong return value in previous patch (Daniel Veillard), - Fix an uninitialized variable use (Daniel Veillard), - Fix a compilation problem with --minimum (Brandon Slack), - Remove redundant and ungarded include of resolv.h (Daniel Veillard), - xinclude with parse="text" does not use the entity loader (Shaun McCance), - Allow to parse 1 byte HTML files (Denis Pauk), - Patch that fixes the skipping of the HTML_PARSE_NOIMPLIED flag (Martin Schröder), - Avoid memory leak if xmlParserInputBufferCreateIO fails (Lin Yi-Li), - Prevent an infinite loop when dumping a node with encoding problems (Timothy Elliott), - xmlParseNodeInContext problems with an empty document (Tim Elliott), - HTML element position is not detected propperly (Pavel Andrejs), - Fix an off by one pointer access (Jüri Aedla), - Try to fix a problem with entities in SAX mode (Daniel Veillard), - Fix a crash with xmllint --path on empty results (Daniel Veillard), - Fixed bug #667946 (Daniel Mustieles), - Fix a logic error in Schemas Component Constraints (Ryan Sleevi), - Fix a wrong enum type use in Schemas Types (Nico Weber), - Fix SAX2 builder in case of undefined attributes namespace (Daniel Veillard), - Fix SAX2 builder in case of undefined element namespaces (Daniel Veillard), - fix reference to STDOUT_FILENO on MSVC (Tay Ray Chuan), - fix a pair of possible out of array char references (Daniel Veillard), - Fix an allocation error when copying entities (Daniel Veillard), - Make sure the parser returns when getting a Stop order (Chris Evans), - Fix some potential problems on reallocation failures(parser.c) (Xia Xinfeng), - Fix a schema type duration comparison overflow (Daniel Veillard), - Fix an unimplemented part in RNG value validation (Daniel Veillard), - Fix missing error status in XPath evaluation (Daniel Veillard), - Hardening of XPath evaluation (Daniel Veillard), - Fix an off by one error in encoding (Daniel Veillard), - Fix RELAX NG include bug #655288 (Shaun McCance), - Fix XSD validation bug #630130 (Toyoda Eizi), - Fix some potential problems on reallocation failures (Chris Evans), - __xmlRaiseError: fix use of the structured callback channel (Dmitry V. Levin), - __xmlRaiseError: fix the structured callback channel's data initialization (Dmitry V. Levin), - Fix memory corruption when xmlParseBalancedChunkMemoryInternal is called from xmlParseBalancedChunk (Rob Richards), - Small fix for previous commit (Daniel Veillard), - Fix a potential freeing error in XPath (Daniel Veillard), - Fix a potential memory access error (Daniel Veillard), - Reactivate the shared library versionning script (Daniel Veillard) -
    • - -
    • Improvements: - use mingw C99 compatible functions {v}snprintf instead those from MSVC runtime (Roumen Petrov), - New symbols added for the next release (Daniel Veillard), - xmlTextReader bails too quickly on error (Andy Lutomirski), - Use a hybrid allocation scheme in xmlNodeSetContent (Conrad Irwin), - Use buffers when constructing string node lists. (Conrad Irwin), - Add HTML parser support for HTML5 meta charset encoding declaration (Denis Pauk), - wrong message for double hyphen in comment XML error (Bryan Henderson), - Fix "make tst" to grab lzma lib too (Daniel Veillard), - Add "whereis" command to xmllint shell (Ryan), - Improve xmllint shell (Ryan), - add function xmlTextReaderRelaxNGValidateCtxt() (Noam Postavsky), - Add --system support to autogen.sh (Daniel Veillard), - Add hash randomization to hash and dict structures (Daniel Veillard), - included xzlib in dist (Anders F Bjorklund), - move xz/lzma helpers to separate included files (Anders F Bjorklund), - add generated devhelp files (Anders F Bjorklund), - add XML_WITH_LZMA to api (Anders F Bjorklund), - autogen.sh: Honor NOCONFIGURE environment variable (Colin Walters), - Improve the error report on undefined REFs (Daniel Veillard), - Add exception for new W3C PI xml-model (Daniel Veillard), - Add options to ignore the internal encoding (Daniel Veillard), - testapi: use the right type for the check (Stefan Kost), - various: handle return values of write calls (Stefan Kost), - testWriter: xmlTextWriterWriteFormatElement wants an int instead of a long int (Stefan Kost), - runxmlconf: update to latest testsuite version (Stefan Kost), - configure: add -Wno-long-long to CFLAGS (Stefan Kost), - configure: support silent automake rules if possible (Stefan Kost), - xmlmemory: add a cast as size_t has no portable printf modifier (Stefan Kost), - __xmlRaiseError: remove redundant schannel initialization (Dmitry V. Levin), - __xmlRaiseError: do cheap code check early (Dmitry V. Levin) -
    • - -
    • Cleanups: - Cleanups before 2.8.0-rc2 (Daniel Veillard), - Avoid an extra operation (Daniel Veillard), - Remove vestigial de-ANSI-fication support. (Javier Jardón), - autogen.sh: Fix typo (Javier Jardón), - Do not use unsigned but unsigned int (Daniel Veillard), - Remove two references to u_short (Daniel Veillard), - Fix -Wempty-body warning from clang (Nico Weber), - Cleanups of lzma support (Daniel Veillard), - Augment the list of ignored files (Daniel Veillard), - python: remove unused variable (Stefan Kost), - python: flag two unused args (Stefan Kost), - configure: acconfig.h is deprecated since autoconf-2.50 (Stefan Kost), - xpath: remove unused variable (Stefan Kost) -
    • -
    -

    2.7.8: Nov 4 2010

    -
      -
    • Features: - 480323 add code to plug in ICU converters by default (Giuseppe Iuculano), - Add xmlSaveOption XML_SAVE_WSNONSIG (Adam Spragg) -
    • -
    • Documentation: - Fix devhelp documentation installation (Mike Hommey), - Fix web site encoding problems (Daniel Veillard), - Fix a couple of typo in HTML parser error messages (Michael Day), - Forgot to update the news page for 0.7.7 (Daniel Veillard) -
    • -
    • Portability: - 607273 Fix python detection on MSys/Windows (LRN), - 614087 Fix Socket API usage to allow Windows64 compilation (Ozkan Sezer), - Fix compilation with Clang (Koop Mast), - Fix Win32 build (Rob Richards) -
    • -
    • Bug Fixes: - 595789 fix a remaining potential Solaris problem (Daniel Veillard), - 617468 fix progressive HTML parsing with style using "'" (Denis Pauk), - 616478 Fix xmllint shell write command (Gwenn Kahz), - 614005 Possible erroneous HTML parsing on unterminated script (Pierre Belzile), - 627987 Fix XSD IDC errors in imported schemas (Jim Panetta), - 629325 XPath rounding errors first cleanup (Phil Shafer), - 630140 fix iso995x encoding error (Daniel Veillard), - make sure htmlCtxtReset do reset the disableSAX field (Daniel Veillard), - Fix a change of semantic on XPath preceding and following axis (Daniel Veillard), - Fix a potential segfault due to weak symbols on pthreads (Mike Hommey), - Fix a leak in XPath compilation (Daniel Veillard), - Fix the semantic of XPath axis for namespace/attribute context nodes (Daniel Veillard), - Avoid a descriptor leak in catalog loading code (Carlo Bramini), - Fix a small bug in XPath evaluation code (Marius Wachtler), - Fix handling of XML-1.0 XML namespace declaration (Daniel Veillard), - Fix errors in XSD double validation check (Csaba Raduly), - Fix handling of apos in URIs (Daniel Veillard), - xmlTextReaderReadOuterXml should handle DTD (Rob Richards), - Autogen.sh needs to create m4 directory (Rob Richards) -
    • -
    • Improvements: - 606592 update language ID parser to RFC 5646 (Daniel Veillard), - Sort python generated stubs (Mike Hommey), - Add an HTML parser option to avoid a default doctype (Daniel Veillard) -
    • -
    • Cleanups: - 618831 don't ship generated files in git (Adrian Bunk), - Switch from the obsolete mkinstalldirs to AC_PROG_MKDIR_P (Adrian Bunk), - Various cleanups on encoding handling (Daniel Veillard), - Fix xmllint to use format=1 for default formatting (Adam Spragg), - Force _xmlSaveCtxt.format to be 0 or 1 (Adam Spragg), - Cleanup encoding pointer comparison (Nikolay Sivov), - Small code cleanup on previous patch (Daniel Veillard) -
    • -
    -

    2.7.7: Mar 15 2010

    -
      -
    • Improvements: - Adding a --xpath option to xmllint (Daniel Veillard), - Make HTML parser non-recursive (Eugene Pimenov) -
    • -
    • Portability: - relaxng.c: cast to allow compilation with sun studio 11 (Ben Walton), - Fix build failure on Sparc solaris (Roumen Petrov), - use autoreconf in autogen.sh (Daniel Veillard), - Fix build with mingw (Roumen Petrov), - Upgrade some of the configure and autogen (Daniel Veillard), - Fix relaxNG tests in runtest for Windows runtest.c: initialize ret (Rob Richards), - Fix a const warning in xmlNodeSetBase (Martin Trappel), - Fix python generator to not use deprecated xmllib (Daniel Veillard), - Update some automake files (Daniel Veillard), - 598785 Fix nanohttp on Windows (spadix) -
    • -
    • Bug Fixes: - libxml violates the zlib interface and crashes (Mark Adler), - Fix broken escape behaviour in regexp ranges (Daniel Veillard), - Fix missing win32 libraries in libxml-2.0.pc (Volker Grabsch), - Fix detection of python linker flags (Daniel Macks), - fix build error in libxml2/python (Paul Smith), - ChunkParser: Incorrect decoding of small xml files (Raul Hudea), - htmlCheckEncoding doesn't update input-end after shrink (Eugene Pimenov), - Fix a missing #ifdef (Daniel Veillard), - Fix encoding selection for xmlParseInNodeContext (Daniel Veillard), - xmlPreviousElementSibling mistake (François Delyon), - 608773 add a missing check in xmlGROW (Daniel Veillard), - Fix xmlParseInNodeContext for HTML content (Daniel Veillard), - Fix lost namespace when copying node * tree.c: reconcile namespace if not found (Rob Richards), - Fix some missing commas in HTML element lists (Eugene Pimenov), - Correct variable type to unsigned (Nikolay Sivov), - Recognize ID attribute in HTML without DOCTYPE (Daniel Veillard), - Fix memory leak in xmlXPathEvalExpression() (Martin), - Fix an init bug in global.c (Kai Henning), - Fix xmlNodeSetBase() comment (Daniel Veillard), - Fix broken escape behaviour in regexp ranges (Daniel Veillard), - Don't give default HTML boolean attribute values in parser (Daniel Veillard), - xmlCtxtResetLastError should reset ctxt-errNo (Daniel Veillard) -
    • -
    • Cleanups: - Cleanup a couple of weirdness in HTML parser (Eugene Pimenov) -
    • -
    -

    2.7.6: Oct 6 2009

    -
      -
    • Bug Fixes: - Restore thread support in default configuration (Andrew W. Nosenko), - URI with no path parsing problem (Daniel Veillard), - Minor patch for conditional defines in threads.c (Eric Zurcher) -
    • -
    -

    2.7.5: Sep 24 2009

    -
      -
    • Bug Fixes: - Restore behavior of --with-threads without argument (Andrew W. Nosenko), - Fix memory leak when doc is NULL (Rob Richards), - 595792 fixing a RelaxNG bug introduced in 2.7.4 (Daniel Veillard), - Fix a Relaxng bug raised by libvirt test suite (Daniel Veillard), - Fix a parsing problem with little data at startup (Daniel Veillard), - link python module with python library (Frederic Crozat), - 594874 Forgot an fclose in xmllint (Daniel Veillard) -
    • -
    • Cleanup: - Adding symbols.xml to EXTRA_DIST (Daniel Veillard) -
    • -
    -

    2.7.4: Sep 10 2009

    -
      -
    • Improvements: - Switch to GIT (GNOME), - Add symbol versioning to libxml2 shared libs (Daniel Veillard) -
    • -
    • Portability: - 593857 try to work around thread pbm MinGW 4.4 (Daniel Veillard), - 594250 rename ATTRIBUTE_ALLOC_SIZE to avoid clashes (Daniel Veillard), - Fix Windows build * relaxng.c: fix windows build (Rob Richards), - Fix the globals.h to use XMLPUBFUN (Paul Smith), - Problem with extern extern in header (Daniel Veillard), - Add -lnetwork for compiling on Haiku (Scott McCreary), - Runtest portability patch for Solaris (Tim Rice), - Small patch to accomodate the Haiku OS (Scott McCreary), - 584605 package VxWorks folder in the distribution (Daniel Veillard), - 574017 Realloc too expensive on most platform (Daniel Veillard), - Fix windows build (Rob Richards), - 545579 doesn't compile without schema support (Daniel Veillard), - xmllint use xmlGetNodePath when not compiled in (Daniel Veillard), - Try to avoid __imp__xmlFree link trouble on msys (Daniel Veillard), - Allow to select the threading system on Windows (LRN), - Fix Solaris binary links, cleanups (Daniel Veillard), - Bug 571059 – MSVC doesn't work with the bakefile (Intron), - fix ATTRIBUTE_PRINTF header clash (Belgabor and Mike Hommey), - fixes for Borland/CodeGear/Embarcadero compilers (Eric Zurcher) -
    • -
    • Documentation: - 544910 typo: "renciliateNs" (Leonid Evdokimov), - Add VxWorks to list of OSes (Daniel Veillard), - Regenerate the documentation and update for git (Daniel Veillard), - 560524 ¿ xmlTextReaderLocalName description (Daniel Veillard), - Added sponsoring by AOE media for the server (Daniel Veillard), - updated URLs for GNOME (Vincent Lefevre), - more warnings about xmlCleanupThreads and xmlCleanupParser (Daniel Veillard) -
    • -
    • Bug fixes: - 594514 memory leaks - duplicate initialization (MOD), - Wrong block opening in htmlNodeDumpOutputInternal (Daniel Veillard), - 492317 Fix Relax-NG validation problems (Daniel Veillard), - 558452 fight with reg test and error report (Daniel Veillard), - 558452 RNG compilation of optional multiple child (Daniel Veillard), - 579746 XSD validation not correct / nilable groups (Daniel Veillard), - 502960 provide namespace stack when parsing entity (Daniel Veillard), - 566012 part 2 fix regresion tests and push mode (Daniel Veillard), - 566012 autodetected encoding and encoding conflict (Daniel Veillard), - 584220 xpointer(/) and xinclude problems (Daniel Veillard), - 587663 Incorrect Attribute-Value Normalization (Daniel Veillard), - 444994 HTML chunked failure for attribute with <> (Daniel Veillard), - Fix end of buffer char being split in XML parser (Daniel Veillard), - Non ASCII character may be split at buffer end (Adiel Mittmann), - 440226 Add xmlXIncludeProcessTreeFlagsData API (Stefan Behnel), - 572129 speed up parsing of large HTML text nodes (Markus Kull), - Fix HTML parsing with 0 character in CDATA (Daniel Veillard), - Fix SetGenericErrorFunc and SetStructured clash (Wang Lam), - 566012 Incomplete EBCDIC parsing support (Martin Kogler), - 541335 HTML avoid creating 2 head or 2 body element (Daniel Veillard), - 541237 error correcting missing end tags in HTML (Daniel Veillard), - 583439 missing line numbers in push mode (Daniel Veillard), - 587867 xmllint --html --xmlout serializing as HTML (Daniel Veillard), - 559501 avoid select and use poll for nanohttp (Raphael Prevost), - 559410 - Regexp bug on (...)? constructs (Daniel Veillard), - Fix a small problem on previous HTML parser patch (Daniel Veillard), - 592430 - HTML parser runs into endless loop (Daniel Veillard), - 447899 potential double free in xmlFreeTextReader (Daniel Veillard), - 446613 small validation bug mixed content with NS (Daniel Veillard), - Fix the problem of revalidating a doc with RNG (Daniel Veillard), - Fix xmlKeepBlanksDefault to not break indent (Nick Wellnhofer), - 512131 refs from externalRef part need to be added (Daniel Veillard), - 512131 crash in xmlRelaxNGValidateFullElement (Daniel Veillard), - 588441 allow '.' in HTML Names even if invalid (Daniel Veillard), - 582913 Fix htmlSetMetaEncoding() to be nicer (Daniel Veillard), - 579317 Try to find the HTML encoding information (Daniel Veillard), - 575875 don't output charset=html (Daniel Veillard), - 571271 fix semantic of xsd:all with minOccurs=0 (Daniel Veillard), - 570702 fix a bug in regexp determinism checking (Daniel Veillard), - 567619 xmlValidateNotationUse missing param test (Daniel Veillard), - 574393 ¿ utf-8 filename magic for compressed files (Hans Breuer), - Fix a couple of problems in the parser (Daniel Veillard), - 585505 ¿ Document ids and refs populated by XSD (Wayne Jensen), - 582906 XSD validating multiple imports of the same schema (Jason Childs), - Bug 582887 ¿ problems validating complex schemas (Jason Childs), - Bug 579729 ¿ fix XSD schemas parsing crash (Miroslav Bajtos), - 576368 ¿ htmlChunkParser with special attributes (Jiri Netolicky), - Bug 565747 ¿ relax anyURI data character checking (Vincent Lefevre), - Preserve attributes of include start on tree copy (Petr Pajas), - Skip silently unrecognized XPointer schemes (Jakub Wilk), - Fix leak on SAX1, xmllint --sax1 option and debug (Daniel Veillard), - potential NULL dereference on non-glibc (Jim Meyering), - Fix an XSD validation crash (Daniel Veillard), - Fix a regression in streaming entities support (Daniel Veillard), - Fix a couple of ABI issues with C14N 1.1 (Aleksey Sanin), - Aleksey Sanin support for c14n 1.1 (Aleksey Sanin), - reader bug fix with entities (Daniel Veillard), - use options from current parser ctxt for external entities (Rob Richards), - 581612 use %s to printf strings (Christian Persch), - 584605 change the threading initialization sequence (Igor Novoseltsev), - 580705 keep line numbers in HTML parser (Aaron Patterson), - 581803 broken HTML table attributes init (Roland Steiner), - do not set error code in xmlNsWarn (Rob Richards), - 564217 fix structured error handling problems, - reuse options from current parser for entities (Rob Richards), - xmlXPathRegisterNs should not allow enpty prefixes (Daniel Veillard), - add a missing check in xmlAddSibling (Kris Breuker), - avoid leaks on errors (Jinmei Tatuya) -
    • -
    • Cleanup: - Chasing dead assignments reported by clang-scan (Daniel Veillard), - A few more safety cleanup raised by scan (Daniel Veillard), - Fixing assorted potential problems raised by scan (Daniel Veillard), - Potential uninitialized arguments raised by scan (Daniel Veillard), - Fix a bunch of scan 'dead increments' and cleanup (Daniel Veillard), - Remove a pedantic warning (Daniel Veillard), - 555833 always use rm -f in uninstall-local (Daniel Veillard), - 542394 xmlRegisterOutputCallbacks MAX_INPUT_CALLBACK (Daniel Veillard), - Autoregenerate libxml2.syms automated checkings (Daniel Veillard), - Make xmlRecoverDoc const (Martin Trappel) (Daniel Veillard), - Both args of xmlStrcasestr are const (Daniel Veillard), - hide the nbParse* variables used for debugging (Mike Hommey), - 570806 changed include of config.h (William M. Brack), - cleanups and error reports when xmlTextWriterVSprintf fails (Jinmei Tatuya) -
    • -
    -

    2.7.3: Jan 18 2009

    -
      -
    • Build fix: fix build when HTML support is not included.
    • -
    • Bug fixes: avoid memory overflow in gigantic text nodes, - indentation problem on the writed (Rob Richards), - xmlAddChildList pointer problem (Rob Richards and Kevin Milburn), - xmlAddChild problem with attribute (Rob Richards and Kris Breuker), - avoid a memory leak in an edge case (Daniel Zimmermann), - deallocate some pthread data (Alex Ott).
    • -
    • Improvements: configure option to avoid rebuilding docs (Adrian Bunk), - limit text nodes to 10MB max by default, add element traversal - APIs, add a parser option to enable pre 2.7 SAX behavior (Rob Richards), - add gcc malloc checking (Marcus Meissner), add gcc printf like functions - parameters checking (Marcus Meissner).
    • -
    -

    2.7.2: Oct 3 2008

    -
      -
    • Portability fix: fix solaris compilation problem, fix compilation - if XPath is not configured in
    • -
    • Bug fixes: nasty entity bug introduced in 2.7.0, restore old behaviour - when saving an HTML doc with an xml dump function, HTML UTF-8 parsing - bug, fix reader custom error handlers (Riccardo Scussat) -
    • Improvement: xmlSave options for more flexibility to save as - XML/HTML/XHTML, handle leading BOM in HTML documents
    • -
    - -

    2.7.1: Sep 1 2008

    -
      -
    • Portability fix: Borland C fix (Moritz Both)
    • -
    • Bug fixes: python serialization wrappers, XPath QName corner - case handking and leaks (Martin)
    • -
    • Improvement: extend the xmlSave to handle HTML documents and trees
    • -
    • Cleanup: python serialization wrappers
    • -
    - -

    2.7.0: Aug 30 2008

    -
      -
    • Documentation: switch ChangeLog to UTF-8, improve mutithreads and - xmlParserCleanup docs
    • -
    • Portability fixes: Older Win32 platforms (Rob Richards), MSVC - porting fix (Rob Richards), Mac OS X regression tests (Sven Herzberg), - non GNUCC builds (Rob Richards), compilation on Haiku (Andreas Färber) -
    • -
    • Bug fixes: various realloc problems (Ashwin), potential double-free - (Ashwin), regexp crash, icrash with invalid whitespace facets (Rob - Richards), pattern fix when streaming (William Brack), various XML - parsing and validation fixes based on the W3C regression tests, reader - tree skipping function fix (Ashwin), Schemas regexps escaping fix - (Volker Grabsch), handling of entity push errors (Ashwin), fix a slowdown - when encoder cant serialize characters on output
    • -
    • Code cleanup: compilation fix without the reader, without the output - (Robert Schwebel), python whitespace (Martin), many space/tabs cleanups, - serious cleanup of the entity handling code
    • -
    • Improvement: switch parser to XML-1.0 5th edition, add parsing flags - for old versions, switch URI parsing to RFC 3986, - add xmlSchemaValidCtxtGetParserCtxt (Holger Kaelberer), - new hashing functions for dictionnaries (based on Stefan Behnel work), - improve handling of misplaced html/head/body in HTML parser, better - regression test tools and code coverage display, better algorithms - to detect various versions of the billion laughts attacks, make - arbitrary parser limits avoidable as a parser option
    • -
    -

    2.6.32: Apr 8 2008

    -
      -
    • Documentation: returning heap memory to kernel (Wolfram Sang), - trying to clarify xmlCleanupParser() use, xmlXPathContext improvement - (Jack Jansen), improve the *Recover* functions documentation, - XmlNodeType doc link fix (Martijn Arts)
    • -
    • Bug fixes: internal subset memory leak (Ashwin), avoid problem with - paths starting with // (Petr Sumbera), streaming XSD validation callback - patches (Ashwin), fix redirection on port other than 80 (William Brack), - SAX2 leak (Ashwin), XInclude fragment of own document (Chris Ryan), - regexp bug with '.' (Andrew Tosh), flush the writer at the end of the - document (Alfred Mickautsch), output I/O bug fix (William Brack), - writer CDATA output after a text node (Alex Khesin), UTF-16 encoding - detection (William Brack), fix handling of empty CDATA nodes for Safari - team, python binding problem with namespace nodes, improve HTML parsing - (Arnold Hendriks), regexp automata build bug, memory leak fix (Vasily - Chekalkin), XSD test crash, weird system parameter entity parsing problem, - allow save to file:///X:/ windows paths, various attribute normalisation - problems, externalSubsetSplit fix (Ashwin), attribute redefinition in - the DTD (Ashwin), fix in char ref parsing check (Alex Khesin), many - out of memory handling fixes (Ashwin), XPath out of memory handling fixes - (Alvaro Herrera), various realloc problems (Ashwin), UCS4 encoding - conversion buffer size (Christian Fruth), problems with EatName - functions on memory errors, BOM handling in external parsed entities - (Mark Rowe)
    • -
    • Code cleanup: fix build under VS 2008 (David Wimsey), remove useless - mutex in xmlDict (Florent Guilian), Mingw32 compilation fix (Carlo - Bramini), Win and MacOS EOL cleanups (Florent Guiliani), iconv need - a const detection (Roumen Petrov), simplify xmlSetProp (Julien Charbon), - cross compilation fixes for Mingw (Roumen Petrov), SCO Openserver build - fix (Florent Guiliani), iconv uses const on Win32 (Rob Richards), - duplicate code removal (Ashwin), missing malloc test and error reports - (Ashwin), VMS makefile fix (Tycho Hilhorst)
    • -
    • improvements: better plug of schematron in the normal error handling - (Tobias Minich)
    • -
    - -

    2.6.31: Jan 11 2008

    -
      -
    • Security fix: missing of checks in UTF-8 parsing
    • -
    • Bug fixes: regexp bug, dump attribute from XHTML document, fix - xmlFree(NULL) to not crash in debug mode, Schematron parsing crash - (Rob Richards), global lock free on Windows (Marc-Antoine Ruel), - XSD crash due to double free (Rob Richards), indentation fix in - xmlTextWriterFullEndElement (Felipe Pena), error in attribute type - parsing if attribute redeclared, avoid crash in hash list scanner if - deleting elements, column counter bug fix (Christian Schmidt), - HTML embed element saving fix (Stefan Behnel), avoid -L/usr/lib - output from xml2-config (Fred Crozat), avoid an xmllint crash - (Stefan Kost), don't stop HTML parsing on out of range chars. -
    • -
    • Code cleanup: fix open() call third argument, regexp cut'n paste - copy error, unused variable in __xmlGlobalInitMutexLock (Hannes Eder), - some make distcheck realted fixes (John Carr)
    • -
    • Improvements: HTTP Header: includes port number (William Brack), - testURI --debug option,
    • -
    -

    2.6.30: Aug 23 2007

    -
      -
    • Portability: Solaris crash on error handling, windows path fixes - (Roland Schwarz and Rob Richards), mingw build (Roland Schwarz)
    • -
    • Bugfixes: xmlXPathNodeSetSort problem (William Brack), leak when - reusing a writer for a new document (Dodji Seketeli), Schemas - xsi:nil handling patch (Frank Gross), relative URI build problem - (Patrik Fimml), crash in xmlDocFormatDump, invalid char in comment - detection bug, fix disparity with xmlSAXUserParseMemory, automata - generation for complex regexp counts problems, Schemas IDC import - problems (Frank Gross), xpath predicate evailation error handling - (William Brack)
    • -
    -

    2.6.29: Jun 12 2007

    -
      -
    • Portability: patches from Andreas Stricke for WinCEi, - fix compilation warnings (William Brack), avoid warnings on Apple OS/X - (Wendy Doyle and Mark Rowe), Windows compilation and threading - improvements (Rob Richards), compilation against old Python versions, - new GNU tar changes (Ryan Hill)
    • -
    • Documentation: xmlURIUnescapeString comment,
    • -
    • Bugfixes: xmlBufferAdd problem (Richard Jones), 'make valgrind' - flag fix (Richard Jones), regexp interpretation of \, - htmlCreateDocParserCtxt (Jean-Daniel Dupas), configure.in - typo (Bjorn Reese), entity content failure, xmlListAppend() fix - (Georges-André Silber), XPath number serialization (William Brack), - nanohttp gzipped stream fix (William Brack and Alex Cornejo), - xmlCharEncFirstLine typo (Mark Rowe), uri bug (François Delyon), - XPath string value of PI nodes (William Brack), XPath node set - sorting bugs (William Brack), avoid outputting namespace decl - dups in the writer (Rob Richards), xmlCtxtReset bug, UTF-8 encoding - error handling, recustion on next in catalogs, fix a Relax-NG crash, - workaround wrong file: URIs, htmlNodeDumpFormatOutput on attributes, - invalid character in attribute detection bug, big comments before - internal subset streaming bug, HTML parsing of attributes with : in - the name, IDness of name in HTML (Dagfinn I. MannsÃ¥ker)
    • -
    • Improvement: keep URI query parts in raw form (Richard Jones), - embed tag support in HTML (Michael Day)
    • -
    - -

    2.6.28: Apr 17 2007

    -
      -
    • Documentation: comment fixes (Markus Keim), xpath comments fixes too - (James Dennett)
    • -
    • Bug fixes: XPath bug (William Brack), HTML parser autoclose stack usage - (Usamah Malik), various regexp bug fixes (DV and William), path conversion - on Windows (Igor Zlatkovic), htmlCtxtReset fix (Michael Day), XPath - principal node of axis bug, HTML serialization of some codepoint - (Steven Rainwater), user data propagation in XInclude (Michael Day), - standalone and XML decl detection (Michael Day), Python id ouptut - for some id, fix the big python string memory leak, URI parsing fixes - (Stéphane Bidoul and William), long comments parsing bug (William), - concurrent threads initialization (Ted Phelps), invalid char - in text XInclude (William), XPath memory leak (William), tab in - python problems (Andreas Hanke), XPath node comparison error - (Oleg Paraschenko), cleanup patch for reader (Julien Reichel), - XML Schemas attribute group (William), HTML parsing problem (William), - fix char 0x2d in regexps (William), regexp quantifier range with - min occurs of 0 (William), HTML script/style parsing (Mike Day)
    • -
    • Improvement: make xmlTextReaderSetup() public
    • -
    • Compilation and postability: fix a missing include problem (William), - __ss_familly on AIX again (Björn Wiberg), compilation without zlib - (Michael Day), catalog patch for Win32 (Christian Ehrlicher), - Windows CE fixes (Andreas Stricke)
    • -
    • Various CVS to SVN infrastructure changes
    • -
    -

    2.6.27: Oct 25 2006

    -
      -
    • Portability fixes: file names on windows (Roland Schwingel, - Emelyanov Alexey), windows compile fixup (Rob Richards), - AIX iconv() is apparently case sensitive
    • -
    • improvements: Python XPath types mapping (Nic Ferrier), XPath optimization - (Kasimier), add xmlXPathCompiledEvalToBoolean (Kasimier), Python node - equality and comparison (Andreas Pakulat), xmlXPathCollectAndTest - improvememt (Kasimier), expose if library was compiled with zlib - support (Andrew Nosenko), cache for xmlSchemaIDCMatcher structs - (Kasimier), xmlTextConcat should work with comments and PIs (Rob - Richards), export htmlNewParserCtxt needed by Michael Day, refactoring - of catalog entity loaders (Michael Day), add XPointer support to - python bindings (Ross Reedstrom, Brian West and Stefan Anca), - try to sort out most file path to URI conversions and xmlPathToUri, - add --html --memory case to xmllint
    • -
    • building fix: fix --with-minimum (Felipe Contreras), VMS fix, - const'ification of HTML parser structures (Matthias Clasen), - portability fix (Emelyanov Alexey), wget autodetection (Peter - Breitenlohner), remove the build path recorded in the python - shared module, separate library flags for shared and static builds - (Mikhail Zabaluev), fix --with-minimum --with-sax1 builds, fix - --with-minimum --with-schemas builds
    • -
    • bug fix: xmlGetNodePath fix (Kasimier), xmlDOMWrapAdoptNode and - attribute (Kasimier), crash when using the recover mode, - xmlXPathEvalExpr problem (Kasimier), xmlXPathCompExprAdd bug (Kasimier), - missing destry in xmlFreeRMutex (Andrew Nosenko), XML Schemas fixes - (Kasimier), warning on entities processing, XHTML script and style - serialization (Kasimier), python generator for long types, bug in - xmlSchemaClearValidCtxt (Bertrand Fritsch), xmlSchemaXPathEvaluate - allocation bug (Marton Illes), error message end of line (Rob Richards), - fix attribute serialization in writer (Rob Richards), PHP4 DTD validation - crasher, parser safety patch (Ben Darnell), _private context propagation - when parsing entities (with Michael Day), fix entities behaviour when - using SAX, URI to file path fix (Mikhail Zabaluev), disapearing validity - context, arg error in SAX callback (Mike Hommey), fix mixed-content - autodetect when using --noblanks, fix xmlIOParseDTD error handling, - fix bug in xmlSplitQName on special Names, fix Relax-NG element content - validation bug, fix xmlReconciliateNs bug, fix potential attribute - XML parsing bug, fix line/column accounting in XML parser, chunking bug - in the HTML parser on script, try to detect obviously buggy HTML - meta encoding indications, bugs with encoding BOM and xmlSaveDoc, - HTML entities in attributes parsing, HTML minimized attribute values, - htmlReadDoc and htmlReadIO were broken, error handling bug in - xmlXPathEvalExpression (Olaf Walkowiak), fix a problem in - htmlCtxtUseOptions, xmlNewInputFromFile could leak (Marius Konitzer), - bug on misformed SSD regexps (Christopher Boumenot) -
    • -
    • documentation: warning about XML_PARSE_COMPACT (Kasimier Buchcik), - fix xmlXPathCastToString documentation, improve man pages for - xmllitn and xmlcatalog (Daniel Leidert), fixed comments of a few - functions
    • -
    -

    2.6.26: Jun 6 2006

    -
      -
    • portability fixes: Python detection (Joseph Sacco), compilation - error(William Brack and Graham Bennett), LynxOS patch (Olli Savia)
    • -
    • bug fixes: encoding buffer problem, mix of code and data in - xmlIO.c(Kjartan Maraas), entities in XSD validation (Kasimier Buchcik), - variousXSD validation fixes (Kasimier), memory leak in pattern (Rob - Richards andKasimier), attribute with colon in name (Rob Richards), XPath - leak inerror reporting (Aleksey Sanin), XInclude text include of - selfdocument.
    • -
    • improvements: Xpath optimizations (Kasimier), XPath object - cache(Kasimier)
    • -
    - -

    2.6.25: Jun 6 2006:

    - -

    Do not use or package 2.6.25

    - -

    2.6.24: Apr 28 2006

    -
      -
    • Portability fixes: configure on Windows, testapi compile on windows - (Kasimier Buchcik, venkat naidu), Borland C++ 6 compile (Eric Zurcher), - HP-UX compiler workaround (Rick Jones), xml2-config bugfix, gcc-4.1 - cleanups, Python detection scheme (Joseph Sacco), UTF-8 file paths on - Windows (Roland Schwingel). -
    • -
    • Improvements: xmlDOMWrapReconcileNamespaces xmlDOMWrapCloneNode (Kasimier - Buchcik), XML catalog debugging (Rick Jones), update to Unicode 4.01.
    • -
    • Bug fixes: xmlParseChunk() problem in 2.6.23, xmlParseInNodeContext() - on HTML docs, URI behaviour on Windows (Rob Richards), comment streaming - bug, xmlParseComment (with William Brack), regexp bug fixes (DV & - Youri Golovanov), xmlGetNodePath on text/CDATA (Kasimier), - one Relax-NG interleave bug, xmllint --path and --valid, - XSD bugfixes (Kasimier), remove debug - left in Python bindings (Nic Ferrier), xmlCatalogAdd bug (Martin Cole), - xmlSetProp fixes (Rob Richards), HTML IDness (Rob Richards), a large - number of cleanups and small fixes based on Coverity reports, bug - in character ranges, Unicode tables const (Aivars Kalvans), schemas - fix (Stefan Kost), xmlRelaxNGParse error deallocation, - xmlSchemaAddSchemaDoc error deallocation, error handling on unallowed - code point, ixmllint --nonet to never reach the net (Gary Coady), - line break in writer after end PI (Jason Viers).
    • -
    • Documentation: man pages updates and cleanups (Daniel Leidert).
    • -
    • New features: Relax NG structure error handlers.
    • -
    - -

    2.6.23: Jan 5 2006

    -
      -
    • portability fixes: Windows (Rob Richards), getaddrinfo on Windows - (Kolja Nowak, Rob Richards), icc warnings (Kjartan Maraas), - --with-minimum compilation fixes (William Brack), error case handling fix - on Solaris (Albert Chin), don't use 'list' as parameter name reported by - Samuel Diaz Garcia, more old Unices portability fixes (Albert Chin), - MinGW compilation (Mark Junker), HP-UX compiler warnings (Rick - Jones),
    • -
    • code cleanup: xmlReportError (Adrian Mouat), remove xmlBufferClose - (Geert Jansen), unreachable code (Oleksandr Kononenko), refactoring - parsing code (Bjorn Reese)
    • -
    • bug fixes: xmlBuildRelativeURI and empty path (William Brack), - combinatory explosion and performances in regexp code, leak in - xmlTextReaderReadString(), xmlStringLenDecodeEntities problem (Massimo - Morara), Identity Constraints bugs and a segfault (Kasimier Buchcik), - XPath pattern based evaluation bugs (DV & Kasimier), - xmlSchemaContentModelDump() memory leak (Kasimier), potential leak in - xmlSchemaCheckCSelectorXPath(), xmlTextWriterVSprintf() misuse of - vsnprintf (William Brack), XHTML serialization fix (Rob Richards), CRLF - split problem (William), issues with non-namespaced attributes in - xmlAddChild() xmlAddNextSibling() and xmlAddPrevSibling() (Rob Richards), - HTML parsing of script, Python must not output to stdout (Nic Ferrier), - exclusive C14N namespace visibility (Aleksey Sanin), XSD dataype - totalDigits bug (Kasimier Buchcik), error handling when writing to an - xmlBuffer (Rob Richards), runtest schemas error not reported (Hisashi - Fujinaka), signed/unsigned problem in date/time code (Albert Chin), fix - XSI driven XSD validation (Kasimier), parsing of xs:decimal (Kasimier), - fix DTD writer output (Rob Richards), leak in xmlTextReaderReadInnerXml - (Gary Coady), regexp bug affecting schemas (Kasimier), configuration of - runtime debugging (Kasimier), xmlNodeBufGetContent bug on entity refs - (Oleksandr Kononenko), xmlRegExecPushString2 bug (Sreeni Nair), - compilation and build fixes (Michael Day), removed dependancies on - xmlSchemaValidError (Kasimier), bug with <xml:foo/>, more XPath - pattern based evaluation fixes (Kasimier)
    • -
    • improvements: XSD Schemas redefinitions/restrictions (Kasimier - Buchcik), node copy checks and fix for attribute (Rob Richards), counted - transition bug in regexps, ctxt->standalone = -2 to indicate no - standalone attribute was found, add xmlSchemaSetParserStructuredErrors() - (Kasimier Buchcik), add xmlTextReaderSchemaValidateCtxt() to API - (Kasimier), handle gzipped HTTP resources (Gary Coady), add - htmlDocDumpMemoryFormat. (Rob Richards),
    • -
    • documentation: typo (Michael Day), libxml man page (Albert Chin), save - function to XML buffer (Geert Jansen), small doc fix (Aron Stansvik),
    • -
    - -

    2.6.22: Sep 12 2005

    -
      -
    • build fixes: compile without schematron (Stéphane Bidoul)
    • -
    • bug fixes: xmlDebugDumpNode on namespace node (Oleg Paraschenko)i, - CDATA push parser bug, xmlElemDump problem with XHTML1 doc, - XML_FEATURE_xxx clash with expat headers renamed XML_WITH_xxx, fix some - output formatting for meta element (Rob Richards), script and style - XHTML1 serialization (David Madore), Attribute derivation fixups in XSD - (Kasimier Buchcik), better IDC error reports (Kasimier Buchcik)
    • -
    • improvements: add XML_SAVE_NO_EMPTY xmlSaveOption (Rob Richards), add - XML_SAVE_NO_XHTML xmlSaveOption, XML Schemas improvements preparing for - derive (Kasimier Buchcik).
    • -
    • documentation: generation of gtk-doc like docs, integration with - devhelp.
    • -
    - -

    2.6.21: Sep 4 2005

    -
      -
    • build fixes: Cygwin portability fixes (Gerrit P. Haase), calling - convention problems on Windows (Marcus Boerger), cleanups based on Linus' - sparse tool, update of win32/configure.js (Rob Richards), remove warnings - on Windows(Marcus Boerger), compilation without SAX1, detection of the - Python binary, use $GCC inestad of $CC = 'gcc' (Andrew W. Nosenko), - compilation/link with threads and old gcc, compile problem by C370 on - Z/OS,
    • -
    • bug fixes: http_proxy environments (Peter Breitenlohner), HTML UTF-8 - bug (Jiri Netolicky), XPath NaN compare bug (William Brack), - htmlParseScript potential bug, Schemas regexp handling of spaces, Base64 - Schemas comparisons NIST passes, automata build error xsd:all, - xmlGetNodePath for namespaced attributes (Alexander Pohoyda), xmlSchemas - foreign namespaces handling, XML Schemas facet comparison (Kupriyanov - Anatolij), xmlSchemaPSimpleTypeErr error report (Kasimier Buchcik), xml: - namespace ahndling in Schemas (Kasimier), empty model group in Schemas - (Kasimier), wilcard in Schemas (Kasimier), URI composition (William), - xs:anyType in Schemas (Kasimier), Python resolver emmitting error - messages directly, Python xmlAttr.parent (Jakub Piotr Clapa), trying to - fix the file path/URI conversion, xmlTextReaderGetAttribute fix (Rob - Richards), xmlSchemaFreeAnnot memleak (Kasimier), HTML UTF-8 - serialization, streaming XPath, Schemas determinism detection problem, - XInclude bug, Schemas context type (Dean Hill), validation fix (Derek - Poon), xmlTextReaderGetAttribute[Ns] namespaces (Rob Richards), Schemas - type fix (Kuba Nowakowski), UTF-8 parser bug, error in encoding handling, - xmlGetLineNo fixes, bug on entities handling, entity name extraction in - error handling with XInclude, text nodes in HTML body tags (Gary Coady), - xml:id and IDness at the treee level fixes, XPath streaming patterns - bugs.
    • -
    • improvements: structured interfaces for schemas and RNG error reports - (Marcus Boerger), optimization of the char data inner loop parsing - (thanks to Behdad Esfahbod for the idea), schematron validation though - not finished yet, xmlSaveOption to omit XML declaration, keyref match - error reports (Kasimier), formal expression handling code not plugged - yet, more lax mode for the HTML parser, parser XML_PARSE_COMPACT option - for text nodes allocation.
    • -
    • documentation: xmllint man page had --nonet duplicated
    • -
    - -

    2.6.20: Jul 10 2005

    -
      -
    • build fixes: Windows build (Rob Richards), Mingw compilation (Igor - Zlatkovic), Windows Makefile (Igor), gcc warnings (Kasimier and - andriy@google.com), use gcc weak references to pthread to avoid the - pthread dependancy on Linux, compilation problem (Steve Nairn), compiling - of subset (Morten Welinder), IPv6/ss_family compilation (William Brack), - compilation when disabling parts of the library, standalone test - distribution.
    • -
    • bug fixes: bug in lang(), memory cleanup on errors (William Brack), - HTTP query strings (Aron Stansvik), memory leak in DTD (William), integer - overflow in XPath (William), nanoftp buffer size, pattern "." apth fixup - (Kasimier), leak in tree reported by Malcolm Rowe, replaceNode patch - (Brent Hendricks), CDATA with NULL content (Mark Vakoc), xml:base fixup - on XInclude (William), pattern fixes (William), attribute bug in - exclusive c14n (Aleksey Sanin), xml:space and xml:lang with SAX2 (Rob - Richards), namespace trouble in complex parsing (Malcolm Rowe), XSD type - QNames fixes (Kasimier), XPath streaming fixups (William), RelaxNG bug - (Rob Richards), Schemas for Schemas fixes (Kasimier), removal of ID (Rob - Richards), a small RelaxNG leak, HTML parsing in push mode bug (James - Bursa), failure to detect UTF-8 parsing bugs in CDATA sections, - areBlanks() heuristic failure, duplicate attributes in DTD bug - (William).
    • -
    • improvements: lot of work on Schemas by Kasimier Buchcik both on - conformance and streaming, Schemas validation messages (Kasimier Buchcik, - Matthew Burgess), namespace removal at the python level (Brent - Hendricks), Update to new Schemas regression tests from W3C/Nist - (Kasimier), xmlSchemaValidateFile() (Kasimier), implementation of - xmlTextReaderReadInnerXml and xmlTextReaderReadOuterXml (James Wert), - standalone test framework and programs, new DOM import APIs - xmlDOMWrapReconcileNamespaces() xmlDOMWrapAdoptNode() and - xmlDOMWrapRemoveNode(), extension of xmllint capabilities for SAX and - Schemas regression tests, xmlStopParser() available in pull mode too, - ienhancement to xmllint --shell namespaces support, Windows port of the - standalone testing tools (Kasimier and William), - xmlSchemaValidateStream() xmlSchemaSAXPlug() and xmlSchemaSAXUnplug() SAX - Schemas APIs, Schemas xmlReader support.
    • -
    - -

    2.6.19: Apr 02 2005

    -
      -
    • build fixes: drop .la from RPMs, --with-minimum build fix (William - Brack), use XML_SOCKLEN_T instead of SOCKLEN_T because it breaks with AIX - 5.3 compiler, fixed elfgcchack.h generation and PLT reduction code on - Linux/ELF/gcc4
    • -
    • bug fixes: schemas type decimal fixups (William Brack), xmmlint return - code (Gerry Murphy), small schemas fixes (Matthew Burgess and GUY - Fabrice), workaround "DAV:" namespace brokeness in c14n (Aleksey Sanin), - segfault in Schemas (Kasimier Buchcik), Schemas attribute validation - (Kasimier), Prop related functions and xmlNewNodeEatName (Rob Richards), - HTML serialization of name attribute on a elements, Python error handlers - leaks and improvement (Brent Hendricks), uninitialized variable in - encoding code, Relax-NG validation bug, potential crash if - gnorableWhitespace is NULL, xmlSAXParseDoc and xmlParseDoc signatures, - switched back to assuming UTF-8 in case no encoding is given at - serialization time
    • -
    • improvements: lot of work on Schemas by Kasimier Buchcik on facets - checking and also mixed handling.
    • -
    • -
    - -

    2.6.18: Mar 13 2005

    -
      -
    • build fixes: warnings (Peter Breitenlohner), testapi.c generation, - Bakefile support (Francesco Montorsi), Windows compilation (Joel Reed), - some gcc4 fixes, HP-UX portability fixes (Rick Jones).
    • -
    • bug fixes: xmlSchemaElementDump namespace (Kasimier Buchcik), push and - xmlreader stopping on non-fatal errors, thread support for dictionnaries - reference counting (Gary Coady), internal subset and push problem, URL - saved in xmlCopyDoc, various schemas bug fixes (Kasimier), Python paths - fixup (Stephane Bidoul), xmlGetNodePath and namespaces, xmlSetNsProp fix - (Mike Hommey), warning should not count as error (William Brack), - xmlCreatePushParser empty chunk, XInclude parser flags (William), cleanup - FTP and HTTP code to reuse the uri parsing and IPv6 (William), - xmlTextWriterStartAttributeNS fix (Rob Richards), XMLLINT_INDENT being - empty (William), xmlWriter bugs (Rob Richards), multithreading on Windows - (Rich Salz), xmlSearchNsByHref fix (Kasimier), Python binding leak (Brent - Hendricks), aliasing bug exposed by gcc4 on s390, xmlTextReaderNext bug - (Rob Richards), Schemas decimal type fixes (William Brack), - xmlByteConsumed static buffer (Ben Maurer).
    • -
    • improvement: speedup parsing comments and DTDs, dictionnary support for - hash tables, Schemas Identity constraints (Kasimier), streaming XPath - subset, xmlTextReaderReadString added (Bjorn Reese), Schemas canonical - values handling (Kasimier), add xmlTextReaderByteConsumed (Aron - Stansvik),
    • -
    • Documentation: Wiki support (Joel Reed)
    • -
    - -

    2.6.17: Jan 16 2005

    -
      -
    • build fixes: Windows, warnings removal (William Brack), - maintainer-clean dependency(William), build in a different directory - (William), fixing --with-minimum configure build (William), BeOS build - (Marcin Konicki), Python-2.4 detection (William), compilation on AIX (Dan - McNichol)
    • -
    • bug fixes: xmlTextReaderHasAttributes (Rob Richards), xmlCtxtReadFile() - to use the catalog(s), loop on output (William Brack), XPath memory leak, - ID deallocation problem (Steve Shepard), debugDumpNode crash (William), - warning not using error callback (William), xmlStopParser bug (William), - UTF-16 with BOM on DTDs (William), namespace bug on empty elements in - push mode (Rob Richards), line and col computations fixups (Aleksey - Sanin), xmlURIEscape fix (William), xmlXPathErr on bad range (William), - patterns with too many steps, bug in RNG choice optimization, line number - sometimes missing.
    • -
    • improvements: XSD Schemas (Kasimier Buchcik), python generator - (William), xmlUTF8Strpos speedup (William), unicode Python strings - (William), XSD error reports (Kasimier Buchcik), Python __str__ call - serialize().
    • -
    • new APIs: added xmlDictExists(), GetLineNumber and GetColumnNumber for - the xmlReader (Aleksey Sanin), Dynamic Shared Libraries APIs (mostly Joel - Reed), error extraction API from regexps, new XMLSave option for format - (Phil Shafer)
    • -
    • documentation: site improvement (John Fleck), FAQ entries - (William).
    • -
    - -

    2.6.16: Nov 10 2004

    -
      -
    • general hardening and bug fixing crossing all the API based on new - automated regression testing
    • -
    • build fix: IPv6 build and test on AIX (Dodji Seketeli)
    • -
    • bug fixes: problem with XML::Libxml reported by Petr Pajas, encoding - conversion functions return values, UTF-8 bug affecting XPath reported by - Markus Bertheau, catalog problem with NULL entries (William Brack)
    • -
    • documentation: fix to xmllint man page, some API function descritpion - were updated.
    • -
    • improvements: DTD validation APIs provided at the Python level (Brent - Hendricks)
    • -
    - -

    2.6.15: Oct 27 2004

    -
      -
    • security fixes on the nanoftp and nanohttp modules
    • -
    • build fixes: xmllint detection bug in configure, building outside the - source tree (Thomas Fitzsimmons)
    • -
    • bug fixes: HTML parser on broken ASCII chars in names (William), Python - paths (Malcolm Tredinnick), xmlHasNsProp and default namespace (William), - saving to python file objects (Malcolm Tredinnick), DTD lookup fix - (Malcolm), save back <group> in catalogs (William), tree build - fixes (DV and Rob Richards), Schemas memory bug, structured error handler - on Python 64bits, thread local memory deallocation, memory leak reported - by Volker Roth, xmlValidateDtd in the presence of an internal subset, - entities and _private problem (William), xmlBuildRelativeURI error - (William).
    • -
    • improvements: better XInclude error reports (William), tree debugging - module and tests, convenience functions at the Reader API (Graham - Bennett), add support for PI in the HTML parser.
    • -
    - -

    2.6.14: Sep 29 2004

    -
      -
    • build fixes: configure paths for xmllint and xsltproc, compilation - without HTML parser, compilation warning cleanups (William Brack & - Malcolm Tredinnick), VMS makefile update (Craig Berry),
    • -
    • bug fixes: xmlGetUTF8Char (William Brack), QName properties (Kasimier - Buchcik), XInclude testing, Notation serialization, UTF8ToISO8859x - transcoding (Mark Itzcovitz), lots of XML Schemas cleanup and fixes - (Kasimier), ChangeLog cleanup (Stepan Kasal), memory fixes (Mark Vakoc), - handling of failed realloc(), out of bound array adressing in Schemas - date handling, Python space/tabs cleanups (Malcolm Tredinnick), NMTOKENS - E20 validation fix (Malcolm),
    • -
    • improvements: added W3C XML Schemas testsuite (Kasimier Buchcik), add - xmlSchemaValidateOneElement (Kasimier), Python exception hierearchy - (Malcolm Tredinnick), Python libxml2 driver improvement (Malcolm - Tredinnick), Schemas support for xsi:schemaLocation, - xsi:noNamespaceSchemaLocation, xsi:type (Kasimier Buchcik)
    • -
    - -

    2.6.13: Aug 31 2004

    -
      -
    • build fixes: Windows and zlib (Igor Zlatkovic), -O flag with gcc, - Solaris compiler warning, fixing RPM BuildRequires,
    • -
    • fixes: DTD loading on Windows (Igor), Schemas error reports APIs - (Kasimier Buchcik), Schemas validation crash, xmlCheckUTF8 (William Brack - and Julius Mittenzwei), Schemas facet check (Kasimier), default namespace - problem (William), Schemas hexbinary empty values, encoding error could - genrate a serialization loop.
    • -
    • Improvements: Schemas validity improvements (Kasimier), added --path - and --load-trace options to xmllint
    • -
    • documentation: tutorial update (John Fleck)
    • -
    - -

    2.6.12: Aug 22 2004

    -
      -
    • build fixes: fix --with-minimum, elfgcchack.h fixes (Peter - Breitenlohner), perl path lookup (William), diff on Solaris (Albert - Chin), some 64bits cleanups.
    • -
    • Python: avoid a warning with 2.3 (William Brack), tab and space mixes - (William), wrapper generator fixes (William), Cygwin support (Gerrit P. - Haase), node wrapper fix (Marc-Antoine Parent), XML Schemas support - (Torkel Lyng)
    • -
    • Schemas: a lot of bug fixes and improvements from Kasimier Buchcik
    • -
    • fixes: RVT fixes (William), XPath context resets bug (William), memory - debug (Steve Hay), catalog white space handling (Peter Breitenlohner), - xmlReader state after attribute reading (William), structured error - handler (William), XInclude generated xml:base fixup (William), Windows - memory reallocation problem (Steve Hay), Out of Memory conditions - handling (William and Olivier Andrieu), htmlNewDoc() charset bug, - htmlReadMemory init (William), a posteriori validation DTD base - (William), notations serialization missing, xmlGetNodePath (Dodji), - xmlCheckUTF8 (Diego Tartara), missing line numbers on entity - (William)
    • -
    • improvements: DocBook catalog build scrip (William), xmlcatalog tool - (Albert Chin), xmllint --c14n option, no_proxy environment (Mike Hommey), - xmlParseInNodeContext() addition, extend xmllint --shell, allow XInclude - to not generate start/end nodes, extend xmllint --version to include CVS - tag (William)
    • -
    • documentation: web pages fixes, validity API docs fixes (William) - schemas API fix (Eric Haszlakiewicz), xmllint man page (John Fleck)
    • -
    - -

    2.6.11: July 5 2004

    -
      -
    • Schemas: a lot of changes and improvements by Kasimier Buchcik for - attributes, namespaces and simple types.
    • -
    • build fixes: --with-minimum (William Brack), some gcc cleanup - (William), --with-thread-alloc (William)
    • -
    • portability: Windows binary package change (Igor Zlatkovic), Catalog - path on Windows
    • -
    • documentation: update to the tutorial (John Fleck), xmllint return code - (John Fleck), man pages (Ville Skytta),
    • -
    • bug fixes: C14N bug serializing namespaces (Aleksey Sanin), testSAX - properly initialize the library (William), empty node set in XPath - (William), xmlSchemas errors (William), invalid charref problem pointed - by Morus Walter, XInclude xml:base generation (William), Relax-NG bug - with div processing (William), XPointer and xml:base problem(William), - Reader and entities, xmllint return code for schemas (William), reader - streaming problem (Steve Ball), DTD serialization problem (William), - libxml.m4 fixes (Mike Hommey), do not provide destructors as methods on - Python classes, xmlReader buffer bug, Python bindings memory interfaces - improvement (with Stéphane Bidoul), Fixed the push parser to be back to - synchronous behaviour.
    • -
    • improvement: custom per-thread I/O enhancement (Rob Richards), register - namespace in debug shell (Stefano Debenedetti), Python based regression - test for non-Unix users (William), dynamically increase the number of - XPath extension functions in Python and fix a memory leak (Marc-Antoine - Parent and William)
    • -
    • performance: hack done with Arjan van de Ven to reduce ELF footprint - and generated code on Linux, plus use gcc runtime profiling to optimize - the code generated in the RPM packages.
    • -
    - -

    2.6.10: May 17 2004

    -
      -
    • Web page generated for ChangeLog
    • -
    • build fixes: --without-html problems, make check without make all
    • -
    • portability: problem with xpath.c on Windows (MSC and Borland), memcmp - vs. strncmp on Solaris, XPath tests on Windows (Mark Vakoc), C++ do not - use "list" as parameter name, make tests work with Python 1.5 (Ed - Davis),
    • -
    • improvements: made xmlTextReaderMode public, small buffers resizing - (Morten Welinder), add --maxmem option to xmllint, add - xmlPopInputCallback() for Matt Sergeant, refactoring of serialization - escaping, added escaping customization
    • -
    • bugfixes: xsd:extension (Taihei Goi), assorted regexp bugs (William - Brack), xmlReader end of stream problem, node deregistration with reader, - URI escaping and filemanes, XHTML1 formatting (Nick Wellnhofer), regexp - transition reduction (William), various XSD Schemas fixes (Kasimier - Buchcik), XInclude fallback problem (William), weird problems with DTD - (William), structured error handler callback context (William), reverse - xmlEncodeSpecialChars() behaviour back to escaping '"'
    • -
    - -

    2.6.9: Apr 18 2004

    -
      -
    • implement xml:id Working Draft, relaxed XPath id() checking
    • -
    • bugfixes: xmlCtxtReset (Brent Hendricks), line number and CDATA (Dave - Beckett), Relax-NG compilation (William Brack), Regexp patches (with - William), xmlUriEscape (Mark Vakoc), a Relax-NG notAllowed problem (with - William), Relax-NG name classes compares (William), XInclude duplicate - fallback (William), external DTD encoding detection (William), a DTD - validation bug (William), xmlReader Close() fix, recusive extention - schemas
    • -
    • improvements: use xmlRead* APIs in test tools (Mark Vakoc), indenting - save optimization, better handle IIS broken HTTP redirect behaviour (Ian - Hummel), HTML parser frameset (James Bursa), libxml2-python RPM - dependancy, XML Schemas union support (Kasimier Buchcik), warning removal - clanup (William), keep ChangeLog compressed when installing from RPMs
    • -
    • documentation: examples and xmlDocDumpMemory docs (John Fleck), new - example (load, xpath, modify, save), xmlCatalogDump() comments,
    • -
    • Windows: Borland C++ builder (Eric Zurcher), work around Microsoft - compiler NaN handling bug (Mark Vakoc)
    • -
    - -

    2.6.8: Mar 23 2004

    -
      -
    • First step of the cleanup of the serialization code and APIs
    • -
    • XML Schemas: mixed content (Adam Dickmeiss), QName handling fixes (Adam - Dickmeiss), anyURI for "" (John Belmonte)
    • -
    • Python: Canonicalization C14N support added (Anthony Carrico)
    • -
    • xmlDocCopyNode() extension (William)
    • -
    • Relax-NG: fix when processing XInclude results (William), external - reference in interleave (William), missing error on <choice> - failure (William), memory leak in schemas datatype facets.
    • -
    • xmlWriter: patch for better DTD support (Alfred Mickautsch)
    • -
    • bug fixes: xmlXPathLangFunction memory leak (Mike Hommey and William - Brack), no ID errors if using HTML_PARSE_NOERROR, xmlcatalog fallbacks to - URI on SYSTEM lookup failure, XInclude parse flags inheritance (William), - XInclude and XPointer fixes for entities (William), XML parser bug - reported by Holger Rauch, nanohttp fd leak (William), regexps char - groups '-' handling (William), dictionnary reference counting problems, - do not close stderr.
    • -
    • performance patches from Petr Pajas
    • -
    • Documentation fixes: XML_CATALOG_FILES in man pages (Mike Hommey)
    • -
    • compilation and portability fixes: --without-valid, catalog cleanups - (Peter Breitenlohner), MingW patch (Roland Schwingel), cross-compilation - to Windows (Christophe de Vienne), --with-html-dir fixup (Julio Merino - Vidal), Windows build (Eric Zurcher)
    • -
    - -

    2.6.7: Feb 23 2004

    -
      -
    • documentation: tutorial updates (John Fleck), benchmark results
    • -
    • xmlWriter: updates and fixes (Alfred Mickautsch, Lucas Brasilino)
    • -
    • XPath optimization (Petr Pajas)
    • -
    • DTD ID handling optimization
    • -
    • bugfixes: xpath number with > 19 fractional (William Brack), push - mode with unescaped '>' characters, fix xmllint --stream --timing, fix - xmllint --memory --stream memory usage, xmlAttrSerializeTxtContent - handling NULL, trying to fix Relax-NG/Perl interface.
    • -
    • python: 2.3 compatibility, whitespace fixes (Malcolm Tredinnick)
    • -
    • Added relaxng option to xmllint --shell
    • -
    - -

    2.6.6: Feb 12 2004

    -
      -
    • nanohttp and nanoftp: buffer overflow error on URI parsing (Igor and - William) reported by Yuuichi Teranishi
    • -
    • bugfixes: make test and path issues, xmlWriter attribute serialization - (William Brack), xmlWriter indentation (William), schemas validation - (Eric Haszlakiewicz), XInclude dictionnaries issues (William and Oleg - Paraschenko), XInclude empty fallback (William), HTML warnings (William), - XPointer in XInclude (William), Python namespace serialization, - isolat1ToUTF8 bound error (Alfred Mickautsch), output of parameter - entities in internal subset (William), internal subset bug in push mode, - <xs:all> fix (Alexey Sarytchev)
    • -
    • Build: fix for automake-1.8 (Alexander Winston), warnings removal - (Philip Ludlam), SOCKLEN_T detection fixes (Daniel Richard), fix - --with-minimum configuration.
    • -
    • XInclude: allow the 2001 namespace without warning.
    • -
    • Documentation: missing example/index.html (John Fleck), version - dependancies (John Fleck)
    • -
    • reader API: structured error reporting (Steve Ball)
    • -
    • Windows compilation: mingw, msys (Mikhail Grushinskiy), function - prototype (Cameron Johnson), MSVC6 compiler warnings, _WINSOCKAPI_ - patch
    • -
    • Parsers: added xmlByteConsumed(ctxt) API to get the byte offest in - input.
    • -
    - -

    2.6.5: Jan 25 2004

    -
      -
    • Bugfixes: dictionnaries for schemas (William Brack), regexp segfault - (William), xs:all problem (William), a number of XPointer bugfixes - (William), xmllint error go to stderr, DTD validation problem with - namespace, memory leak (William), SAX1 cleanup and minimal options fixes - (Mark Vadoc), parser context reset on error (Shaun McCance), XPath union - evaluation problem (William) , xmlReallocLoc with NULL (Aleksey Sanin), - XML Schemas double free (Steve Ball), XInclude with no href, argument - callbacks order for XPath callbacks (Frederic Peters)
    • -
    • Documentation: python scripts (William Brack), xslt stylesheets (John - Fleck), doc (Sven Zimmerman), I/O example.
    • -
    • Python bindings: fixes (William), enum support (Stéphane Bidoul), - structured error reporting (Stéphane Bidoul)
    • -
    • XInclude: various fixes for conformance, problem related to dictionnary - references (William & me), recursion (William)
    • -
    • xmlWriter: indentation (Lucas Brasilino), memory leaks (Alfred - Mickautsch),
    • -
    • xmlSchemas: normalizedString datatype (John Belmonte)
    • -
    • code cleanup for strings functions (William)
    • -
    • Windows: compiler patches (Mark Vakoc)
    • -
    • Parser optimizations, a few new XPath and dictionnary APIs for future - XSLT optimizations.
    • -
    - -

    2.6.4: Dec 24 2003

    -
      -
    • Windows build fixes (Igor Zlatkovic)
    • -
    • Some serious XInclude problems reported by Oleg Paraschenko and
    • -
    • Unix and Makefile packaging fixes (me, William Brack,
    • -
    • Documentation improvements (John Fleck, William Brack), example fix - (Lucas Brasilino)
    • -
    • bugfixes: xmlTextReaderExpand() with xmlReaderWalker, XPath handling of - NULL strings (William Brack) , API building reader or parser from - filedescriptor should not close it, changed XPath sorting to be stable - again (William Brack), xmlGetNodePath() generating '(null)' (William - Brack), DTD validation and namespace bug (William Brack), XML Schemas - double inclusion behaviour
    • -
    - -

    2.6.3: Dec 10 2003

    -
      -
    • documentation updates and cleanup (DV, William Brack, John Fleck)
    • -
    • added a repository of examples, examples from Aleksey Sanin, Dodji - Seketeli, Alfred Mickautsch
    • -
    • Windows updates: Mark Vakoc, Igor Zlatkovic, Eric Zurcher, Mingw - (Kenneth Haley)
    • -
    • Unicode range checking (William Brack)
    • -
    • code cleanup (William Brack)
    • -
    • Python bindings: doc (John Fleck), bug fixes
    • -
    • UTF-16 cleanup and BOM issues (William Brack)
    • -
    • bug fixes: ID and xmlReader validation, XPath (William Brack), - xmlWriter (Alfred Mickautsch), hash.h inclusion problem, HTML parser - (James Bursa), attribute defaulting and validation, some serialization - cleanups, XML_GET_LINE macro, memory debug when using threads (William - Brack), serialization of attributes and entities content, xmlWriter - (Daniel Schulman)
    • -
    • XInclude bugfix, new APIs and update to the last version including the - namespace change.
    • -
    • XML Schemas improvements: include (Robert Stepanek), import and - namespace handling, fixed the regression tests troubles, added examples - based on Eric van der Vlist book, regexp fixes
    • -
    • preliminary pattern support for streaming (needed for schemas - constraints), added xmlTextReaderPreservePattern() to collect subdocument - when streaming.
    • -
    • various fixes in the structured error handling
    • -
    - -

    2.6.2: Nov 4 2003

    -
      -
    • XPath context unregistration fixes
    • -
    • text node coalescing fixes (Mark Lilback)
    • -
    • API to screate a W3C Schemas from an existing document (Steve Ball)
    • -
    • BeOS patches (Marcin 'Shard' Konicki)
    • -
    • xmlStrVPrintf function added (Aleksey Sanin)
    • -
    • compilation fixes (Mark Vakoc)
    • -
    • stdin parsing fix (William Brack)
    • -
    • a posteriori DTD validation fixes
    • -
    • xmlReader bug fixes: Walker fixes, python bindings
    • -
    • fixed xmlStopParser() to really stop the parser and errors
    • -
    • always generate line numbers when using the new xmlReadxxx - functions
    • -
    • added XInclude support to the xmlReader interface
    • -
    • implemented XML_PARSE_NONET parser option
    • -
    • DocBook XSLT processing bug fixed
    • -
    • HTML serialization for <p> elements (William Brack and me)
    • -
    • XPointer failure in XInclude are now handled as resource errors
    • -
    • fixed xmllint --html to use the HTML serializer on output (added - --xmlout to implement the previous behaviour of saving it using the XML - serializer)
    • -
    - -

    2.6.1: Oct 28 2003

    -
      -
    • Mostly bugfixes after the big 2.6.0 changes
    • -
    • Unix compilation patches: libxml.m4 (Patrick Welche), warnings cleanup - (William Brack)
    • -
    • Windows compilation patches (Joachim Bauch, Stephane Bidoul, Igor - Zlatkovic)
    • -
    • xmlWriter bugfix (Alfred Mickautsch)
    • -
    • chvalid.[ch]: couple of fixes from Stephane Bidoul
    • -
    • context reset: error state reset, push parser reset (Graham - Bennett)
    • -
    • context reuse: generate errors if file is not readable
    • -
    • defaulted attributes for element coming from internal entities - (Stephane Bidoul)
    • -
    • Python: tab and spaces mix (William Brack)
    • -
    • Error handler could crash in DTD validation in 2.6.0
    • -
    • xmlReader: do not use the document or element _private field
    • -
    • testSAX.c: avoid a problem with some PIs (Massimo Morara)
    • -
    • general bug fixes: mandatory encoding in text decl, serializing - Document Fragment nodes, xmlSearchNs 2.6.0 problem (Kasimier Buchcik), - XPath errors not reported, slow HTML parsing of large documents.
    • -
    - -

    2.6.0: Oct 20 2003

    -
      -
    • Major revision release: should be API and ABI compatible but got a lot - of change
    • -
    • Increased the library modularity, far more options can be stripped out, - a --with-minimum configuration will weight around 160KBytes
    • -
    • Use per parser and per document dictionnary, allocate names and small - text nodes from the dictionnary
    • -
    • Switch to a SAX2 like parser rewrote most of the XML parser core, - provides namespace resolution and defaulted attributes, minimize memory - allocations and copies, namespace checking and specific error handling, - immutable buffers, make predefined entities static structures, etc...
    • -
    • rewrote all the error handling in the library, all errors can be - intercepted at a structured level, with precise information - available.
    • -
    • New simpler and more generic XML and HTML parser APIs, allowing to - easilly modify the parsing options and reuse parser context for multiple - consecutive documents.
    • -
    • Similar new APIs for the xmlReader, for options and reuse, provided new - functions to access content as const strings, use them for Python - bindings
    • -
    • a lot of other smaller API improvements: xmlStrPrintf (Aleksey Sanin), - Walker i.e. reader on a document tree based on Alfred Mickautsch code, - make room in nodes for line numbers, reference counting and future PSVI - extensions, generation of character ranges to be checked with faster - algorithm (William), xmlParserMaxDepth (Crutcher Dunnavant), buffer - access
    • -
    • New xmlWriter API provided by Alfred Mickautsch
    • -
    • Schemas: base64 support by Anthony Carrico
    • -
    • Parser<->HTTP integration fix, proper processing of the Mime-Type - and charset information if available.
    • -
    • Relax-NG: bug fixes including the one reported by Martijn Faassen and - zeroOrMore, better error reporting.
    • -
    • Python bindings (Stéphane Bidoul), never use stdout for errors - output
    • -
    • Portability: all the headers have macros for export and calling - convention definitions (Igor Zlatkovic), VMS update (Craig A. Berry), - Windows: threads (Jesse Pelton), Borland compiler (Eric Zurcher, Igor), - Mingw (Igor), typos (Mark Vakoc), beta version (Stephane Bidoul), - warning cleanups on AIX and MIPS compilers (William Brack), BeOS (Marcin - 'Shard' Konicki)
    • -
    • Documentation fixes and README (William Brack), search fix (William), - tutorial updates (John Fleck), namespace docs (Stefan Kost)
    • -
    • Bug fixes: xmlCleanupParser (Dave Beckett), threading uninitialized - mutexes, HTML doctype lowercase, SAX/IO (William), compression detection - and restore (William), attribute declaration in DTDs (William), namespace - on attribute in HTML output (William), input filename (Rob Richards), - namespace DTD validation, xmlReplaceNode (Chris Ryland), I/O callbacks - (Markus Keim), CDATA serialization (Shaun McCance), xmlReader (Peter - Derr), high codepoint charref like &#x10FFFF;, buffer access in push - mode (Justin Fletcher), TLS threads on Windows (Jesse Pelton), XPath bug - (William), xmlCleanupParser (Marc Liyanage), CDATA output (William), HTTP - error handling.
    • -
    • xmllint options: --dtdvalidfpi for Tobias Reif, --sax1 for compat - testing, --nodict for building without tree dictionnary, --nocdata to - replace CDATA by text, --nsclean to remove surperfluous namespace - declarations
    • -
    • added xml2-config --libtool-libs option from Kevin P. Fleming
    • -
    • a lot of profiling and tuning of the code, speedup patch for - xmlSearchNs() by Luca Padovani. The xmlReader should do far less - allocation and it speed should get closer to SAX. Chris Anderson worked - on speeding and cleaning up repetitive checking code.
    • -
    • cleanup of "make tests"
    • -
    • libxml-2.0-uninstalled.pc from Malcolm Tredinnick
    • -
    • deactivated the broken docBook SGML parser code and plugged the XML - parser instead.
    • -
    - -

    2.5.11: Sep 9 2003

    - -

    A bugfix only release:

    -
      -
    • risk of crash in Relax-NG
    • -
    • risk of crash when using multithreaded programs
    • -
    - -

    2.5.10: Aug 15 2003

    - -

    A bugfixes only release

    -
      -
    • Windows Makefiles (William Brack)
    • -
    • UTF-16 support fixes (Mark Itzcovitz)
    • -
    • Makefile and portability (William Brack) automake, Linux alpha, Mingw - on Windows (Mikhail Grushinskiy)
    • -
    • HTML parser (Oliver Stoeneberg)
    • -
    • XInclude performance problem reported by Kevin Ruscoe
    • -
    • XML parser performance problem reported by Grant Goodale
    • -
    • xmlSAXParseDTD() bug fix from Malcolm Tredinnick
    • -
    • and a couple other cleanup
    • -
    - -

    2.5.9: Aug 9 2003

    -
      -
    • bugfixes: IPv6 portability, xmlHasNsProp (Markus Keim), Windows build - (Wiliam Brake, Jesse Pelton, Igor), Schemas (Peter Sobisch), threading - (Rob Richards), hexBinary type (), UTF-16 BOM (Dodji Seketeli), - xmlReader, Relax-NG schemas compilation, namespace handling, EXSLT (Sean - Griffin), HTML parsing problem (William Brack), DTD validation for mixed - content + namespaces, HTML serialization, library initialization, - progressive HTML parser
    • -
    • better interfaces for Relax-NG error handling (Joachim Bauch, )
    • -
    • adding xmlXIncludeProcessTree() for XInclud'ing in a subtree
    • -
    • doc fixes and improvements (John Fleck)
    • -
    • configure flag for -with-fexceptions when embedding in C++
    • -
    • couple of new UTF-8 helper functions (William Brack)
    • -
    • general encoding cleanup + ISO-8859-x without iconv (Peter Jacobi)
    • -
    • xmlTextReader cleanup + enum for node types (Bjorn Reese)
    • -
    • general compilation/warning cleanup Solaris/HP-UX/... (William - Brack)
    • -
    - -

    2.5.8: Jul 6 2003

    -
      -
    • bugfixes: XPath, XInclude, file/URI mapping, UTF-16 save (Mark - Itzcovitz), UTF-8 checking, URI saving, error printing (William Brack), - PI related memleak, compilation without schemas or without xpath (Joerg - Schmitz-Linneweber/Garry Pennington), xmlUnlinkNode problem with DTDs, - rpm problem on , i86_64, removed a few compilation problems from 2.5.7, - xmlIOParseDTD, and xmlSAXParseDTD (Malcolm Tredinnick)
    • -
    • portability: DJGPP (MsDos) , OpenVMS (Craig A. Berry)
    • -
    • William Brack fixed multithreading lock problems
    • -
    • IPv6 patch for FTP and HTTP accesses (Archana Shah/Wipro)
    • -
    • Windows fixes (Igor Zlatkovic, Eric Zurcher), threading (Stéphane - Bidoul)
    • -
    • A few W3C Schemas Structure improvements
    • -
    • W3C Schemas Datatype improvements (Charlie Bozeman)
    • -
    • Python bindings for thread globals (Stéphane Bidoul), and method/class - generator
    • -
    • added --nonet option to xmllint
    • -
    • documentation improvements (John Fleck)
    • -
    - -

    2.5.7: Apr 25 2003

    -
      -
    • Relax-NG: Compiling to regexp and streaming validation on top of the - xmlReader interface, added to xmllint --stream
    • -
    • xmlReader: Expand(), Next() and DOM access glue, bug fixes
    • -
    • Support for large files: RGN validated a 4.5GB instance
    • -
    • Thread support is now configured in by default
    • -
    • Fixes: update of the Trio code (Bjorn), WXS Date and Duration fixes - (Charles Bozeman), DTD and namespaces (Brent Hendricks), HTML push parser - and zero bytes handling, some missing Windows file path conversions, - behaviour of the parser and validator in the presence of "out of memory" - error conditions
    • -
    • extended the API to be able to plug a garbage collecting memory - allocator, added xmlMallocAtomic() and modified the allocations - accordingly.
    • -
    • Performances: removed excessive malloc() calls, speedup of the push and - xmlReader interfaces, removed excessive thread locking
    • -
    • Documentation: man page (John Fleck), xmlReader documentation
    • -
    • Python: adding binding for xmlCatalogAddLocal (Brent M Hendricks)
    • -
    - -

    2.5.6: Apr 1 2003

    -
      -
    • Fixed W3C XML Schemas datatype, should be compliant now except for - binHex and base64 which are not supported yet.
    • -
    • bug fixes: non-ASCII IDs, HTML output, XInclude on large docs and - XInclude entities handling, encoding detection on external subsets, XML - Schemas bugs and memory leaks, HTML parser (James Bursa)
    • -
    • portability: python/trio (Albert Chin), Sun compiler warnings
    • -
    • documentation: added --relaxng option to xmllint man page (John)
    • -
    • improved error reporting: xml:space, start/end tag mismatches, Relax NG - errors
    • -
    - -

    2.5.5: Mar 24 2003

    -
      -
    • Lot of fixes on the Relax NG implementation. More testing including - DocBook and TEI examples.
    • -
    • Increased the support for W3C XML Schemas datatype
    • -
    • Several bug fixes in the URI handling layer
    • -
    • Bug fixes: HTML parser, xmlReader, DTD validation, XPath, encoding - conversion, line counting in the parser.
    • -
    • Added support for $XMLLINT_INDENT environment variable, FTP delete
    • -
    • Fixed the RPM spec file name
    • -
    - -

    2.5.4: Feb 20 2003

    -
      -
    • Conformance testing and lot of fixes on Relax NG and XInclude - implementation
    • -
    • Implementation of XPointer element() scheme
    • -
    • Bug fixes: XML parser, XInclude entities merge, validity checking on - namespaces, -

      2 serialization bugs, node info generation problems, a DTD regexp - generation problem.

      -
    • -
    • Portability: windows updates and path canonicalization (Igor)
    • -
    • A few typo fixes (Kjartan Maraas)
    • -
    • Python bindings generator fixes (Stephane Bidoul)
    • -
    - -

    2.5.3: Feb 10 2003

    -
      -
    • RelaxNG and XML Schemas datatypes improvements, and added a first - version of RelaxNG Python bindings
    • -
    • Fixes: XLink (Sean Chittenden), XInclude (Sean Chittenden), API fix for - serializing namespace nodes, encoding conversion bug, XHTML1 - serialization
    • -
    • Portability fixes: Windows (Igor), AMD 64bits RPM spec file
    • -
    - -

    2.5.2: Feb 5 2003

    -
      -
    • First implementation of RelaxNG, added --relaxng flag to xmllint
    • -
    • Schemas support now compiled in by default.
    • -
    • Bug fixes: DTD validation, namespace checking, XInclude and entities, - delegateURI in XML Catalogs, HTML parser, XML reader (Stéphane Bidoul), - XPath parser and evaluation, UTF8ToUTF8 serialization, XML reader memory - consumption, HTML parser, HTML serialization in the presence of - namespaces
    • -
    • added an HTML API to check elements and attributes.
    • -
    • Documentation improvement, PDF for the tutorial (John Fleck), doc - patches (Stefan Kost)
    • -
    • Portability fixes: NetBSD (Julio Merino), Windows (Igor Zlatkovic)
    • -
    • Added python bindings for XPointer, contextual error reporting - (Stéphane Bidoul)
    • -
    • URI/file escaping problems (Stefano Zacchiroli)
    • -
    - -

    2.5.1: Jan 8 2003

    -
      -
    • Fixes a memory leak and configuration/compilation problems in 2.5.0
    • -
    • documentation updates (John)
    • -
    • a couple of XmlTextReader fixes
    • -
    - -

    2.5.0: Jan 6 2003

    -
      -
    • New XmltextReader interface based on C# - API (with help of Stéphane Bidoul)
    • -
    • Windows: more exports, including the new API (Igor)
    • -
    • XInclude fallback fix
    • -
    • Python: bindings for the new API, packaging (Stéphane Bidoul), - drv_libxml2.py Python xml.sax driver (Stéphane Bidoul), fixes, speedup - and iterators for Python-2.2 (Hannu Krosing)
    • -
    • Tutorial fixes (john Fleck and Niraj Tolia) xmllint man update - (John)
    • -
    • Fix an XML parser bug raised by Vyacheslav Pindyura
    • -
    • Fix for VMS serialization (Nigel Hall) and config (Craig A. Berry)
    • -
    • Entities handling fixes
    • -
    • new API to optionally track node creation and deletion (Lukas - Schroeder)
    • -
    • Added documentation for the XmltextReader interface and some XML guidelines
    • -
    - -

    2.4.30: Dec 12 2002

    -
      -
    • 2.4.29 broke the python bindings, rereleasing
    • -
    • Improvement/fixes of the XML API generator, and couple of minor code - fixes.
    • -
    - -

    2.4.29: Dec 11 2002

    -
      -
    • Windows fixes (Igor): Windows CE port, pthread linking, python bindings - (Stéphane Bidoul), Mingw (Magnus Henoch), and export list updates
    • -
    • Fix for prev in python bindings (ERDI Gergo)
    • -
    • Fix for entities handling (Marcus Clarke)
    • -
    • Refactored the XML and HTML dumps to a single code path, fixed XHTML1 - dump
    • -
    • Fix for URI parsing when handling URNs with fragment identifiers
    • -
    • Fix for HTTP URL escaping problem
    • -
    • added an TextXmlReader (C#) like API (work in progress)
    • -
    • Rewrote the API in XML generation script, includes a C parser and saves - more information needed for C# bindings
    • -
    - -

    2.4.28: Nov 22 2002

    -
      -
    • a couple of python binding fixes
    • -
    • 2 bug fixes in the XML push parser
    • -
    • potential memory leak removed (Martin Stoilov)
    • -
    • fix to the configure script for Unix (Dimitri Papadopoulos)
    • -
    • added encoding support for XInclude parse="text"
    • -
    • autodetection of XHTML1 and specific serialization rules added
    • -
    • nasty threading bug fixed (William Brack)
    • -
    - -

    2.4.27: Nov 17 2002

    -
      -
    • fixes for the Python bindings
    • -
    • a number of bug fixes: SGML catalogs, xmlParseBalancedChunkMemory(), - HTML parser, Schemas (Charles Bozeman), document fragment support - (Christian Glahn), xmlReconciliateNs (Brian Stafford), XPointer, - xmlFreeNode(), xmlSAXParseMemory (Peter Jones), xmlGetNodePath (Petr - Pajas), entities processing
    • -
    • added grep to xmllint --shell
    • -
    • VMS update patch from Craig A. Berry
    • -
    • cleanup of the Windows build with support for more compilers (Igor), - better thread support on Windows
    • -
    • cleanup of Unix Makefiles and spec file
    • -
    • Improvements to the documentation (John Fleck)
    • -
    - -

    2.4.26: Oct 18 2002

    -
      -
    • Patches for Windows CE port, improvements on Windows paths handling
    • -
    • Fixes to the validation code (DTD and Schemas), xmlNodeGetPath() , - HTML serialization, Namespace compliance, and a number of small - problems
    • -
    - -

    2.4.25: Sep 26 2002

    -
      -
    • A number of bug fixes: XPath, validation, Python bindings, DOM and - tree, xmlI/O, Html
    • -
    • Serious rewrite of XInclude
    • -
    • Made XML Schemas regexp part of the default build and APIs, small fix - and improvement of the regexp core
    • -
    • Changed the validation code to reuse XML Schemas regexp APIs
    • -
    • Better handling of Windows file paths, improvement of Makefiles (Igor, - Daniel Gehriger, Mark Vakoc)
    • -
    • Improved the python I/O bindings, the tests, added resolver and regexp - APIs
    • -
    • New logos from Marc Liyanage
    • -
    • Tutorial improvements: John Fleck, Christopher Harris
    • -
    • Makefile: Fixes for AMD x86_64 (Mandrake), DESTDIR (Christophe - Merlet)
    • -
    • removal of all stderr/perror use for error reporting
    • -
    • Better error reporting: XPath and DTD validation
    • -
    • update of the trio portability layer (Bjorn Reese)
    • -
    - -

    2.4.24: Aug 22 2002

    -
      -
    • XPath fixes (William), xf:escape-uri() (Wesley Terpstra)
    • -
    • Python binding fixes: makefiles (William), generator, rpm build, x86-64 - (fcrozat)
    • -
    • HTML <style> and boolean attributes serializer fixes
    • -
    • C14N improvements by Aleksey
    • -
    • doc cleanups: Rick Jones
    • -
    • Windows compiler makefile updates: Igor and Elizabeth Barham
    • -
    • XInclude: implementation of fallback and xml:base fixup added
    • -
    - -

    2.4.23: July 6 2002

    -
      -
    • performances patches: Peter Jacobi
    • -
    • c14n fixes, testsuite and performances: Aleksey Sanin
    • -
    • added xmlDocFormatDump: Chema Celorio
    • -
    • new tutorial: John Fleck
    • -
    • new hash functions and performances: Sander Vesik, portability fix from - Peter Jacobi
    • -
    • a number of bug fixes: XPath (William Brack, Richard Jinks), XML and - HTML parsers, ID lookup function
    • -
    • removal of all remaining sprintf: Aleksey Sanin
    • -
    - -

    2.4.22: May 27 2002

    -
      -
    • a number of bug fixes: configure scripts, base handling, parser, memory - usage, HTML parser, XPath, documentation (Christian Cornelssen), - indentation, URI parsing
    • -
    • Optimizations for XMLSec, fixing and making public some of the network - protocol handlers (Aleksey)
    • -
    • performance patch from Gary Pennington
    • -
    • Charles Bozeman provided date and time support for XML Schemas - datatypes
    • -
    - -

    2.4.21: Apr 29 2002

    - -

    This release is both a bug fix release and also contains the early XML -Schemas structures and datatypes code, beware, all -interfaces are likely to change, there is huge holes, it is clearly a work in -progress and don't even think of putting this code in a production system, -it's actually not compiled in by default. The real fixes are:

    -
      -
    • a couple of bugs or limitations introduced in 2.4.20
    • -
    • patches for Borland C++ and MSC by Igor
    • -
    • some fixes on XPath strings and conformance patches by Richard - Jinks
    • -
    • patch from Aleksey for the ExcC14N specification
    • -
    • OSF/1 bug fix by Bjorn
    • -
    - -

    2.4.20: Apr 15 2002

    -
      -
    • bug fixes: file descriptor leak, XPath, HTML output, DTD validation
    • -
    • XPath conformance testing by Richard Jinks
    • -
    • Portability fixes: Solaris, MPE/iX, Windows, OSF/1, python bindings, - libxml.m4
    • -
    - -

    2.4.19: Mar 25 2002

    -
      -
    • bug fixes: half a dozen XPath bugs, Validation, ISO-Latin to UTF8 - encoder
    • -
    • portability fixes in the HTTP code
    • -
    • memory allocation checks using valgrind, and profiling tests
    • -
    • revamp of the Windows build and Makefiles
    • -
    - -

    2.4.18: Mar 18 2002

    -
      -
    • bug fixes: tree, SAX, canonicalization, validation, portability, - XPath
    • -
    • removed the --with-buffer option it was becoming unmaintainable
    • -
    • serious cleanup of the Python makefiles
    • -
    • speedup patch to XPath very effective for DocBook stylesheets
    • -
    • Fixes for Windows build, cleanup of the documentation
    • -
    - -

    2.4.17: Mar 8 2002

    -
      -
    • a lot of bug fixes, including "namespace nodes have no parents in - XPath"
    • -
    • fixed/improved the Python wrappers, added more examples and more - regression tests, XPath extension functions can now return node-sets
    • -
    • added the XML Canonicalization support from Aleksey Sanin
    • -
    - -

    2.4.16: Feb 20 2002

    -
      -
    • a lot of bug fixes, most of them were triggered by the XML Testsuite - from OASIS and W3C. Compliance has been significantly improved.
    • -
    • a couple of portability fixes too.
    • -
    - -

    2.4.15: Feb 11 2002

    -
      -
    • Fixed the Makefiles, especially the python module ones
    • -
    • A few bug fixes and cleanup
    • -
    • Includes cleanup
    • -
    - -

    2.4.14: Feb 8 2002

    -
      -
    • Change of License to the MIT - License basically for integration in XFree86 codebase, and removing - confusion around the previous dual-licensing
    • -
    • added Python bindings, beta software but should already be quite - complete
    • -
    • a large number of fixes and cleanups, especially for all tree - manipulations
    • -
    • cleanup of the headers, generation of a reference API definition in - XML
    • -
    - -

    2.4.13: Jan 14 2002

    -
      -
    • update of the documentation: John Fleck and Charlie Bozeman
    • -
    • cleanup of timing code from Justin Fletcher
    • -
    • fixes for Windows and initial thread support on Win32: Igor and Serguei - Narojnyi
    • -
    • Cygwin patch from Robert Collins
    • -
    • added xmlSetEntityReferenceFunc() for Keith Isdale work on xsldbg
    • -
    - -

    2.4.12: Dec 7 2001

    -
      -
    • a few bug fixes: thread (Gary Pennington), xmllint (Geert Kloosterman), - XML parser (Robin Berjon), XPointer (Danny Jamshy), I/O cleanups - (robert)
    • -
    • Eric Lavigne contributed project files for MacOS
    • -
    • some makefiles cleanups
    • -
    - -

    2.4.11: Nov 26 2001

    -
      -
    • fixed a couple of errors in the includes, fixed a few bugs, some code - cleanups
    • -
    • xmllint man pages improvement by Heiko Rupp
    • -
    • updated VMS build instructions from John A Fotheringham
    • -
    • Windows Makefiles updates from Igor
    • -
    - -

    2.4.10: Nov 10 2001

    -
      -
    • URI escaping fix (Joel Young)
    • -
    • added xmlGetNodePath() (for paths or XPointers generation)
    • -
    • Fixes namespace handling problems when using DTD and validation
    • -
    • improvements on xmllint: Morus Walter patches for --format and - --encode, Stefan Kost and Heiko Rupp improvements on the --shell
    • -
    • fixes for xmlcatalog linking pointed by Weiqi Gao
    • -
    • fixes to the HTML parser
    • -
    - -

    2.4.9: Nov 6 2001

    -
      -
    • fixes more catalog bugs
    • -
    • avoid a compilation problem, improve xmlGetLineNo()
    • -
    - -

    2.4.8: Nov 4 2001

    -
      -
    • fixed SGML catalogs broken in previous release, updated xmlcatalog - tool
    • -
    • fixed a compile errors and some includes troubles.
    • -
    - -

    2.4.7: Oct 30 2001

    -
      -
    • exported some debugging interfaces
    • -
    • serious rewrite of the catalog code
    • -
    • integrated Gary Pennington thread safety patch, added configure option - and regression tests
    • -
    • removed an HTML parser bug
    • -
    • fixed a couple of potentially serious validation bugs
    • -
    • integrated the SGML DocBook support in xmllint
    • -
    • changed the nanoftp anonymous login passwd
    • -
    • some I/O cleanup and a couple of interfaces for Perl wrapper
    • -
    • general bug fixes
    • -
    • updated xmllint man page by John Fleck
    • -
    • some VMS and Windows updates
    • -
    - -

    2.4.6: Oct 10 2001

    -
      -
    • added an updated man pages by John Fleck
    • -
    • portability and configure fixes
    • -
    • an infinite loop on the HTML parser was removed (William)
    • -
    • Windows makefile patches from Igor
    • -
    • fixed half a dozen bugs reported for libxml or libxslt
    • -
    • updated xmlcatalog to be able to modify SGML super catalogs
    • -
    - -

    2.4.5: Sep 14 2001

    -
      -
    • Remove a few annoying bugs in 2.4.4
    • -
    • forces the HTML serializer to output decimal charrefs since some - version of Netscape can't handle hexadecimal ones
    • -
    - -

    1.8.16: Sep 14 2001

    -
      -
    • maintenance release of the old libxml1 branch, couple of bug and - portability fixes
    • -
    - -

    2.4.4: Sep 12 2001

    -
      -
    • added --convert to xmlcatalog, bug fixes and cleanups of XML - Catalog
    • -
    • a few bug fixes and some portability changes
    • -
    • some documentation cleanups
    • -
    - -

    2.4.3: Aug 23 2001

    -
      -
    • XML Catalog support see the doc
    • -
    • New NaN/Infinity floating point code
    • -
    • A few bug fixes
    • -
    - -

    2.4.2: Aug 15 2001

    -
      -
    • adds xmlLineNumbersDefault() to control line number generation
    • -
    • lot of bug fixes
    • -
    • the Microsoft MSC projects files should now be up to date
    • -
    • inheritance of namespaces from DTD defaulted attributes
    • -
    • fixes a serious potential security bug
    • -
    • added a --format option to xmllint
    • -
    - -

    2.4.1: July 24 2001

    -
      -
    • possibility to keep line numbers in the tree
    • -
    • some computation NaN fixes
    • -
    • extension of the XPath API
    • -
    • cleanup for alpha and ia64 targets
    • -
    • patch to allow saving through HTTP PUT or POST
    • -
    - -

    2.4.0: July 10 2001

    -
      -
    • Fixed a few bugs in XPath, validation, and tree handling.
    • -
    • Fixed XML Base implementation, added a couple of examples to the - regression tests
    • -
    • A bit of cleanup
    • -
    - -

    2.3.14: July 5 2001

    -
      -
    • fixed some entities problems and reduce memory requirement when - substituting them
    • -
    • lots of improvements in the XPath queries interpreter can be - substantially faster
    • -
    • Makefiles and configure cleanups
    • -
    • Fixes to XPath variable eval, and compare on empty node set
    • -
    • HTML tag closing bug fixed
    • -
    • Fixed an URI reference computation problem when validating
    • -
    - -

    2.3.13: June 28 2001

    -
      -
    • 2.3.12 configure.in was broken as well as the push mode XML parser
    • -
    • a few more fixes for compilation on Windows MSC by Yon Derek
    • -
    - -

    1.8.14: June 28 2001

    -
      -
    • Zbigniew Chyla gave a patch to use the old XML parser in push mode
    • -
    • Small Makefile fix
    • -
    - -

    2.3.12: June 26 2001

    -
      -
    • lots of cleanup
    • -
    • a couple of validation fix
    • -
    • fixed line number counting
    • -
    • fixed serious problems in the XInclude processing
    • -
    • added support for UTF8 BOM at beginning of entities
    • -
    • fixed a strange gcc optimizer bugs in xpath handling of float, gcc-3.0 - miscompile uri.c (William), Thomas Leitner provided a fix for the - optimizer on Tru64
    • -
    • incorporated Yon Derek and Igor Zlatkovic fixes and improvements for - compilation on Windows MSC
    • -
    • update of libxml-doc.el (Felix Natter)
    • -
    • fixed 2 bugs in URI normalization code
    • -
    - -

    2.3.11: June 17 2001

    -
      -
    • updates to trio, Makefiles and configure should fix some portability - problems (alpha)
    • -
    • fixed some HTML serialization problems (pre, script, and block/inline - handling), added encoding aware APIs, cleanup of this code
    • -
    • added xmlHasNsProp()
    • -
    • implemented a specific PI for encoding support in the DocBook SGML - parser
    • -
    • some XPath fixes (-Infinity, / as a function parameter and namespaces - node selection)
    • -
    • fixed a performance problem and an error in the validation code
    • -
    • fixed XInclude routine to implement the recursive behaviour
    • -
    • fixed xmlFreeNode problem when libxml is included statically twice
    • -
    • added --version to xmllint for bug reports
    • -
    - -

    2.3.10: June 1 2001

    -
      -
    • fixed the SGML catalog support
    • -
    • a number of reported bugs got fixed, in XPath, iconv detection, - XInclude processing
    • -
    • XPath string function should now handle unicode correctly
    • -
    - -

    2.3.9: May 19 2001

    - -

    Lots of bugfixes, and added a basic SGML catalog support:

    -
      -
    • HTML push bugfix #54891 and another patch from Jonas Borgström
    • -
    • some serious speed optimization again
    • -
    • some documentation cleanups
    • -
    • trying to get better linking on Solaris (-R)
    • -
    • XPath API cleanup from Thomas Broyer
    • -
    • Validation bug fixed #54631, added a patch from Gary Pennington, fixed - xmlValidGetValidElements()
    • -
    • Added an INSTALL file
    • -
    • Attribute removal added to API: #54433
    • -
    • added a basic support for SGML catalogs
    • -
    • fixed xmlKeepBlanksDefault(0) API
    • -
    • bugfix in xmlNodeGetLang()
    • -
    • fixed a small configure portability problem
    • -
    • fixed an inversion of SYSTEM and PUBLIC identifier in HTML document
    • -
    - -

    1.8.13: May 14 2001

    -
      -
    • bugfixes release of the old libxml1 branch used by Gnome
    • -
    - -

    2.3.8: May 3 2001

    -
      -
    • Integrated an SGML DocBook parser for the Gnome project
    • -
    • Fixed a few things in the HTML parser
    • -
    • Fixed some XPath bugs raised by XSLT use, tried to fix the floating - point portability issue
    • -
    • Speed improvement (8M/s for SAX, 3M/s for DOM, 1.5M/s for - DOM+validation using the XML REC as input and a 700MHz celeron).
    • -
    • incorporated more Windows cleanup
    • -
    • added xmlSaveFormatFile()
    • -
    • fixed problems in copying nodes with entities references (gdome)
    • -
    • removed some troubles surrounding the new validation module
    • -
    - -

    2.3.7: April 22 2001

    -
      -
    • lots of small bug fixes, corrected XPointer
    • -
    • Non deterministic content model validation support
    • -
    • added xmlDocCopyNode for gdome2
    • -
    • revamped the way the HTML parser handles end of tags
    • -
    • XPath: corrections of namespaces support and number formatting
    • -
    • Windows: Igor Zlatkovic patches for MSC compilation
    • -
    • HTML output fixes from P C Chow and William M. Brack
    • -
    • Improved validation speed sensible for DocBook
    • -
    • fixed a big bug with ID declared in external parsed entities
    • -
    • portability fixes, update of Trio from Bjorn Reese
    • -
    - -

    2.3.6: April 8 2001

    -
      -
    • Code cleanup using extreme gcc compiler warning options, found and - cleared half a dozen potential problem
    • -
    • the Eazel team found an XML parser bug
    • -
    • cleaned up the user of some of the string formatting function. used the - trio library code to provide the one needed when the platform is missing - them
    • -
    • xpath: removed a memory leak and fixed the predicate evaluation - problem, extended the testsuite and cleaned up the result. XPointer seems - broken ...
    • -
    - -

    2.3.5: Mar 23 2001

    -
      -
    • Biggest change is separate parsing and evaluation of XPath expressions, - there is some new APIs for this too
    • -
    • included a number of bug fixes(XML push parser, 51876, notations, - 52299)
    • -
    • Fixed some portability issues
    • -
    - -

    2.3.4: Mar 10 2001

    -
      -
    • Fixed bugs #51860 and #51861
    • -
    • Added a global variable xmlDefaultBufferSize to allow default buffer - size to be application tunable.
    • -
    • Some cleanup in the validation code, still a bug left and this part - should probably be rewritten to support ambiguous content model :-\
    • -
    • Fix a couple of serious bugs introduced or raised by changes in 2.3.3 - parser
    • -
    • Fixed another bug in xmlNodeGetContent()
    • -
    • Bjorn fixed XPath node collection and Number formatting
    • -
    • Fixed a loop reported in the HTML parsing
    • -
    • blank space are reported even if the Dtd content model proves that they - are formatting spaces, this is for XML conformance
    • -
    - -

    2.3.3: Mar 1 2001

    -
      -
    • small change in XPath for XSLT
    • -
    • documentation cleanups
    • -
    • fix in validation by Gary Pennington
    • -
    • serious parsing performances improvements
    • -
    - -

    2.3.2: Feb 24 2001

    -
      -
    • chasing XPath bugs, found a bunch, completed some TODO
    • -
    • fixed a Dtd parsing bug
    • -
    • fixed a bug in xmlNodeGetContent
    • -
    • ID/IDREF support partly rewritten by Gary Pennington
    • -
    - -

    2.3.1: Feb 15 2001

    -
      -
    • some XPath and HTML bug fixes for XSLT
    • -
    • small extension of the hash table interfaces for DOM gdome2 - implementation
    • -
    • A few bug fixes
    • -
    - -

    2.3.0: Feb 8 2001 (2.2.12 was on 25 Jan but I didn't kept track)

    -
      -
    • Lots of XPath bug fixes
    • -
    • Add a mode with Dtd lookup but without validation error reporting for - XSLT
    • -
    • Add support for text node without escaping (XSLT)
    • -
    • bug fixes for xmlCheckFilename
    • -
    • validation code bug fixes from Gary Pennington
    • -
    • Patch from Paul D. Smith correcting URI path normalization
    • -
    • Patch to allow simultaneous install of libxml-devel and - libxml2-devel
    • -
    • the example Makefile is now fixed
    • -
    • added HTML to the RPM packages
    • -
    • tree copying bugfixes
    • -
    • updates to Windows makefiles
    • -
    • optimization patch from Bjorn Reese
    • -
    - -

    2.2.11: Jan 4 2001

    -
      -
    • bunch of bug fixes (memory I/O, xpath, ftp/http, ...)
    • -
    • added htmlHandleOmittedElem()
    • -
    • Applied Bjorn Reese's IPV6 first patch
    • -
    • Applied Paul D. Smith patches for validation of XInclude results
    • -
    • added XPointer xmlns() new scheme support
    • -
    - -

    2.2.10: Nov 25 2000

    -
      -
    • Fix the Windows problems of 2.2.8
    • -
    • integrate OpenVMS patches
    • -
    • better handling of some nasty HTML input
    • -
    • Improved the XPointer implementation
    • -
    • integrate a number of provided patches
    • -
    - -

    2.2.9: Nov 25 2000

    -
      -
    • erroneous release :-(
    • -
    - -

    2.2.8: Nov 13 2000

    -
      -
    • First version of XInclude - support
    • -
    • Patch in conditional section handling
    • -
    • updated MS compiler project
    • -
    • fixed some XPath problems
    • -
    • added an URI escaping function
    • -
    • some other bug fixes
    • -
    - -

    2.2.7: Oct 31 2000

    -
      -
    • added message redirection
    • -
    • XPath improvements (thanks TOM !)
    • -
    • xmlIOParseDTD() added
    • -
    • various small fixes in the HTML, URI, HTTP and XPointer support
    • -
    • some cleanup of the Makefile, autoconf and the distribution content
    • -
    - -

    2.2.6: Oct 25 2000:

    -
      -
    • Added an hash table module, migrated a number of internal structure to - those
    • -
    • Fixed a posteriori validation problems
    • -
    • HTTP module cleanups
    • -
    • HTML parser improvements (tag errors, script/style handling, attribute - normalization)
    • -
    • coalescing of adjacent text nodes
    • -
    • couple of XPath bug fixes, exported the internal API
    • -
    - -

    2.2.5: Oct 15 2000:

    -
      -
    • XPointer implementation and testsuite
    • -
    • Lot of XPath fixes, added variable and functions registration, more - tests
    • -
    • Portability fixes, lots of enhancements toward an easy Windows build - and release
    • -
    • Late validation fixes
    • -
    • Integrated a lot of contributed patches
    • -
    • added memory management docs
    • -
    • a performance problem when using large buffer seems fixed
    • -
    - -

    2.2.4: Oct 1 2000:

    -
      -
    • main XPath problem fixed
    • -
    • Integrated portability patches for Windows
    • -
    • Serious bug fixes on the URI and HTML code
    • -
    - -

    2.2.3: Sep 17 2000

    -
      -
    • bug fixes
    • -
    • cleanup of entity handling code
    • -
    • overall review of all loops in the parsers, all sprintf usage has been - checked too
    • -
    • Far better handling of larges Dtd. Validating against DocBook XML Dtd - works smoothly now.
    • -
    - -

    1.8.10: Sep 6 2000

    -
      -
    • bug fix release for some Gnome projects
    • -
    - -

    2.2.2: August 12 2000

    -
      -
    • mostly bug fixes
    • -
    • started adding routines to access xml parser context options
    • -
    - -

    2.2.1: July 21 2000

    -
      -
    • a purely bug fixes release
    • -
    • fixed an encoding support problem when parsing from a memory block
    • -
    • fixed a DOCTYPE parsing problem
    • -
    • removed a bug in the function allowing to override the memory - allocation routines
    • -
    - -

    2.2.0: July 14 2000

    -
      -
    • applied a lot of portability fixes
    • -
    • better encoding support/cleanup and saving (content is now always - encoded in UTF-8)
    • -
    • the HTML parser now correctly handles encodings
    • -
    • added xmlHasProp()
    • -
    • fixed a serious problem with &#38;
    • -
    • propagated the fix to FTP client
    • -
    • cleanup, bugfixes, etc ...
    • -
    • Added a page about libxml Internationalization - support
    • -
    - -

    1.8.9: July 9 2000

    -
      -
    • fixed the spec the RPMs should be better
    • -
    • fixed a serious bug in the FTP implementation, released 1.8.9 to solve - rpmfind users problem
    • -
    - -

    2.1.1: July 1 2000

    -
      -
    • fixes a couple of bugs in the 2.1.0 packaging
    • -
    • improvements on the HTML parser
    • -
    - -

    2.1.0 and 1.8.8: June 29 2000

    -
      -
    • 1.8.8 is mostly a commodity package for upgrading to libxml2 according - to new instructions. It fixes a nasty problem - about &#38; charref parsing
    • -
    • 2.1.0 also ease the upgrade from libxml v1 to the recent version. it - also contains numerous fixes and enhancements: -
        -
      • added xmlStopParser() to stop parsing
      • -
      • improved a lot parsing speed when there is large CDATA blocs
      • -
      • includes XPath patches provided by Picdar Technology
      • -
      • tried to fix as much as possible DTD validation and namespace - related problems
      • -
      • output to a given encoding has been added/tested
      • -
      • lot of various fixes
      • -
      -
    • -
    - -

    2.0.0: Apr 12 2000

    -
      -
    • First public release of libxml2. If you are using libxml, it's a good - idea to check the 1.x to 2.x upgrade instructions. NOTE: while initially - scheduled for Apr 3 the release occurred only on Apr 12 due to massive - workload.
    • -
    • The include are now located under $prefix/include/libxml (instead of - $prefix/include/gnome-xml), they also are referenced by -
      #include <libxml/xxx.h>
      -

      instead of

      -
      #include "xxx.h"
      -
    • -
    • a new URI module for parsing URIs and following strictly RFC 2396
    • -
    • the memory allocation routines used by libxml can now be overloaded - dynamically by using xmlMemSetup()
    • -
    • The previously CVS only tool tester has been renamed - xmllint and is now installed as part of the libxml2 - package
    • -
    • The I/O interface has been revamped. There is now ways to plug in - specific I/O modules, either at the URI scheme detection level using - xmlRegisterInputCallbacks() or by passing I/O functions when creating a - parser context using xmlCreateIOParserCtxt()
    • -
    • there is a C preprocessor macro LIBXML_VERSION providing the version - number of the libxml module in use
    • -
    • a number of optional features of libxml can now be excluded at - configure time (FTP/HTTP/HTML/XPath/Debug)
    • -
    - -

    2.0.0beta: Mar 14 2000

    -
      -
    • This is a first Beta release of libxml version 2
    • -
    • It's available only fromxmlsoft.org - FTP, it's packaged as libxml2-2.0.0beta and available as tar and - RPMs
    • -
    • This version is now the head in the Gnome CVS base, the old one is - available under the tag LIB_XML_1_X
    • -
    • This includes a very large set of changes. From a programmatic point - of view applications should not have to be modified too much, check the - upgrade page
    • -
    • Some interfaces may changes (especially a bit about encoding).
    • -
    • the updates includes: -
        -
      • fix I18N support. ISO-Latin-x/UTF-8/UTF-16 (nearly) seems correctly - handled now
      • -
      • Better handling of entities, especially well-formedness checking - and proper PEref extensions in external subsets
      • -
      • DTD conditional sections
      • -
      • Validation now correctly handle entities content
      • -
      • change - structures to accommodate DOM
      • -
      -
    • -
    • Serious progress were made toward compliance, here are the result of the test against the - OASIS testsuite (except the Japanese tests since I don't support that - encoding yet). This URL is rebuilt every couple of hours using the CVS - head version.
    • -
    - -

    1.8.7: Mar 6 2000

    -
      -
    • This is a bug fix release:
    • -
    • It is possible to disable the ignorable blanks heuristic used by - libxml-1.x, a new function xmlKeepBlanksDefault(0) will allow this. Note - that for adherence to XML spec, this behaviour will be disabled by - default in 2.x . The same function will allow to keep compatibility for - old code.
    • -
    • Blanks in <a> </a> constructs are not ignored anymore, - avoiding heuristic is really the Right Way :-\
    • -
    • The unchecked use of snprintf which was breaking libxml-1.8.6 - compilation on some platforms has been fixed
    • -
    • nanoftp.c nanohttp.c: Fixed '#' and '?' stripping when processing - URIs
    • -
    - -

    1.8.6: Jan 31 2000

    -
      -
    • added a nanoFTP transport module, debugged until the new version of rpmfind can use - it without troubles
    • -
    - -

    1.8.5: Jan 21 2000

    -
      -
    • adding APIs to parse a well balanced chunk of XML (production [43] content of the - XML spec)
    • -
    • fixed a hideous bug in xmlGetProp pointed by Rune.Djurhuus@fast.no
    • -
    • Jody Goldberg <jgoldberg@home.com> provided another patch trying - to solve the zlib checks problems
    • -
    • The current state in gnome CVS base is expected to ship as 1.8.5 with - gnumeric soon
    • -
    - -

    1.8.4: Jan 13 2000

    -
      -
    • bug fixes, reintroduced xmlNewGlobalNs(), fixed xmlNewNs()
    • -
    • all exit() call should have been removed from libxml
    • -
    • fixed a problem with INCLUDE_WINSOCK on WIN32 platform
    • -
    • added newDocFragment()
    • -
    - -

    1.8.3: Jan 5 2000

    -
      -
    • a Push interface for the XML and HTML parsers
    • -
    • a shell-like interface to the document tree (try tester --shell :-)
    • -
    • lots of bug fixes and improvement added over XMas holidays
    • -
    • fixed the DTD parsing code to work with the xhtml DTD
    • -
    • added xmlRemoveProp(), xmlRemoveID() and xmlRemoveRef()
    • -
    • Fixed bugs in xmlNewNs()
    • -
    • External entity loading code has been revamped, now it uses - xmlLoadExternalEntity(), some fix on entities processing were added
    • -
    • cleaned up WIN32 includes of socket stuff
    • -
    - -

    1.8.2: Dec 21 1999

    -
      -
    • I got another problem with includes and C++, I hope this issue is fixed - for good this time
    • -
    • Added a few tree modification functions: xmlReplaceNode, - xmlAddPrevSibling, xmlAddNextSibling, xmlNodeSetName and - xmlDocSetRootElement
    • -
    • Tried to improve the HTML output with help from Chris Lahey
    • -
    - -

    1.8.1: Dec 18 1999

    -
      -
    • various patches to avoid troubles when using libxml with C++ compilers - the "namespace" keyword and C escaping in include files
    • -
    • a problem in one of the core macros IS_CHAR was corrected
    • -
    • fixed a bug introduced in 1.8.0 breaking default namespace processing, - and more specifically the Dia application
    • -
    • fixed a posteriori validation (validation after parsing, or by using a - Dtd not specified in the original document)
    • -
    • fixed a bug in
    • -
    - -

    1.8.0: Dec 12 1999

    -
      -
    • cleanup, especially memory wise
    • -
    • the parser should be more reliable, especially the HTML one, it should - not crash, whatever the input !
    • -
    • Integrated various patches, especially a speedup improvement for large - dataset from Carl Nygard, - configure with --with-buffers to enable them.
    • -
    • attribute normalization, oops should have been added long ago !
    • -
    • attributes defaulted from DTDs should be available, xmlSetProp() now - does entities escaping by default.
    • -
    - -

    1.7.4: Oct 25 1999

    -
      -
    • Lots of HTML improvement
    • -
    • Fixed some errors when saving both XML and HTML
    • -
    • More examples, the regression tests should now look clean
    • -
    • Fixed a bug with contiguous charref
    • -
    - -

    1.7.3: Sep 29 1999

    -
      -
    • portability problems fixed
    • -
    • snprintf was used unconditionally, leading to link problems on system - were it's not available, fixed
    • -
    - -

    1.7.1: Sep 24 1999

    -
      -
    • The basic type for strings manipulated by libxml has been renamed in - 1.7.1 from CHAR to xmlChar. The reason - is that CHAR was conflicting with a predefined type on Windows. However - on non WIN32 environment, compatibility is provided by the way of a - #define .
    • -
    • Changed another error : the use of a structure field called errno, and - leading to troubles on platforms where it's a macro
    • -
    - -

    1.7.0: Sep 23 1999

    -
      -
    • Added the ability to fetch remote DTD or parsed entities, see the nanohttp module.
    • -
    • Added an errno to report errors by another mean than a simple printf - like callback
    • -
    • Finished ID/IDREF support and checking when validation
    • -
    • Serious memory leaks fixed (there is now a memory wrapper module)
    • -
    • Improvement of XPath - implementation
    • -
    • Added an HTML parser front-end
    • -
    - -

    XML

    - -

    XML is a standard for -markup-based structured documents. Here is an example XML -document:

    -
    <?xml version="1.0"?>
    -<EXAMPLE prop1="gnome is great" prop2="&amp; linux too">
    -  <head>
    -   <title>Welcome to Gnome</title>
    -  </head>
    -  <chapter>
    -   <title>The Linux adventure</title>
    -   <p>bla bla bla ...</p>
    -   <image href="linus.gif"/>
    -   <p>...</p>
    -  </chapter>
    -</EXAMPLE>
    - -

    The first line specifies that it is an XML document and gives useful -information about its encoding. Then the rest of the document is a text -format whose structure is specified by tags between brackets. Each -tag opened has to be closed. XML is pedantic about this. However, if -a tag is empty (no content), a single tag can serve as both the opening and -closing tag if it ends with /> rather than with ->. Note that, for example, the image tag has no content (just -an attribute) and is closed by ending the tag with />.

    - -

    XML can be applied successfully to a wide range of tasks, ranging from -long term structured document maintenance (where it follows the steps of -SGML) to simple data encoding mechanisms like configuration file formatting -(glade), spreadsheets (gnumeric), or even shorter lived documents such as -WebDAV where it is used to encode remote calls between a client and a -server.

    - -

    XSLT

    - -

    Check the separate libxslt page

    - -

    XSL Transformations, is a -language for transforming XML documents into other XML documents (or -HTML/textual output).

    - -

    A separate library called libxslt is available implementing XSLT-1.0 for -libxml2. This module "libxslt" too can be found in the Gnome SVN base.

    - -

    You can check the progresses on the libxslt Changelog.

    - -

    Python and bindings

    - -

    There are a number of language bindings and wrappers available for -libxml2, the list below is not exhaustive. Please contact the xml-bindings@gnome.org -(archives) in -order to get updates to this list or to discuss the specific topic of libxml2 -or libxslt wrappers or bindings:

    -
      -
    • Libxml++ seems the - most up-to-date C++ bindings for libxml2, check the documentation - and the examples.
    • -
    • There is another C++ wrapper - based on the gdome2 bindings maintained by Tobias Peters.
    • -
    • and a third C++ wrapper by Peter Jones <pjones@pmade.org> -

      Website: http://pmade.org/pjones/software/xmlwrapp/

      -
    • -
    • XML::LibXML Perl - bindings are available on CPAN, as well as XML::LibXSLT - Perl libxslt - bindings.
    • -
    • If you're interested into scripting XML processing, have a look at XSH an XML editing shell based on - Libxml2 Perl bindings.
    • -
    • Dave Kuhlman provides an - earlier version of the libxml/libxslt wrappers for Python.
    • -
    • Gopal.V and Peter Minten develop libxml#, a set of - C# libxml2 bindings.
    • -
    • Petr Kozelka provides Pascal units to glue - libxml2 with Kylix, Delphi and other Pascal compilers.
    • -
    • Uwe Fechner also provides idom2, a DOM2 - implementation for Kylix2/D5/D6 from Borland.
    • -
    • There is bindings for Ruby - and libxml2 bindings are also available in Ruby through the libgdome-ruby module - maintained by Tobias Peters.
    • -
    • Steve Ball and contributors maintains libxml2 and libxslt bindings for - Tcl.
    • -
    • libxml2 and libxslt are the default XML libraries for PHP5.
    • -
    • LibxmlJ is - an effort to create a 100% JAXP-compatible Java wrapper for libxml2 and - libxslt as part of GNU ClasspathX project.
    • -
    • Patrick McPhee provides Rexx bindings fof libxml2 and libxslt, look for - RexxXML.
    • -
    • Satimage - provides XMLLib - osax. This is an osax for Mac OS X with a set of commands to - implement in AppleScript the XML DOM, XPATH and XSLT. Also includes - commands for Property-lists (Apple's fast lookup table XML format.)
    • -
    • Francesco Montorsi developped wxXml2 - wrappers that interface libxml2, allowing wxWidgets applications to - load/save/edit XML instances.
    • -
    - -

    The distribution includes a set of Python bindings, which are guaranteed -to be maintained as part of the library in the future, though the Python -interface have not yet reached the completeness of the C API.

    - -

    Note that some of the Python purist dislike the default set of Python -bindings, rather than complaining I suggest they have a look at lxml the more pythonic bindings for libxml2 -and libxslt and check the mailing-list.

    - -

    Stéphane Bidoul -maintains a Windows port -of the Python bindings.

    - -

    Note to people interested in building bindings, the API is formalized as -an XML API description file which allows to -automate a large part of the Python bindings, this includes function -descriptions, enums, structures, typedefs, etc... The Python script used to -build the bindings is python/generator.py in the source distribution.

    - -

    To install the Python bindings there are 2 options:

    -
      -
    • If you use an RPM based distribution, simply install the libxml2-python - RPM (and if needed the libxslt-python - RPM).
    • -
    • Otherwise use the libxml2-python - module distribution corresponding to your installed version of - libxml2 and libxslt. Note that to install it you will need both libxml2 - and libxslt installed and run "python setup.py build install" in the - module tree.
    • -
    - -

    The distribution includes a set of examples and regression tests for the -python bindings in the python/tests directory. Here are some -excerpts from those tests:

    - -

    tst.py:

    - -

    This is a basic test of the file interface and DOM navigation:

    -
    import libxml2, sys
    -
    -doc = libxml2.parseFile("tst.xml")
    -if doc.name != "tst.xml":
    -    print "doc.name failed"
    -    sys.exit(1)
    -root = doc.children
    -if root.name != "doc":
    -    print "root.name failed"
    -    sys.exit(1)
    -child = root.children
    -if child.name != "foo":
    -    print "child.name failed"
    -    sys.exit(1)
    -doc.freeDoc()
    - -

    The Python module is called libxml2; parseFile is the equivalent of -xmlParseFile (most of the bindings are automatically generated, and the xml -prefix is removed and the casing convention are kept). All node seen at the -binding level share the same subset of accessors:

    -
      -
    • name : returns the node name
    • -
    • type : returns a string indicating the node type
    • -
    • content : returns the content of the node, it is based on - xmlNodeGetContent() and hence is recursive.
    • -
    • parent , children, last, - next, prev, doc, - properties: pointing to the associated element in the tree, - those may return None in case no such link exists.
    • -
    - -

    Also note the need to explicitly deallocate documents with freeDoc() . -Reference counting for libxml2 trees would need quite a lot of work to -function properly, and rather than risk memory leaks if not implemented -correctly it sounds safer to have an explicit function to free a tree. The -wrapper python objects like doc, root or child are them automatically garbage -collected.

    - -

    validate.py:

    - -

    This test check the validation interfaces and redirection of error -messages:

    -
    import libxml2
    -
    -#deactivate error messages from the validation
    -def noerr(ctx, str):
    -    pass
    -
    -libxml2.registerErrorHandler(noerr, None)
    -
    -ctxt = libxml2.createFileParserCtxt("invalid.xml")
    -ctxt.validate(1)
    -ctxt.parseDocument()
    -doc = ctxt.doc()
    -valid = ctxt.isValid()
    -doc.freeDoc()
    -if valid != 0:
    -    print "validity check failed"
    - -

    The first thing to notice is the call to registerErrorHandler(), it -defines a new error handler global to the library. It is used to avoid seeing -the error messages when trying to validate the invalid document.

    - -

    The main interest of that test is the creation of a parser context with -createFileParserCtxt() and how the behaviour can be changed before calling -parseDocument() . Similarly the information resulting from the parsing phase -is also available using context methods.

    - -

    Contexts like nodes are defined as class and the libxml2 wrappers maps the -C function interfaces in terms of objects method as much as possible. The -best to get a complete view of what methods are supported is to look at the -libxml2.py module containing all the wrappers.

    - -

    push.py:

    - -

    This test show how to activate the push parser interface:

    -
    import libxml2
    -
    -ctxt = libxml2.createPushParser(None, "<foo", 4, "test.xml")
    -ctxt.parseChunk("/>", 2, 1)
    -doc = ctxt.doc()
    -
    -doc.freeDoc()
    - -

    The context is created with a special call based on the -xmlCreatePushParser() from the C library. The first argument is an optional -SAX callback object, then the initial set of data, the length and the name of -the resource in case URI-References need to be computed by the parser.

    - -

    Then the data are pushed using the parseChunk() method, the last call -setting the third argument terminate to 1.

    - -

    pushSAX.py:

    - -

    this test show the use of the event based parsing interfaces. In this case -the parser does not build a document, but provides callback information as -the parser makes progresses analyzing the data being provided:

    -
    import libxml2
    -log = ""
    -
    -class callback:
    -    def startDocument(self):
    -        global log
    -        log = log + "startDocument:"
    -
    -    def endDocument(self):
    -        global log
    -        log = log + "endDocument:"
    -
    -    def startElement(self, tag, attrs):
    -        global log
    -        log = log + "startElement %s %s:" % (tag, attrs)
    -
    -    def endElement(self, tag):
    -        global log
    -        log = log + "endElement %s:" % (tag)
    -
    -    def characters(self, data):
    -        global log
    -        log = log + "characters: %s:" % (data)
    -
    -    def warning(self, msg):
    -        global log
    -        log = log + "warning: %s:" % (msg)
    -
    -    def error(self, msg):
    -        global log
    -        log = log + "error: %s:" % (msg)
    -
    -    def fatalError(self, msg):
    -        global log
    -        log = log + "fatalError: %s:" % (msg)
    -
    -handler = callback()
    -
    -ctxt = libxml2.createPushParser(handler, "<foo", 4, "test.xml")
    -chunk = " url='tst'>b"
    -ctxt.parseChunk(chunk, len(chunk), 0)
    -chunk = "ar</foo>"
    -ctxt.parseChunk(chunk, len(chunk), 1)
    -
    -reference = "startDocument:startElement foo {'url': 'tst'}:" + \ 
    -            "characters: bar:endElement foo:endDocument:"
    -if log != reference:
    -    print "Error got: %s" % log
    -    print "Expected: %s" % reference
    - -

    The key object in that test is the handler, it provides a number of entry -points which can be called by the parser as it makes progresses to indicate -the information set obtained. The full set of callback is larger than what -the callback class in that specific example implements (see the SAX -definition for a complete list). The wrapper will only call those supplied by -the object when activated. The startElement receives the names of the element -and a dictionary containing the attributes carried by this element.

    - -

    Also note that the reference string generated from the callback shows a -single character call even though the string "bar" is passed to the parser -from 2 different call to parseChunk()

    - -

    xpath.py:

    - -

    This is a basic test of XPath wrappers support

    -
    import libxml2
    -
    -doc = libxml2.parseFile("tst.xml")
    -ctxt = doc.xpathNewContext()
    -res = ctxt.xpathEval("//*")
    -if len(res) != 2:
    -    print "xpath query: wrong node set size"
    -    sys.exit(1)
    -if res[0].name != "doc" or res[1].name != "foo":
    -    print "xpath query: wrong node set value"
    -    sys.exit(1)
    -doc.freeDoc()
    -ctxt.xpathFreeContext()
    - -

    This test parses a file, then create an XPath context to evaluate XPath -expression on it. The xpathEval() method execute an XPath query and returns -the result mapped in a Python way. String and numbers are natively converted, -and node sets are returned as a tuple of libxml2 Python nodes wrappers. Like -the document, the XPath context need to be freed explicitly, also not that -the result of the XPath query may point back to the document tree and hence -the document must be freed after the result of the query is used.

    - -

    xpathext.py:

    - -

    This test shows how to extend the XPath engine with functions written in -python:

    -
    import libxml2
    -
    -def foo(ctx, x):
    -    return x + 1
    -
    -doc = libxml2.parseFile("tst.xml")
    -ctxt = doc.xpathNewContext()
    -libxml2.registerXPathFunction(ctxt._o, "foo", None, foo)
    -res = ctxt.xpathEval("foo(1)")
    -if res != 2:
    -    print "xpath extension failure"
    -doc.freeDoc()
    -ctxt.xpathFreeContext()
    - -

    Note how the extension function is registered with the context (but that -part is not yet finalized, this may change slightly in the future).

    - -

    tstxpath.py:

    - -

    This test is similar to the previous one but shows how the extension -function can access the XPath evaluation context:

    -
    def foo(ctx, x):
    -    global called
    -
    -    #
    -    # test that access to the XPath evaluation contexts
    -    #
    -    pctxt = libxml2.xpathParserContext(_obj=ctx)
    -    ctxt = pctxt.context()
    -    called = ctxt.function()
    -    return x + 1
    - -

    All the interfaces around the XPath parser(or rather evaluation) context -are not finalized, but it should be sufficient to do contextual work at the -evaluation point.

    - -

    Memory debugging:

    - -

    last but not least, all tests starts with the following prologue:

    -
    #memory debug specific
    -libxml2.debugMemory(1)
    - -

    and ends with the following epilogue:

    -
    #memory debug specific
    -libxml2.cleanupParser()
    -if libxml2.debugMemory(1) == 0:
    -    print "OK"
    -else:
    -    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
    -    libxml2.dumpMemory()
    - -

    Those activate the memory debugging interface of libxml2 where all -allocated block in the library are tracked. The prologue then cleans up the -library state and checks that all allocated memory has been freed. If not it -calls dumpMemory() which saves that list in a .memdump file.

    - -

    libxml2 architecture

    - -

    Libxml2 is made of multiple components; some of them are optional, and -most of the block interfaces are public. The main components are:

    -
      -
    • an Input/Output layer
    • -
    • FTP and HTTP client layers (optional)
    • -
    • an Internationalization layer managing the encodings support
    • -
    • a URI module
    • -
    • the XML parser and its basic SAX interface
    • -
    • an HTML parser using the same SAX interface (optional)
    • -
    • a SAX tree module to build an in-memory DOM representation
    • -
    • a tree module to manipulate the DOM representation
    • -
    • a validation module using the DOM representation (optional)
    • -
    • an XPath module for global lookup in a DOM representation - (optional)
    • -
    • a debug module (optional)
    • -
    - -

    Graphically this gives the following:

    - -

    a graphical view of the various

    - -

    - -

    The tree output

    - -

    The parser returns a tree built during the document analysis. The value -returned is an xmlDocPtr (i.e., a pointer to an -xmlDoc structure). This structure contains information such -as the file name, the document type, and a children pointer -which is the root of the document (or more exactly the first child under the -root which is the document). The tree is made of xmlNodes, -chained in double-linked lists of siblings and with a children<->parent -relationship. An xmlNode can also carry properties (a chain of xmlAttr -structures). An attribute may have a value which is a list of TEXT or -ENTITY_REF nodes.

    - -

    Here is an example (erroneous with respect to the XML spec since there -should be only one ELEMENT under the root):

    - -

     structure.gif

    - -

    In the source package there is a small program (not installed by default) -called xmllint which parses XML files given as argument and -prints them back as parsed. This is useful for detecting errors both in XML -code and in the XML parser itself. It has an option --debug -which prints the actual in-memory structure of the document; here is the -result with the example given before:

    -
    DOCUMENT
    -version=1.0
    -standalone=true
    -  ELEMENT EXAMPLE
    -    ATTRIBUTE prop1
    -      TEXT
    -      content=gnome is great
    -    ATTRIBUTE prop2
    -      ENTITY_REF
    -      TEXT
    -      content= linux too 
    -    ELEMENT head
    -      ELEMENT title
    -        TEXT
    -        content=Welcome to Gnome
    -    ELEMENT chapter
    -      ELEMENT title
    -        TEXT
    -        content=The Linux adventure
    -      ELEMENT p
    -        TEXT
    -        content=bla bla bla ...
    -      ELEMENT image
    -        ATTRIBUTE href
    -          TEXT
    -          content=linus.gif
    -      ELEMENT p
    -        TEXT
    -        content=...
    - -

    This should be useful for learning the internal representation model.

    - -

    The SAX interface

    - -

    Sometimes the DOM tree output is just too large to fit reasonably into -memory. In that case (and if you don't expect to save back the XML document -loaded using libxml), it's better to use the SAX interface of libxml. SAX is -a callback-based interface to the parser. Before parsing, -the application layer registers a customized set of callbacks which are -called by the library as it progresses through the XML input.

    - -

    To get more detailed step-by-step guidance on using the SAX interface of -libxml, see the nice -documentation.written by James -Henstridge.

    - -

    You can debug the SAX behaviour by using the testSAX -program located in the gnome-xml module (it's usually not shipped in the -binary packages of libxml, but you can find it in the tar source -distribution). Here is the sequence of callbacks that would be reported by -testSAX when parsing the example XML document shown earlier:

    -
    SAX.setDocumentLocator()
    -SAX.startDocument()
    -SAX.getEntity(amp)
    -SAX.startElement(EXAMPLE, prop1='gnome is great', prop2='&amp; linux too')
    -SAX.characters(   , 3)
    -SAX.startElement(head)
    -SAX.characters(    , 4)
    -SAX.startElement(title)
    -SAX.characters(Welcome to Gnome, 16)
    -SAX.endElement(title)
    -SAX.characters(   , 3)
    -SAX.endElement(head)
    -SAX.characters(   , 3)
    -SAX.startElement(chapter)
    -SAX.characters(    , 4)
    -SAX.startElement(title)
    -SAX.characters(The Linux adventure, 19)
    -SAX.endElement(title)
    -SAX.characters(    , 4)
    -SAX.startElement(p)
    -SAX.characters(bla bla bla ..., 15)
    -SAX.endElement(p)
    -SAX.characters(    , 4)
    -SAX.startElement(image, href='linus.gif')
    -SAX.endElement(image)
    -SAX.characters(    , 4)
    -SAX.startElement(p)
    -SAX.characters(..., 3)
    -SAX.endElement(p)
    -SAX.characters(   , 3)
    -SAX.endElement(chapter)
    -SAX.characters( , 1)
    -SAX.endElement(EXAMPLE)
    -SAX.endDocument()
    - -

    Most of the other interfaces of libxml2 are based on the DOM tree-building -facility, so nearly everything up to the end of this document presupposes the -use of the standard DOM tree build. Note that the DOM tree itself is built by -a set of registered default callbacks, without internal specific -interface.

    - -

    Validation & DTDs

    - -

    Table of Content:

    -
      -
    1. General overview
    2. -
    3. The definition
    4. -
    5. Simple rules -
        -
      1. How to reference a DTD from a document
      2. -
      3. Declaring elements
      4. -
      5. Declaring attributes
      6. -
      -
    6. -
    7. Some examples
    8. -
    9. How to validate
    10. -
    11. Other resources
    12. -
    - -

    General overview

    - -

    Well what is validation and what is a DTD ?

    - -

    DTD is the acronym for Document Type Definition. This is a description of -the content for a family of XML files. This is part of the XML 1.0 -specification, and allows one to describe and verify that a given document -instance conforms to the set of rules detailing its structure and content.

    - -

    Validation is the process of checking a document against a DTD (more -generally against a set of construction rules).

    - -

    The validation process and building DTDs are the two most difficult parts -of the XML life cycle. Briefly a DTD defines all the possible elements to be -found within your document, what is the formal shape of your document tree -(by defining the allowed content of an element; either text, a regular -expression for the allowed list of children, or mixed content i.e. both text -and children). The DTD also defines the valid attributes for all elements and -the types of those attributes.

    - -

    The definition

    - -

    The W3C XML Recommendation (Tim Bray's annotated version of -Rev1):

    - - -

    (unfortunately) all this is inherited from the SGML world, the syntax is -ancient...

    - -

    Simple rules

    - -

    Writing DTDs can be done in many ways. The rules to build them if you need -something permanent or something which can evolve over time can be radically -different. Really complex DTDs like DocBook ones are flexible but quite -harder to design. I will just focus on DTDs for a formats with a fixed simple -structure. It is just a set of basic rules, and definitely not exhaustive nor -usable for complex DTD design.

    - -

    How to reference a DTD from a document:

    - -

    Assuming the top element of the document is spec and the dtd -is placed in the file mydtd in the subdirectory -dtds of the directory from where the document were loaded:

    - -

    <!DOCTYPE spec SYSTEM "dtds/mydtd">

    - -

    Notes:

    -
      -
    • The system string is actually an URI-Reference (as defined in RFC 2396) so you can use a - full URL string indicating the location of your DTD on the Web. This is a - really good thing to do if you want others to validate your document.
    • -
    • It is also possible to associate a PUBLIC identifier (a - magic string) so that the DTD is looked up in catalogs on the client side - without having to locate it on the web.
    • -
    • A DTD contains a set of element and attribute declarations, but they - don't define what the root of the document should be. This is explicitly - told to the parser/validator as the first element of the - DOCTYPE declaration.
    • -
    - -

    Declaring elements:

    - -

    The following declares an element spec:

    - -

    <!ELEMENT spec (front, body, back?)>

    - -

    It also expresses that the spec element contains one front, -one body and one optional back children elements in -this order. The declaration of one element of the structure and its content -are done in a single declaration. Similarly the following declares -div1 elements:

    - -

    <!ELEMENT div1 (head, (p | list | note)*, div2?)>

    - -

    which means div1 contains one head then a series of optional -p, lists and notes and then an -optional div2. And last but not least an element can contain -text:

    - -

    <!ELEMENT b (#PCDATA)>

    - -

    b contains text or being of mixed content (text and elements -in no particular order):

    - -

    <!ELEMENT p (#PCDATA|a|ul|b|i|em)*>

    - -

    p can contain text or a, ul, -b, i or em elements in no particular -order.

    - -

    Declaring attributes:

    - -

    Again the attributes declaration includes their content definition:

    - -

    <!ATTLIST termdef name CDATA #IMPLIED>

    - -

    means that the element termdef can have a name -attribute containing text (CDATA) and which is optional -(#IMPLIED). The attribute value can also be defined within a -set:

    - -

    <!ATTLIST list type (bullets|ordered|glossary) -"ordered">

    - -

    means list element have a type attribute with 3 -allowed values "bullets", "ordered" or "glossary" and which default to -"ordered" if the attribute is not explicitly specified.

    - -

    The content type of an attribute can be text (CDATA), -anchor/reference/references -(ID/IDREF/IDREFS), entity(ies) -(ENTITY/ENTITIES) or name(s) -(NMTOKEN/NMTOKENS). The following defines that a -chapter element can have an optional id attribute -of type ID, usable for reference from attribute of type -IDREF:

    - -

    <!ATTLIST chapter id ID #IMPLIED>

    - -

    The last value of an attribute definition can be #REQUIRED -meaning that the attribute has to be given, #IMPLIED -meaning that it is optional, or the default value (possibly prefixed by -#FIXED if it is the only allowed).

    - -

    Notes:

    -
      -
    • Usually the attributes pertaining to a given element are declared in a - single expression, but it is just a convention adopted by a lot of DTD - writers: -
      <!ATTLIST termdef
      -          id      ID      #REQUIRED
      -          name    CDATA   #IMPLIED>
      -

      The previous construct defines both id and - name attributes for the element termdef.

      -
    • -
    - -

    Some examples

    - -

    The directory test/valid/dtds/ in the libxml2 distribution -contains some complex DTD examples. The example in the file -test/valid/dia.xml shows an XML file where the simple DTD is -directly included within the document.

    - -

    How to validate

    - -

    The simplest way is to use the xmllint program included with libxml. The ---valid option turns-on validation of the files given as input. -For example the following validates a copy of the first revision of the XML -1.0 specification:

    - -

    xmllint --valid --noout test/valid/REC-xml-19980210.xml

    - -

    the -- noout is used to disable output of the resulting tree.

    - -

    The --dtdvalid dtd allows validation of the document(s) -against a given DTD.

    - -

    Libxml2 exports an API to handle DTDs and validation, check the associated -description.

    - -

    Other resources

    - -

    DTDs are as old as SGML. So there may be a number of examples on-line, I -will just list one for now, others pointers welcome:

    - - -

    I suggest looking at the examples found under test/valid/dtd and any of -the large number of books available on XML. The dia example in test/valid -should be both simple and complete enough to allow you to build your own.

    - -

    - -

    Memory Management

    - -

    Table of Content:

    -
      -
    1. General overview
    2. -
    3. Setting libxml2 set of memory routines
    4. -
    5. Cleaning up after using the library
    6. -
    7. Debugging routines
    8. -
    9. General memory requirements
    10. -
    11. Returning memory to the kernel
    12. -
    - -

    General overview

    - -

    The module xmlmemory.h -provides the interfaces to the libxml2 memory system:

    -
      -
    • libxml2 does not use the libc memory allocator directly but xmlFree(), - xmlMalloc() and xmlRealloc()
    • -
    • those routines can be reallocated to a specific set of routine, by - default the libc ones i.e. free(), malloc() and realloc()
    • -
    • the xmlmemory.c module includes a set of debugging routine
    • -
    - -

    Setting libxml2 set of memory routines

    - -

    It is sometimes useful to not use the default memory allocator, either for -debugging, analysis or to implement a specific behaviour on memory management -(like on embedded systems). Two function calls are available to do so:

    -
      -
    • xmlMemGet - () which return the current set of functions in use by the parser
    • -
    • xmlMemSetup() - which allow to set up a new set of memory allocation functions
    • -
    - -

    Of course a call to xmlMemSetup() should probably be done before calling -any other libxml2 routines (unless you are sure your allocations routines are -compatibles).

    - -

    Cleaning up after using the library

    - -

    Libxml2 is not stateless, there is a few set of memory structures needing -allocation before the parser is fully functional (some encoding structures -for example). This also mean that once parsing is finished there is a tiny -amount of memory (a few hundred bytes) which can be recollected if you don't -reuse the library or any document built with it:

    -
      -
    • xmlCleanupParser - () is a centralized routine to free the library state and data. Note - that it won't deallocate any produced tree if any (use the xmlFreeDoc() - and related routines for this). This should be called only when the library - is not used anymore.
    • -
    • xmlInitParser - () is the dual routine allowing to preallocate the parsing state - which can be useful for example to avoid initialization reentrancy - problems when using libxml2 in multithreaded applications
    • -
    - -

    Generally xmlCleanupParser() is safe assuming no parsing is ongoing and -no document is still being used, if needed the state will be rebuild at the -next invocation of parser routines (or by xmlInitParser()), but be careful -of the consequences in multithreaded applications.

    - -

    Debugging routines

    - -

    When configured using --with-mem-debug flag (off by default), libxml2 uses -a set of memory allocation debugging routines keeping track of all allocated -blocks and the location in the code where the routine was called. A couple of -other debugging routines allow to dump the memory allocated infos to a file -or call a specific routine when a given block number is allocated:

    - - -

    When developing libxml2 memory debug is enabled, the tests programs call -xmlMemoryDump () and the "make test" regression tests will check for any -memory leak during the full regression test sequence, this helps a lot -ensuring that libxml2 does not leak memory and bullet proof memory -allocations use (some libc implementations are known to be far too permissive -resulting in major portability problems!).

    - -

    If the .memdump reports a leak, it displays the allocation function and -also tries to give some information about the content and structure of the -allocated blocks left. This is sufficient in most cases to find the culprit, -but not always. Assuming the allocation problem is reproducible, it is -possible to find more easily:

    -
      -
    1. write down the block number xxxx not allocated
    2. -
    3. export the environment variable XML_MEM_BREAKPOINT=xxxx , the easiest - when using GDB is to simply give the command -

      set environment XML_MEM_BREAKPOINT xxxx

      -

      before running the program.

      -
    4. -
    5. run the program under a debugger and set a breakpoint on - xmlMallocBreakpoint() a specific function called when this precise block - is allocated
    6. -
    7. when the breakpoint is reached you can then do a fine analysis of the - allocation an step to see the condition resulting in the missing - deallocation.
    8. -
    - -

    I used to use a commercial tool to debug libxml2 memory problems but after -noticing that it was not detecting memory leaks that simple mechanism was -used and proved extremely efficient until now. Lately I have also used valgrind with quite some -success, it is tied to the i386 architecture since it works by emulating the -processor and instruction set, it is slow but extremely efficient, i.e. it -spot memory usage errors in a very precise way.

    - -

    General memory requirements

    - -

    How much libxml2 memory require ? It's hard to tell in average it depends -of a number of things:

    -
      -
    • the parser itself should work in a fixed amount of memory, except for - information maintained about the stacks of names and entities locations. - The I/O and encoding handlers will probably account for a few KBytes. - This is true for both the XML and HTML parser (though the HTML parser - need more state).
    • -
    • If you are generating the DOM tree then memory requirements will grow - nearly linear with the size of the data. In general for a balanced - textual document the internal memory requirement is about 4 times the - size of the UTF8 serialization of this document (example the XML-1.0 - recommendation is a bit more of 150KBytes and takes 650KBytes of main - memory when parsed). Validation will add a amount of memory required for - maintaining the external Dtd state which should be linear with the - complexity of the content model defined by the Dtd
    • -
    • If you need to work with fixed memory requirements or don't need the - full DOM tree then using the xmlReader - interface is probably the best way to proceed, it still allows to - validate or operate on subset of the tree if needed.
    • -
    • If you don't care about the advanced features of libxml2 like - validation, DOM, XPath or XPointer, don't use entities, need to work with - fixed memory requirements, and try to get the fastest parsing possible - then the SAX interface should be used, but it has known restrictions.
    • -
    - -

    -

    Returning memory to the kernel

    - -

    You may encounter that your process using libxml2 does not have a -reduced memory usage although you freed the trees. This is because -libxml2 allocates memory in a number of small chunks. When freeing one -of those chunks, the OS may decide that giving this little memory back -to the kernel will cause too much overhead and delay the operation. As -all chunks are this small, they get actually freed but not returned to -the kernel. On systems using glibc, there is a function call -"malloc_trim" from malloc.h which does this missing operation (note that -it is allowed to fail). Thus, after freeing your tree you may simply try -"malloc_trim(0);" to really get the memory back. If your OS does not -provide malloc_trim, try searching for a similar function.

    -

    - -

    Encodings support

    - -

    If you are not really familiar with Internationalization (usual shortcut -is I18N) , Unicode, characters and glyphs, I suggest you read a presentation -by Tim Bray on Unicode and why you should care about it.

    - -

    If you don't understand why it does not make sense to have a string -without knowing what encoding it uses, then as Joel Spolsky said please do not -write another line of code until you finish reading that article.. It is -a prerequisite to understand this page, and avoid a lot of problems with -libxml2, XML or text processing in general.

    - -

    Table of Content:

    -
      -
    1. What does internationalization support - mean ?
    2. -
    3. The internal encoding, how and - why
    4. -
    5. How is it implemented ?
    6. -
    7. Default supported encodings
    8. -
    9. How to extend the existing - support
    10. -
    - -

    What does internationalization support mean ?

    - -

    XML was designed from the start to allow the support of any character set -by using Unicode. Any conformant XML parser has to support the UTF-8 and -UTF-16 default encodings which can both express the full unicode ranges. UTF8 -is a variable length encoding whose greatest points are to reuse the same -encoding for ASCII and to save space for Western encodings, but it is a bit -more complex to handle in practice. UTF-16 use 2 bytes per character (and -sometimes combines two pairs), it makes implementation easier, but looks a -bit overkill for Western languages encoding. Moreover the XML specification -allows the document to be encoded in other encodings at the condition that -they are clearly labeled as such. For example the following is a wellformed -XML document encoded in ISO-8859-1 and using accentuated letters that we -French like for both markup and content:

    -
    <?xml version="1.0" encoding="ISO-8859-1"?>
    -<très>là </très>
    - -

    Having internationalization support in libxml2 means the following:

    -
      -
    • the document is properly parsed
    • -
    • information about it's encoding is saved
    • -
    • it can be modified
    • -
    • it can be saved in its original encoding
    • -
    • it can also be saved in another encoding supported by libxml2 (for - example straight UTF8 or even an ASCII form)
    • -
    - -

    Another very important point is that the whole libxml2 API, with the -exception of a few routines to read with a specific encoding or save to a -specific encoding, is completely agnostic about the original encoding of the -document.

    - -

    It should be noted too that the HTML parser embedded in libxml2 now obey -the same rules too, the following document will be (as of 2.2.2) handled in -an internationalized fashion by libxml2 too:

    -
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
    -                      "http://www.w3.org/TR/REC-html40/loose.dtd">
    -<html lang="fr">
    -<head>
    -  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
    -</head>
    -<body>
    -<p>W3C crée des standards pour le Web.</body>
    -</html>
    - -

    The internal encoding, how and why

    - -

    One of the core decisions was to force all documents to be converted to a -default internal encoding, and that encoding to be UTF-8, here are the -rationales for those choices:

    -
      -
    • keeping the native encoding in the internal form would force the libxml - users (or the code associated) to be fully aware of the encoding of the - original document, for examples when adding a text node to a document, - the content would have to be provided in the document encoding, i.e. the - client code would have to check it before hand, make sure it's conformant - to the encoding, etc ... Very hard in practice, though in some specific - cases this may make sense.
    • -
    • the second decision was which encoding. From the XML spec only UTF8 and - UTF16 really makes sense as being the two only encodings for which there - is mandatory support. UCS-4 (32 bits fixed size encoding) could be - considered an intelligent choice too since it's a direct Unicode mapping - support. I selected UTF-8 on the basis of efficiency and compatibility - with surrounding software: -
        -
      • UTF-8 while a bit more complex to convert from/to (i.e. slightly - more costly to import and export CPU wise) is also far more compact - than UTF-16 (and UCS-4) for a majority of the documents I see it used - for right now (RPM RDF catalogs, advogato data, various configuration - file formats, etc.) and the key point for today's computer - architecture is efficient uses of caches. If one nearly double the - memory requirement to store the same amount of data, this will trash - caches (main memory/external caches/internal caches) and my take is - that this harms the system far more than the CPU requirements needed - for the conversion to UTF-8
      • -
      • Most of libxml2 version 1 users were using it with straight ASCII - most of the time, doing the conversion with an internal encoding - requiring all their code to be rewritten was a serious show-stopper - for using UTF-16 or UCS-4.
      • -
      • UTF-8 is being used as the de-facto internal encoding standard for - related code like the pango - upcoming Gnome text widget, and a lot of Unix code (yet another place - where Unix programmer base takes a different approach from Microsoft - - they are using UTF-16)
      • -
      -
    • -
    - -

    What does this mean in practice for the libxml2 user:

    -
      -
    • xmlChar, the libxml2 data type is a byte, those bytes must be assembled - as UTF-8 valid strings. The proper way to terminate an xmlChar * string - is simply to append 0 byte, as usual.
    • -
    • One just need to make sure that when using chars outside the ASCII set, - the values has been properly converted to UTF-8
    • -
    - -

    How is it implemented ?

    - -

    Let's describe how all this works within libxml, basically the I18N -(internationalization) support get triggered only during I/O operation, i.e. -when reading a document or saving one. Let's look first at the reading -sequence:

    -
      -
    1. when a document is processed, we usually don't know the encoding, a - simple heuristic allows to detect UTF-16 and UCS-4 from encodings where - the ASCII range (0-0x7F) maps with ASCII
    2. -
    3. the xml declaration if available is parsed, including the encoding - declaration. At that point, if the autodetected encoding is different - from the one declared a call to xmlSwitchEncoding() is issued.
    4. -
    5. If there is no encoding declaration, then the input has to be in either - UTF-8 or UTF-16, if it is not then at some point when processing the - input, the converter/checker of UTF-8 form will raise an encoding error. - You may end-up with a garbled document, or no document at all ! Example: -
      ~/XML -> ./xmllint err.xml 
      -err.xml:1: error: Input is not proper UTF-8, indicate encoding !
      -<très>là </très>
      -   ^
      -err.xml:1: error: Bytes: 0xE8 0x73 0x3E 0x6C
      -<très>là </très>
      -   ^
      -
    6. -
    7. xmlSwitchEncoding() does an encoding name lookup, canonicalize it, and - then search the default registered encoding converters for that encoding. - If it's not within the default set and iconv() support has been compiled - it, it will ask iconv for such an encoder. If this fails then the parser - will report an error and stops processing: -
      ~/XML -> ./xmllint err2.xml 
      -err2.xml:1: error: Unsupported encoding UnsupportedEnc
      -<?xml version="1.0" encoding="UnsupportedEnc"?>
      -                                             ^
      -
    8. -
    9. From that point the encoder processes progressively the input (it is - plugged as a front-end to the I/O module) for that entity. It captures - and converts on-the-fly the document to be parsed to UTF-8. The parser - itself just does UTF-8 checking of this input and process it - transparently. The only difference is that the encoding information has - been added to the parsing context (more precisely to the input - corresponding to this entity).
    10. -
    11. The result (when using DOM) is an internal form completely in UTF-8 - with just an encoding information on the document node.
    12. -
    - -

    Ok then what happens when saving the document (assuming you -collected/built an xmlDoc DOM like structure) ? It depends on the function -called, xmlSaveFile() will just try to save in the original encoding, while -xmlSaveFileTo() and xmlSaveFileEnc() can optionally save to a given -encoding:

    -
      -
    1. if no encoding is given, libxml2 will look for an encoding value - associated to the document and if it exists will try to save to that - encoding, -

      otherwise everything is written in the internal form, i.e. UTF-8

      -
    2. -
    3. so if an encoding was specified, either at the API level or on the - document, libxml2 will again canonicalize the encoding name, lookup for a - converter in the registered set or through iconv. If not found the - function will return an error code
    4. -
    5. the converter is placed before the I/O buffer layer, as another kind of - buffer, then libxml2 will simply push the UTF-8 serialization to through - that buffer, which will then progressively be converted and pushed onto - the I/O layer.
    6. -
    7. It is possible that the converter code fails on some input, for example - trying to push an UTF-8 encoded Chinese character through the UTF-8 to - ISO-8859-1 converter won't work. Since the encoders are progressive they - will just report the error and the number of bytes converted, at that - point libxml2 will decode the offending character, remove it from the - buffer and replace it with the associated charRef encoding &#123; and - resume the conversion. This guarantees that any document will be saved - without losses (except for markup names where this is not legal, this is - a problem in the current version, in practice avoid using non-ascii - characters for tag or attribute names). A special "ascii" encoding name - is used to save documents to a pure ascii form can be used when - portability is really crucial
    8. -
    - -

    Here are a few examples based on the same test document and assumin a -terminal using ISO-8859-1 as the text encoding:

    -
    ~/XML -> ./xmllint isolat1 
    -<?xml version="1.0" encoding="ISO-8859-1"?>
    -<très>là</très>
    -~/XML -> ./xmllint --encode UTF-8 isolat1 
    -<?xml version="1.0" encoding="UTF-8"?>
    -<très>là  </très>
    -~/XML -> 
    - -

    The same processing is applied (and reuse most of the code) for HTML I18N -processing. Looking up and modifying the content encoding is a bit more -difficult since it is located in a <meta> tag under the <head>, -so a couple of functions htmlGetMetaEncoding() and htmlSetMetaEncoding() have -been provided. The parser also attempts to switch encoding on the fly when -detecting such a tag on input. Except for that the processing is the same -(and again reuses the same code).

    - -

    Default supported encodings

    - -

    libxml2 has a set of default converters for the following encodings -(located in encoding.c):

    -
      -
    1. UTF-8 is supported by default (null handlers)
    2. -
    3. UTF-16, both little and big endian
    4. -
    5. ISO-Latin-1 (ISO-8859-1) covering most western languages
    6. -
    7. ASCII, useful mostly for saving
    8. -
    9. HTML, a specific handler for the conversion of UTF-8 to ASCII with HTML - predefined entities like &copy; for the Copyright sign.
    10. -
    - -

    More over when compiled on an Unix platform with iconv support the full -set of encodings supported by iconv can be instantly be used by libxml. On a -linux machine with glibc-2.1 the list of supported encodings and aliases fill -3 full pages, and include UCS-4, the full set of ISO-Latin encodings, and the -various Japanese ones.

    - -

    To convert from the UTF-8 values returned from the API to another encoding -then it is possible to use the function provided from the encoding module like UTF8Toisolat1, or use the -POSIX iconv() -API directly.

    - -

    Encoding aliases

    - -

    From 2.2.3, libxml2 has support to register encoding names aliases. The -goal is to be able to parse document whose encoding is supported but where -the name differs (for example from the default set of names accepted by -iconv). The following functions allow to register and handle new aliases for -existing encodings. Once registered libxml2 will automatically lookup the -aliases when handling a document:

    -
      -
    • int xmlAddEncodingAlias(const char *name, const char *alias);
    • -
    • int xmlDelEncodingAlias(const char *alias);
    • -
    • const char * xmlGetEncodingAlias(const char *alias);
    • -
    • void xmlCleanupEncodingAliases(void);
    • -
    - -

    How to extend the existing support

    - -

    Well adding support for new encoding, or overriding one of the encoders -(assuming it is buggy) should not be hard, just write input and output -conversion routines to/from UTF-8, and register them using -xmlNewCharEncodingHandler(name, xxxToUTF8, UTF8Toxxx), and they will be -called automatically if the parser(s) encounter such an encoding name -(register it uppercase, this will help). The description of the encoders, -their arguments and expected return values are described in the encoding.h -header.

    - -

    I/O Interfaces

    - -

    Table of Content:

    -
      -
    1. General overview
    2. -
    3. The basic buffer type
    4. -
    5. Input I/O handlers
    6. -
    7. Output I/O handlers
    8. -
    9. The entities loader
    10. -
    11. Example of customized I/O
    12. -
    - -

    General overview

    - -

    The module xmlIO.h provides -the interfaces to the libxml2 I/O system. This consists of 4 main parts:

    -
      -
    • Entities loader, this is a routine which tries to fetch the entities - (files) based on their PUBLIC and SYSTEM identifiers. The default loader - don't look at the public identifier since libxml2 do not maintain a - catalog. You can redefine you own entity loader by using - xmlGetExternalEntityLoader() and - xmlSetExternalEntityLoader(). Check the - example.
    • -
    • Input I/O buffers which are a commodity structure used by the parser(s) - input layer to handle fetching the information to feed the parser. This - provides buffering and is also a placeholder where the encoding - converters to UTF8 are piggy-backed.
    • -
    • Output I/O buffers are similar to the Input ones and fulfill similar - task but when generating a serialization from a tree.
    • -
    • A mechanism to register sets of I/O callbacks and associate them with - specific naming schemes like the protocol part of the URIs. -

      This affect the default I/O operations and allows to use specific I/O - handlers for certain names.

      -
    • -
    - -

    The general mechanism used when loading http://rpmfind.net/xml.html for -example in the HTML parser is the following:

    -
      -
    1. The default entity loader calls xmlNewInputFromFile() with - the parsing context and the URI string.
    2. -
    3. the URI string is checked against the existing registered handlers - using their match() callback function, if the HTTP module was compiled - in, it is registered and its match() function will succeeds
    4. -
    5. the open() function of the handler is called and if successful will - return an I/O Input buffer
    6. -
    7. the parser will the start reading from this buffer and progressively - fetch information from the resource, calling the read() function of the - handler until the resource is exhausted
    8. -
    9. if an encoding change is detected it will be installed on the input - buffer, providing buffering and efficient use of the conversion - routines
    10. -
    11. once the parser has finished, the close() function of the handler is - called once and the Input buffer and associated resources are - deallocated.
    12. -
    - -

    The user defined callbacks are checked first to allow overriding of the -default libxml2 I/O routines.

    - -

    The basic buffer type

    - -

    All the buffer manipulation handling is done using the -xmlBuffer type define in tree.h which is a -resizable memory buffer. The buffer allocation strategy can be selected to be -either best-fit or use an exponential doubling one (CPU vs. memory use -trade-off). The values are XML_BUFFER_ALLOC_EXACT and -XML_BUFFER_ALLOC_DOUBLEIT, and can be set individually or on a -system wide basis using xmlBufferSetAllocationScheme(). A number -of functions allows to manipulate buffers with names starting with the -xmlBuffer... prefix.

    - -

    Input I/O handlers

    - -

    An Input I/O handler is a simple structure -xmlParserInputBuffer containing a context associated to the -resource (file descriptor, or pointer to a protocol handler), the read() and -close() callbacks to use and an xmlBuffer. And extra xmlBuffer and a charset -encoding handler are also present to support charset conversion when -needed.

    - -

    Output I/O handlers

    - -

    An Output handler xmlOutputBuffer is completely similar to an -Input one except the callbacks are write() and close().

    - -

    The entities loader

    - -

    The entity loader resolves requests for new entities and create inputs for -the parser. Creating an input from a filename or an URI string is done -through the xmlNewInputFromFile() routine. The default entity loader do not -handle the PUBLIC identifier associated with an entity (if any). So it just -calls xmlNewInputFromFile() with the SYSTEM identifier (which is mandatory in -XML).

    - -

    If you want to hook up a catalog mechanism then you simply need to -override the default entity loader, here is an example:

    -
    #include <libxml/xmlIO.h>
    -
    -xmlExternalEntityLoader defaultLoader = NULL;
    -
    -xmlParserInputPtr
    -xmlMyExternalEntityLoader(const char *URL, const char *ID,
    -                               xmlParserCtxtPtr ctxt) {
    -    xmlParserInputPtr ret;
    -    const char *fileID = NULL;
    -    /* lookup for the fileID depending on ID */
    -
    -    ret = xmlNewInputFromFile(ctxt, fileID);
    -    if (ret != NULL)
    -        return(ret);
    -    if (defaultLoader != NULL)
    -        ret = defaultLoader(URL, ID, ctxt);
    -    return(ret);
    -}
    -
    -int main(..) {
    -    ...
    -
    -    /*
    -     * Install our own entity loader
    -     */
    -    defaultLoader = xmlGetExternalEntityLoader();
    -    xmlSetExternalEntityLoader(xmlMyExternalEntityLoader);
    -
    -    ...
    -}
    - -

    Example of customized I/O

    - -

    This example come from a -real use case, xmlDocDump() closes the FILE * passed by the application -and this was a problem. The solution was to redefine a -new output handler with the closing call deactivated:

    -
      -
    1. First define a new I/O output allocator where the output don't close - the file: -
      xmlOutputBufferPtr
      -xmlOutputBufferCreateOwn(FILE *file, xmlCharEncodingHandlerPtr encoder) {
      -    xmlOutputBufferPtr ret;
      -    
      -    if (xmlOutputCallbackInitialized == 0)
      -        xmlRegisterDefaultOutputCallbacks();
      -
      -    if (file == NULL) return(NULL);
      -    ret = xmlAllocOutputBuffer(encoder);
      -    if (ret != NULL) {
      -        ret->context = file;
      -        ret->writecallback = xmlFileWrite;
      -        ret->closecallback = NULL;  /* No close callback */
      -    }
      -    return(ret);
      -} 
      -
    2. -
    3. And then use it to save the document: -
      FILE *f;
      -xmlOutputBufferPtr output;
      -xmlDocPtr doc;
      -int res;
      -
      -f = ...
      -doc = ....
      -
      -output = xmlOutputBufferCreateOwn(f, NULL);
      -res = xmlSaveFileTo(output, doc, NULL);
      -    
      -
    4. -
    - -

    Catalog support

    - -

    Table of Content:

    -
      -
    1. General overview
    2. -
    3. The definition
    4. -
    5. Using catalogs
    6. -
    7. Some examples
    8. -
    9. How to tune catalog usage
    10. -
    11. How to debug catalog processing
    12. -
    13. How to create and maintain catalogs
    14. -
    15. The implementor corner quick review of the - API
    16. -
    17. Other resources
    18. -
    - -

    General overview

    - -

    What is a catalog? Basically it's a lookup mechanism used when an entity -(a file or a remote resource) references another entity. The catalog lookup -is inserted between the moment the reference is recognized by the software -(XML parser, stylesheet processing, or even images referenced for inclusion -in a rendering) and the time where loading that resource is actually -started.

    - -

    It is basically used for 3 things:

    -
      -
    • mapping from "logical" names, the public identifiers and a more - concrete name usable for download (and URI). For example it can associate - the logical name -

      "-//OASIS//DTD DocBook XML V4.1.2//EN"

      -

      of the DocBook 4.1.2 XML DTD with the actual URL where it can be - downloaded

      -

      http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd

      -
    • -
    • remapping from a given URL to another one, like an HTTP indirection - saying that -

      "http://www.oasis-open.org/committes/tr.xsl"

      -

      should really be looked at

      -

      "http://www.oasis-open.org/committes/entity/stylesheets/base/tr.xsl"

      -
    • -
    • providing a local cache mechanism allowing to load the entities - associated to public identifiers or remote resources, this is a really - important feature for any significant deployment of XML or SGML since it - allows to avoid the aleas and delays associated to fetching remote - resources.
    • -
    - -

    The definitions

    - -

    Libxml, as of 2.4.3 implements 2 kind of catalogs:

    -
      -
    • the older SGML catalogs, the official spec is SGML Open Technical - Resolution TR9401:1997, but is better understood by reading the SP Catalog page from - James Clark. This is relatively old and not the preferred mode of - operation of libxml.
    • -
    • XML - Catalogs is far more flexible, more recent, uses an XML syntax and - should scale quite better. This is the default option of libxml.
    • -
    - -

    - -

    Using catalog

    - -

    In a normal environment libxml2 will by default check the presence of a -catalog in /etc/xml/catalog, and assuming it has been correctly populated, -the processing is completely transparent to the document user. To take a -concrete example, suppose you are authoring a DocBook document, this one -starts with the following DOCTYPE definition:

    -
    <?xml version='1.0'?>
    -<!DOCTYPE book PUBLIC "-//Norman Walsh//DTD DocBk XML V3.1.4//EN"
    -          "http://nwalsh.com/docbook/xml/3.1.4/db3xml.dtd">
    - -

    When validating the document with libxml, the catalog will be -automatically consulted to lookup the public identifier "-//Norman Walsh//DTD -DocBk XML V3.1.4//EN" and the system identifier -"http://nwalsh.com/docbook/xml/3.1.4/db3xml.dtd", and if these entities have -been installed on your system and the catalogs actually point to them, libxml -will fetch them from the local disk.

    - -

    Note: Really don't use this -DOCTYPE example it's a really old version, but is fine as an example.

    - -

    Libxml2 will check the catalog each time that it is requested to load an -entity, this includes DTD, external parsed entities, stylesheets, etc ... If -your system is correctly configured all the authoring phase and processing -should use only local files, even if your document stays portable because it -uses the canonical public and system ID, referencing the remote document.

    - -

    Some examples:

    - -

    Here is a couple of fragments from XML Catalogs used in libxml2 early -regression tests in test/catalogs :

    -
    <?xml version="1.0"?>
    -<!DOCTYPE catalog PUBLIC 
    -   "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
    -   "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
    -<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
    -  <public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
    -   uri="http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/>
    -...
    - -

    This is the beginning of a catalog for DocBook 4.1.2, XML Catalogs are -written in XML, there is a specific namespace for catalog elements -"urn:oasis:names:tc:entity:xmlns:xml:catalog". The first entry in this -catalog is a public mapping it allows to associate a Public -Identifier with an URI.

    -
    ...
    -    <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/"
    -                   rewritePrefix="file:///usr/share/xml/docbook/"/>
    -...
    - -

    A rewriteSystem is a very powerful instruction, it says that -any URI starting with a given prefix should be looked at another URI -constructed by replacing the prefix with an new one. In effect this acts like -a cache system for a full area of the Web. In practice it is extremely useful -with a file prefix if you have installed a copy of those resources on your -local system.

    -
    ...
    -<delegatePublic publicIdStartString="-//OASIS//DTD XML Catalog //"
    -                catalog="file:///usr/share/xml/docbook.xml"/>
    -<delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook XML"
    -                catalog="file:///usr/share/xml/docbook.xml"/>
    -<delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML"
    -                catalog="file:///usr/share/xml/docbook.xml"/>
    -<delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/"
    -                catalog="file:///usr/share/xml/docbook.xml"/>
    -<delegateURI uriStartString="http://www.oasis-open.org/docbook/"
    -                catalog="file:///usr/share/xml/docbook.xml"/>
    -...
    - -

    Delegation is the core features which allows to build a tree of catalogs, -easier to maintain than a single catalog, based on Public Identifier, System -Identifier or URI prefixes it instructs the catalog software to look up -entries in another resource. This feature allow to build hierarchies of -catalogs, the set of entries presented should be sufficient to redirect the -resolution of all DocBook references to the specific catalog in -/usr/share/xml/docbook.xml this one in turn could delegate all -references for DocBook 4.2.1 to a specific catalog installed at the same time -as the DocBook resources on the local machine.

    - -

    How to tune catalog usage:

    - -

    The user can change the default catalog behaviour by redirecting queries -to its own set of catalogs, this can be done by setting the -XML_CATALOG_FILES environment variable to a list of catalogs, an -empty one should deactivate loading the default /etc/xml/catalog -default catalog

    - -

    How to debug catalog processing:

    - -

    Setting up the XML_DEBUG_CATALOG environment variable will -make libxml2 output debugging information for each catalog operations, for -example:

    -
    orchis:~/XML -> xmllint --memory --noout test/ent2
    -warning: failed to load external entity "title.xml"
    -orchis:~/XML -> export XML_DEBUG_CATALOG=
    -orchis:~/XML -> xmllint --memory --noout test/ent2
    -Failed to parse catalog /etc/xml/catalog
    -Failed to parse catalog /etc/xml/catalog
    -warning: failed to load external entity "title.xml"
    -Catalogs cleanup
    -orchis:~/XML -> 
    - -

    The test/ent2 references an entity, running the parser from memory makes -the base URI unavailable and the the "title.xml" entity cannot be loaded. -Setting up the debug environment variable allows to detect that an attempt is -made to load the /etc/xml/catalog but since it's not present the -resolution fails.

    - -

    But the most advanced way to debug XML catalog processing is to use the -xmlcatalog command shipped with libxml2, it allows to load -catalogs and make resolution queries to see what is going on. This is also -used for the regression tests:

    -
    orchis:~/XML -> ./xmlcatalog test/catalogs/docbook.xml \
    -                   "-//OASIS//DTD DocBook XML V4.1.2//EN"
    -http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
    -orchis:~/XML -> 
    - -

    For debugging what is going on, adding one -v flags increase the verbosity -level to indicate the processing done (adding a second flag also indicate -what elements are recognized at parsing):

    -
    orchis:~/XML -> ./xmlcatalog -v test/catalogs/docbook.xml \
    -                   "-//OASIS//DTD DocBook XML V4.1.2//EN"
    -Parsing catalog test/catalogs/docbook.xml's content
    -Found public match -//OASIS//DTD DocBook XML V4.1.2//EN
    -http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
    -Catalogs cleanup
    -orchis:~/XML -> 
    - -

    A shell interface is also available to debug and process multiple queries -(and for regression tests):

    -
    orchis:~/XML -> ./xmlcatalog -shell test/catalogs/docbook.xml \
    -                   "-//OASIS//DTD DocBook XML V4.1.2//EN"
    -> help   
    -Commands available:
    -public PublicID: make a PUBLIC identifier lookup
    -system SystemID: make a SYSTEM identifier lookup
    -resolve PublicID SystemID: do a full resolver lookup
    -add 'type' 'orig' 'replace' : add an entry
    -del 'values' : remove values
    -dump: print the current catalog state
    -debug: increase the verbosity level
    -quiet: decrease the verbosity level
    -exit:  quit the shell
    -> public "-//OASIS//DTD DocBook XML V4.1.2//EN"
    -http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
    -> quit
    -orchis:~/XML -> 
    - -

    This should be sufficient for most debugging purpose, this was actually -used heavily to debug the XML Catalog implementation itself.

    - -

    How to create and maintain catalogs:

    - -

    Basically XML Catalogs are XML files, you can either use XML tools to -manage them or use xmlcatalog for this. The basic step is -to create a catalog the -create option provide this facility:

    -
    orchis:~/XML -> ./xmlcatalog --create tst.xml
    -<?xml version="1.0"?>
    -<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
    -         "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
    -<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"/>
    -orchis:~/XML -> 
    - -

    By default xmlcatalog does not overwrite the original catalog and save the -result on the standard output, this can be overridden using the -noout -option. The -add command allows to add entries in the -catalog:

    -
    orchis:~/XML -> ./xmlcatalog --noout --create --add "public" \
    -  "-//OASIS//DTD DocBook XML V4.1.2//EN" \
    -  http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd tst.xml
    -orchis:~/XML -> cat tst.xml
    -<?xml version="1.0"?>
    -<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" \
    -  "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
    -<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
    -<public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
    -        uri="http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/>
    -</catalog>
    -orchis:~/XML -> 
    - -

    The -add option will always take 3 parameters even if some of -the XML Catalog constructs (like nextCatalog) will have only a single -argument, just pass a third empty string, it will be ignored.

    - -

    Similarly the -del option remove matching entries from the -catalog:

    -
    orchis:~/XML -> ./xmlcatalog --del \
    -  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" tst.xml
    -<?xml version="1.0"?>
    -<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
    -    "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
    -<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"/>
    -orchis:~/XML -> 
    - -

    The catalog is now empty. Note that the matching of -del is -exact and would have worked in a similar fashion with the Public ID -string.

    - -

    This is rudimentary but should be sufficient to manage a not too complex -catalog tree of resources.

    - -

    The implementor corner quick review of the -API:

    - -

    First, and like for every other module of libxml, there is an -automatically generated API page for -catalog support.

    - -

    The header for the catalog interfaces should be included as:

    -
    #include <libxml/catalog.h>
    - -

    The API is voluntarily kept very simple. First it is not obvious that -applications really need access to it since it is the default behaviour of -libxml2 (Note: it is possible to completely override libxml2 default catalog -by using xmlSetExternalEntityLoader to -plug an application specific resolver).

    - -

    Basically libxml2 support 2 catalog lists:

    -
      -
    • the default one, global shared by all the application
    • -
    • a per-document catalog, this one is built if the document uses the - oasis-xml-catalog PIs to specify its own catalog list, it is - associated to the parser context and destroyed when the parsing context - is destroyed.
    • -
    - -

    the document one will be used first if it exists.

    - -

    Initialization routines:

    - -

    xmlInitializeCatalog(), xmlLoadCatalog() and xmlLoadCatalogs() should be -used at startup to initialize the catalog, if the catalog should be -initialized with specific values xmlLoadCatalog() or xmlLoadCatalogs() -should be called before xmlInitializeCatalog() which would otherwise do a -default initialization first.

    - -

    The xmlCatalogAddLocal() call is used by the parser to grow the document -own catalog list if needed.

    - -

    Preferences setup:

    - -

    The XML Catalog spec requires the possibility to select default -preferences between public and system delegation, -xmlCatalogSetDefaultPrefer() allows this, xmlCatalogSetDefaults() and -xmlCatalogGetDefaults() allow to control if XML Catalogs resolution should -be forbidden, allowed for global catalog, for document catalog or both, the -default is to allow both.

    - -

    And of course xmlCatalogSetDebug() allows to generate debug messages -(through the xmlGenericError() mechanism).

    - -

    Querying routines:

    - -

    xmlCatalogResolve(), xmlCatalogResolveSystem(), xmlCatalogResolvePublic() -and xmlCatalogResolveURI() are relatively explicit if you read the XML -Catalog specification they correspond to section 7 algorithms, they should -also work if you have loaded an SGML catalog with a simplified semantic.

    - -

    xmlCatalogLocalResolve() and xmlCatalogLocalResolveURI() are the same but -operate on the document catalog list

    - -

    Cleanup and Miscellaneous:

    - -

    xmlCatalogCleanup() free-up the global catalog, xmlCatalogFreeLocal() is -the per-document equivalent.

    - -

    xmlCatalogAdd() and xmlCatalogRemove() are used to dynamically modify the -first catalog in the global list, and xmlCatalogDump() allows to dump a -catalog state, those routines are primarily designed for xmlcatalog, I'm not -sure that exposing more complex interfaces (like navigation ones) would be -really useful.

    - -

    The xmlParseCatalogFile() is a function used to load XML Catalog files, -it's similar as xmlParseFile() except it bypass all catalog lookups, it's -provided because this functionality may be useful for client tools.

    - -

    threaded environments:

    - -

    Since the catalog tree is built progressively, some care has been taken to -try to avoid troubles in multithreaded environments. The code is now thread -safe assuming that the libxml2 library has been compiled with threads -support.

    - -

    - -

    Other resources

    - -

    The XML Catalog specification is relatively recent so there isn't much -literature to point at:

    -
      -
    • You can find a good rant from Norm Walsh about the - need for catalogs, it provides a lot of context information even if - I don't agree with everything presented. Norm also wrote a more recent - article XML - entities and URI resolvers describing them.
    • -
    • An old XML - catalog proposal from John Cowan
    • -
    • The Resource Directory Description - Language (RDDL) another catalog system but more oriented toward - providing metadata for XML namespaces.
    • -
    • the page from the OASIS Technical Committee on Entity - Resolution who maintains XML Catalog, you will find pointers to the - specification update, some background and pointers to others tools - providing XML Catalog support
    • -
    • There is a shell script to generate - XML Catalogs for DocBook 4.1.2 . If it can write to the /etc/xml/ - directory, it will set-up /etc/xml/catalog and /etc/xml/docbook based on - the resources found on the system. Otherwise it will just create - ~/xmlcatalog and ~/dbkxmlcatalog and doing: -

      export XML_CATALOG_FILES=$HOME/xmlcatalog

      -

      should allow to process DocBook documentations without requiring - network accesses for the DTD or stylesheets

      -
    • -
    • I have uploaded a - small tarball containing XML Catalogs for DocBook 4.1.2 which seems - to work fine for me too
    • -
    • The xmlcatalog - manual page
    • -
    - -

    If you have suggestions for corrections or additions, simply contact -me:

    - -

    The parser interfaces

    - -

    This section is directly intended to help programmers getting bootstrapped -using the XML tollkit from the C language. It is not intended to be -extensive. I hope the automatically generated documents will provide the -completeness required, but as a separate set of documents. The interfaces of -the XML parser are by principle low level, Those interested in a higher level -API should look at DOM.

    - -

    The parser interfaces for XML are -separated from the HTML parser -interfaces. Let's have a look at how the XML parser can be called:

    - -

    Invoking the parser : the pull method

    - -

    Usually, the first thing to do is to read an XML input. The parser accepts -documents either from in-memory strings or from files. The functions are -defined in "parser.h":

    -
    -
    xmlDocPtr xmlParseMemory(char *buffer, int size);
    -

    Parse a null-terminated string containing the document.

    -
    -
    -
    -
    xmlDocPtr xmlParseFile(const char *filename);
    -

    Parse an XML document contained in a (possibly compressed) - file.

    -
    -
    - -

    The parser returns a pointer to the document structure (or NULL in case of -failure).

    - -

    Invoking the parser: the push method

    - -

    In order for the application to keep the control when the document is -being fetched (which is common for GUI based programs) libxml2 provides a -push interface, too, as of version 1.8.3. Here are the interface -functions:

    -
    xmlParserCtxtPtr xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax,
    -                                         void *user_data,
    -                                         const char *chunk,
    -                                         int size,
    -                                         const char *filename);
    -int              xmlParseChunk          (xmlParserCtxtPtr ctxt,
    -                                         const char *chunk,
    -                                         int size,
    -                                         int terminate);
    - -

    and here is a simple example showing how to use the interface:

    -
                FILE *f;
    -
    -            f = fopen(filename, "r");
    -            if (f != NULL) {
    -                int res, size = 1024;
    -                char chars[1024];
    -                xmlParserCtxtPtr ctxt;
    -
    -                res = fread(chars, 1, 4, f);
    -                if (res > 0) {
    -                    ctxt = xmlCreatePushParserCtxt(NULL, NULL,
    -                                chars, res, filename);
    -                    while ((res = fread(chars, 1, size, f)) > 0) {
    -                        xmlParseChunk(ctxt, chars, res, 0);
    -                    }
    -                    xmlParseChunk(ctxt, chars, 0, 1);
    -                    doc = ctxt->myDoc;
    -                    xmlFreeParserCtxt(ctxt);
    -                }
    -            }
    - -

    The HTML parser embedded into libxml2 also has a push interface; the -functions are just prefixed by "html" rather than "xml".

    - -

    Invoking the parser: the SAX interface

    - -

    The tree-building interface makes the parser memory-hungry, first loading -the document in memory and then building the tree itself. Reading a document -without building the tree is possible using the SAX interfaces (see SAX.h and -James -Henstridge's documentation). Note also that the push interface can be -limited to SAX: just use the two first arguments of -xmlCreatePushParserCtxt().

    - -

    Building a tree from scratch

    - -

    The other way to get an XML tree in memory is by building it. Basically -there is a set of functions dedicated to building new elements. (These are -also described in <libxml/tree.h>.) For example, here is a piece of -code that produces the XML document used in the previous examples:

    -
        #include <libxml/tree.h>
    -    xmlDocPtr doc;
    -    xmlNodePtr tree, subtree;
    -
    -    doc = xmlNewDoc("1.0");
    -    doc->children = xmlNewDocNode(doc, NULL, "EXAMPLE", NULL);
    -    xmlSetProp(doc->children, "prop1", "gnome is great");
    -    xmlSetProp(doc->children, "prop2", "& linux too");
    -    tree = xmlNewChild(doc->children, NULL, "head", NULL);
    -    subtree = xmlNewChild(tree, NULL, "title", "Welcome to Gnome");
    -    tree = xmlNewChild(doc->children, NULL, "chapter", NULL);
    -    subtree = xmlNewChild(tree, NULL, "title", "The Linux adventure");
    -    subtree = xmlNewChild(tree, NULL, "p", "bla bla bla ...");
    -    subtree = xmlNewChild(tree, NULL, "image", NULL);
    -    xmlSetProp(subtree, "href", "linus.gif");
    - -

    Not really rocket science ...

    - -

    Traversing the tree

    - -

    Basically by including "tree.h" your -code has access to the internal structure of all the elements of the tree. -The names should be somewhat simple like parent, -children, next, prev, -properties, etc... For example, still with the previous -example:

    -
    doc->children->children->children
    - -

    points to the title element,

    -
    doc->children->children->next->children->children
    - -

    points to the text node containing the chapter title "The Linux -adventure".

    - -

    NOTE: XML allows PIs and comments to be -present before the document root, so doc->children may point -to an element which is not the document Root Element; a function -xmlDocGetRootElement() was added for this purpose.

    - -

    Modifying the tree

    - -

    Functions are provided for reading and writing the document content. Here -is an excerpt from the tree API:

    -
    -
    xmlAttrPtr xmlSetProp(xmlNodePtr node, const xmlChar *name, const - xmlChar *value);
    -

    This sets (or changes) an attribute carried by an ELEMENT node. - The value can be NULL.

    -
    -
    -
    -
    const xmlChar *xmlGetProp(xmlNodePtr node, const xmlChar - *name);
    -

    This function returns a pointer to new copy of the property - content. Note that the user must deallocate the result.

    -
    -
    - -

    Two functions are provided for reading and writing the text associated -with elements:

    -
    -
    xmlNodePtr xmlStringGetNodeList(xmlDocPtr doc, const xmlChar - *value);
    -

    This function takes an "external" string and converts it to one - text node or possibly to a list of entity and text nodes. All - non-predefined entity references like &Gnome; will be stored - internally as entity nodes, hence the result of the function may not be - a single node.

    -
    -
    -
    -
    xmlChar *xmlNodeListGetString(xmlDocPtr doc, xmlNodePtr list, int - inLine);
    -

    This function is the inverse of - xmlStringGetNodeList(). It generates a new string - containing the content of the text and entity nodes. Note the extra - argument inLine. If this argument is set to 1, the function will expand - entity references. For example, instead of returning the &Gnome; - XML encoding in the string, it will substitute it with its value (say, - "GNU Network Object Model Environment").

    -
    -
    - -

    Saving a tree

    - -

    Basically 3 options are possible:

    -
    -
    void xmlDocDumpMemory(xmlDocPtr cur, xmlChar**mem, int - *size);
    -

    Returns a buffer into which the document has been saved.

    -
    -
    -
    -
    extern void xmlDocDump(FILE *f, xmlDocPtr doc);
    -

    Dumps a document to an open file descriptor.

    -
    -
    -
    -
    int xmlSaveFile(const char *filename, xmlDocPtr cur);
    -

    Saves the document to a file. In this case, the compression - interface is triggered if it has been turned on.

    -
    -
    - -

    Compression

    - -

    The library transparently handles compression when doing file-based -accesses. The level of compression on saves can be turned on either globally -or individually for one file:

    -
    -
    int xmlGetDocCompressMode (xmlDocPtr doc);
    -

    Gets the document compression ratio (0-9).

    -
    -
    -
    -
    void xmlSetDocCompressMode (xmlDocPtr doc, int mode);
    -

    Sets the document compression ratio.

    -
    -
    -
    -
    int xmlGetCompressMode(void);
    -

    Gets the default compression ratio.

    -
    -
    -
    -
    void xmlSetCompressMode(int mode);
    -

    Sets the default compression ratio.

    -
    -
    - -

    Entities or no entities

    - -

    Entities in principle are similar to simple C macros. An entity defines an -abbreviation for a given string that you can reuse many times throughout the -content of your document. Entities are especially useful when a given string -may occur frequently within a document, or to confine the change needed to a -document to a restricted area in the internal subset of the document (at the -beginning). Example:

    -
    1 <?xml version="1.0"?>
    -2 <!DOCTYPE EXAMPLE SYSTEM "example.dtd" [
    -3 <!ENTITY xml "Extensible Markup Language">
    -4 ]>
    -5 <EXAMPLE>
    -6    &xml;
    -7 </EXAMPLE>
    - -

    Line 3 declares the xml entity. Line 6 uses the xml entity, by prefixing -its name with '&' and following it by ';' without any spaces added. There -are 5 predefined entities in libxml2 allowing you to escape characters with -predefined meaning in some parts of the xml document content: -&lt; for the character '<', &gt; -for the character '>', &apos; for the character ''', -&quot; for the character '"', and -&amp; for the character '&'.

    - -

    One of the problems related to entities is that you may want the parser to -substitute an entity's content so that you can see the replacement text in -your application. Or you may prefer to keep entity references as such in the -content to be able to save the document back without losing this usually -precious information (if the user went through the pain of explicitly -defining entities, he may have a a rather negative attitude if you blindly -substitute them as saving time). The xmlSubstituteEntitiesDefault() -function allows you to check and change the behaviour, which is to not -substitute entities by default.

    - -

    Here is the DOM tree built by libxml2 for the previous document in the -default case:

    -
    /gnome/src/gnome-xml -> ./xmllint --debug test/ent1
    -DOCUMENT
    -version=1.0
    -   ELEMENT EXAMPLE
    -     TEXT
    -     content=
    -     ENTITY_REF
    -       INTERNAL_GENERAL_ENTITY xml
    -       content=Extensible Markup Language
    -     TEXT
    -     content=
    - -

    And here is the result when substituting entities:

    -
    /gnome/src/gnome-xml -> ./tester --debug --noent test/ent1
    -DOCUMENT
    -version=1.0
    -   ELEMENT EXAMPLE
    -     TEXT
    -     content=     Extensible Markup Language
    - -

    So, entities or no entities? Basically, it depends on your use case. I -suggest that you keep the non-substituting default behaviour and avoid using -entities in your XML document or data if you are not willing to handle the -entity references elements in the DOM tree.

    - -

    Note that at save time libxml2 enforces the conversion of the predefined -entities where necessary to prevent well-formedness problems, and will also -transparently replace those with chars (i.e. it will not generate entity -reference elements in the DOM tree or call the reference() SAX callback when -finding them in the input).

    - -

    WARNING: handling entities -on top of the libxml2 SAX interface is difficult!!! If you plan to use -non-predefined entities in your documents, then the learning curve to handle -then using the SAX API may be long. If you plan to use complex documents, I -strongly suggest you consider using the DOM interface instead and let libxml -deal with the complexity rather than trying to do it yourself.

    - -

    Namespaces

    - -

    The libxml2 library implements XML namespaces support by -recognizing namespace constructs in the input, and does namespace lookup -automatically when building the DOM tree. A namespace declaration is -associated with an in-memory structure and all elements or attributes within -that namespace point to it. Hence testing the namespace is a simple and fast -equality operation at the user level.

    - -

    I suggest that people using libxml2 use a namespace, and declare it in the -root element of their document as the default namespace. Then they don't need -to use the prefix in the content but we will have a basis for future semantic -refinement and merging of data from different sources. This doesn't increase -the size of the XML output significantly, but significantly increases its -value in the long-term. Example:

    -
    <mydoc xmlns="http://mydoc.example.org/schemas/">
    -   <elem1>...</elem1>
    -   <elem2>...</elem2>
    -</mydoc>
    - -

    The namespace value has to be an absolute URL, but the URL doesn't have to -point to any existing resource on the Web. It will bind all the element and -attributes with that URL. I suggest to use an URL within a domain you -control, and that the URL should contain some kind of version information if -possible. For example, "http://www.gnome.org/gnumeric/1.0/" is a -good namespace scheme.

    - -

    Then when you load a file, make sure that a namespace carrying the -version-independent prefix is installed on the root element of your document, -and if the version information don't match something you know, warn the user -and be liberal in what you accept as the input. Also do *not* try to base -namespace checking on the prefix value. <foo:text> may be exactly the -same as <bar:text> in another document. What really matters is the URI -associated with the element or the attribute, not the prefix string (which is -just a shortcut for the full URI). In libxml, element and attributes have an -ns field pointing to an xmlNs structure detailing the namespace -prefix and its URI.

    - -

    @@Interfaces@@

    -
    xmlNodePtr node;
    -if(!strncmp(node->name,"mytag",5)
    -  && node->ns
    -  && !strcmp(node->ns->href,"http://www.mysite.com/myns/1.0")) {
    -  ...
    -}
    - -

    Usually people object to using namespaces together with validity checking. -I will try to make sure that using namespaces won't break validity checking, -so even if you plan to use or currently are using validation I strongly -suggest adding namespaces to your document. A default namespace scheme -xmlns="http://...." should not break validity even on less -flexible parsers. Using namespaces to mix and differentiate content coming -from multiple DTDs will certainly break current validation schemes. To check -such documents one needs to use schema-validation, which is supported in -libxml2 as well. See relagx-ng and w3c-schema.

    - -

    Upgrading 1.x code

    - -

    Incompatible changes:

    - -

    Version 2 of libxml2 is the first version introducing serious backward -incompatible changes. The main goals were:

    -
      -
    • a general cleanup. A number of mistakes inherited from the very early - versions couldn't be changed due to compatibility constraints. Example - the "childs" element in the nodes.
    • -
    • Uniformization of the various nodes, at least for their header and link - parts (doc, parent, children, prev, next), the goal is a simpler - programming model and simplifying the task of the DOM implementors.
    • -
    • better conformances to the XML specification, for example version 1.x - had an heuristic to try to detect ignorable white spaces. As a result the - SAX event generated were ignorableWhitespace() while the spec requires - character() in that case. This also mean that a number of DOM node - containing blank text may populate the DOM tree which were not present - before.
    • -
    - -

    How to fix libxml-1.x code:

    - -

    So client code of libxml designed to run with version 1.x may have to be -changed to compile against version 2.x of libxml. Here is a list of changes -that I have collected, they may not be sufficient, so in case you find other -change which are required, drop me a -mail:

    -
      -
    1. The package name have changed from libxml to libxml2, the library name - is now -lxml2 . There is a new xml2-config script which should be used to - select the right parameters libxml2
    2. -
    3. Node childs field has been renamed - children so s/childs/children/g should be applied - (probability of having "childs" anywhere else is close to 0+
    4. -
    5. The document don't have anymore a root element it has - been replaced by children and usually you will get a - list of element here. For example a Dtd element for the internal subset - and it's declaration may be found in that list, as well as processing - instructions or comments found before or after the document root element. - Use xmlDocGetRootElement(doc) to get the root element of - a document. Alternatively if you are sure to not reference DTDs nor have - PIs or comments before or after the root element - s/->root/->children/g will probably do it.
    6. -
    7. The white space issue, this one is more complex, unless special case of - validating parsing, the line breaks and spaces usually used for indenting - and formatting the document content becomes significant. So they are - reported by SAX and if your using the DOM tree, corresponding nodes are - generated. Too approach can be taken: -
        -
      1. lazy one, use the compatibility call - xmlKeepBlanksDefault(0) but be aware that you are - relying on a special (and possibly broken) set of heuristics of - libxml to detect ignorable blanks. Don't complain if it breaks or - make your application not 100% clean w.r.t. to it's input.
      2. -
      3. the Right Way: change you code to accept possibly insignificant - blanks characters, or have your tree populated with weird blank text - nodes. You can spot them using the commodity function - xmlIsBlankNode(node) returning 1 for such blank - nodes.
      4. -
      -

      Note also that with the new default the output functions don't add any - extra indentation when saving a tree in order to be able to round trip - (read and save) without inflating the document with extra formatting - chars.

      -
    8. -
    9. The include path has changed to $prefix/libxml/ and the includes - themselves uses this new prefix in includes instructions... If you are - using (as expected) the -
      xml2-config --cflags
      -

      output to generate you compile commands this will probably work out of - the box

      -
    10. -
    11. xmlDetectCharEncoding takes an extra argument indicating the length in - byte of the head of the document available for character detection.
    12. -
    - -

    Ensuring both libxml-1.x and libxml-2.x compatibility

    - -

    Two new version of libxml (1.8.11) and libxml2 (2.3.4) have been released -to allow smooth upgrade of existing libxml v1code while retaining -compatibility. They offers the following:

    -
      -
    1. similar include naming, one should use - #include<libxml/...> in both cases.
    2. -
    3. similar identifiers defined via macros for the child and root fields: - respectively xmlChildrenNode and - xmlRootNode
    4. -
    5. a new macro LIBXML_TEST_VERSION which should be - inserted once in the client code
    6. -
    - -

    So the roadmap to upgrade your existing libxml applications is the -following:

    -
      -
    1. install the libxml-1.8.8 (and libxml-devel-1.8.8) packages
    2. -
    3. find all occurrences where the xmlDoc root field is - used and change it to xmlRootNode
    4. -
    5. similarly find all occurrences where the xmlNode - childs field is used and change it to - xmlChildrenNode
    6. -
    7. add a LIBXML_TEST_VERSION macro somewhere in your - main() or in the library init entry point
    8. -
    9. Recompile, check compatibility, it should still work
    10. -
    11. Change your configure script to look first for xml2-config and fall - back using xml-config . Use the --cflags and --libs output of the command - as the Include and Linking parameters needed to use libxml.
    12. -
    13. install libxml2-2.3.x and libxml2-devel-2.3.x (libxml-1.8.y and - libxml-devel-1.8.y can be kept simultaneously)
    14. -
    15. remove your config.cache, relaunch your configuration mechanism, and - recompile, if steps 2 and 3 were done right it should compile as-is
    16. -
    17. Test that your application is still running correctly, if not this may - be due to extra empty nodes due to formating spaces being kept in libxml2 - contrary to libxml1, in that case insert xmlKeepBlanksDefault(1) in your - code before calling the parser (next to - LIBXML_TEST_VERSION is a fine place).
    18. -
    - -

    Following those steps should work. It worked for some of my own code.

    - -

    Let me put some emphasis on the fact that there is far more changes from -libxml 1.x to 2.x than the ones you may have to patch for. The overall code -has been considerably cleaned up and the conformance to the XML specification -has been drastically improved too. Don't take those changes as an excuse to -not upgrade, it may cost a lot on the long term ...

    - -

    Thread safety

    - -

    Starting with 2.4.7, libxml2 makes provisions to ensure that concurrent -threads can safely work in parallel parsing different documents. There is -however a couple of things to do to ensure it:

    -
      -
    • configure the library accordingly using the --with-threads options
    • -
    • call xmlInitParser() in the "main" thread before using any of the - libxml2 API (except possibly selecting a different memory allocator)
    • -
    - -

    Note that the thread safety cannot be ensured for multiple threads sharing -the same document, the locking must be done at the application level, libxml -exports a basic mutex and reentrant mutexes API in <libxml/threads.h>. -The parts of the library checked for thread safety are:

    -
      -
    • concurrent loading
    • -
    • file access resolution
    • -
    • catalog access
    • -
    • catalog building
    • -
    • entities lookup/accesses
    • -
    • validation
    • -
    • global variables per-thread override
    • -
    • memory handling
    • -
    - -

    XPath has been tested for threaded usage on non-modified document - for example when using libxslt, but make 100% sure the documents - are accessed read-only !

    - -

    DOM Principles

    - -

    DOM stands for the Document -Object Model; this is an API for accessing XML or HTML structured -documents. Native support for DOM in Gnome is on the way (module gnome-dom), -and will be based on gnome-xml. This will be a far cleaner interface to -manipulate XML files within Gnome since it won't expose the internal -structure.

    - -

    The current DOM implementation on top of libxml2 is the gdome2 Gnome module, this -is a full DOM interface, thanks to Paolo Casarini, check the Gdome2 homepage for more -information.

    - -

    A real example

    - -

    Here is a real size example, where the actual content of the application -data is not kept in the DOM tree but uses internal structures. It is based on -a proposal to keep a database of jobs related to Gnome, with an XML based -storage structure. Here is an XML encoded jobs -base:

    -
    <?xml version="1.0"?>
    -<gjob:Helping xmlns:gjob="http://www.gnome.org/some-location">
    -  <gjob:Jobs>
    -
    -    <gjob:Job>
    -      <gjob:Project ID="3"/>
    -      <gjob:Application>GBackup</gjob:Application>
    -      <gjob:Category>Development</gjob:Category>
    -
    -      <gjob:Update>
    -        <gjob:Status>Open</gjob:Status>
    -        <gjob:Modified>Mon, 07 Jun 1999 20:27:45 -0400 MET DST</gjob:Modified>
    -        <gjob:Salary>USD 0.00</gjob:Salary>
    -      </gjob:Update>
    -
    -      <gjob:Developers>
    -        <gjob:Developer>
    -        </gjob:Developer>
    -      </gjob:Developers>
    -
    -      <gjob:Contact>
    -        <gjob:Person>Nathan Clemons</gjob:Person>
    -        <gjob:Email>nathan@windsofstorm.net</gjob:Email>
    -        <gjob:Company>
    -        </gjob:Company>
    -        <gjob:Organisation>
    -        </gjob:Organisation>
    -        <gjob:Webpage>
    -        </gjob:Webpage>
    -        <gjob:Snailmail>
    -        </gjob:Snailmail>
    -        <gjob:Phone>
    -        </gjob:Phone>
    -      </gjob:Contact>
    -
    -      <gjob:Requirements>
    -      The program should be released as free software, under the GPL.
    -      </gjob:Requirements>
    -
    -      <gjob:Skills>
    -      </gjob:Skills>
    -
    -      <gjob:Details>
    -      A GNOME based system that will allow a superuser to configure 
    -      compressed and uncompressed files and/or file systems to be backed 
    -      up with a supported media in the system.  This should be able to 
    -      perform via find commands generating a list of files that are passed 
    -      to tar, dd, cpio, cp, gzip, etc., to be directed to the tape machine 
    -      or via operations performed on the filesystem itself. Email 
    -      notification and GUI status display very important.
    -      </gjob:Details>
    -
    -    </gjob:Job>
    -
    -  </gjob:Jobs>
    -</gjob:Helping>
    - -

    While loading the XML file into an internal DOM tree is a matter of -calling only a couple of functions, browsing the tree to gather the data and -generate the internal structures is harder, and more error prone.

    - -

    The suggested principle is to be tolerant with respect to the input -structure. For example, the ordering of the attributes is not significant, -the XML specification is clear about it. It's also usually a good idea not to -depend on the order of the children of a given node, unless it really makes -things harder. Here is some code to parse the information for a person:

    -
    /*
    - * A person record
    - */
    -typedef struct person {
    -    char *name;
    -    char *email;
    -    char *company;
    -    char *organisation;
    -    char *smail;
    -    char *webPage;
    -    char *phone;
    -} person, *personPtr;
    -
    -/*
    - * And the code needed to parse it
    - */
    -personPtr parsePerson(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur) {
    -    personPtr ret = NULL;
    -
    -DEBUG("parsePerson\n");
    -    /*
    -     * allocate the struct
    -     */
    -    ret = (personPtr) malloc(sizeof(person));
    -    if (ret == NULL) {
    -        fprintf(stderr,"out of memory\n");
    -        return(NULL);
    -    }
    -    memset(ret, 0, sizeof(person));
    -
    -    /* We don't care what the top level element name is */
    -    cur = cur->xmlChildrenNode;
    -    while (cur != NULL) {
    -        if ((!strcmp(cur->name, "Person")) && (cur->ns == ns))
    -            ret->name = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
    -        if ((!strcmp(cur->name, "Email")) && (cur->ns == ns))
    -            ret->email = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
    -        cur = cur->next;
    -    }
    -
    -    return(ret);
    -}
    - -

    Here are a couple of things to notice:

    -
      -
    • Usually a recursive parsing style is the more convenient one: XML data - is by nature subject to repetitive constructs and usually exhibits highly - structured patterns.
    • -
    • The two arguments of type xmlDocPtr and xmlNsPtr, - i.e. the pointer to the global XML document and the namespace reserved to - the application. Document wide information are needed for example to - decode entities and it's a good coding practice to define a namespace for - your application set of data and test that the element and attributes - you're analyzing actually pertains to your application space. This is - done by a simple equality test (cur->ns == ns).
    • -
    • To retrieve text and attributes value, you can use the function - xmlNodeListGetString to gather all the text and entity reference - nodes generated by the DOM output and produce an single text string.
    • -
    - -

    Here is another piece of code used to parse another level of the -structure:

    -
    #include <libxml/tree.h>
    -/*
    - * a Description for a Job
    - */
    -typedef struct job {
    -    char *projectID;
    -    char *application;
    -    char *category;
    -    personPtr contact;
    -    int nbDevelopers;
    -    personPtr developers[100]; /* using dynamic alloc is left as an exercise */
    -} job, *jobPtr;
    -
    -/*
    - * And the code needed to parse it
    - */
    -jobPtr parseJob(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur) {
    -    jobPtr ret = NULL;
    -
    -DEBUG("parseJob\n");
    -    /*
    -     * allocate the struct
    -     */
    -    ret = (jobPtr) malloc(sizeof(job));
    -    if (ret == NULL) {
    -        fprintf(stderr,"out of memory\n");
    -        return(NULL);
    -    }
    -    memset(ret, 0, sizeof(job));
    -
    -    /* We don't care what the top level element name is */
    -    cur = cur->xmlChildrenNode;
    -    while (cur != NULL) {
    -        
    -        if ((!strcmp(cur->name, "Project")) && (cur->ns == ns)) {
    -            ret->projectID = xmlGetProp(cur, "ID");
    -            if (ret->projectID == NULL) {
    -                fprintf(stderr, "Project has no ID\n");
    -            }
    -        }
    -        if ((!strcmp(cur->name, "Application")) && (cur->ns == ns))
    -            ret->application = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
    -        if ((!strcmp(cur->name, "Category")) && (cur->ns == ns))
    -            ret->category = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
    -        if ((!strcmp(cur->name, "Contact")) && (cur->ns == ns))
    -            ret->contact = parsePerson(doc, ns, cur);
    -        cur = cur->next;
    -    }
    -
    -    return(ret);
    -}
    - -

    Once you are used to it, writing this kind of code is quite simple, but -boring. Ultimately, it could be possible to write stubbers taking either C -data structure definitions, a set of XML examples or an XML DTD and produce -the code needed to import and export the content between C data and XML -storage. This is left as an exercise to the reader :-)

    - -

    Feel free to use the code for the full C -parsing example as a template, it is also available with Makefile in the -Gnome SVN base under libxml2/example

    - -

    Contributions

    - - -

    - - diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath1.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath1.c deleted file mode 100644 index f2f7406..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath1.c +++ /dev/null @@ -1,250 +0,0 @@ -/** - * section: XPath - * synopsis: Evaluate XPath expression and prints result node set. - * purpose: Shows how to evaluate XPath expression and register - * known namespaces in XPath context. - * usage: xpath1 [] - * test: ./xpath1 test3.xml '//child2' > xpath1.tmp ; diff xpath1.tmp xpath1.res ; rm xpath1.tmp - * author: Aleksey Sanin - * copy: see Copyright for the status of this software. - */ -#include -#include -#include -#include - -#include -#include -#include -#include - -#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_SAX1_ENABLED) - - -static void usage(const char *name); -int execute_xpath_expression(const char* filename, const xmlChar* xpathExpr, const xmlChar* nsList); -int register_namespaces(xmlXPathContextPtr xpathCtx, const xmlChar* nsList); -void print_xpath_nodes(xmlNodeSetPtr nodes, FILE* output); - -int -main(int argc, char **argv) { - /* Parse command line and process file */ - if((argc < 3) || (argc > 4)) { - fprintf(stderr, "Error: wrong number of arguments.\n"); - usage(argv[0]); - return(-1); - } - - /* Init libxml */ - xmlInitParser(); - LIBXML_TEST_VERSION - - /* Do the main job */ - if(execute_xpath_expression(argv[1], BAD_CAST argv[2], (argc > 3) ? BAD_CAST argv[3] : NULL) < 0) { - usage(argv[0]); - return(-1); - } - - /* Shutdown libxml */ - xmlCleanupParser(); - - /* - * this is to debug memory for regression tests - */ - xmlMemoryDump(); - return 0; -} - -/** - * usage: - * @name: the program name. - * - * Prints usage information. - */ -static void -usage(const char *name) { - assert(name); - - fprintf(stderr, "Usage: %s []\n", name); - fprintf(stderr, "where is a list of known namespaces\n"); - fprintf(stderr, "in \"= =href2> ...\" format\n"); -} - -/** - * execute_xpath_expression: - * @filename: the input XML filename. - * @xpathExpr: the xpath expression for evaluation. - * @nsList: the optional list of known namespaces in - * "= =href2> ..." format. - * - * Parses input XML file, evaluates XPath expression and prints results. - * - * Returns 0 on success and a negative value otherwise. - */ -int -execute_xpath_expression(const char* filename, const xmlChar* xpathExpr, const xmlChar* nsList) { - xmlDocPtr doc; - xmlXPathContextPtr xpathCtx; - xmlXPathObjectPtr xpathObj; - - assert(filename); - assert(xpathExpr); - - /* Load XML document */ - doc = xmlParseFile(filename); - if (doc == NULL) { - fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename); - return(-1); - } - - /* Create xpath evaluation context */ - xpathCtx = xmlXPathNewContext(doc); - if(xpathCtx == NULL) { - fprintf(stderr,"Error: unable to create new XPath context\n"); - xmlFreeDoc(doc); - return(-1); - } - - /* Register namespaces from list (if any) */ - if((nsList != NULL) && (register_namespaces(xpathCtx, nsList) < 0)) { - fprintf(stderr,"Error: failed to register namespaces list \"%s\"\n", nsList); - xmlXPathFreeContext(xpathCtx); - xmlFreeDoc(doc); - return(-1); - } - - /* Evaluate xpath expression */ - xpathObj = xmlXPathEvalExpression(xpathExpr, xpathCtx); - if(xpathObj == NULL) { - fprintf(stderr,"Error: unable to evaluate xpath expression \"%s\"\n", xpathExpr); - xmlXPathFreeContext(xpathCtx); - xmlFreeDoc(doc); - return(-1); - } - - /* Print results */ - print_xpath_nodes(xpathObj->nodesetval, stdout); - - /* Cleanup */ - xmlXPathFreeObject(xpathObj); - xmlXPathFreeContext(xpathCtx); - xmlFreeDoc(doc); - - return(0); -} - -/** - * register_namespaces: - * @xpathCtx: the pointer to an XPath context. - * @nsList: the list of known namespaces in - * "= =href2> ..." format. - * - * Registers namespaces from @nsList in @xpathCtx. - * - * Returns 0 on success and a negative value otherwise. - */ -int -register_namespaces(xmlXPathContextPtr xpathCtx, const xmlChar* nsList) { - xmlChar* nsListDup; - xmlChar* prefix; - xmlChar* href; - xmlChar* next; - - assert(xpathCtx); - assert(nsList); - - nsListDup = xmlStrdup(nsList); - if(nsListDup == NULL) { - fprintf(stderr, "Error: unable to strdup namespaces list\n"); - return(-1); - } - - next = nsListDup; - while(next != NULL) { - /* skip spaces */ - while((*next) == ' ') next++; - if((*next) == '\0') break; - - /* find prefix */ - prefix = next; - next = (xmlChar*)xmlStrchr(next, '='); - if(next == NULL) { - fprintf(stderr,"Error: invalid namespaces list format\n"); - xmlFree(nsListDup); - return(-1); - } - *(next++) = '\0'; - - /* find href */ - href = next; - next = (xmlChar*)xmlStrchr(next, ' '); - if(next != NULL) { - *(next++) = '\0'; - } - - /* do register namespace */ - if(xmlXPathRegisterNs(xpathCtx, prefix, href) != 0) { - fprintf(stderr,"Error: unable to register NS with prefix=\"%s\" and href=\"%s\"\n", prefix, href); - xmlFree(nsListDup); - return(-1); - } - } - - xmlFree(nsListDup); - return(0); -} - -/** - * print_xpath_nodes: - * @nodes: the nodes set. - * @output: the output file handle. - * - * Prints the @nodes content to @output. - */ -void -print_xpath_nodes(xmlNodeSetPtr nodes, FILE* output) { - xmlNodePtr cur; - int size; - int i; - - assert(output); - size = (nodes) ? nodes->nodeNr : 0; - - fprintf(output, "Result (%d nodes):\n", size); - for(i = 0; i < size; ++i) { - assert(nodes->nodeTab[i]); - - if(nodes->nodeTab[i]->type == XML_NAMESPACE_DECL) { - xmlNsPtr ns; - - ns = (xmlNsPtr)nodes->nodeTab[i]; - cur = (xmlNodePtr)ns->next; - if(cur->ns) { - fprintf(output, "= namespace \"%s\"=\"%s\" for node %s:%s\n", - ns->prefix, ns->href, cur->ns->href, cur->name); - } else { - fprintf(output, "= namespace \"%s\"=\"%s\" for node %s\n", - ns->prefix, ns->href, cur->name); - } - } else if(nodes->nodeTab[i]->type == XML_ELEMENT_NODE) { - cur = nodes->nodeTab[i]; - if(cur->ns) { - fprintf(output, "= element node \"%s:%s\"\n", - cur->ns->href, cur->name); - } else { - fprintf(output, "= element node \"%s\"\n", - cur->name); - } - } else { - cur = nodes->nodeTab[i]; - fprintf(output, "= node \"%s\": type %d\n", cur->name, cur->type); - } - } -} - -#else -int main(void) { - fprintf(stderr, "XPath support not compiled in\n"); - exit(1); -} -#endif diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath1.res b/gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath1.res deleted file mode 100644 index 76af3a9..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath1.res +++ /dev/null @@ -1,5 +0,0 @@ -Result (4 nodes): -= element node "child2" -= element node "child2" -= element node "child2" -= element node "child2" diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath2.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath2.c deleted file mode 100644 index 6ff4008..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath2.c +++ /dev/null @@ -1,190 +0,0 @@ -/** - * section: XPath - * synopsis: Load a document, locate subelements with XPath, modify - * said elements and save the resulting document. - * purpose: Shows how to make a full round-trip from a load/edit/save - * usage: xpath2 - * test: xpath2 test3.xml '//discarded' discarded > xpath2.tmp ; diff xpath2.tmp xpath2.res ; rm xpath2.tmp - * author: Aleksey Sanin and Daniel Veillard - * copy: see Copyright for the status of this software. - */ -#include -#include -#include -#include - -#include -#include -#include -#include - -#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_SAX1_ENABLED) && \ - defined(LIBXML_OUTPUT_ENABLED) - - -static void usage(const char *name); -static int example4(const char *filename, const xmlChar * xpathExpr, - const xmlChar * value); -static void update_xpath_nodes(xmlNodeSetPtr nodes, const xmlChar * value); - - -int -main(int argc, char **argv) { - /* Parse command line and process file */ - if (argc != 4) { - fprintf(stderr, "Error: wrong number of arguments.\n"); - usage(argv[0]); - return(-1); - } - - /* Init libxml */ - xmlInitParser(); - LIBXML_TEST_VERSION - - /* Do the main job */ - if (example4(argv[1], BAD_CAST argv[2], BAD_CAST argv[3])) { - usage(argv[0]); - return(-1); - } - - /* Shutdown libxml */ - xmlCleanupParser(); - - /* - * this is to debug memory for regression tests - */ - xmlMemoryDump(); - return 0; -} - -/** - * usage: - * @name: the program name. - * - * Prints usage information. - */ -static void -usage(const char *name) { - assert(name); - - fprintf(stderr, "Usage: %s \n", name); -} - -/** - * example4: - * @filename: the input XML filename. - * @xpathExpr: the xpath expression for evaluation. - * @value: the new node content. - * - * Parses input XML file, evaluates XPath expression and update the nodes - * then print the result. - * - * Returns 0 on success and a negative value otherwise. - */ -static int -example4(const char* filename, const xmlChar* xpathExpr, const xmlChar* value) { - xmlDocPtr doc; - xmlXPathContextPtr xpathCtx; - xmlXPathObjectPtr xpathObj; - - assert(filename); - assert(xpathExpr); - assert(value); - - /* Load XML document */ - doc = xmlParseFile(filename); - if (doc == NULL) { - fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename); - return(-1); - } - - /* Create xpath evaluation context */ - xpathCtx = xmlXPathNewContext(doc); - if(xpathCtx == NULL) { - fprintf(stderr,"Error: unable to create new XPath context\n"); - xmlFreeDoc(doc); - return(-1); - } - - /* Evaluate xpath expression */ - xpathObj = xmlXPathEvalExpression(xpathExpr, xpathCtx); - if(xpathObj == NULL) { - fprintf(stderr,"Error: unable to evaluate xpath expression \"%s\"\n", xpathExpr); - xmlXPathFreeContext(xpathCtx); - xmlFreeDoc(doc); - return(-1); - } - - /* update selected nodes */ - update_xpath_nodes(xpathObj->nodesetval, value); - - - /* Cleanup of XPath data */ - xmlXPathFreeObject(xpathObj); - xmlXPathFreeContext(xpathCtx); - - /* dump the resulting document */ - xmlDocDump(stdout, doc); - - - /* free the document */ - xmlFreeDoc(doc); - - return(0); -} - -/** - * update_xpath_nodes: - * @nodes: the nodes set. - * @value: the new value for the node(s) - * - * Prints the @nodes content to @output. - */ -static void -update_xpath_nodes(xmlNodeSetPtr nodes, const xmlChar* value) { - int size; - int i; - - assert(value); - size = (nodes) ? nodes->nodeNr : 0; - - /* - * NOTE: the nodes are processed in reverse order, i.e. reverse document - * order because xmlNodeSetContent can actually free up descendant - * of the node and such nodes may have been selected too ! Handling - * in reverse order ensure that descendant are accessed first, before - * they get removed. Mixing XPath and modifications on a tree must be - * done carefully ! - */ - for(i = size - 1; i >= 0; i--) { - assert(nodes->nodeTab[i]); - - xmlNodeSetContent(nodes->nodeTab[i], value); - /* - * All the elements returned by an XPath query are pointers to - * elements from the tree *except* namespace nodes where the XPath - * semantic is different from the implementation in libxml2 tree. - * As a result when a returned node set is freed when - * xmlXPathFreeObject() is called, that routine must check the - * element type. But node from the returned set may have been removed - * by xmlNodeSetContent() resulting in access to freed data. - * This can be exercised by running - * valgrind xpath2 test3.xml '//discarded' discarded - * There is 2 ways around it: - * - make a copy of the pointers to the nodes from the result set - * then call xmlXPathFreeObject() and then modify the nodes - * or - * - remove the reference to the modified nodes from the node set - * as they are processed, if they are not namespace nodes. - */ - if (nodes->nodeTab[i]->type != XML_NAMESPACE_DECL) - nodes->nodeTab[i] = NULL; - } -} - -#else -int main(void) { - fprintf(stderr, "XPath support not compiled in\n"); - exit(1); -} -#endif diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath2.res b/gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath2.res deleted file mode 100644 index 4e89699..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/xpath2.res +++ /dev/null @@ -1,30 +0,0 @@ - - - - discarded - - This text node must be discarded - discarded - - content1 - - content2 - too - content3 - - content4 - - content5 - content6 - - This text node must be discarded - discarded - This text node must be discarded - - This text node must be discarded - - This text node must be discarded - discarded - This text node must be discarded - - diff --git a/gtk+-mingw/share/doc/mingw32-cairo-1.10.2/COPYING b/gtk+-mingw/share/doc/mingw32-cairo-1.10.2/COPYING deleted file mode 100644 index f54969f..0000000 --- a/gtk+-mingw/share/doc/mingw32-cairo-1.10.2/COPYING +++ /dev/null @@ -1,33 +0,0 @@ -Cairo is free software. - -Every source file in the implementation[*] of cairo is available to be -redistributed and/or modified under the terms of either the GNU Lesser -General Public License (LGPL) version 2.1 or the Mozilla Public -License (MPL) version 1.1. Some files are available under more -liberal terms, but we believe that in all cases, each file may be used -under either the LGPL or the MPL. - -See the following files in this directory for the precise terms and -conditions of either license: - - COPYING-LGPL-2.1 - COPYING-MPL-1.1 - -Please see each file in the implementation for copyright and licensing -information, (in the opening comment of each file). - -[*] The implementation of cairo is contained entirely within the "src" -directory of the cairo source distribution. There are other components -of the cairo source distribution (such as the "test", "util", and "perf") -that are auxiliary to the library itself. None of the source code in these -directories contributes to a build of the cairo library itself, (libcairo.so -or cairo.dll or similar). - -These auxiliary components are also free software, but may be under -different license terms than cairo itself. For example, most of the -test cases in the perf and test directories are made available under -an MIT license to simplify any use of this code for reference purposes -in using cairo itself. Other files might be available under the GNU -General Public License (GPL), for example. Again, please see the COPYING -file under each directory and the opening comment of each file for copyright -and licensing information. diff --git a/gtk+-mingw/share/doc/mingw32-cairo-1.10.2/COPYING-LGPL-2.1 b/gtk+-mingw/share/doc/mingw32-cairo-1.10.2/COPYING-LGPL-2.1 deleted file mode 100644 index f1ed618..0000000 --- a/gtk+-mingw/share/doc/mingw32-cairo-1.10.2/COPYING-LGPL-2.1 +++ /dev/null @@ -1,510 +0,0 @@ - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations -below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it -becomes a de-facto standard. To achieve this, non-free programs must -be allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control -compilation and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at least - three years, to give the same user the materials specified in - Subsection 6a, above, for a charge no more than the cost of - performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply, and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License -may add an explicit geographical distribution limitation excluding those -countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms -of the ordinary General Public License). - - To apply these terms, attach the following notices to the library. -It is safest to attach them to the start of each source file to most -effectively convey the exclusion of warranty; and each file should -have at least the "copyright" line and a pointer to where the full -notice is found. - - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or -your school, if any, to sign a "copyright disclaimer" for the library, -if necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James - Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/gtk+-mingw/share/doc/mingw32-cairo-1.10.2/COPYING-MPL-1.1 b/gtk+-mingw/share/doc/mingw32-cairo-1.10.2/COPYING-MPL-1.1 deleted file mode 100644 index 7714141..0000000 --- a/gtk+-mingw/share/doc/mingw32-cairo-1.10.2/COPYING-MPL-1.1 +++ /dev/null @@ -1,470 +0,0 @@ - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (the "License"); you may not use this file except in - compliance with the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - diff --git a/gtk+-mingw/share/doc/mingw32-pango-1.30.0/COPYING b/gtk+-mingw/share/doc/mingw32-pango-1.30.0/COPYING deleted file mode 100644 index bf50f20..0000000 --- a/gtk+-mingw/share/doc/mingw32-pango-1.30.0/COPYING +++ /dev/null @@ -1,482 +0,0 @@ - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Library General Public License, applies to some -specially designated Free Software Foundation software, and to any -other libraries whose authors decide to use it. You can use it for -your libraries, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if -you distribute copies of the library, or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link a program with the library, you must provide -complete object files to the recipients so that they can relink them -with the library, after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - Our method of protecting your rights has two steps: (1) copyright -the library, and (2) offer you this license which gives you legal -permission to copy, distribute and/or modify the library. - - Also, for each distributor's protection, we want to make certain -that everyone understands that there is no warranty for this free -library. If the library is modified by someone else and passed on, we -want its recipients to know that what they have is not the original -version, so that any problems introduced by others will not reflect on -the original authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that companies distributing free -software will individually obtain patent licenses, thus in effect -transforming the program into proprietary software. To prevent this, -we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License, which was designed for utility programs. This -license, the GNU Library General Public License, applies to certain -designated libraries. This license is quite different from the ordinary -one; be sure to read it in full, and don't assume that anything in it is -the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that -they blur the distinction we usually make between modifying or adding to a -program and simply using it. Linking a program with a library, without -changing the library, is in some sense simply using the library, and is -analogous to running a utility program or application program. However, in -a textual and legal sense, the linked executable is a combined work, a -derivative of the original library, and the ordinary General Public License -treats it as such. - - Because of this blurred distinction, using the ordinary General -Public License for libraries did not effectively promote software -sharing, because most developers did not use the libraries. We -concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the -users of those programs of all benefit from the free status of the -libraries themselves. This Library General Public License is intended to -permit developers of non-free programs to use free libraries, while -preserving your freedom as a user of such programs to change the free -libraries that are incorporated in them. (We have not seen how to achieve -this as regards changes in header files, but we have achieved it as regards -changes in the actual functions of the Library.) The hope is that this -will lead to faster development of free libraries. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, while the latter only -works together with the library. - - Note that it is possible for a library to be covered by the ordinary -General Public License rather than by this special one. - - GNU LIBRARY GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library which -contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Library -General Public License (also called "this License"). Each licensee is -addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also compile or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - c) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - d) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the source code distributed need not include anything that is normally -distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Library General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307 USA. - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/COPYRIGHT b/gtk+-mingw/share/doc/tiff-4.0.2/COPYRIGHT deleted file mode 100644 index 8282186..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/COPYRIGHT +++ /dev/null @@ -1,21 +0,0 @@ -Copyright (c) 1988-1997 Sam Leffler -Copyright (c) 1991-1997 Silicon Graphics, Inc. - -Permission to use, copy, modify, distribute, and sell this software and -its documentation for any purpose is hereby granted without fee, provided -that (i) the above copyright notices and this permission notice appear in -all copies of the software and related documentation, and (ii) the names of -Sam Leffler and Silicon Graphics may not be used in any advertising or -publicity relating to the software without the specific, prior written -permission of Sam Leffler and Silicon Graphics. - -THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, -EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY -WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR -ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF -LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE -OF THIS SOFTWARE. diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/ChangeLog b/gtk+-mingw/share/doc/tiff-4.0.2/ChangeLog deleted file mode 100644 index 4eab3bb..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/ChangeLog +++ /dev/null @@ -1,5753 +0,0 @@ -2012-06-15 Frank Warmerdam - - * libtiff 4.0.2 released. - - * tools/tif2pdf.c, tools/tifdump.c: avoid unitialized variable - warnings with clang. - -2012-06-15 Tom Lane - - * tools/tiff2pdf.c: Defend against integer overflows while - calculating required buffer sizes (CVE-2012-2113). - -2012-06-12 Frank Warmerdam - - * libtiff/tif_print.c: Be careful about printing corrupt inknames. - - * libtiff/tif_fax3.c: Ensure runs array is initialized to zeros. - -2012-06-07 Frank Warmerdam - - * libtiff/tif_print.c: avoid pretty printing other fields when - we don't have the proper amount and type of data or if the field - is actually autodefined. - -2012-06-05 Frank Warmerdam - - * libtiff/tif_tile.c, libtiff/tif_strip.c: Ensure that illegal - ycbcrsubsampling values result in a runtime error, not just an - assertion. - - * tests/custom_dir.c: Add testing of EXIF and custom directory - reading and writing. - - * libtiff/tif_dir.c, libtiff/tiffio.h: Add TIFFCreateCustomDirectory() - and TIFFCreateEXIFDirectory() functions. - - * libtiff/tif_dir.c, tif_print.c : Remove FIELD_CUSTOM handling for - PAGENUMBER, HALFTONEHINTS, and YCBCRSUBSAMPLING. Implement DOTRANGE - differently. This is to avoid using special TIFFGetField/TIFFSetField - rules for these fields in non-image directories (like EXIF). - -2012-06-04 Frank Warmerdam - - * libtiff/tif_jpeg.c: Remove code for fixing up h_sampling and v_sampling - in JPEGPreDecode(). If a fixup will be done it needs to be done sooner - in JPEGFixupTagsSubsampling() or else buffer sized may be wrong. - -2012-06-01 Frank Warmerdam - - * tools/tiffinfo.c: Do not try to read image data in EXIF directories. - - * libtiff/tif_getimage.c: added support for _SEPARATED CMYK images. - http://bugzilla.maptools.org/show_bug.cgi?id=2379 - - * libtiff/tif_unix.c: use strerror() to return a more specific error message - on failed open. - http://bugzilla.maptools.org/show_bug.cgi?id=2341 - - * libtiff/tif_jpeg.c: Fix JPEGDecodeRaw() bugs. - http://bugzilla.maptools.org/show_bug.cgi?id=2386 - - * tests/decode_raw.c, tests/images/quad-tile.jpg.tiff: add limited support - for testing jpeg in tiff image decoding including the "raw" decode interface. - -2012-05-31 Frank Warmerdam - - * libtiff/tif_jpeg.c: avoid overrunning the end of the output buffer in - JPEGDecodeRaw() - mostly likely to occur when there is confusion about - sampling values. - - * libtiff/tif_read.c: Make sure tif_rawdatasize is cleared when tif_rawdata is freed. - - * libtiff/tif_getimage.c: Add support for greyscale+alpha c/o Jérémie Laval. - http://bugzilla.maptools.org/show_bug.cgi?id=2398 - -2012-05-29 Frank Warmerdam - - * libtiff/tif_dir.c: avoid using specific set/get logic to process fields in custom directories, - like EXIF directories. This fixes problems like a tag "320" existing in a custom directory getting - processed as if it were a colormap when it isn't really. Damn the wide variety of argument formulations - to get/set functions for different tags! - - * libtiff/tif_dir.c: Ensure that we keep track of when tif_rawdata - is a pointer into an mmap()ed file via TIFF_BUFFERMMAP flag. - -2012-05-24 Frank Warmerdam - - * libtiff/tif_pixarlog.c: Allocate working buffer one word larger since we "forward - accumulate" and overwrite the end by one word in at least some cases. - -2012-05-23 Frank Warmerdam - - * libtiff/tif_pixarlog.c: avoid accessing out of the lookup arrays for out of range inputs. - - * tools/tiffinfo.c: initialize h=0 to avoid undefined variable for degenerate files. - - * libtiff/tif_ojpeg.c: if OJPEGWriteHeader() fails once do not bother trying again on - the same image. - - * libtiff/tif_ojpeg.c: make things more resilient in the face of files without - stripbytecounts or stripoffsets or where loading these fails. - - * libtiff/tif_print.c: be careful about whether min/max values are singular - or one per sample. - - * libtiff/tif_print.c: Avoid confusion about count size when printing custom fields. - May affect things like ISOSpeedRatings. - - * libtiff/tif_dir.c: avoid one byte past end of ink names reading - in some cases. - -2012-05-19 Bob Friesenhahn - - * man/TIFFGetField.3tiff: Correct the 'count' field type in the - example for how to retreive the value of unsupported tags. - -2012-03-30 Frank Warmerdam - - * tif_getimage.c: Fix size overflow (zdi-can-1221,CVE-2012-1173) - care of Tom Lane @ Red Hat. - -2012-02-18 Bob Friesenhahn - - * libtiff 4.0.1 released. - - * Update automake used to 1.11.3. - - * libtiff/tiffio.h: Use double-underbar syntax in GCC printf - attribute specification to lessen the risk of accidental macro - substitution. Patch from Vincent Torri. - -2012-01-31 Frank Warmerdam - - * libtiff/tif_dir.c, libtiff/tif_dirread.c: Extra caution around - assumption tag fetching is always successful. - - * libtiff/tif_jpeg.c: Extra caution for case where sp is NULL. - -2012-01-22 Bob Friesenhahn - - * configure.ac: Add support for using library symbol versioning on - ELF systems with the GNU linker. Support is enabled via - --enable-ld-version-script. Disabled by default for now until - there is a decision for how to deploy a libtiff with versioned - symbols after libtiff 4.0.0 was already released. - -2011-12-22 Bob Friesenhahn - - * libtiff/tif_win32.c: Eliminate some minor 64-bit warnings in - - tif_win32.c. Patch by Edward Lam. - - * configure.ac: Add libtiff private dependency on -llzma for - pkg-config. Patch by Mark Brand. - Updated Automake to 1.11.2. - -2011-12-21 Bob Friesenhahn - - * libtiff 4.0.0 released. - -2011-12-08 Frank Warmerdam - - * libtiff/tif_dirread.c, libtiff/tif_read.c: more cautious checking - of _TIFFFillStriles() results (#gdal 4372) - -2011-12-07 Frank Warmerdam - - * libtiff/tif_dirread.c: fixes to deal with invalid files where - _TIFFFillStriles() fails, and we try to chop up strips (gdal #4372) - - * libtiff/tif_dirread.c: fix error reporting when there is no - tag information struct and name (gdal #4373) - -2011-10-22 Bob Friesenhahn - - * Update GNU libtool to 2.4.2. - - * tools/tiffsplit.c (tiffcp): TIFFGetField count field should be - uint32 type for TIFFTAG_JPEGTABLES. Patch by Christophe - Deroulers. - -2011-06-21 Frank Warmerdam - - * libtiff/libtiff.def: Restore TIFFMergeFieldInfo. - -2011-05-31 Jim Meyering - - * libtiff/tif_dirread.c (TIFFFetchStripThing): Free "data" also - upon failure to allocate "resizeddata". - * tools/tiff2ps.c (PSDataBW): Zero buffer *after* checking for - allocation failure, not before. - * libtiff/tif_ojpeg.c: plug leaks on OJPEG read failure path - * tools/rgb2ycbcr.c (cvtRaster): unchecked malloc - * libtiff/tif_jpeg.c, tools/tiff2pdf.c, tools/tiff2ps.c: mark - NULL-deref and possible overflow - * tools/tiff2pdf.c: remove decl+set of set-but-not-used local, "written" - * libtiff/tif_jpeg.c (JPEGInitializeLibJPEG): Remove declaration - and set of otherwise unused local, data_is_empty. - * libtiff/tif_jpeg.c (JPEGDecodeRaw) [JPEG_LIB_MK1_OR_12BIT]: - Diagnose out-of-memory failure and return 0 rather than - dereferencing NULL. - -2011-05-24 Frank Warmerdam - - * libtiff/tif_dirread.c: produce special error message for zero tag - directories instead of error out on the malloc(0) failure. - -2011-05-16 Frank Warmerdam - - * libtiff/tif_dirinfo.c: Restore TIFFMergeFieldInfo() and - related declarations as they are in active use by libraries - such as libgeotiff, and work just fine. (#2315) - -2011-04-20 Frank Warmerdam - - * libtiff/tif_dirinfo.c,tiffio.h: Remove the obsolete - TIFFMergeFieldInfo/TIFFFindFieldInfo/TIFFFindFieldInfoByName API. - http://bugzilla.maptools.org/show_bug.cgi?id=2315 - - * libtiff/libtiff.def: add some missing (64bit) APIs. - http://bugzilla.maptools.org/show_bug.cgi?id=2316 - -2011-04-09 Bob Friesenhahn - - * libtiff 4.0.0beta7 released. - -2011-04-09 Bob Friesenhahn - - * configure.ac: Should use AC_CANONICAL_HOST since host specifies - the run-time target whereas target is used to specify the final - output target if the package is a build tool (like a compiler), - which libtiff is not. Resolves libtiff bug 2307 "Use - AC_CANONICAL_HOST macro". - -2011-04-02 Bob Friesenhahn - - * configure.ac: Support configuring TIFF_INT64_FORMAT and - TIFF_UINT64_FORMAT appropriately for MinGW32. - - * tools/tiffdump.c (ReadDirectory): MinGW32 needs to use WIN32 - printf conventions for 64-bit types because it uses the WIN32 CRT. - - * libtiff/{tif_dumpmode.c,tif_luv.c,tif_lzw.c,tif_print.c, - tif_read.c,tif_strip.c,tif_thunder.c}: MinGW32 needs to use WIN32 - printf conventions for 64-bit types because it uses the WIN32 CRT. - - * tools/tiff2pdf.c (t2p_write_pdf_string): Fix printf syntax not - understood by WIN32 CRT. - - * libtiff/tif_ojpeg.c: Fixes to compile with MinGW32 GCC. - - * tools/fax2ps.c (main): Use tmpfile() rather than mkstemp() since - it is much more portable. Tmpfile is included in ISO/IEC - 9899:1990 and the WIN32 CRT. - -2011-03-26 Frank Warmerdam - - * tools/tiffset.c: add -d and -sd switches to allow operation on - a particular directory, not just the first (jef). - -2011-03-21 Frank Warmerdam - - * libtiff/tif_thunder.c: Correct potential buffer overflow with - thunder encoded files with wrong bitspersample set. The libtiff - development team would like to thank Marin Barbella and TippingPoint's - Zero Day Initiative for reporting this vulnerability (ZDI-CAN-1004, - CVE-2011-1167). - http://bugzilla.maptools.org/show_bug.cgi?id=2300 - -2011-03-10 Frank Warmerdam - - * libtiff/tif_fax3.h: Fix to last change allowing zero length - runs at the start of a scanline - needed for legal cases. - -2011-03-02 Frank Warmerdam - - * libtiff/tif_fax3.h: Protect against a fax VL(n) codeword commanding - a move left. Without this, a malicious input file can generate an - indefinitely large series of runs without a0 ever reaching the right - margin, thus overrunning our buffer of run lengths. Per CVE-2011-0192. - This is a modified version of a patch proposed by Drew Yao of Apple - Product Security. It adds an unexpected() report, and disallows the - equality case, since emitting a run without increasing a0 still allows - buffer overrun. - -2011-02-23 Frank Warmerdam - - * libtiff/tif_jpeg.c: avoid divide by zero in degenerate case (#2296) - - * tools/tiff2rgba.c: close source file on error to make leak - detection easier. - - * libtiff/tif_getimage.c: avoid leaks if TIFFRGBAImageBegin() fails. - - http://bugzilla.maptools.org/show_bug.cgi?id=2295 - -2011-02-22 Frank Warmerdam - - * libtiff/tif_lzma.c: Maintain tif_rawcc/tif_rawcp (CHUNKY_STRING_READ - _SUPPORT) - -2011-02-18 Frank Warmerdam - - * configure.ac, configure: Added support for --enable-chunky-strip-read - configure option to enable the experimental feature from a couple - months ago for reading big strips in chunks. - - * configure.ac, tif_read.c, tif_readdir.c, tif_dir.h, tiffiop.h, - tif_write.c, tif_print.c, tif_jpeg.c, tif_dirwrite.c, tif_write.c: - Implement optional support for deferring the load of strip/tile - offset and size tags for optimized scanning of directories. Enabled - with the --enable-defer-strile-load configure option (DEFER_STRILE_LOAD - #define in tif_config.h). - -2011-02-11 Frank Warmerdam - - * libtiff/tif_print.c: remove unused variable. - -2011-02-09 Frank Warmerdam - - * libtiff/tif_win32.c: avoid error/warning buffer overrun problem - with non-console (popup message) builds on win32. - - http://bugzilla.maptools.org/show_bug.cgi?id=2293 - -2011-01-24 Olivier Paquet - - * libtiff/{tif_dir.{h,c}, tif_dirinfo.c, tif_dirread.c, tif_dirwrite.c, - tif_print.c, tiff.h, tiffiop.h} : Added support for - TIFFTAG_SMINSAMPLEVALUE and TIFFTAG_SMAXSAMPLEVALUE to have different - values for each sample. Presents the min/max of all samples by default for - compatibility. TIFFSetField/TIFFGetField can be made to handle those tags - as arrays by changing the new TIFFTAG_PERSAMPLE pseudo tag. - http://www.asmail.be/msg0055458208.html - -2011-01-06 Frank Warmerdam - - * libtiff/tif_pixarlog.c: Note that tif_rawcc/tif_rawcp are not - maintained. - - * libtiff/tif_zip.c: Maintain tif_rawcc/tif_rawcp when decoding - for CHUNKY_STRIP_READ_SUPPORT. - - * libtiff/tif_jpeg.c: ensure that rawcc and rawcp are maintained - during JPEGPreDecode and JPEGDecode calls. - * libtiff/tif_read.c: larger read ahead for CHUNKY_STRIP_READ_SUPPORT, - as compression formats like JPEG keep 16 lines interleaved in a sense - and might need to touch quite a bit of data. - - http://trac.osgeo.org/gdal/ticket/3894 - -2011-01-03 Lee Howard - - * libtiff/tif_jpeg.c: Fix regressions with 2 and 3 band images - caused by commit on 2010-12-14. Submitted by e-mail from - Even Rouault - -2010-12-31 Olivier Paquet - - * libtiff/tif_dirwrite.c: Fixed writing of TIFFTAG_REFERENCEBLACKWHITE. - http://bugzilla.maptools.org/show_bug.cgi?id=2266 - -2010-12-23 Andrey Kiselev - - * tools/tiffcp.c, man/tiffcp.1: Added support for specifying the - compression level parameter (preset) for Deflate and LZMA encoders, - e.g "-c lzma:p1" or "-c zip:p9". - - * libtiff/tif_lzma.c: Properly set the LZMA2 compression level - (preset) in LZMAVSetField(). - -2010-12-18 Bob Friesenhahn - - * libtiff/Makefile.am (libtiff_la_SOURCES): Added tif_lzma.c to - Makefile. - -2010-12-14 Andrey Kiselev - - * configure.ac, libtiff/{tif_codec.c, tif_config.h.in, tiff.h, - tiffiop.h, tif_lzma.c}, tools/tiffcp.c, man/tiffcp.1: Implement a new - TIFF compression scheme LZMA reserving a new value 34925 for - Compression tag. As per - bug http://bugzilla.maptools.org/show_bug.cgi?id=2221 - -2010-12-14 Lee Howard - - * libtiff/tif_dirread.c: tolerate some cases where - FIELD_COLORMAP is missing - http://bugzilla.maptools.org/show_bug.cgi?id=2189 - -2010-12-14 Lee Howard - - * libtiff/tif_read.c: change read_ahead to tmsize_t - http://bugzilla.maptools.org/show_bug.cgi?id=2222 - -2010-12-14 Lee Howard - - * configure.ac, libtiff/Makefile.am: Build tif_win32.c on - Windows except on Cygwin - http://bugzilla.maptools.org/show_bug.cgi?id=2224 - -2010-12-14 Lee Howard - - * tools/gif2tiff.c: fix buffer overrun - http://bugzilla.maptools.org/show_bug.cgi?id=2270 - -2010-12-14 Lee Howard - - * libtiff/tif_jpeg.c: reduce usage of JCS_UNKNOWN in order - to improve compatibility with various viewers - submitted by e-mail from Dwight Kelly - -2010-12-13 Lee Howard - - * tools/fax2ps.c: be consistent with page-numbering - http://bugzilla.maptools.org/show_bug.cgi?id=2225 - -2010-12-13 Lee Howard - - * libtiff/tif_color.c: prevent crash in handling bad TIFFs - resolves CVE-2010-2595 - http://bugzilla.maptools.org/show_bug.cgi?id=2208 - -2010-12-13 Lee Howard - - * tools/tiffcrop.c: new release by Richard Nolde - http://bugzilla.maptools.org/show_bug.cgi?id=2004 - -2010-12-12 Lee Howard - - * tools/tiff2pdf.c: fix colors for images with RGBA - interleaved data - http://bugzilla.maptools.org/show_bug.cgi?id=2250 - -2010-12-12 Lee Howard - - * libtiff/tif_dirread.c: fix for Zeiss LSM and Canon CR2 files - http://bugzilla.maptools.org/show_bug.cgi?id=2164 - -2010-12-11 Lee Howard - - * tools/tiff2pdf.c: remove invalid duplication for Lab - http://bugzilla.maptools.org/show_bug.cgi?id=2162 - -2010-12-11 Lee Howard - - * libtiff/tif_jpeg.c: fix use of clumplines calculation - http://bugzilla.maptools.org/show_bug.cgi?id=2149 - -2010-12-11 Lee Howard - - * tools/fax2ps.c: replace unsafe tmpfile() with mkstemp() - http://bugzilla.maptools.org/show_bug.cgi?id=2118 - -2010-12-11 Lee Howard - - * libtiff/tif_ojpeg.c, libtiff/tif_pixarlog.c, - libtiff/tif_zip.c: fix build errors for VC6 - http://bugzilla.maptools.org/show_bug.cgi?id=2105 - -2010-12-11 Lee Howard - - * libtiff/tif_stream.cxx: warnings cleanup - http://bugzilla.maptools.org/show_bug.cgi?id=2091 - * libtiff/tif_dirread.c: warnings cleanup - http://bugzilla.maptools.org/show_bug.cgi?id=2092 - -2010-12-11 Lee Howard - - * tools/tiff2pdf.c: add fill-page option - http://bugzilla.maptools.org/show_bug.cgi?id=2051 - -2010-12-11 Lee Howard - - * libtiff/tif_dirread.c: modify warnings - http://bugzilla.maptools.org/show_bug.cgi?id=2016 - -2010-12-11 Lee Howard - - * libtiff/tif_ojpeg.c: fix buffer overflow on problem data - http://bugzilla.maptools.org/show_bug.cgi?id=1999 - -2010-12-11 Lee Howard - - * tools/tiffinfoce.c: strip byte counts are uint64* now - -2010-12-11 Lee Howard - - * libtiff/tif_ojpeg.c: fix crash when reading a TIFF with a zero - or missing byte-count tag - * tools/tiffsplit.c: abort when reading a TIFF without a byte-count - per http://bugzilla.maptools.org/show_bug.cgi?id=1996 - -2010-12-08 Lee Howard - - * libtiff/tif_dirread.c: fix crash when reading a badly-constructed - TIFF per http://bugzilla.maptools.org/show_bug.cgi?id=1994 - -2010-12-06 Lee Howard - - * libtiff/tif_open.c: Fix mode check before opening a file. - http://bugzilla.maptools.org/show_bug.cgi?id=1906 - -2010-11-27 Bob Friesenhahn - - * libtiff-4.pc.in: Added libtiff pkg-config .pc file support. - Patch by Vincent Torri. - -2010-10-21 Frank Warmerdam - - * tools/tiffinfo.c: avoid direct reference to _TIFFerrorHandler. - - * libtiff/tif_config.vc.h: define snprintf to _snprintf for tiff2pdf. - - * libtiff/libtiff.def: export _TIFFCheckMalloc for tools. - -2010-09-25 Lee Howard - - * tools/tiff2ps.c: improvements and enhancements from Richard Nolde - with additional command line options for Document Title, - Document Creator, and Page Orientation - -2010-07-13 Bob Friesenhahn - - * tools/tiffcrop.c: Patch from Richard Nolde to avoid a - potentially unterminated buffer due to using an exceptionally long - file name. - -2010-07-08 Andrey Kiselev - - * tools/tiff2pdf.c: Fixed ID buffer filling in - t2p_write_pdf_trailer(), thanks to Dmitry V. Levin. - -2010-07-07 Andrey Kiselev - - * libtiff/tif_dirread.c: Really reset the tag count in CheckDirCount() - to expected value as the warning message suggests. As per bug - http://bugzilla.maptools.org/show_bug.cgi?id=1963 - -2010-07-06 Andrey Kiselev - - * tools/tiffset.c: Properly handle TIFFTAG_PAGENUMBER, - TIFFTAG_HALFTONEHINTS, TIFFTAG_YCBCRSUBSAMPLING, TIFFTAG_DOTRANGE - which should be set by value. - - * libtiff/tif_dirinfo.c: Don't use assertions in _TIFFFieldWithTag() - and _TIFFFieldWithName() if the tag is not found in the tag table. - This should be normal situation and returned NULL value should be - properly handled by the caller. - -2010-07-02 Andrey Kiselev - - * libtiff/tif_getimage.c: Avoid wrong math du to the signed/unsigned - integer type conversions. As per bug - http://bugzilla.maptools.org/show_bug.cgi?id=2207 - - * tools/{tiff2bw.c, thumbnail.c, pal2rgb.c}: Fix the count for - WhitePoint tag as per bug - http://bugzilla.maptools.org/show_bug.cgi?id=2042 - - * libtiff/tif_getimage.c: Check the number of samples per pixel when - working with YCbCr image in PickContigCase(). As per bug - http://bugzilla.maptools.org/show_bug.cgi?id=2216 - - * libtiff/tif_dir.c: Set the bogus post-decoding hook when processing - TIFFTAG_BITSPERSAMPLE in _TIFFVSetField() for the case of 8 bit when - we don't need any post-processing. That helps to reset the hook if we - previously set this field to some other value and the hook was - initialized accordingly. As per bug - http://bugzilla.maptools.org/show_bug.cgi?id=2035 - -2010-07-01 Andrey Kiselev - - * tools/tiffgt.c: Properly check the raster buffer allocations for - integer overflows. As per bug - http://bugzilla.maptools.org/show_bug.cgi?id=2108 - - * m4/acinclude.m4: Update GL/GLU/GLUt/Pthread macros from the - upstream. - - * libtiff/{tif_aux.c, tif_strip.c, tif_tile.c, tiffiop.h}: Move - multiply_32() and multiply_64() functions into tif_aux.c file and - rename them into _TIFFMultiply32() and _TIFFMultiply64() respectively. - -2010-06-30 Andrey Kiselev - - * tools/tiff2pdf.c: Better generation of ID field in - t2p_write_pdf_trailer(). Get rid of GCC aliasing warnings. - - * tools/tiff2pdf.c: Fixed computation of the tile buffer size when - converting JPEG encoded tiles. - - * tools/tiff2pdf.c: Better handling of string fields, use static - string buffers instead of dynamically allocated, use strncpy() instead - of strcpy(), control the string lengths. - -2010-06-25 Andrey Kiselev - - * tools/tiffcp.c: Initialize buffer arrays with zero to avoid - referencing to uninitialized memory in some cases (e.g. when tile size - set bigger than the image size). - -2010-06-15 Bob Friesenhahn - - * tools/tiffcrop.c: Patch from Richard Nolde. Reject YCbCr - subsampled data since tiffcrop currently doesn't support it. Fix - JPEG support. - -2010-06-13 Frank Warmerdam - - * libtiff/tif_dirinfo.c: Fix invocation of tag compare function (#2201) - - * tools/tiff2pdf.c: Fix assorted bugs in tiff2pdf: missing "return" - in t2p_read_tiff_size() causes t2p->tiff_datasize to be set entirely - wrong for COMPRESSION_JPEG case, resulting in memory stomp if actual - size is larger. Also, there are a bunch of places that try to - memset() a malloc'd buffer before checking for malloc failure, which - would result in core dump if there actually were a failure. (#2211) - -2010-06-11 Bob Friesenhahn - - * libtiff/tiffiop.h (TIFFSafeMultiply): Need more castings to - avoid compiler warnings if parameter types are not sign - consistent. - - * libtiff 4.0.0alpha6 released. - - * tools/tiffcrop.c: Applied patch from Richard Nolde: Corrected - European page size dimensions. Added an option to allow the user - to specify a custom page size on the command line. Fix the case - where a page size specified with a fractional part was being - coerced to an integer by retyping the variables that define the - paper size. - - * html/index.html: Update for the 3.9.3 release. - - * tools/tiffcp.c (tiffcp): Applied Tom Lane's patch to reject - YCbCr subsampled data since tiffcp currently doesn't support it. - http://bugzilla.maptools.org/show_bug.cgi?id=2097 - - * Update libtool to version 2.2.10. - -2010-06-10 Bob Friesenhahn - - * libtiff/tiffiop.h (TIFFSafeMultiply): Work properly if - multiplier is zero. - -2010-06-09 Bob Friesenhahn - - * libtiff/tif_fax3.c (Fax3SetupState): Yesterday's fix for - CVE-2010-1411 was not complete. - - * libtiff/tiffiop.h (TIFFSafeMultiply): New macro to safely - multiply two integers. Returns zero if there is an integer - overflow. - - * tools/tiffcp.c (main): tiffcp should not leak memory if an error - is reported when reading the input file. - -2010-06-08 Bob Friesenhahn - - * Update libtool to version 2.2.8. - - * libtiff/tif_fax3.c (Fax3SetupState): Avoid under-allocation of - buffer due to integer overflow in TIFFroundup() and several other - potential overflows. In conjunction with the fix to TIFFhowmany(), - fixes CVE-2010-1411. - - * libtiff/tiffiop.h (TIFFhowmany): Return zero if parameters would - result in an integer overflow. This causes TIFFroundup() to also - return zero if there would be an integer overflow. - - * contrib: Add an emacs formatting mode footer to all source files - so that emacs can be effectively used. - -2010-06-03 Oliver Chen Feng - - * libtiff/tools/tiffcp.c: add a new option -x to force merged tiff - file PAGENUMBER value in sequence for users who care the page - sequence, this will also prevent tiff2pdf from creating pdf file from - the merged tiff file with wrong page sequence. - -2010-05-08 Olivier Paquet - - * libtiff/tif_dirread.c: Restored TIFFReadDirEntryFloat function in order - to add missing TIFF_SETGET_FLOAT case to TIFFFetchNormalTag. - * libtiff/tif_dirinfo.c: Use correct set_field_type for - TIFFTAG_PIXAR_FOVCOT so it is readable again (regression from 3.9.2). - http://bugzilla.maptools.org/show_bug.cgi?id=2192 - -2010-05-07 Frank Warmerdam - - * libtiff/tif_jpeg.c: Ensure that quality is always set in - JPEGPreEncode(), not just when we want to output local tables. - Otherwise the quality used during compression may not be right and - might not match the tables in the tables tag. This bug only occurs - when seeking between directories in the midst of writing blocks. - http://trac.osgeo.org/gdal/ticket/3539 - -2010-05-06 Andrey Kiselev - - * html/man/TIFFGetField.3tiff.html, html/man/TIFFSetField.3tiff.html: - Regenerated from the source. - -2010-05-05 Olivier Paquet - - * libtiff/tif_print.c: Fixed printing of TIFFTAG_REFERENCEBLACKWHITE which - had stopped working. Also made it always print 6 floats instead of - 2*SamplesPerPixel. - http://bugzilla.maptools.org/show_bug.cgi?id=2191 - http://bugzilla.maptools.org/show_bug.cgi?id=2186 - * man/TIFFGetField.3tiff, man/TIFFSetField.3tiff: Fixed doc to reflect the - fact that libtiff considers TIFFTAG_REFERENCEBLACKWHITE to be 6 floats. - -2010-05-05 Frank Warmerdam - - * libtiff/tif_jpeg.c: Fix to use memcmp(), not memcpy() when checking - if the jpeg table was written. This is a fix for the last fix on 04-21. - -2010-04-21 Frank Warmerdam - - * libtiff/tif_jpeg.c: avoid preparing jpeg tables everytime - JPEGSetupEncode() is called if the tables already seem to be - established. This prevents spurious updates and rewriting of - directories with jpegtables when doing updates to existing images. - http://trac.osgeo.org/gdal/ticket/3539 - -2010-04-20 Olivier Paquet - - * libtiff/tif_dirinfo.c: Use correct set_field_type for - TIFFTAG_PIXAR_IMAGEFULLWIDTH, TIFFTAG_PIXAR_IMAGEFULLLENGTH, - TIFFTAG_PIXAR_MATRIX_WORLDTOSCREEN and TIFFTAG_PIXAR_MATRIX_WORLDTOCAMERA. - They were unreadable with TIFF_SETGET_UNDEFINED, a regression from 3.9.2. - http://bugzilla.maptools.org/show_bug.cgi?id=2139 - -2010-04-10 Bob Friesenhahn - - * libtiff/tif_dir.c (_TIFFVSetField): Add a special error case for - when the tag count value is zero. Error handling is still a - regression since in 3.9.2, empty tags are skipped (with a warning) - rather than returning a hard error and refusing to read the file. - - * tools/ppm2tiff.c (main): While case for parsing comment line - requires extra parenthesis to work as expected. Reported by - Thomas Sinclair. - -2010-04-02 Frank Warmerdam - - * libtiff/tif_read.c (primarily): Add support for - CHUNKY_STRIP_READ_SUPPORT where large strips are - read in chunks for applications using TIFFReadScanline(). - This is intended to make it more practical work with very - large compressed one-strip files. Feature is off by default. - Enable by defining CHUNK_STRIP_READ_SUPPORT as a macro. - http://trac.osgeo.org/gdal/ticket/3514 - -2010-03-31 Frank Warmerdam - - * libtiff/tif_flush.c: Use TIFFRewriteDirectory() when flushing - directories so previously placed directories will be migrated to - the end of file if needed. - -2010-03-30 Frank Warmerdam - - * libtiff/tif_lzw.c: change type of dec_bitsleft field to uint64 - to support operating on strips/tiles of more than 256MB. - http://trac.osgeo.org/gdal/ticket/3512 - -2010-03-10 Bob Friesenhahn - - * libtiff/tif_aux.c (_TIFFCheckRealloc): Improve error message so - that it is clearly a memory allocation error message, and also - includes the size of the allocation request. - -2010-02-22 Lee Howard - - * libtiff/tif_jpeg.c: Do not generate a JPEGTables tag when creating - the JPEG TIFF as is is not required in order to prevent it from - being unused and filled with invalid data. (Leave it to be - generated by later activity.) - http://bugzilla.maptools.org/show_bug.cgi?id=2135 - * tools/tiff2pdf.c: Write the JPEG SOI headers into the TIFF strip - data rather than skipping them. This fixes the ability to view in - Acrobat Reader, Evince, and Ghostscript. - http://bugzilla.maptools.org/show_bug.cgi?id=2135 - * libtiff/tif_fax3.c: Don't return error on badly-terminated MMR - strips. - http://bugzilla.maptools.org/show_bug.cgi?id=2029 - -2009-12-03 Frank Warmerdam - - * libtiff/tif_jpeg.c: Made JPEGDecodeRaw() check for buffer overruns. - Made so that when working with downsampled images a stub function - reporting an error is used for tif_decoderow. We cannot meaningfully - support reading scanlines in this situation. (#1936) - - * libtiff/tif_jpeg.c: Ensure that tif_scanlinesize is computed after - resetting of the upsampling values (gdal:#3259). - http://bugzilla.maptools.org/show_bug.cgi?id=1936 - -2009-11-30 Frank Warmerdam - - * contrib/dbs/tiff-grayscale.c, contrib/tif-palette.c, - tools/ras2tiff.c: Fix resource leaks on error. - http://bugzilla.maptools.org/show_bug.cgi?id=2121 - - * libtiff/tif_{aux.c,dir.c,dir.h,dirinfo.c}: Return to handling - TIFFTAG_REFERENCEBLACKWHITE as a field in the TIFF directory instead - of as a custom(generic) field to avoid a potential reentrancy problem. - http://bugzilla.maptools.org/show_bug.cgi?id=2125 - - * libtiff/tif_color.c, libtiff/tif_getimage.c, libtiff/tiffio.h, - man/TIFFcolor.3tiff: Make TIFFDisplay argument in TIFFCIELabToRGBInit - const, and display_sRGB static and const. - http://bugzilla.maptools.org/show_bug.cgi?id=2124 - -2009-11-04 Bob Friesenhahn - - * libtiff 4.0.0alpha5 released. - -2009-11-03 Bob Friesenhahn - - * tools/tiffcrop.c: Updated tiffcrop from Richard Nolde. This - version has undergone substantial testing with arbitrary sample - bit depths. Also eliminates GCC compilation warnings. - -2009-11-02 Bob Friesenhahn - - * port/libport.h: Add extern declarations for getopt standard - globals. - -2009-10-31 Bob Friesenhahn - - * libtiff/tif_lzw.c (LZWDecode, LZWDecodeCompat): Fix warnings - noticed in 64-bit build of libtiff with Visual Studio 2005. - Resolves "Bug 2067 - Visual Studio 2005 64-bit warnings in - tif_lzw.c", http://bugzilla.maptools.org/show_bug.cgi?id=2067 - - * libtiff/tif_pixarlog.c (PixarLogEncode): Fix non-important - warning noticed in Visual Studio 2005 build. Resolves "Bug 2068 - - Visual Studio 2005 64-bit warning in tif_pixarlog.c", - http://bugzilla.maptools.org/show_bug.cgi?id=2068 - -2009-10-29 Bob Friesenhahn - - * libtiff/tif_dirread.c: Eliminate GCC "dereferencing type-punned - pointer" warnings. - -2009-10-28 Bob Friesenhahn - - * html/tools.html: Add manual page links, and a summary - description of tiffcrop. - -2009-10-07 Bob Friesenhahn - - * configure.ac: x86_64 should use the same fill order as i386. - -2009-09-24 Bob Friesenhahn - - * tools/tiffcrop.c, man/tiffcrop.1: New tiffcrop from Richard - Nolde. Major updates to add significant functionality for reading - and writing tile based images with bit depths not a multiple of 8 - which cannot be handled by tiffcp. - -2009-09-03 Bob Friesenhahn - - * libtiff/tif_ojpeg.c (OJPEGWriteHeaderInfo): IJG JPEG 7 needs - do_fancy_upsampling=FALSE in order to read raw data. Resolves - "Bug 2090 - OJPEG crash with libjpeg v7". - http://bugzilla.maptools.org/show_bug.cgi?id=2090 - -2009-09-03 Frank Warmerdam - - * libtiff/tif_getimage.c: Fixed error recognition handling in RGBA - interface when stoponerror is set. - http://bugzilla.maptools.org/show_bug.cgi?id=2071 - -2009-08-30 Bob Friesenhahn - - * tools/{tiffcrop.c,tiffgt.c}: Applied patch from Oden Eriksson to - fix build with gcc when using the "-Wformat - -Werror=format-security" flags. - -2009-08-29 Bob Friesenhahn - - * test/{bmp2tiff_palette.sh, bmp2tiff_rgb.sh, gif2tiff.sh, - ppm2tiff_pbm.sh, ppm2tiff_pgm.sh, ppm2tiff_ppm.sh}: Additional - utilities tests. - -2009-08-28 Bob Friesenhahn - - * tools/tiffinfo.c: tiffinfo should return error status to the - caller. Register a private error callback to accomplish that. - - * test/Makefile.am (TIFFIMAGES): Add test images in BMP, GIF, and - PNM formats so that we will be able to test more of the tools. - While adding these test images I notice that bmp2tiff and gif2tiff - only support ancient versions of their respective formats. - -2009-08-27 Bob Friesenhahn - - * libtiff 4.0.0alpha4 released. - - * HOWTO-RELEASE: Improved release instructions. - -2009-08-24 Bob Friesenhahn - - * man/{TIFFClose.3tiff,raw2tiff.1,tiffcmp.1,tiffsplit.1}: Applied - fixes for "Bug 2023 - nroff errors in manual pages". - http://bugzilla.maptools.org/show_bug.cgi?id=2023 - - * tools/{rgb2ycbcr.c, tiff2rgba.c}: Applied fixes for "Bug 2079 - - CVE-2009-2347 libtiff: integer overflows in various inter-color - space conversion tools". - http://bugzilla.maptools.org/show_bug.cgi?id=2079 - - * libtiff/tif_print.c (TIFFPrintDirectory): Apply fix from Jay - Berkenbilt for "Bug 2024 - possible null pointer dereference with - one-line fix". - http://bugzilla.maptools.org/show_bug.cgi?id=2024 - - * libtiff/tif_dirread.c (TIFFReadCustomDirectory): Apply patch - from Jay Berkenbilt for "Bug 1895 - logic error in tif_dirread.c: - segfault after setting tdir_tag = IGNORE". - http://bugzilla.maptools.org/show_bug.cgi?id=1895 - -2009-08-23 Bob Friesenhahn - - * test/Makefile.am, test/tiffcrop*.sh: Split previously existing - tiffcrop.sh into a collection of many specific tests. Re-wrote - all of the existing tests to be based on some simple shell - functions. Make distcheck works again. - - Export certain variables (MAKE, MAKEFLAGS, MEMCHECK) to tests and - added 'memcheck' and 'ptrcheck' targets to make it easy to run the - tests under valgrind. - -2009-08-21 Bob Friesenhahn - - * test/tiffcp-logluv.sh: Fix test so that it works with a VPATH - build. - - * test/Makefile.am (AUTOMAKE_OPTIONS): Colorized tests was not - actually activated since it needed to be enabled in this - Makefile.am. Also activated parallel-tests mode since it offers - useful features such as per-test .log files and a summary test - report .log file. - -2009-08-20 Bob Friesenhahn - - * configure.ac: Updated autotools. Autoconf 2.64, Automake 1.11, - libtool 2.2.6. Enabled support for silent build rules - (--enable-silent-rules or 'make V=0') and colorized tests. - - * html/{index.html, v3.9.0.html}: Update for 3.9.0 release. - -2009-06-30 Frank Warmerdam - - * tests/tiffcp-logluv.sh: minimal testing of sgilog compression. - - * tools/tiffcp.c: add -c sgilog support. - - * libtiff/tif_luv.c: correct return codes from encoderow to be - 1 on success instead of zero. - http://bugzilla.maptools.org/show_bug.cgi?id=2069 - - * libtiff/tif_lzw.c: back out patch from #2065 and apply patch from - #1085 for a better underflow fix that errors properly. - http://bugzilla.maptools.org/show_bug.cgi?id=2065 - http://bugzilla.maptools.org/show_bug.cgi?id=1985 - -2009-06-26 Frank Warmerdam - - * libtiff/tif_strip.c: Remove an inappropriate assertion that often - fails on oddly sized 12bit jpeg compressed ycbcr images. - -2009-06-22 Frank Warmerdam - - * libtiff/tif_lzw.c: Fix buffer underflow bug. - http://bugzilla.maptools.org/show_bug.cgi?id=2065 - -2009-06-21 Frank Warmerdam - - * configure.ac, libtiff/tif_jpeg.c, libtiff/tif_jpeg_12.c: add support - for dual mode 8/12 bit jpeg support. - -2009-06-03 Frank Warmerdam - - * libtiff/tif_write.c: do not override the planar configuration to be - contig for one sample files if planar configuration is already set. - http://bugzilla.maptools.org/show_bug.cgi?id=2057 - -2009-06-02 Frank Warmerdam - - * libtiff/libtiff.def: Add TIFFUnsetField. - -2009-05-03 Frank Warmerdam - - * libtiff/{tif_jpeg.c,tif_ojpeg.c,tif_getimage.c}: Fixed various - error reports to use "%s" as format string. - http://trac.osgeo.org/gdal/ticket/2976 - -2009-03-12 Frank Warmerdam - - * libtiff/{tif_fax3.c,tif_jpeg.c,tif_ojpeg.c}: Fix printdir chaining - for some codecs (#2020). - -2009-02-12 Frank Warmerdam - - * libtiff/tif_luv.c: Fix handling of tiled logluv images. - http://bugzilla.maptools.org/show_bug.cgi?id=2005 - -2009-02-09 Frank Warmerdam - - * libtiff/tif_dirread.c: Improve allocation safety when allocated - buffer for large tags. (#1998) Related to (#1993) - -2009-02-06 Frank Warmerdam - - * tools/tiffcrop.c: Don't default image->res_unit to INCH. Now the - test suite should pass. - -2009-02-05 Frank Warmerdam - - * libtiff/tif_dirread.c: Re-incorporated a sanity check on tag size, - but at the 2GB boundary to avoid overflow on 32bit systems. - http://bugzilla.maptools.org/show_bug.cgi?id=1993 - - * libtiff/tif_dirread.c: Remove some assertions that blow due to - corrupt files rather than in response to library internal - inconsistencies. - http://bugzilla.maptools.org/show_bug.cgi?id=1995 - http://bugzilla.maptools.org/show_bug.cgi?id=1991 - - * libtiff/tif_dirread.c: Fixed testing for failed result from - TIFFReadDirectoryFindFieldInfo(). - http://bugzilla.maptools.org/show_bug.cgi?id=1992 - -2009-01-23 Frank Warmerdam - - * libtiff/tif_predict.c: Add support for 32bit integer horz. predictors. - http://bugzilla.maptools.org/show_bug.cgi?id=1911 - - * libtiff/tif_dirwrite.c: Fix byte swapping of next directory offset. - - http://bugzilla.maptools.org/show_bug.cgi?id=1924 - - * tools/tiffcrop.c: initialize xres/yres values. - - * test/*.sh - default ${srcdir} to local directory. - - * test/common.sh - start verbose mode after common settings. - - * libtiff/tif_dirinfo.c: Replace lfind() with local equivelent to - avoid type mismatches on different platforms. - http://bugzilla.maptools.org/show_bug.cgi?id=1889 - -2009-01-22 Frank Warmerdam - - * tools/{fax2tiff.c,thumbnail.c,tiff2pdf.c,tiff2ps.c,tiffdump.c, - tiffsplit.c}: avoid warnings, mostly 32bit/64bit casting issues. - - * port,tools: Introduce libport.h, and include in tools if NEED_LIBPORT - defined, primarily to reduce prototype warnings on windows. - - * libtiff/tif_dirinfo.c,tif_dirread.c: Avoid warnings - about unused parameters, and uninitialized variables. - -2009-01-21 Bob Friesenhahn - - * test/common.sh: Execute tests like 'make VERBOSE=TRUE check' in - order to trace full execution detail while executing the test suite. - -2009-01-20 Frank Warmerdam - - * tools/tiffsplit.c: fix sampleformat to be shortv instead of longv. - -2009-01-20 Bob Friesenhahn - - * test/Makefile.am (CLEANFILES): Make sure that test output files - are removed by 'make clean' - - * Update autotools for 4.0.0 beta3 - - * 4.0.0 beta3 produced. - -2009-01-12 Bob Friesenhahn - - * test/tiffcrop.sh: New test script for tiffcrop from Richard - Nolde. - - * tools/tiff2ps.c: Remove spurious message to stderr. - -2009-01-11 Bob Friesenhahn - - * tools/tiff2ps.c: Incorporated significant functionality update - from Richard Nolde. In particular, support for rotating the image - by 90, 180, 270, and 'auto' has been added. - - * man/tiffcrop.1: Incorporated documentation updates from Richard - Nolde. - - * tools/tiffcrop.c: Incorporated significant functionality update - from Richard Nolde. - -2008-12-31 Bob Friesenhahn - - * libtiff/tiffio.h: GCC will now validate format specifications - for TIFFError(), TIFFErrorExt(), TIFFWarning(), and - TIFFWarningExt() in order to reveal bugs. - - * Many fixes throughout to work better as a 64-bit build. - -2008-12-30 Bob Friesenhahn - - * tools/{tiff2pdf.c, tiff2ps.c, tiffinfo.c}: Offset and length - tags now require 64-bit parameter rather than 32-bit. - - * libtiff/tif_dirread.c: Fixed issues with unaligned access to - 64-bit values. - - * tools/thumbnail.c: Eliminate crash noticed while running test - suite. - -2008-12-29 Bob Friesenhahn - - * libtiff/tif_ojpeg.c (OJPEGLibjpegJpegSourceMgrFillInputBuffer): - Initialize stack variables to avoid compiler warning. - - * tools/tiffinfoce.c (main): Use toff_t for offset type when - retrieving offset of EXIF IFD. - - * libtiff/tiffio.h: Undeprecate toff_t and restore its use in the - TIFFClientOpen() callback and other external function definitions. - - * tools/tiffinfo.c (main): Offset to EXIF IFD requires a 64-bit - type now. Fixes crash when dumping files containing an EXIF IFD. - - * m4/libtool.m4: Update to libtool 2.2.6. - -2008-12-21 Frank Warmerdam - - * libtiff/tif_dir.c, tiffio.h: Introduce TIFFUnsetField() function. - - * libtiff/tif_jpeg.c: Avoid errors if the application writes a full - strip for the last partial strip in a jpeg compressed file. - http://bugzilla.maptools.org/show_bug.cgi?id=1981 - -2008-10-29 Frank Warmerdam - - * libtiff/tif_flush.c: Make sure that BEENWRITING is cleared when - we take the shortcut to only update the strip/tile offsets in place. - http://trac.osgeo.org/gdal/ticket/2621 - -2008-10-21 Andrey Kiselev - - * libtiff/tif_jbig.c: Support the JBIG-KIT 2.0 (compatibility with - the older versions retained). - -2008-10-09 Frank Warmerdam - - * libtiff/tif_jpeg.c: Add #ifdefs for changes needed if using - IPP enabled version of libjpeg from Intel. - http://bugzilla.maptools.org/show_bug.cgi?id=1951 - -2008-09-05 Andrey Kiselev - - * tools/tiffsplit.c: Use byte counts of proper size (uint64). - Required for libtiff 4.0. - - * tools/tiffsplit.c: Use dynamically allocated array instead of static - when constructing output file names. - -2008-09-03 Andrey Kiselev - - * tools/tiffsplit.c: Get rid of unsafe strcpy()/strcat() calls when - doing the filename/path construction. - - * tools/tiff2pdf.c: More appropriate format string in - t2p_write_pdf_string(); avoid signed/unsigned mismatch. - - * libtiff/tif_lzw.c: Properly zero out the codetable. As per bug - - http://bugzilla.maptools.org/show_bug.cgi?id=1929 - - * libtiff/tif_lzw.c: Properly zero out the string table. Fixes - CVE-2008-2327 security issue. - -2008-09-01 Frank Warmerdam - - * libtiff/tif_dirread.c: Avoid unused TIFFReadDirEntryFloat() function. - - * libtiff/tif_dirwrite.c: modified to write IFDs as either IFD8 or IFD - depending on whether the file is bigtiff or classic tiff. - http://bugzilla.maptools.org/show_bug.cgi?id=1917 - -2008-08-12 Edward Lam - - * tools/tiffdump.c: When compiling for Microsoft Windows, apply - consistent (__int64) casting when testing if _lseeki64 has - successfully seeked as requested. This is necessary for large - file support to work since off_t is only 32-bit. - -2008-07-29 Frank Warmerdam - - * tif_strip.c: Replace assertions related to samplesperpixel != 3 or - the subsampling values not being 1, 2 or 4 (for jpeg compressed images) - with control logic to return runtime errors (c/o Even Rouault) (#1927). - -2008-06-17 Frank Warmerdam - - * tools/tiffcrop.c: Fix some portability problems. - - * libtiff/tif_ojpeg.c: Use same jpeg/win32 boolean/FAR hacks as are - used in tif_jpeg.c. - - * libtiff/tif_win32.c: Ensure TIFFOpenW() uses same FILE_SHARE flags - as TIFFOpen(). - -2008-06-01 Frank Warmerdam - - * libtiff/tif_dirwrite.c: Fix alignment problems affecting architectures - like Sparc/Solaris. - http://bugzilla.maptools.org/show_bug.cgi?id=1892 - -2008-05-27 Frank Warmerdam - - * libtiff.def: Add TIFFFindField - http://bugzilla.maptools.org/show_bug.cgi?id=1891 - -2008-05-26 Frank Warmerdam - - * tif_config.*.h, tiffconf.*.h: Remove SIZEOF_LONG definition, unused. - - * li2008-04-15 Andrey Kiselev - -btiff/tif_win32.c: Replace custom Win32 memory api with generic - POSIX one. No apparent value to use of GlobalAlloc() in the modern - age. http://bugzilla.maptools.org/show_bug.cgi?id=1885 - - * libtiff/tiffconf.vc.h: Added JBIG_SUPPORT and MDI_SUPPORT items - in windows version (care of Edward Lam). - -2008-05-24 Frank Warmerdam - - * tif_codec.c: Avoid NULL pointer dereferencing for exotic - compression codec codes. - - * tif_dirwrite.c: fix potential memory leak. - - * tif_dirread.c: Fix unchecked malloc result. - -2008-05-24 Bob Friesenhahn - - * test {tiff2pdf.sh tiff2ps-EPS1.sh tiff2ps-PS1.sh tiff2ps-PS2.sh - tiff2ps-PS3.sh tiffcp-g3-1d-fill.sh tiffcp-g3-1d.sh - tiffcp-g3-2d-fill.sh tiffcp-g3-2d.sh tiffcp-g3.sh tiffcp-g4.sh - tiffcp-split-join.sh tiffcp-split.sh tiffcp-thumbnail.sh - tiffdump.sh tiffinfo.sh}: Added more test scripts based on - suggestions from Lee Howard posted to the tiff list on 13 Sep - 2007. - -2008-05-23 Frank Warmerdam - - * libtiff/tif_fax3.c: Add an assert in an effort to detect a - possible runtime problem reported by coverity. - - * contrib/iptcutil/iptcutil.c: Fixed memory leak of str. - - * tools/tiffcrop.c, man/tiffcrop.1: Major update from Richard Nolde. - http://bugzilla.maptools.org/show_bug.cgi?id=1888 - - * tools/tiffdither.c: remove dead onestrip code. avoid memory leak. - - * tools/rgb2ycbcr.c: fix memory leak of raster buffer. - - * tools/tiffcp.c: Simplify inknames code to avoid pointless test. - Cleanup scanline allocation to avoid coverity warning. - - * tools/thumbnail.c: Check for TIFFOpen() failure. - -2008-05-18 Frank Warmerdam - - * libtiff/tif_dirinfo.c: Use TIFF_SETGET_ASCII for PIXAR_TEXTUREFORMAT - and PIXAR_WRAPMODES instead of TIFF_SETGET_UNDEFINED. Not exactly clear - why this is needed. - -2008-05-09 Bob Friesenhahn - - * Makefile.am (ACLOCAL_AMFLAGS): Libtool 2.2.4 does not like - "ACLOCAL_AMFLAGS=-I ./m4". It wants "ACLOCAL_AMFLAGS=-I m4". - -2008-04-15 Andrey Kiselev - - * test/: Test suite updated. Everything is passed now. - - * libtiff/tif_dirinfo.c: Fixed description of the - TIFFTAG_NUMBEROFINKS tag. - -2008-04-14 Andrey Kiselev - - * libtiff/{tif_dirread.c, tif_dirwrite.c, tiffiop.h}: - Get rid of some of "dereferencing type-punned" warnings by converting - tdir_offset field of TIFFDirEntry structure into union. - -2008-04-10 Andrey Kiselev - - * libtiff/{tif_flush.c, tif_dirwrite.c, tiffio.h, tiffiop.h}: - TIFFRewriteField() renamed into _TIFFRewriteField() and moved out - from the public interface. Type of its 'count' parameter changed - from uint32 to tmsize_t. - - * /libtiff/tiffiop.h: Make tif_nfields and tif_nfieldscompat fields - of the tiff structure have the size_t type instead of uint32. - -2008-04-09 Andrey Kiselev - - * tools/tiffdump.c: Added support for MSVS 6.0. - - * libtiff/tif_dirread.c: Use custom functions _TIFFUInt64ToFloat() - and _TIFFUInt64ToDouble() to convert 64-bit integers into floating - point values on MSVS 6.0 platform. - -2008-03-14 Frank Warmerdam - - * tif_dirread.c: Removed sanity checks on tags larger than 4MB in - TIFFReadDirEntryArray() since they are interfering with seemingly - legitimate files. http://trac.osgeo.org/gdal/ticket/2005 - -2008-02-09 Joris Van Damme - - * tif_dirread.c: Added handling for the case of number of values for - PageNumber tag different from 2 (previously resulted in an assert - indicating lack of handling and was forgotten about) - -2008-02-01 Frank Warmerdam - - * libtiff/tif_jpeg.c: Do not try to fixup subsampling tags based on - the actual jpeg data stream if the first strip/tile has zero size. - This is the case when GDAL creates a new file with zero sizes, closes - and reopens it. - -2008-01-07 Frank Warmerdam - - * tools/tiff2ps.c: fix up 64bit issues (from Edward Lam). - -2008-01-01 Frank Warmerdam - - * libtiff/tif_dirwrite.c: #ifdef out lots of unused functions. - - * Makefile.vc, libtiff/Makefile.vc, tools/Makefile.vc: Improve clean - targets. - - * tools/tiffinfo.c, tools/tiffcmp.c, tools/gif2tiff.c, tools/bmp2tiff.c - tools/tiff2pdf.c: Fix 64-bit warnings when compiling under MSVC 2005 - (x64). - - * tools/tiffset.c: Changes to reflect the fact that TIFFFieldWithTag() - and TIFFFieldWithName() now return TIFFField pointers instead of - TIFFFieldInfo pointers. - - * tools/tiffdump.c: Added ssize_t typedef on Windows since it doesn't - exist. This makes it compile again on Windows - - * tif_aux.c, tif_getimage.c, tif_next.c, tif_predict.c, tif_win32.c, - tiffconf.vc.h: Various 64bit fixes from Edward Lam identified on win64. - - * test/rewrite_tag.c: New test for TIFFRewriteField(). - -2007-12-31 Frank Warmerdam - - * tif_dirwrite.c: Added TIFFRewriteField(). This new function - rewrites one field "on disk" updating an existing directory - entry. Lots of limitations still... - - * tiffiop.h, tif_write.c, tif_dirread.c, tif_flush.c: Keep track of - TIFF_DIRTYSTRIP separately from TIFF_DIRTYDIRECT to indicate that - the strip offset/size values are dirty but nothing else about the - directory is dirty. In flush handle "just stripmaps dirty" as a - special case that just rewrites these values without otherwise - modifying the directory on disk using TIFFRewriteField(). - - We also modify logic so that in update mode the directory is not - marked dirty on read, but only when something is changed. This - means we need to keep track of updates to the stripmap stuff in - TIFFAppendToStrip(). - -2007-12-10 Frank Warmerdam - - * tif_jpeg.c: Improve ability to switch between encoding and decoding - in the jpeg code (gdal bug #2033). - -2007-11-23 Frank Warmerdam - - * tif_dir.c, tif_dirread.c, tif_dirwrite.c, tif_read.c, tif_write.c, - tiffiop.h: Added TIFF_BUF4WRITE flag to indicate if contents of the - rawcp/rawcc buffer are for writing and thus may require flushing. - Necessary to distinguish whether they need to be written to disk when - in mixed read/write mode and doing a mixture of writing followed by - reading. http://trac.osgeo.org/gdal/ticket/1758 - -2007-11-23 Andrey Kiselev - - * configure.com, libtiff/tif_vms.c: Better OpenVMS support. Patches - from Alexey Chupahin. - -2007-11-02 Frank Warmerdam - - * tif_write.c: Rip out the fancy logic in TIFFAppendToStrip() for - establishing if an existing tile can be rewritten to the same location - by comparing the current size to all the other blocks in the same - directory. This is dangerous in many situations and can easily - corrupt a file. (observed in esoteric GDAL situation that's hard to - document). This change involves leaving the stripbytecount[] values - unaltered till TIFFAppendToStrip(). Now we only write a block back - to the same location it used to be at if the new data is the same - size or smaller - otherwise we move it to the end of file. - - * tif_dirwrite.c: Try to avoid writing out a full readbuffer of tile - data when writing the directory just because we have BEENWRITING at - some point in the past. This was causing odd junk to be written out - in a tile of data when a single tile had an interleaving of reading - and writing with reading last. (highlighted by gdal - autotest/gcore/tif_write.py test 7. - - * tif_predict.c: use working buffer in PredictorEncodeTile to avoid - modifying callers buffer. - http://trac.osgeo.org/gdal/ticket/1965 - - * tif_predict.c/h: more fixes related to last item, keeping a - distinct pfunc for encode and decode cases as these were getting - mixed up sometimes. - http://trac.osgeo.org/gdal/ticket/1948 - -2007-11-01 Frank Warmerdam - - * tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so that - predictor based encoding and decoding works in read-write update - mode properly. - http://trac.osgeo.org/gdal/ticket/1948 - -2007-10-24 Joris Van Damme - - * tif_dirread.c: Fixed problem with bogus file triggering - assert(td->td_planarconfig == PLANARCONFIG_CONTIG) in - ChopUpSingleUncompressedStrip - -2007-10-22 Joris Van Damme - - * tif_jpeg.c: Resolved buffer incrementation bug that lead to faulty images - at best, access violation at worst, when subsampled JPEG compressed imagery - is decoded without the JPEG_COLORMODE feature - -2007-10-11 Frank Warmerdam - - * html/index.html: Update "people responsible" section. - -2007-10-05 Frank Warmerdam - - * tools/tiff2pdf.c: Fix problem with alpha setting in some cases - as reported on the mailing list. - -2007-10-01 Joris Van Damme - - * changed some more incorrect %lud printf flags to %lu - -2007-09-29 Joris Van Damme - - * tif_dirread.c: Strip chopping interfered badly with uncompressed - subsampled images because it tried to divide subsampled rowblocks, - leading to all sorts of errors throughout the library for these - images. Fixed by making strip chopping divide in row counts that - are a multiple of vertical subsampling value. - -2007-09-28 Joris Van Damme - - * tif_dirread.c: Logical cast working around compiler warning - - * tif_read.c: Correction of some error flags and parameter lists - -2007-09-27 Joris Van Damme - - * tif_dirread.c: Made calculation of td_maxsamplevalue more robust - when dealing with large bitspersample values, shutting up purification - tools that warn about truncation, though it remains incorrect and - indicates a conceptual problem there. - - * tif_open.c: Moved early exit in case of 'h' flag (to disable reading - of first IFD) to proper place because it badly interfered with memory - mapping, resulting in mapping flag even with dummy mapping functions - that returned 0 whilst at the same time the mapping tif_size wasn't - set, thus resulting in continuous incorrect beyond-eof errors. - -2007-09-24 Joris Van Damme - - * tif_dirinfo.c: Fixed (MSVC) compiler reports about - inconsistent use of const in tiffFields and exifFields definition - -2007-09-20 Frank Warmerdam - - * tif_dirwrite.c: Always write tile/strip offsets and sizes - using LONG8 type when output format is BigTIFF. The - TIFFWriteDirectoryTagLongLong8Array() function was restructured - accordingly. - - * tif_dirread.c: Improvements to error reporting text in - TIFFFetchDirectory(). - -2007-09-19 Bob Friesenhahn - - * test/images: Added a small collection of test images for use by - test programs and scripts. - * test/tiffinfo.sh: A trivial example test script. - * test/common.sh: Added small script for setting the environment - used by script-based tests. - -2007-08-24 Frank Warmerdam - - * tif_dirwrite.c: Write the tif_nextdiroff value instead of a fixed - zero when writing directory contents to preserve the ability to - rewrite directories in place, even in the middle of a directory - chain. - - * tif_dirinfo.c: _TIFFMergeFields() now only merges in field - definitions that are missing. Existing definitions are silently - ignored. - - * tif_dirread.c: Add runtime error for fields for which no definition - is found (in addition to an assert for developers) in - TIFFFetchNormalTag(). Not sure if this is needed, but it seems - prudent. - -2007-08-10 Joris Van Damme - - * libtiff/tif_getimage.c: removed SubsamplingHor and SubsamplingVer - from _TIFFRGBAImage structure to revert unwanted ABI change. - -2007-08-10 Joris Van Damme - - * libtiff/tif_win32.c: use SetFilePointer instead of - SetFilePointerEx, as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1580 - -2007-07-19 Andrey Kiselev - - * libtiff/tif_stream.cxx: Put all callback functions declarations - inside extern "C" block. - - * libtiff/{tif_lzw.c, tif_luv.c, tif_dumpmode.c, tif_print.c, - tif_read.c, tif_strip.c, tif_thunder.c}: Use "%I64d" printf() - formatter instead of "%lld" with MSVC compiler. - - * libtiff/{tiffiop.h, tif_aux.c}: Added _TIFFUInt64ToFloat() and - _TIFFUInt64ToDouble() functions. - -2007-07-18 Andrey Kiselev - - * libtiff/tif_dirread.c: Handle the case of MSVC 6 when using 64-bit - integer constants. - - * libtiff/{Makefile.am, Makefile.v}: Do not distribute tiffconf.h, - remove tif_config.h/tiffconf.h during cleaning. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1573 - - * libtiff/tif_unix.c: Do not use O_LARGEFILE. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1577 - -2007-07-13 Andrey Kiselev - - * libtiff 4.0.0alpha released. - -2007-07-12 Andrey Kiselev - - * tools/tiff2pdf.c: Added missed extern optind as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1567 - - * libtiff/{tif_close.c, tif_dirinfo.c, tiffiop.c, tif_dirread.c, - tif_dir.h, tif_dir.c, tiffio.h}: Transition to the new-style tag - extending scheme completed. - -2007-07-11 Bob Friesenhahn - - * libtiff/tif_stream.cxx: Adapt to use toff_t again. Update to - use standard C++ library size types and attempt to detect overflow - cases. - -2007-07-08 Andrey Kiselev - - * libtiff/{tif_jpeg.c, tif_dir.h, tif_dir.c, tif_dirinfo.c, tiffio.h, - tif_ojpeg.c, tif_print.c, tif_fax3.c, tif_dirread.c}: More work on new - tag extending scheme. Use the new scheme everywhere. - - * libtiff/{tif_zip.c, tif_predict.c, tif_pixarlog.c, tif_luv.c, - tif_fax3.c, tif_dirread.c, tif_dirwrite.c, tif_close.c, tif_ojpeg.c, - tif_jpeg.c, tif_dirinfo.c, tif_dir.h, tiffio.h, tiffiop.h}: - TIFFFIeldInfo structure replaced with TIFFField structure. - TIFFFieldInfo retained for the backward compatibility. - -2007-07-05 Bob Friesenhahn - - * tools/tiff2pdf.c: Fix a compile problem when JPEG_SUPPORT is not - defined. - -2007-07-04 Andrey Kiselev - - * libtiff/{tif_dir.c, tiff.h, tiffio.h, libtiff.def}: Unused - TIFFReassignTagToIgnore() function and TIFFIgnoreSense enumeration - removed. - - * libtiff/{tif_dirinfo.c, tif_fax3.c, tif_jbig.c, tif_jpeg.c}: Move - tags TIFFTAG_FAXRECVPARAMS, TIFFTAG_FAXSUBADDRESS, - TIFFTAG_FAXRECVTIME and TIFFTAG_FAXDCS to the common tag directory. - These tags are not codec-specific and relate to image content, so - process them as other normal tags. - - * libtiff/{tiffio.h, tif_dir.h}: TIFFTagValue structure moved from the - public tiffio.h to private tif_dir.h. - - * contrib/{acorn, mac-cw, mac-mpw}: Removed as unmaintained and - outdated. - -2007-07-03 Andrey Kiselev - - * libtiff{tif_acorn.c, tif_apple.c, tif_atari.c, tif_msdos.c, - tif_win3.c}: Obsoleted portability stuff removed. - - * tools/tiff2ps.c: Added support 16-bit images as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1566 - - Patch from William Bader. - - * tools/tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and - significant upgrade of the whole utility as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1560 - - Now we don't need tiffiop.h in tiff2pdf anymore and will open output - PDF file using TIFFClientOpen() machinery as it is implemented - by Leon Bottou. - -2007-06-26 Bob Friesenhahn - - * configure.ac: Fix typo when substituting value for unsigned 8 bit type. - Added support for a TIFF_PTRDIFF_T type to use when doing pointer arithmetic. - Added support for a TIFF_SSIZE_T in order to return memory sizes but still - allow returning -1 for errors. - * libtiff/tiffconf.vc.h: Add porting type defintions for WIN32. - -2007-06-25 Bob Friesenhahn - - * port/strtoull.c: New porting function in case strtoull() is not - available on the target system. - * configure.ac: Add configure support for determining sized types - in a portable way and performing necessary substitutions in - tif_config.h and tiffconf.h. Updated tiff.h to use the new - definitions. - -2007-04-27 Andrey Kiselev - - * tools/tiff2pdf.c: Check the tmpfile() return status as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=154 - -2007-04-07 Andrey Kiselev - - * libtiff/{tif_dir.h, tif_dirread.c, tif_dirinfo.c, tif_jpeg.c, - tif_fax3.c, tif_jbig.c, tif_luv.c, tif_ojpeg.c, tif_pixarlog.c, - tif_predict.c, tif_zip.c}: Finally fix bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1274 - - by introducing _TIFFMergeFieldInfo() returning integer error status - instead of void in case of problems with field merging (e.g., if the - field with such a tag already registered). TIFFMergeFieldInfo() in - public API remains void. Use _TIFFMergeFieldInfo() everywhere and - check returned value. - -2007-04-07 Frank Warmerdam - - * contrib/addtiffo/tif_overview.c: Fix problems with odd sized output - blocks in TIFF_DownSample_Subsampled() (bug 1542). - -2007-04-06 Frank Warmerdam - - * libtiff/tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it - will convert from decompressor to compressor or compress to decompress - if required by the force arguments. This works around a problem in - where the JPEGFixupTestSubsampling() may cause a decompressor to - be setup on a directory when later a compressor is required with the - force flag set. Occurs with the addtiffo program for instance. - -2007-04-06 Andrey Kiselev - - * tools/tiffcrop.c, man/tiffcrop.1: Significant update in - functionality from Richard Nolde. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1525 - -2007-03-28 Frank Warmerdam - - * libtiff/tif_fax3.c: "inline static" -> "static inline" for IRIC CC. - -2007-03-17 Joris Van Damme - - * start of BigTIFF upgrade - CVS HEAD unstable until further notice - -2007-03-07 Joris Van Damme - - * libtiff/tif_getimage.c: workaround for 'Fractional scanline' error reading - OJPEG images with rowsperstrip that is not a multiple of vertical subsampling - factor. This bug is mentioned in: - http://bugzilla.remotesensing.org/show_bug.cgi?id=1390 - http://www.asmail.be/msg0054766825.html - -2007-03-07 Joris Van Damme - - * libtiff/tif_win32.c: made inclusion of windows.h unconditional - - * libtiff/tif_win32.c: replaced preprocessor indication for consiously - unused arguments by standard C indication for the same - -2007-02-27 Andrey Kiselev - - * libtiff/tif_dirread.c: Use uint32 type instead of tsize_t in byte - counters in TIFFFetchData(). Should finally fix the issue - - http://bugzilla.remotesensing.org/show_bug.cgi?id=890 - -2007-02-24 Andrey Kiselev - - * tools/tiffset.c: Properly handle tags with TIFF_VARIABLE writecount. - As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1350 - - * libtiff/tif_dirread.c: Added special function to handle - SubjectDistance EXIF tag as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1362 - - * tools/tiff2pdf.c: Do not assume inches when the resolution units - do not specified. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1366 - - * tools/{tiffcp.c, tiffcrop.c}: Do not change RowsPerStrip value if - it was set as infinite. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1368 - - * tools/tiffcrop.c, man/tiffcrop.1: New tiffcrop utility contributed - by Richard Nolde. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1383 - -2007-02-22 Andrey Kiselev - - * libtiff/tif_dir.c: Workaround for incorrect TIFFs with - ExtraSamples == 999 produced by Corel Draw. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1490 - - * libtiff/{tif_dirread.c, tif_read.c}: Type of the byte counters - changed from tsize_t to uint32 to be able to work with data arrays - larger than 2GB. Fixes bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=890 - - Idea submitted by Matt Hancher. - -2007-01-31 Andrey Kiselev - - * tools/tif2rgba.c: This utility does not work properly on big-endian - architectures. It was fixed including the bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1149 - -2007-01-15 Mateusz Loskot - - * Submitted libtiff port for Windows CE platform - * libtiff/tif_config.wince.h: Added configuration header for WinCE. - * libtiff/tiffconf.wince.h: Ported old configuration header for WinCE. - * libtiff/tif_wince.c: Added WinCE-specific implementation of some - functons from tif_win32.c. - * libtiff/tif_win32.c: Disabled some functions already reimplemented in tif_wince.c. - * libtiff/tiffiop.h, port/lfind.c: Added conditional include of some - standard header files for Windows CE build. - * tools/tiffinfoce.c: Ported tiffinfo utility for Windows CE. - -2006-11-19 Frank Warmerdam - - * libtiff/tif_write.c: TIFFAppendToStrip() - clear sorted flag if - we move a strip. - http://bugzilla.remotesensing.org/show_bug.cgi?id=1359 - -2006-10-13 Andrey Kiselev - - * libtiff/tif_dir.c: More fixes for vulnerabilities, reported - in Gentoo bug (): - - http://bugs.gentoo.org/show_bug.cgi?id=142383 - - * libtiff/contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable. - Though it is still far from the state of being working and useful. - -2006-10-12 Andrey Kiselev - - * libtiff/tif_fax3.c: Save the state of printdir codec dependent - method. - - * libtiff/tif_jpeg.c: Save the state of printdir codec dependent method - as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1273 - - * libtiff/tif_win32.c: Fixed problem with offset value manipulation - as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1322 - - * libtiff/{tif_read.c, tif_jpeg.c, tif_dir.c}: More fixes for - vulnerabilities, reported in Gentoo bug (): - - http://bugs.gentoo.org/show_bug.cgi?id=142383 - -2006-09-28 Andrey Kiselev - - * libtiff/{tif_fax3.c, tif_next.c, tif_pixarlog.c}: Fixed multiple - vulnerabilities, as per Gentoo bug (): - - http://bugs.gentoo.org/show_bug.cgi?id=142383 - -2006-09-27 Frank Warmerdam - - * libtiff/tif_lzw.c, libtiff/tif_zip.c: Fixed problems with mixing - encoding and decoding on the same read-write TIFF handle. The LZW - code can now maintain encode and decode state at the same time. The - ZIP code will switch back and forth as needed. - http://bugzilla.remotesensing.org/show_bug.cgi?id=757 - -2006-09-20 Frank Warmerdam - - * libtiff: Rename config.h.vc and tif_config.h.vc to config.vc.h and - tif_config.vc.h for easier identification by folks using an IDE. - -2006-07-25 Frank Warmerdam - - * tif_msdos.c: Avoid handle leak for failed opens. c/o Thierry Pierron - -2006-07-19 Frank Warmerdam - - * tif_dirwrite.c: take care not to flush out buffer of strip/tile - data in _TIFFWriteDirectory if TIFF_BEENWRITING not set. Relates - to bug report by Peng Gao with black strip at bottom of images. - -2006-07-12 Frank Warmerdam - - * tif_dirwrite.c: make sure to use uint32 for wordcount in - TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields. - It already seems to have been done for other field types. Needed - for "tiffset" on files with geotiff ascii text. - -2006-07-04 Bob Friesenhahn - - * {configure.ac, libtiff/tif_config.h.vc, libtiff/tif_jbig.c} - (JBIGDecode): jbg_newlen is not available in older JBIG-KIT and - its use does not appear to be required, so use it only when it is - available. - -2006-06-24 Andrey Kiselev - - * libtiff/tif_dirinfo.c: Added missed EXIF tag ColorSpace (40961). - - * libtiff/tif_dirread.c: Move IFD fetching code in the separate - function TIFFFetchDirectory() avoiding code duplication in - TIFFReadDirectory() and TIFFReadCustomDirectory(). - -2006-06-19 Frank Warmerdam - - * tools/tiff2pdf.c: Fix handling of -q values. - http://bugzilla.remotesensing.org/show_bug.cgi?id=587 - -2006-06-17 Frank Warmerdam - - * tif_readdir.c: Added case in EstimateStripByteCounts() for tiled - files. Modified TIFFReadDirectory() to not invoke - EstimateStripByteCounts() for case where entry 0 and 1 are unequal - but one of them is zero. - http://bugzilla.remotesensing.org/show_bug.cgi?id=1204 - -2006-06-08 Andrey Kiselev - - * libtiff/{tif_open.c, tif_dirread.c, tiffiop.h}: Move IFD looping - checking code in the separate function TIFFCheckDirOffset(). - - * libtiff/tif_aux.c: Added _TIFFCheckRealloc() function. - - * tools/tiffcmp.c: Fixed floating point comparison logic as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1191 - - * libtiff/tif_fax3.c: Fixed problems in fax decoder as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1194 - - * tools/tiff2pdf.c: Fixed buffer overflow condition in - t2p_write_pdf_string() as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1196 - -2006-06-07 Andrey Kiselev - - * {configure, configure.ac, libtiff/tif_jbig.c, tools/tiffcp.c}: Added - support for JBIG compression scheme (34661 code) contributed by Lee - Howard. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=896 - - * configure, configure.ac: OJPEG support enabled by default. - - * contrib/ojpeg/: Removed. New OJPEG support does not need this patch. - -2006-06-03 Bob Friesenhahn - - * libtiff/{tif_dirinfo.c, tif_print.c} : Fix crash in - TIFFPrintDirectory(). Joris Van Damme authored the fix. - -2006-04-21 Andrey Kiselev - - * tools/tiff2pdf.c: Unified line ending characters (always use '\n') - as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1163 - - * README.vms, Makefile.am, configure.com, libtiff/{Makefile.am, - tif_config.h-vms, tif_stream.cxx, tif_vms.c, tiffconf.h-vms}: - Added support for OpenVMS by Alexey Chupahin, elvis_75@mail.ru. - -2006-04-20 Andrey Kiselev - - * tools/{fax2ps.c, fax2tiff.c, ppm2tiff.c, ras2tiff.c, tiff2pdf.c}: - Properly set the binary mode for stdin stream as per bug - http://bugzilla.remotesensing.org/show_bug.cgi?id=1141 - - * man/{bmp2tiff.1, fax2ps.1, fax2tiff.1, gif2tiff.1, ras2tiff.1, - raw2tiff.1, rgb2ycbcr.1, sgi2tiff.1, tiff2bw.1, tiff2pdf.1, tiff2ps.1, - tiff2rgba.1, tiffcmp.1, tiffcp.1, tiffdither.1, tiffdump.1, tiffgt.1, - tiffset.1}: Improvements in page formatting as per bug - http://bugzilla.remotesensing.org/show_bug.cgi?id=1140 - - * html/tools.html, html/man/Makefile.am, tools/tiff2pdf.c: Fixed - typos as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1139 - -2006-04-18 Frank Warmerdam - - * nmake.opt: use /EHsc for VS2005 compatibility. Also define - _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005. - -2006-04-12 Joris Van Damme - - * libtiff/tif_getimage.c: Added support for planarconfig separate - non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1]) - -2006-04-11 Joris Van Damme - - * libtiff/tif_getimage.c: Revision of all RGB(A) put routines - - Conversion of unassociated alpha to associated alpha now done with - more performant LUT, and calculation more correct - - Conversion of 16bit data to 8bit data now done with - more performant LUT, and calculation more correct - - Bugfix of handling of 16bit RGB with unassociated alpha - -2006-04-11 Joris Van Damme - - * libtiff/tif_getimage.c: - - When there is no alpha, gtTileSeparate and gtStripSeparate allocated - buffer for alpha strile and filled it, only to never read it back. - Removed allocation and fill. - - Minor rename of vars in gtTileSeparate and gtStripSeparate - anticipating planned functionality extension - -2006-04-08 Joris Van Damme - - * libtiff/tif_getimage.c: renamed pickTileContigCase to PickContigCase - and pickTileSeparateCase to PickSeparateCase as both work on strips as - well - - * libtiff/tif_getimage.c: moved img->get selection from - TIFFRGBAImageBegin into PickContigCase and PickSeparateCase to create - logical hook for planned functionality extension - -2006-04-08 Joris Van Damme - - * libtiff/tif_ojpeg.c: resolved memory leak that was a consequence - of inappropriate use of jpeg_abort instead of jpeg_destroy - -2006-04-07 Joris Van Damme - - * libtiff/tif_getimage.c: replaced usage of TIFFScanlineSize in - gtStripContig with TIFFNewScanlineSize so as to fix buggy behaviour - on subsampled images - this ought to get sorted when we feel brave - enough to replace TIFFScanlineSize alltogether - - * libtiff/tif_ojpeg.c: fixed bug in OJPEGReadSkip - -2006-04-04 Joris Van Damme - - * libtiff/tiffio.h: added new type tstrile_t - - * libtiff/tif_dir.h: changed types of td_stripsperimage and td_nstrips - to new tstrile_t, types of td_stripoffset and td_stripbytecount to - toff_t* - - * libtiff/tif_ojpeg.c: totally new implementation - - * libtiff/tif_dirread.c: added several hacks to suit new support of - OJPEG - - * libtiff/tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling - of OJPEG images in favor of tif_getimage.c native handling of - YCbCr and desubsampling - -2006-03-29 Frank Warmerdam - - * libtiff/tif_jpeg.c: JPEGVSetField() so that altering the photometric - interpretation causes the "upsampled" flag to be recomputed. Fixes - peculiar bug where photometric flag had to be set before jpegcolormode - flag. - -2006-03-25 Joris Van Damme - - * libtiff/tif_jpeg.c: strip size related bugfix in encode raw - - * libtiff/tif_strip.c: temporarilly added two new versions of - TIFFScanlineSize - - TIFFNewScanlineSize: proposed new version, after all related - issues and side-effects are sorted out - - TIFFOldScanlineSize: old version, from prior to 2006-03-21 change - This needs further sorting out. - -2006-03-25 Joris Van Damme - - * contrib/addtiffo/tif_ovrcache.c: bugfix to correctly pass size - of last truncated strip data to TIFFWriteEncodedStrip - -2006-03-25 Joris Van Damme - - * libtiff/{tif_jpeg.c, tif_strip.c}: bugfix of tif_jpeg decode raw - -2006-03-25 Joris Van Damme - - * libtiff/tif_getimage.c: bugfix/rewrite of putcontig8bitYCbCr22tile - - * libtiff/tif_getimage.c: added putcontig8bitYCbCr12tile - - * libtiff/tif_read.c: added support for new TIFF_NOREADRAW flag to - prepare the path for new tif_ojpeg.c - -2006-03-23 Andrey Kiselev - - * libtiff 3.8.2 released. - - * tools/Makefile.am: Use runtime paths linker flags when rpath - option enabled. - -2006-03-21 Andrey Kiselev - - * libtiff/libtiff.def: Added missed exports as per bug - http://bugzilla.remotesensing.org/attachment.cgi?id=337 - - * contrib/addtiffo/Makefile.vc, libtiff/Makefile.vc, port/Makefile.vc, - tools/Makefile.vc: Makefiles improvements as per bug - http://bugzilla.remotesensing.org/show_bug.cgi?id=1128 - - * nmake.opt libtiff/{tif_config.h.vc, tif_unix.c, tiffio.h}, - tools/{fax2ps.c, fax2tiff.c, tiff2pdf.c}: Fixed win32 I/O functions - usage as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1127 - - * libtiff/tif_strip.c: Take subsampling in account when calculating - TIFFScanlineSize(). - - * tools/tiffcp.c: Do not set RowsPerStrip bigger than image length. - -2006-03-17 Andrey Kiselev - - * tools/fax2tiff.c: Fixed wrong TIFFerror() invocations as per bug - http://bugzilla.remotesensing.org/show_bug.cgi?id=1125 - - * tools/fax2ps.c: Fixed reading the input stream from stdin as per bug - http://bugzilla.remotesensing.org/show_bug.cgi?id=1124 - -2006-03-16 Andrey Kiselev - - * libtiff/tiffiop.h: Added decalration for - _TIFFSetDefaultCompressionState(). - - * libtiff/{tif_jpeg.c, tif_fax3.c, tif_zip.c, tif_pixarlog.c, - tif_lzw.c, tif_luv.c}: Use _TIFFSetDefaultCompressionState() in all - codec cleanup methods. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1120 - -2006-03-15 Andrey Kiselev - - * libtiff/tif_jpeg.c: Do not cleanup codec state in TIFFInitJPEG(). As - per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1119 - - * tools/raw2tiff.c: Do not set RowsPerStrip larger than ImageLength. - As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1110 - - * libtiff/tiffiop.h: dblparam_t typedef removed; GLOBALDATA macro - removed; move here the STRIP_SIZE_DEFAULT macro definition. - - * libtiff/{tif_dirread.c, tif_strip.c}: Removed STRIP_SIZE_DEFAULT - macro definition. - - * libtiff/tif_dir.c: Use double type instead of dblparam_t. - -2006-03-14 Andrey Kiselev - - * libtiff/tif_dirread.c: Do not check the PlanarConfig tag presence - in TIFFReadDirectory, because it is always set at the start of - function and we allow TIFFs without that tag set. - -2005-03-13 Andrey Kiselev - - * libtiff 3.8.1 released. - -2006-03-07 Andrey Kiselev - - * libtiff/tif_dirread.c: Fixed error reporting in TIFFFetchAnyArray() - function as per bug - http://bugzilla.remotesensing.org/show_bug.cgi?id=1102 - - * libtiff/tif_dirread.c: More wise check for integer overflow - condition as per bug - http://bugzilla.remotesensing.org/show_bug.cgi?id=1102 - - * libtiff/{tif_jpeg.c, tif_pixarlog.c, tif_fax3.c, tif_zip.c}: - Properly restore setfield/getfield methods in cleanup functions. As - per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1102 - -2006-03-03 Andrey Kiselev - - * libtiff/{tif_predict.c, tif_predict.h}: Added new function - TIFFPredictorCleanup() to restore parent decode/encode/field methods. - - * libtiff/{tif_lzw.c, tif_pixarlog.c, tif_zip.c}: Use - TIFFPredictorCleanup() in codec cleanup methods. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1102 - - * libtiff/tif_dirread.c: Fixed integer overflow condition in - TIFFFetchData() function. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1102 - -2006-03-01 Andrey Kiselev - - * libtiff/tif_ojpeg.c: Set the ReferenceBlackWhite with the - TIFFSetField() method, not directly. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1043 - - * tools/ppm2tiff.c: Added support for PBM files as per bug - http://bugzilla.remotesensing.org/show_bug.cgi?id=1044 - -2006-02-27 Andrey Kiselev - - * libtiff/tif_write.c: Small code rearrangement in TIFFWriteScanline() - to avoid crash as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1081. - -2006-02-26 Andrey Kiselev - - * tools/tiff2pdf.c: Functions t2p_sample_rgbaa_to_rgb() and - t2p_sample_rgba_to_rgb() was used in place of each other, that was - resulted in problems with RGBA images with associated alpha. - As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1097 - -2006-02-23 Andrey Kiselev - - * libtiff/tif_dirwrite.c: Properly write TIFFTAG_DOTRANGE tag as per - bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1088. - - * libtiff/tif_print.c: Properly read TIFFTAG_PAGENUMBER, - TIFFTAG_HALFTONEHINTS, TIFFTAG_YCBCRSUBSAMPLING and TIFFTAG_DOTRANGE - tags as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1088. - - * tools/tiff2ps.c: Properly scale all the pages when converting - multipage TIFF with /width/height/center options set. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1080 - -2006-02-15 Andrey Kiselev - - * tools/tiff2pdf.c: Do not create output file until all option checks - will be done. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1072 - - * tools/bmp2tiff.c: Added ability to create multipage TIFFs from the - list of input files as per bug: - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1077 - -2006-02-09 Andrey Kiselev - - * libtiff/tif_tile.c: Fix error reporting in TIFFCheckTile() as per - bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1063. - - * tools/tiffgt.c: Avoid crashing in case of image unsupported by - TIFFRGBAImage interface. - - * libtiff/tif_color.c: Avoid overflow in case of wrong input as per - bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1065. - -2006-02-07 Frank Warmerdam - - * tools/tiff2pdf.c: Fixed support for non-YCbCr encoded JPEG - compressed TIFF files, per submission from Dan Cobra. - -2006-02-07 Andrey Kiselev - - * libtiff/{tif_dirread.c, tif_packbits.c, tif_win32.c}: Properly - cast values to avoid warnings. As per bug - http://bugzilla.remotesensing.org/show_bug.cgi?id=1033. - - * libtiff/tif_dirinfo.c: Use TIFF_NOTYPE instead of 0 when - appropriate. As per bug - http://bugzilla.remotesensing.org/show_bug.cgi?id=1033. - - * libtiff/tif_aux.c: Fixed type of temporary variable in - _TIFFCheckMalloc() as per bug - http://bugzilla.remotesensing.org/show_bug.cgi?id=1033. - -2006-02-06 Andrey Kiselev - - * libtiff/tif_aux.c: Return static array when fetching default - YCbCrCoefficients (another problem, reported a the - http://bugzilla.remotesensing.org/show_bug.cgi?id=1029 entry). - -2006-02-03 Andrey Kiselev - - * libtiff/tif_dir.c: Special handling for PageNumber, HalftoneHints, - YCbCrSubsampling and DotRange tags as per bugs - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1029 - http://bugzilla.remotesensing.org/show_bug.cgi?id=1034 - - * libtiff/tif_dirread.c: Use _TIFFGetExifFieldInfo() instead of - _TIFFGetFieldInfo() in TIFFReadEXIFDirectory() call as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1026. - -2006-01-23 Andrey Kiselev - - * libtool related stuff updated from the 2.1a branch. - -2006-01-11 Frank Warmerdam - - * tools/bmp2tiff,pal2rgb,ppm2tiff,ras2tiff,raw2tiff,sgi2tiff, - tiff2bw,tiffcp: Fixed jpeg option processing so -c jpeg:r:50 works - properly as per bug: - http://bugzilla.remotesensing.org/show_bug.cgi?id=1025 - -2006-01-09 Bob Friesenhahn - - * configure.ac: Fix with_default_strip_size comparison as reported - by Norihiko Murase. - -2006-01-08 Bob Friesenhahn - - * test/Makefile.am (LIBTIFF): Due to linking against libtiff - incorrectly, tests were not actually testing the uninstalled - libtiff. Now they are. - -2006-01-04 Andrey Kiselev - - * libtiff/tif_dirinfo.c: Change definitions for TIFFTAG_ICCPROFILE, - TIFFTAG_PHOTOSHOP, TIFFTAG_RICHTIFFIPTC, TIFFTAG_XMLPACKET: readcount - should be uint32 value. - -2006-01-02 Bob Friesenhahn - - * html/man/Makefile.am (htmldoc): Fix htmldoc rule so that it can - be used if build directory is not the same as source directory. - * man/{TIFFGetField.3tiff, TIFFSetField.3tiff}: Documented - TIFFTAG_PHOTOSHOP, TIFFTAG_RICHTIFFIPTC, and TIFFTAG_XMLPACKET, - and re-sorted tag names in alphabetical order. - -2005-12-29 Andrey Kiselev - - * libtiff 3.8.0 released. - -2005-12-28 Bob Friesenhahn - - * tools/bmp2tiff.c (main): Fixed warning regarding returning - inconsistent types from a condition. - * tools/tiffcmp.c (CheckLongTag): Eliminate warning due to printf - format. - * tools/bmp2tiff.c: Reduce compilation warnings on big-endian CPUs. - -2005-12-28 Joris Van Damme - - * html/{index.html, support.hml, libtiff.html}: Cleaned up HTML - -2005-12-27 Andrey Kiselev - - * libtiff/tiffio.h: Added VC_EXTRALEAN definition before including - windows.h, to reduce the compile time. - -2005-12-26 Bob Friesenhahn - - * libtiff/tif_jpeg.c: Improve compilation under MinGW. - -2005-12-26 Andrey Kiselev - - * libtiff/{tif_dir.c, tif_dir.h, tif_dirread.c, tif_dirinfo.c}: - tiffFieldInfo and exifFieldInfo arrays definitions moved back to - tif_dirinfo.c; added _TIFFGetFieldInfo() and _TIFFGetExifFieldInfo() - private functions to retrieve FieldInfo arrays. - -2005-12-24 Bob Friesenhahn - - * html/build.html: Added some additional instructions for when - building using MSVC under Windows. Also fixed two HTML syntax - errors and used HTML Tidy to tidy up the HTML syntax and - formatting. - -2005-12-24 Andrey Kiselev - - * libtiff/{tif_aux.c, tif_dir.c, tif_dir.h, tif_dirwrite.c, - tif_print.c, tif_getimage.c}: Make InkSet, NumberOfInks, DotRange and - StoNits tags custom. - -2005-12-23 Andrey Kiselev - - * libtiff/{tif_aux.c, tif_dir.c, tif_dir.h, tif_print.c}: Make - WhitePoint tag custom. - - * libtiff/{tif_dir.h, tiff.h}: More EXIF tags added. - -2005-12-23 Joris Van Damme - - * libtiff/tiffio.h: fixed typo that potentially resulted in - redefininition of USE_WIN32_FILEIO - - * libtiff/*: Added more 'dual-mode' error handling: Done TIFFWarning - calls in core LibTiff. - -2005-12-21 Andrey Kiselev - - * libtiff/{tif_dir.c, tif_dir.h, tif_print.c}: Make RichTIFFIPTC, - Photoshop and ICCProfile tags custom. - -2005-12-21 Joris Van Damme - - * libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling - newer code to get context indicator in error handler and still - remain compatible with older code: Done TIFFError calls everywhere - except in tools - -2005-12-20 Andrey Kiselev - - * tools/tiffcp.c: Added many error reporting messages; fixed integer - overflow as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=789 - -2005-12-16 Frank Warmerdam - - * contrib/addtiffo/*: Major upgrade by Joris to support subsampled - YCbCr images in jpeg compressed TIFF files. - -2005-12-14 Andrey Kiselev - - * tools/tiffcp.c: Return non-zero status when reading fails (again). - -2005-12-13 Andrey Kiselev - - * tools/tiffcp.c: Return non-zero status when reading fails. - -2005-12-12 Andrey Kiselev - - * libtiff/{tif_dir.h, tiff.h}: Added more EXIF tags. - -2005-12-09 Andrey Kiselev - - * libtiff/{tif_dir.c, tif_dir.h, tif_print.c}: Make XMLPacket tag - custom. - - * tools/tiffinfo.c: Print EXIF directory contents if exist. - - * libtiff/tiff.h: Few EXIF tag numbers added. - - * libtiff/{tif_dirinfo.c, tif_dirread.c, tif_dir.h, tif_dir.c, - tiffio.h}: Preliminary support to read custom directories. New - functions: TIFFReadCustomDirectory() and TIFFReadEXIFDirectory(). - -2005-12-07 Andrey Kiselev - - * libtiff/{tif_dirinfo.c, tif_dirread.c, tif_dir.h, tif_dir.c}: - More work to implement custom directory read support. - - * libtiff/{tif_aux.c, tif_dirinfo.c, tif_dirread.c, tif_dir.h, - tif_dir.c, tif_print.c}: Make YCbCrCoefficients and ReferenceBlackWhite - tags custom. - -2005-12-05 Andrey Kiselev - - * libtiff/tif_dirread.c: One more workaround for broken - StripByteCounts tag. Handle the case when StripByteCounts array filled - with completely wrong values. - -2005-11-30 Andrey Kiselev - - * libtiff/tif_dirinfo.c: Release file descriptor in case of failure - in the TIFFOpenW() function as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1003 - - * libtiff/tif_dirinfo.c: Correctly yse bsearch() and lfind() - functions as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1008 - -2005-11-20 Frank Warmerdam - - * tif_open.c, tiff.h, tiffdump.c: Incorporate preliminary support - for MS MDI format. - http://bugzilla.remotesensing.org/show_bug.cgi?id=1002 - - * .cvsignore: many files added, and a few update according - to suggestion of Brad HArds on tiff mailing list. - -2005-11-03 Frank Warmerdam - - * libtiff/libtiff.def, tiffiop.h, tiffio.h: Made TIFFFreeDirectory - public. - -2005-10-31 Andrey Kiselev - - * tools/fax2tiff.c: Properly calculate sizes of temporary arrays - as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=943 - - * tools/fax2tiff.c: Added option '-r' to set RowsPerStrip parameter - as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=944 - - * tools/tiffdump.c: Fixed typeshift and typemask arrays initialization - problem as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=946 - - * tools/bmp2tiff.c: Fixed possible integer overflow error as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=965 - - * libtiff/tif_dirinfo.c: Make XResolution, YResolution and - ResolutionUnit tags modifiable during write process. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=977 - - * tools/tiffsplit.c: Copy fax related fields over splitted parts - as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=983 - -2005-10-21 Frank Warmerdam - - * tif_dirread.c: Don't try and split single strips into "0" strips - in ChopUpSingleUncompressedStrip. This happens in some degenerate - cases (like 1x1 files with stripbytecounts==0 (gtsmall.jp2 embed tiff) - -2005-10-20 Joris Van Damme - - * tif_fax3.c: changed 'at scanline ...' style warning/errors - with incorrect use of tif_row, to 'at line ... of - strip/tile ...' style - -2005-10-15 Frank Warmerdam - - * tif_write.c: fixed setting of planarconfig as per bug report - on the mailing list from Joris. - -2005-10-07 Andrey Kiselev - - * configure.ac, configure, nmake.opt, libtiff/{tif_config.h, - tif_dirread.c}: Make the default strip size configurable via the - --with-default-strip-size and STRIP_SIZE_DEFAULT options. - -2005-09-30 Bob Friesenhahn - - * html/support.html: Fixed link to documentation on Greg Ward's - LogLuv TIFF format. - -2005-09-28 Andrey Kiselev - - * tools/tiffdump.c: Fixed crash when reading malformed tags. - -2005-09-20 Andrey Kiselev - - * tools/tiff2pdf.c: Added missed 'break' statement as per bug - http://bugzilla.remotesensing.org/show_bug.cgi?id=932 - -2005-09-12 Andrey Kiselev - - * libtiff 3.7.4 released. - - * {configure, configure.ac, Makefile.am, autogen.sh}: Applied patch - from Patrick Welche (all scripts moved in the 'config' and 'm4' - directories). - -2005-09-12 Frank Warmerdam - - * libtiff/tif_open.c: reintroduce seek to avoid problem on solaris. - -2005-09-05 Frank Warmerdam - - * libtiff/tif_dir.c: When prefreeing tv->value in TIFFSetFieldV - also set it to NULL to avoid double free when re-setting custom - string fields as per: - - http://bugzilla.remotesensing.org/show_bug.cgi?id=922 - -2005-08-12 Frank Warmerdam - - * libtiff/tif_print.c: avoid signed/unsigned warning. - - * libtiff/tif_dirread.c: removed unused variable. - -2005-07-30 Frank Warmerdam - - * libtiff/tif_dir.c: Fixed up support for swapping "double complex" - values (128 bits as 2 64 bits doubles). GDAL gcore tests now - pass on bigendian (macosx) system. - -2005-07-28 Andrey Kiselev - - * libtiff/{tif_aux.c, tif_dirread.c, tif_fax3.c, tiffiop.h}: Rename - CheckMalloc() function to _TIFFCheckMalloc() and make it available - globally as an internal helper routine. - -2005-07-27 Andrey Kiselev - - * libtiff/tif_dir.c: More improvements in the "pass by value" part of - the custom tags handling code. - -2005-07-26 Andrey Kiselev - - * libtiff/{tif_dirread.c, tif_dirinfo.c}: Do not upcast BYTEs to - SHORTs in the TIFFFetchByteArray(). Remove TIFFFetchExtraSamples() - function, use TIFFFetchNormalTag() instead as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=831 - - Remove TIFFFetchExtraSamples() function, use TIFFFetchNormalTag() - instead. - - * libtiff/tiffconf.h.in: One more attempt to fix the AIX bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=39 - -2005-07-25 Andrey Kiselev - - * libtiff/tif_print.c: Fixed printing of the BYTE and SBYTE arrays. - - * tools/tiffdump.c: Added support for TIFF_IFD datatype. - -2005-07-21 Andrey Kiselev - - * libtiff/tif_write.c: Do not check the PlanarConfiguration field in - the TIFFWriteCheck() function in case of single band images (as per - TIFF spec). - -2005-07-12 Andrey Kiselev - - * SConstruct, libtiff/SConstruct: Added the first very preliminary - support for SCons software building tool (http://www.scons.org/). - This is experimental infrastructure and it will exist along with the - autotools mechanics. - -2005-07-07 Andrey Kiselev - - * port/{getopt.c, strcasecmp.c, strtoul.c}: Update modules from - the NetBSD source tree (the old 4-clause BSD license changed to - the new 3-clause one). - - * configure.ac, port/lfind.c, libtiff/tiffiop.h: Added lfind() - replacement module. - - * port/dummy.c: Make the dummy function static. - -2005-07-06 Andrey Kiselev - - * tools/tiffcp.c: Fixed WhitePoint tag copying. - - * libtiff/{tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_print.c}: - Make FieldOfViewCotangent, MatrixWorldToScreen, MatrixWorldToCamera, - ImageFullWidth, ImageFullLength and PrimaryChromaticities tags custom. - -2005-07-04 Andrey Kiselev - - * libtiff 3.7.3 released. - - * configure, configure.ac: Do not use empty -R option when linking - with --enable-rpath. - -2005-07-01 Andrey Kiselev - - * libtiff/{tiffiop.h, tif_open.c}: Added open option 'h' to avoid - reading the first IFD when needed. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=875 - - * libtiff/tif_color.c: Better use of TIFFmin() macro to avoid side - effects. - -2005-06-23 Andrey Kiselev - - * tools/tiff2pdf.c: Print two characters per loop in the - t2p_write_pdf_trailer(). As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=594 - - * tools/tiffgt.c: Use MacOS X OpenGL framework when appropriate. As - per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=844 - - * acinclude.m4: Updated to latest OpenGL test macros versions. - - * libtiff/tiff.h: Use correct int size on Sparc 64bit/Sun compiler - platform. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=855 - -2005-06-14 Andrey Kiselev - - * libtiff/tif_dirinfo.c: Added support for ClipPath, XClipPathUnits - and YClipPathUnits tags. - -2005-06-07 Andrey Kiselev - - * contrib/addtiffo/tif_ovrcache.c: Properly extract tile/strip size; - use pixel sized shift in contigous case. - -2005-06-06 Andrey Kiselev - - * contrib/addtiffo/{tif_overview.c, tif_ovrcache.c, tif_ovrcache.h}: - Make overviews working for contiguos images. - -2005-06-03 Andrey Kiselev - - * libtiff/tif_open.c: Replace runtime endianess check with the compile - time one. - - * libtiff/tif_predict.c: Floating point predictor now works on - big-endian hosts. - -2005-06-01 Andrey Kiselev - - * libtiff/tif_dir.c: Use _TIFFsetString() function when read custom - ASCII values. - - * libtiff/{tif_dirinfo.c, tif_dir.h, tif_dir.c, tif_print.c}: Make - DocumentName, Artist, HostComputer, ImageDescription, Make, Model, - Copyright, DateTime, PageName, TextureFormat, TextureWrapModes and - TargetPrinter tags custom. - - * libtiff/tif_jpeg.c: Cleanup the codec state depending on - TIFF_CODERSETUP flag (to fix memry leaks). - - * libtiff/tif_jpeg.c: Initialize JPEGTables array with zero after - allocating. - -2005-05-26 Andrey Kiselev - - * configure.ac, libtiff/Makefile.am: Added workaround for - OpenBSD/MirOS soname problem as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=838 - - * libtiff/tif_dirwrite.c: Use tdir_count when calling - TIFFCvtNativeToIEEEDouble() in the TIFFWriteDoubleArray() function as - per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=845 - -2005-05-25 Andrey Kiselev - - * tools/ppm2tiff.c: Fixed format string when read PPM file header with - the fscanf() function. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=861 - - * libtiff/{tif_dirinfo.c, tif_print.c}: TIFFFetchByteArray() returns - uint16 array when fetching the BYTE and SBYTE filds, so we should - consider result as pointer to uint16 array and not as array of chars. - As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=831 - - * libtiff/tif_dir.c: More efficient custom tags retrieval as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=830 - - * libtiff/tif_win32.c: Use FILE_SHARE_READ | FILE_SHARE_WRITE share - mode in CreateFile() call as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=829 - - * libtiff/Makefile.am: Fixed parallel compilation of the libtiff and - libtiffxx libraries as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=826 - - * contrib/addtiffo/{tif_overview.c, tif_ovrcache.h}: Sinchronized with - GDAL. - -2005-05-23 Frank Warmerdam - - * libtiff/tif_jpeg.c: Substantial fix for addtiffo problems with - JPEG encoded TIFF files. Pre-allocate lots of space for jpegtables - in directory. - -2005-05-22 Frank Warmerdam - - * libtiff/tif_dirread.c: Changed the code that computes - stripbytecount[0] if it appears bogus to ignore if stripoffset[0] is - zero. This is a common case with GDAL indicating a "null" tile/strip. - -2005-05-17 Andrey Kiselev - - * tools/tiffsplit.c: Check for JPEGTables tag presence before copying. - -2005-05-06 Frank Warmerdam - - * libtiff/tif_dirread.c: Applied similar change to - TIFFFetchPerSampleLongs and TIFFFetchPerSampleAnys. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=843 - - * libtiff/tif_jpeg.c: added LIB_JPEG_MK1 support in JPEGDecodeRaw(). - -2005-05-06 Andrey Kiselev - * tools/tiff2pdfr.c, man/tiff2pdf.1: Calculate the tile width properly; - added new option '-b' to use interpolation in output PDF files (Bruno - Ledoux). - -2005-05-05 Frank Warmerdam - - * libtiff/tif_dirread.c: Ensure that broken files with too many - values in PerSampleShorts work ok instead of crashing. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=843 - -2005-04-27 Andrey Kiselev - - * tools/tiffdither.c: Copy the PhotometricInterpretation tag from the - input file. - -2005-04-15 Andrey Kiselev - - * libtiff/tif_predict.c: Added ability to encode floating point - predictor, as per TIFF Technical Note 3. - -2005-04-14 Andrey Kiselev - - * libtiff/{tif_predict.h, tif_predict.c}: Added ability to decode - floating point predictor, as per TIFF Technical Note 3. - -2005-04-13 Andrey Kiselev - - * libtiff/{tiffio.h, tiffiop.h, tif_dir.c, tif_read.c, tif_swab.c}: - Added _TIFFSwab24BitData() and TIFFSwabArrayOfLong() functions used to - swap 24-bit floating point values. - - * libtiff/tiff.h: Added predictor constants. - -2005-04-08 Andrey Kiselev - - * libtiff/{tiffiop.h, tif_dir.c}: Use uint32 type for appropriate - values in _TIFFVSetField() function. Inspired by the bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=816 - - * man/TIFFSetField.3tiff: Fixed definition of the TIFFTAG_INKNAMES tag - as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=816 - -2005-03-30 Andrey Kiselev - - * libtiff/tif_open.c: Do not read header in case the output file - should be truncated (Ron). - - * libtiff/{tif_dirinfo.c, tif_config.h.vc}: Use lfind() instead - of bsearch() in _TIFFFindFieldInfoByName() function (Ron). - - * libtiff/{tiff.h, tif_dirinfo.c}: Fixes in EXIF tag ordering (Ron). - -2005-03-22 Andrey Kiselev - - * configure.ac, libtiff/Makefile.am: Use libtool machinery to pass - rpath option. - -2005-03-21 Andrey Kiselev - - * libtiff/{tif_dir.c, tif_print.c}: Handle all data types in custom - tags. - -2005-03-18 Andrey Kiselev - - * libtiff/dirinfo.c: Added DNG tags. - - * libtiff/{tif_dir.c, tif_print.c}: More improvements in custom tag - handling code. - - * libtiff/tiff.h: More comments; added missed DNG tag (LensInfo); - added DNG 1.1.0.0 tags. - - * tools/tif2pdf.c: Fixed problem with alpha channel handling as per - bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=794 - - * man/TIFFGetField.3tiff: Add a note about autoregistered tags. - -2005-03-17 Andrey Kiselev - - * nmake.opt: Build with Win32 CRT library by default. - - * tools/tiff2ps.c: Fixed typo in page size handling code. - - * libtiff/{tif_dir.c, tif_print.c}: Support for custom tags, passed - by value. - - * libtiff/{tiff.h, tif_dirinfo.c, tiffiop.h}: Added EXIF related tags. - -2005-03-15 Andrey Kiselev - - * libtiff 3.7.2 released. - -2005-03-09 Andrey Kiselev - - * tools/tiffcmp.c: Added ability to compare the 32-bit integer and - floating point data; complain on unsupported bit depths. - -2005-03-05 Andrey Kiselev - - * tif_stream.cxx: Use ios namespace instead of ios_base to support - GCC 2.95. - - * libtiff/{tiff.h, tif_fax3.tif, tif_jpeg.c}: Applied correct patch from - Lee Howard for HylaFax DCS tag - (see http://bugzilla.remotesensing.org/show_bug.cgi?id=771) - -2005-03-04 Andrey Kiselev - - * configure, configure.ac: Use -rpath option instead of -R as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=732 - - * libtiff/{tiff.h, tif_fax3.tif, tif_jpeg.c}: Applied patch from Lee - Howard to support a new tag TIFFTAG_FAXDCS (34911) used in HylaFax - software. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=771 - - * nmake.opt, html/build.html: Add more comments, change the config - file organization a bit as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=764 - - * tools/tiffcmp.c: Use properly sized buffer in short arrays comparison - as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=785 - -2005-03-03 Andrey Kiselev - - * libtiff/tif_dirread.c: More logic to guess missed strip size as per - bug http://bugzilla.remotesensing.org/show_bug.cgi?id=705 - - * tools/fax2ps.c: Replace insecure mktemp() function with the - tmpfile() as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=786 - -2005-02-04 Andrey Kiselev - - * libtiff/tiff.h: Changed the int8 definition to be always signed char - as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=727 - - * libtiff/tiffio.h: Move TIFFOpenW() function into the extern "C"{} - block as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=763 - -2005-02-03 Bob Friesenhahn - - * tools/tiffgt.c: Fix problem on big-endian CPUs so that images - display more correctly. Images display brighter than they should - on a Sun workstation. - -2005-02-03 Andrey Kiselev - - * libtiff/tif_dirread.c: Estimate strip size in case of wrong or - suspicious values in the tags. As per bugs - - http://bugzilla.remotesensing.org/show_bug.cgi?id=705 - - and - - http://bugzilla.remotesensing.org/show_bug.cgi?id=320 - - * tools/tiff2ps.c: Fixed problem with page sizes as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=742 - -2005-01-31 Bob Friesenhahn - - * libtiff/tiff.h (TIFFTAG_TILEWIDTH): Corrected description. - (TIFFTAG_TILELENGTH): Corrected description. - -2005-01-30 Andrey Kiselev - - * configure.ac: Fixes for --with-docdir option as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=759 - - * libtiff/tif_open.c: Remove unnesessary TIFFSeekFile() call as per - bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=756 - - * libtiff/tif_stream.cxx: Fixes for C++ stream interface from - Michael Rinne and Edward Lam. - -2005-01-15 Andrey Kiselev - - * configure.ac: Make the documentation directory location configurable - via the --with-docdir option (as suggested by Jeremy C. Reed). - - * libtiff/tif_color.c: Use double as the second argument of pow() - function in TIFFCIELabToRGBInit(). As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=741 - - * libtiff/tif_pixarlog.c: Avoid warnings when converting float to - integer as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=740 - - * libtiff/tif_getimage.c: Always fill the error message buffer in - TIFFRGBAImageBegin() as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=739 - -2005-01-12 Andrey Kiselev - - * libtiff/tif_jpeg.c: Added ability to read/write the fax specific - TIFFTAG_FAXRECVPARAMS, TIFFTAG_FAXSUBADDRESS and TIFFTAG_FAXRECVTIME - tags as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=736 - - * libtiff/tif_win32.c: Fixed message formatting in functions - Win32WarningHandler() and Win32ErrorHandler() as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=735 - - * tools/tiff2ps.c: Interpret the -w and -h options independently. As - per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=689 - -2005-01-11 Andrey Kiselev - - * libtiff/tiffio.h: Move the color conversion routines in the 'extern - "C"' section as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=727 - - * libtiff/tiff.h: Restore back the workaround for AIX Visual Age C - compiler to avoid double definition of BSD types as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=39 - - * libtiff/Makefile.am: Place the C++ stream API in the separate - library called libtiffxx to avoid unneeded dependencies. Probably - there will be more C++ API in the future. As per bugs - - http://bugzilla.remotesensing.org/show_bug.cgi?id=733 - - and - - http://bugzilla.remotesensing.org/show_bug.cgi?id=730 - -2005-01-05 Andrey Kiselev - - * tools/tiffdump.c: Fixed problem when read broken TIFFs with the - wrong tag counts (Dmitry V. Levin, Martin Pitt). - - * configure.ac: Replace --disable-c++ with the --disable-cxx option as - per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=730 - -2004-12-25 Andrey Kiselev - - * libtiff/tif_getimage.c: More fixes for multiple-alpha-channelled - RGB-images as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=713 - - - * tools/tiffset.c: Convert character option to integer value as per - bug http://bugzilla.remotesensing.org/show_bug.cgi?id=725 - -2004-12-20 Andrey Kiselev - - * libtiff 3.7.1 released. - - * html/tiffset.1.html: Add missed manual page as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=678 - - * libtiff/tiff.h: Revert back libtiff data type definitions as per - bug http://bugzilla.remotesensing.org/show_bug.cgi?id=687 - -2004-12-19 Andrey Kiselev - - * libtiff/tif_dirread.c: Do not forget about TIFF_VARIABLE2 when - checking for tag count in TIFFReadDirectory() function. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=713 - - * libtiff/{tif_dirread.c, tif_fax3.c}: More argument checking in - CheckMallock() function. - - * libtiff/tif_getimage.c: Support for multiple-alpha-channelled - RGB-images as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=718 - -2004-12-15 Frank Warmerdam - - * libtiff/tif_getimage.c: #define A1 bracketing for clean build on - SunPro compiler. - -2004-12-11 Bob Friesenhahn - - * autogen.sh: aclocal and autoheader should be executed after - libtoolize. Also add '-I .' to aclocal invocation to check - current directory for macros. - -2004-12-10 Andrey Kiselev - - * libtiff/tif_dirwrite.c: Always write TIFFTAG_SUBIFD using LONG type - as per bugs - - http://bugzilla.remotesensing.org/show_bug.cgi?id=703 - - and - - http://bugzilla.remotesensing.org/show_bug.cgi?id=704 - -2004-12-04 Andrey Kiselev - - * nmake.opt: Link with the user32.lib in windowed mode. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=697 - - * libtiff/tif_win32.c: Use char* strings instead of TCHAR in windowed - mode as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=697 - - * libtiff/tif_config.in.vc: Removed unneded definitions for - read/open/close/lseek functions to fix the - - http://bugzilla.remotesensing.org/show_bug.cgi?id=680 - -2004-12-03 Andrey Kiselev - - * libtiff/{tif_dir.c, tif_dirread.c}: Remove TIFFReassignTagToIgnore() - call from the TIFFReadDirectory() function. TIFFReassignTagToIgnore - must be removed in the future, as it was never used properly. As per - bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=692 - -2004-11-30 Bob Friesenhahn - - * libtiff/tif_jpeg.c: Added a work-around in order to allow - compilation with the heavily modified version of libjpeg delivered - with Cygwin. - -2004-11-29 Andrey Kiselev - - * libtiff/tif_dir.c: Properly handle tags, which have the uint32 - counts. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=693 - - * tools/fax2ps.c: Be able to extract the first page (#0). As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=690 - -2004-11-28 Andrey Kiselev - - * libtiff/tif_unix.c: Make UNIX module compilable (and usable) - on Windows. - - * nmake.opt: Add missed DLLNAME variable. - -2004-11-26 Frank Warmerdam - - * libtiff/makefile.vc: make it easier to rename the libtiff DLL. - -2004-11-24 Andrey Kiselev - - * man/libtiff.3tiff: Improvements in the "LIST OF ROUTINES" table as - per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=545 - - * man/tiffset.1: Added manual page for tiffset tool written by Jay - Berkenbilt. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=678 - -2004-11-23 Frank Warmerdam - - * libtiff/tif_error.c: fixed TIFFerror call to be TIFFError. - -2004-11-21 Frank Warmerdam - - * html/document.html: Updated Adobe web links as per email from Joris. - -2004-11-21 Andrey Kiselev - - * libtiff/{tiffio.hxx, tiffio.h}: C++ stream interface moved to new - file tiffio.hxx. We don't have any C++ in tiffio.h, those who want to - use C++ streams should #include . - -2004-11-13 Andrey Kiselev - - * libtiff/tiff.h: Added Adobe DNG tags. - - * libtiff/tif_win32.c: Typo fixed. - - * libtiff/{tif_stream.cxx, tiffio.h}: C++ stream interface updated to - be compliant with the latest standard. Appropriate additions in - makefiles now completed. - -2004-11-11 Andrey Kiselev - - * tools/tiffset.c, libtiff/tif_dirinfo.c: Properly handle the - different tag types. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=600 - -2004-11-10 Andrey Kiselev - - * libtiff/tif_aux.c: Set the appropriate ReferenceBlackWhite array for - YCbCr image which lacks that tag (noted by Hans Petter Selasky). - -2004-11-09 Andrey Kiselev - - * libtiff/tif_color.c: Division by zero fixed (Hans Petter Selasky). - -2004-11-07 Andrey Kiselev - - * libtiff/{tif_stream.cxx, tiffio.h}: Added C++ stream interface - contributed by Edward Lam (see - http://bugzilla.remotesensing.org/show_bug.cgi?id=654 for details). - Though no changes in any makefiles yet. - -2004-11-05 Frank Warmerdam - - * libtiff/tif_open.c: Removed close() in TIFFClientOpen() if file - is bad. This is the callers responsibility. - http://bugzilla.remotesensing.org/show_bug.cgi?id=651 - -2004-11-05 Andrey Kiselev - - * libtiff/{tiffio.h, tif_win32.c, libtiff.def}: Added TIFFOpenW() - function to work with the double byte strings (used to represent - filenames in some locales). As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=625 - - * libtiff/tif_dirread.c: Fixed problem when fetching BitsPerSample and - Compression tags of type LONG from broken TIFFS as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=662 - - * libtiff/tif_dirinfo.c: Fixed definition for TIFFTAG_RICHTIFFIPTC, - the writecount should have uint32 type. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=662 - - * libtiff/tif_write.c: Fixed wrong if() statement in - TIFFAppendToStrip() function as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=660 - -2004-11-04 Andrey Kiselev - - * libtiff/tif_dirinfo.c: Change definition for TIFFTAG_EXTRASAMPLES - field. The caller should supply a count when setting this field. As - per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=648 - - * libtiff/{tif_jpeg.c, tif_ojpeg.c}: TIFFTAG_JPEGTABLES should have - uint32 count. Use this type everywhere. - -2004-11-03 Frank Warmerdam - - * libtiff/tif_next.c: avoid use of u_long and u_char types. Bug 653. - -2004-11-02 Frank Warmerdam - - * tools/tiff2rgba.c: removed extra newlines in usage message. - -2004-10-30 Andrey Kiselev - - * libtiff/tif_dirwrite.c: Improvements in tag writing code. - - * tools/tiff2ps.c: Fixed wrong variable data type when read Position - tags (Tristan Hill). - -2004-10-30 Frank Warmerdam - - * libtiff/tiffiop.h: added fallback definition of assert() if we - don't have assert.h. - -2004-10-29 Andrey Kiselev - - * libtiff/tif_fax3.c: Fixed case with the wrong decode routines - choosing when the incorrect Group4Options tag set. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=323 - - * libtiff/tif_dirwrite.c: Fixed problem with passing count variable of - wrong type when writing the TIFF_BYTE/TIFF_SBYTE tags in - TIFFWriteNormalTag(). - -2004-10-28 Andrey Kiselev - - * tools/tiff2ps.c: Fixed wrong variable data type when read Resolution - tags (Peter Fales). - - * tools/{bmp2tiff.c, raw2tiff.c}: Get rid of stream I/O functions. - -2004-10-28 Frank Warmerdam - - * tools/tiff2pdf.c: added casts to avoid warnings. - - * libtiff/libtiff.def: Added several more entry points required - to link fax2tiff.c against the DLL on windows. - -2004-10-27 Andrey Kiselev - - * configure, configure.ac: Added --enable-rpath option to embed linker - paths into library binary. - -2004-10-26 Andrey Kiselev - - * tools/tiffset.c: Check the malloc return value (Dmitry V. Levin). - - * libtiff/{tif_strip.c, tif_tile.c}: Zero division problem fixed - (Vladimir Nadvornik, Dmitry V. Levin). - -2004-10-16 Andrey Kiselev - - * libtiff 3.7.0 released. - -2004-10-15 Bob Friesenhahn - - * libtiff/tif_jpeg.c: There seems to be no need to include stdio.h - in this file so its inclusion is removed. Including stdio.h - sometimes incurs an INT32 typedef conflict between MinGW's - basetsd.h and libjpeg's jmorecfg.h. - -2004-10-15 Andrey Kiselev - - * man/bmp2tiff.1: Added manual page for bmp2tiff utility. - -2004-10-13 Bob Friesenhahn - - * tools/tiffcmp.c (leof): Renamed from 'eof' in order to avoid - conflict noticed under MinGW. - * ltmain.sh: Fix for MinGW compilation. - -2004-10-13 Frank Warmerdam - - * man/tiffsplit.1: Fixed to indicate using aaa-zzz, not aa-zz. - http://bugzilla.remotesensing.org/show_bug.cgi?id=635 - -2004-10-12 Andrey Kiselev - - * libtiff/{tif_dirread.c, tif_jpeg.c, tif_luv.c, tif_ojpeg.c, - tif_pixarlog.c, tif_write.c}: Handle the zero strip/tile sizes - properly (Dmitry V. Levin, Marcus Meissner). - -2004-10-11 Andrey Kiselev - - * libtiff/tif_dirinfo.c: Type of the TIFFTAG_SUBIFD field changed - to TIFF_IFD. - -2004-10-10 Andrey Kiselev - - * tools/bmp2tif.c: Check the space allocation results. - -2004-10-09 Andrey Kiselev - - * libtiff/tif_dir.c: Initialize td_tilewidth and td_tilelength fields - of the TIFFDirectory structure with the 0 instead of -1 to avoid - confusing integer overflows in TIFFTileRowSize() for striped images. - - * tools/tiff2pdf.c: Fixed TransferFunction tag handling reported - by Ross A. Finlayson. - - * libtiff/tif_dir.c: Fixed custom tags handling as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=629 - -2004-10-08 Frank Warmerdam - - * libtiff/tif_dirinfo.c: Fix bug with tif_foundfield and reallocation - of tif_fieldinfo. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=630 - -2004-10-04 Bob Friesenhahn - - * contrib/iptcutil/README: Added the missing README which goes - along with iptcutil. - -2004-10-03 Andrey Kiselev - - * libtiff/tif_compress.c: Improved error reporting in - TIFFGetConfiguredCODECs() (Dmitry V. Levin). - -2004-10-02 Andrey Kiselev - - * libtiff 3.7.0beta2 released. - - * libtiff/{tif_aux.c, tif_compress.c, tif_dirinfo.c, tif_dirwrite.c, - tif_extension.c, tif_fax3.c, tif_luv.c, tif_packbits.c, - tif_pixarlog.c, tif_write.c}: Added checks for failed memory - allocations and integer overflows (Dmitry V. Levin). - - * libtiff/tiff.h: Missed TIFF_BIGTIFF_VERSION constant added. - -2004-10-01 Frank Warmerdam - - * libtiff/tif_open.c: added a more informative message if a BigTIFF - file is opened. - -2004-09-30 Frank Warmerdam - - * libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to - TIFFTAG_BYTE instead of TIFFTAG_UNDEFINED to comply with the info - in the Adobe XMP Specification. - -2004-09-29 Andrey Kiselev - - * libtiff/{tif_jpeg.c, tif_pixarlog.c}: Use _TIFFmemset() instead of - memset(). - - * libtiff/{tif_dirread.c, tif_strip.c, tif_tile.c}: Applied patches - from Dmitry V. Levin to fix possible integer overflow problems. - -2004-09-28 Andrey Kiselev - - * libtiff/tif_getimage.c: Check for allocated buffers before clearing - (Dmitry V. Levin). - -2004-09-26 Andrey Kiselev - - * libtiff/{tif_dir.h, tif_dir.c, tif_dirread.c, tif_write.c}: - Optimize checking for the strip bounds. - - * libtiff/{tif_dirread.c, tif_strip.c}: TIFFScanlineSize() and - TIFFRasterScanlineSize() functions report zero in the case of integer - overflow now. Properly handle this case in TIFFReadDirectory() - (patches from Dmitry V. Levin). - -2004-09-25 Andrey Kiselev - - * libtiff/{tif_dirinfo.c, tif_strip.c, tif_tile.c}: Use TIFFhowmany8() - macro where appropriate. - - * tools/tiff2bw.c: Write ImageWidth/Height tags to output file, as - noted by Gennady Khokhorin. - - * libtiff/tif_dirread.c: Always check the return values, returned - by the _TIFFmalloc() (Dmitry V. Levin). - - * libtiff/tif_dir.c: Fixed possible integer overflow _TIFFset*Array() - functions (Dmitry V. Levin). - - * libtiff/{tif_dirread.c, tif_dir.c, tif_write.c}: - Potential memory leak fixed in TIFFReadDirectory(), _TIFFVSetField(), - TIFFGrowStrips() (found by Dmitry V. Levin). - -2004-09-24 Andrey Kiselev - - * libtiff/{tiffio.h, tif_compress.c}: Added TIFFGetConfiguredCODECs() - to get the list of configured codecs. - - * libtiff/{tiffiop.h, tif_dirread.c}: More overflow fixes from - Dmitry V. Levin. - -2004-09-23 Andrey Kiselev - - * libtiff/tif_dirread.c: Applied patch from Dmitry V. Levin to fix - possible integer overflow in CheckMalloc() function. - -2004-09-22 Andrey Kiselev - - * libtiff/{tiffiop.h, tif_strip.c}: Use TIFFhowmany8() macro instead - of plain TIFFhowmany() where appropriate. - -2004-09-21 Andrey Kiselev - - * libtiff/tif_getimage.c: Initialize arrays after space allocation. - -2004-09-19 Andrey Kiselev - - * libtiff 3.7.0beta released. - - * libtiff/{tif_luv.c, tif_next.c, tif_thunder.c}: Several buffer - overruns fixed, as noted by Chris Evans. - -2004-09-14 Bob Friesenhahn - - * commit: Added a script to make it more convenient to commit - updates. The CVS commit message is extracted from this ChangeLog - file. - -2004-09-14 Andrey Kiselev - - * configure.ac, configure, aclocal.m4, libtiff/{mkspans.c, tif_fax3.c, - tif_getimage.c, tif_luv.c, tif_lzw.c, tif_ojpeg.c, tif_packbits.c, - tif_predict.c, tif_read.c, tif_swab.c, tif_thunder.c, tif_write.c, - tif_dir.c, tif_dirread.c, tif_dirwrite.c, tif_jpeg.c, tif_dirinfo.c, - tif_vms.c, tif_print.c, tif_strip.c, tif_tile.c, tif_dir.h, - tif_config.h.in, tiffiop.h}: - Get rid of BSD data types (u_char, u_short, u_int, u_long). - -2004-09-13 Bob Friesenhahn - - * libtiff/tiff.h: Fix column tagging. Reference current Adobe XMP - specification. Reference libtiff bug tracking system to submit - private tag additions. - -2004-09-12 Bob Friesenhahn - - * tools/tiffgt.c: Include "tif_config.h". - - * configure.ac: Use AM_PROG_CC_C_O since it is now needed to build - tiffgt. This results in the 'compile' script being added to the - project. - - * tools/Makefile.am (tiffgt_CFLAGS): Add extra build options - required to find OpenGL headers necessary to build tiffgt. Also - ensure that the libtiff that we built is used rather than some other - libtiff installed on the system. - -2004-09-12 Andrey Kiselev - - * configure.ac, acinclude.m4, aclocal.m4: New macros to detect GLUT - libraries. - -2004-09-11 Bob Friesenhahn - - * configure.ac: Pass library configuration defines via - tif_config.h rather than extending CPPFLAGS. Configure a - libtiff/tiffconf.h in order to satisfy application requirements - (not used by library build). Do not define _POSIX_C_SOURCE=2 since - this causes failure to build on systems which properly respect - this request. - - * libtiff/tiffconf.h.in: New file to act as the template for the - configured tiffconf.h - - * libtiff/files.lst (HDRS): Install the configured tiffconf.h. - -2004-09-10 Frank Warmerdam - - * html/internals.html: Split off a discussion of adding new tags - into addingtags.html. - -2004-09-10 Andrey Kiselev - - * test/{ascii_tag.c, long_tag.c}: Preliminary test suite added. - - * tools/tiff2pdf.c: Fixed reading TransferFunction tag as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=590 - - * libtiff/tif_print.c: Fixes in InkNames and NumberOfInks reporting. - - * libtiff/tif_dirread.c: Don't reject to read tags of the - SamplesPerPixel size when the tag count is greater than number of - samples as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=576 - - * libtiff/tiff.h: Use _TIFF_DATA_TYPEDEFS_ guardian to switch off - defining int8/uint8/... etc. types. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=607 - -2004-09-09 Frank Warmerdam - - * tools/tiff2ps.c, tools/tiffmedian.c: fiddle with include files - to avoid compile warnings about getopt() and a few other things. - -2004-09-02 Andrey Kiselev - - * libtiff/tif_dirread.c: Use memcpy() function instead of pointer - assigning magic in TIFFFetchFloat(). - -2004-09-01 Andrey Kiselev - - * libtiff/{tiffio.h, tif_open.c}: Applied patches from Joris Van Damme - to avoid requirement for tiffiop.h inclusion in some applications. See - here - - http://www.asmail.be/msg0054799560.html - - for details. - - * tools/fax2tiff.c: Use the new functions in the code. - -2004-08-25 Andrey Kiselev - - * tools/tiff2pdf.c: Initialize arrays properly. - - * tools/tiff2ps.c: Avoid zero division in setupPageState() function; - properly initialize array in PSDataBW(). - -2004-08-24 Andrey Kiselev - - * tools/tiff2pdf.c: More fixes for bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=590 - - from Ross Finlayson. - -2004-08-23 Andrey Kiselev - - * tools/tiff2ps.c: Fixed problem with uninitialized values. - - * libtiff/tif_dir.c: Initialize tif_foundfield data member in the - TIFFDefaultDirectory() (in addition to 2004-08-19 fix). - - * tools/tiff2pdf.c: Fixed a bunch of problems as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=590 - -2004-08-20 Andrey Kiselev - - * tools/tiff2pdf.c: Applied patch from Ross Finlayson that checks - that the input file has compression, photometric interpretation, - etcetra, tags or if not than a more descriptive error is returned. - - * libtiff/tif_dirread.c: Fixed problem in TIFFReadDirectory() in the - code, responsible for tag data type checking. - -2004-08-19 Andrey Kiselev - - * libtiff/{tiffiop.h, tif_dirinfo.c}: Fixed problem with the static - variable as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=593 - -2004-08-16 Andrey Kiselev - - * tools/ras2tiff.c: Fixed issue with missed big-endian checks as per - bug http://bugzilla.remotesensing.org/show_bug.cgi?id=586 - -2004-08-01 Andrey Kiselev - - * libtiff/{tif_config.h.in, tif_config.h.vc}: config.h.in and - config.h.vc files renamed in the tif_config.h.in and tif_config.h.vc. - -2004-07-24 Andrey Kiselev - - * libtiff/tif_lzw.c: LZW compression code is merged back from the - separate package. All libtiff tools are updated to not advertise an - abcence of LZW support. - -2004-07-12 Andrey Kiselev - - * libtiff/tiffio.h: Revert thandle_t back to void* type. - -2004-07-11 Andrey Kiselev - - * libtiff/{tif_read.c, tif_tile.c, tif_strip.c}: Fixes in error - messages, as suggested by Bernd Herd. - -2004-07-03 Andrey Kiselev - - * libtiff/tif_dir.c: Call TIFFError() instead of producing warnings - when setting custom tags by value. Reported by Eric Fieleke. - -2004-06-14 Andrey Kiselev - - * tools/bmp2tiff.c: Add missed RawsPerStrip setting. - -2004-06-08 Andrey Kiselev - - * tools/bmp2tiff.c: Added new utility to convert Windows BMP files - into TIFFs. - -2004-06-07 Andrey Kiselev - - * libtiff 3.7.0alpha released. - -2004-06-06 Andrey Kiselev - - * libtiff/{tiff.h, tif_dirwrite.c, tif_fax3.c, tif_packbits.c,}: Get rid - of ugly 64-bit hacks, replace them with the clever (autoconf based ) - ones :-). - - * libtiff/tiffio.h: Define thandle_t as int, not void* (may cause - problems in 64-bit environment). - -2004-06-05 Andrey Kiselev - - * tools/tiffset.c: tiffset now can set any libtiff supported tags. - Tags can be supplied by the mnemonic name or number. - - * libtiff/{tiffio.h, tif_dir.h, tif_dirinfo.c,}: Added two new - functions TIFFFindFieldInfoByName() and TIFFFieldWithName(). - -2004-05-27 Andrey Kiselev - - * libtiff/tif_ojpeg.c: Fixed problem with duplicated SOI and SOF - markers as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=581 - -2004-05-24 Andrey Kiselev - - * tools/tiffsplit.c: Don't forget to copy Photometric - Interpretation tag. - -2004-05-20 Andrey Kiselev - - * libtiff/{tif_open.c, tiffio.h}: New function added: - TIFFIsBigEndian(). Function returns nonzero if given was file written - in big-endian order. - - * tools/tiffsplit.c: Fixed problem with unproperly written multibyte - files. Now output files will be written using the same byte order - flag as in the input image. See - - http://bugzilla.remotesensing.org/show_bug.cgi?id=574 - - for details. - -2004-05-19 Frank Warmerdam - - * libtiff/tif_print.c: added (untested) support for printing - SSHORT, SLONG and SRATIONAL fields. - - * tools/tiffcp.c: close output file on normal exit. - -2004-05-17 Andrey Kiselev - - * libtiff/tif_fax3.c: Avoid reading CCITT compression options - if compression type mismatches. See - - http://bugzilla.remotesensing.org/show_bug.cgi?id=565 - -2004-04-30 Andrey Kiselev - - * libtiff/tif_strip.c: Never return 0 from the - TIFFNumberOfStrips(). - -2004-04-29 Andrey Kiselev - - * libtiff/tif_dirread.c: Workaround for broken TIFF writers which - store single SampleFormat value for multisampled images. See - - http://bugzilla.remotesensing.org/show_bug.cgi?id=562 - -2004-04-25 Andrey Kiselev - - * configure.ac, libtiff/{tiff.h, config.h.in}: Added tests for int8, - int16 and int32 types to avoid complains on some compilers. Details at - - http://bugzilla.remotesensing.org/show_bug.cgi?id=39 - -2004-04-20 Andrey Kiselev - - * tools/tiff2pdf.c: Fixed problem with unaligned access as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=555 - -2004-04-14 Andrey Kiselev - - * libtiff/tif_write.c: Allow in-place updating of the compressed - images (don't work properly with all codecs). For details see GDAL bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=534 - -2004-04-06 Andrey Kiselev - - * libtiff/tif_jpeg.c: Workaround for wrong sampling factors used - in the Intergarph JPEG compressed TIFF images as per bug: - - http://bugzilla.remotesensing.org/show_bug.cgi?id=532 - -2004-04-04 Frank Warmerdam - - * libtiff/tif_open.c: close clientdata if TIFFClientOpen() fails - via bad2. - -2004-03-26 Andrey Kiselev - - * tools/tiffcp.c: Properly set Photometric Interpretation in case of - JPEG compression of grayscale images. - - * tools/tiffcp.c: Don't emit warnings when Orientation tag does not - present in the input image. - -2004-03-19 Andrey Kiselev - - * {many}: The first attempt to switch to autotools. - -2004-03-03 Andrey Kiselev - - * libtiff/tif_open.c: Use dummy mmap/munmap functions in - TIFFClientOpen() when the appropriate client functions was not - supplied by user. - -2004-03-02 Frank Warmerdam - - * tools/ycbcr.c: fixed main() declaration as per: - http://bugzilla.remotesensing.org/show_bug.cgi?id=513 - -2004-02-26 Andrey Kiselev - - * tools/tiffsplit.c: Copy JPEGTables tag contents for JPEG compressed - images. Reported by Artem Mirolubov. - - * libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED - tag type in TIFFFetchNormalTag() as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=508 - -2004-02-17 Frank Warmerdam - - * libtiff/tif_codec.c: Fixed typo in TIFFInitPackBits name as per: - http://bugzilla.remotesensing.org/show_bug.cgi?id=494 - -2004-02-05 Andrey Kiselev - - * libtiff/tif_fax3.c: Fixed problem with CCITT encoding modes as per - bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=483 - - But we need more work on fax codec to support update mode. - -2004-01-30 Frank Warmerdam - - * libtiff/libtiff.def: Added TIFFCurrentDirOffset, TIFFWriteCheck, - TIFFRGBAImageOK, and TIFFNumberOfDirectories as suggested by - Scott Reynolds. - -2004-01-29 Andrey Kiselev - - * libtiff/tiff.h: Fixed tag definitions for TIFFTAG_YCLIPPATHUNITS - and TIFFTAG_INDEXED as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=475 - - * libtiff/{tif_win32.c, tif_unix.c}: Check whether the pointer is - NULL before proceeding further as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=474 - - Check results, returned by the TIFFFdOpen() before returning and close - file if TIFFFdOpen() failed as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=468 - - * libtiff/tif_open.c: More fixes for - - http://bugzilla.remotesensing.org/show_bug.cgi?id=468 - -2004-01-28 Andrey Kiselev - - * libtiff/{libtiff.def, tif_close.c, tiffio.h, tif_open.c}: Separate - TIFFCleanup() from the TIFFClose() in order to fix the bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=468 - - * tools/tiffcp.c: Fixed problem with wrong interpretation of the - InkNames tag as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=466 - - Memory leak fixed. - -2004-01-21 Frank Warmerdam - - * libtiff/tif_dirwrite.c: Fixed handling of writable ASCII tags that - are field_passcount=TRUE properly. Arguably anonymous custom tags - should be declared as passcount=FALSE, but I don't want to change - that without a careful review. - -2004-01-20 Andrey Kiselev - - * libtiff/tif_write.c: Fixed reporting size of the buffer in case of - stripped image in TIFFWriteBufferSetup(). As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=460 - -2004-01-11 Andrey Kiselev - - * libtiff/tif_dir.c: Incomplete cleanup in TIFFFreeDirectory(), - patch from Gerben Koopmans. - - * libtiff/tif_dirread.c: Check field_passcount value before setting - the value of undefined type, patch from Gerben Koopmans. - -2004-01-02 Andrey Kiselev - - * tools/tiffcp.c: Fixed problem with wrong Photometric setting for - non-RGB images. - -2003-12-31 Andrey Kiselev - - * libtiff/tif_win32.c: Fixed problem with _TIFFrealloc() when the NULL - pointer passed. Patch supplied by Larry Grill. - - * libtiff/{tiff.h, tif_fax3.c}:Fixes for AMD 64 platform as - suggested by Jeremy C. Reed. - -2003-12-26 Andrey Kiselev - - * libtiff 3.6.1 released. - -2003-12-24 Andrey Kiselev - - * config.guess, config.sub: Updated from the recent upstream. - -2003-12-22 Andrey Kiselev - - * libtiff/{tif_color, tif_getimage.c, tiffio.h}, man/TIFFcolor.3t: - More cleanups in color conversion interface, added appropriate manual - page. - -2003-12-19 Andrey Kiselev - - * libtiff/{tif_extension.c, tif_dirinfo.c, tiff.h}: Warnings fixed as - per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=357 - - * tools/tiff2ps.c: Added support for alpha channel. Fixes - - http://bugzilla.remotesensing.org/show_bug.cgi?id=428 - - * libtiff/{libtiff.def, tif_color.c, tif_getimage.c, tiffio.h}: - Interface for Lab->RGB color conversion is finally cleaned up. - Added support for ReferenceBlackWhite tag handling when converted from - YCbCr color space. The latter closes - - http://bugzilla.remotesensing.org/show_bug.cgi?id=120 - -2003-12-07 Andrey Kiselev - - * libtiff/{tif_getimage.c, tiffio.h}: Avoid warnings. - - * libtiff/makefile.vc, tools/makefile.vc: Support for IJG JPEG - library. - -2003-12-06 Andrey Kiselev - - * libtiff/{tif_getimage.c, tif_aux.c}: Read WhitePoint tag from the - file and properly use it for CIE Lab->RGB transform. - -2003-12-04 Andrey Kiselev - - * libtiff/{tif_getimage.c, tif_color.c, tiffio.h}: YCbCr->RGB - conversion routines now in the tif_color.c module. New function - TIFFYCbCrtoRGB() available in TIFF API. - - * libtiff/tif_dirwrite.c: Handle TIFF_IFD tag type correctly. - -2003-12-03 Andrey Kiselev - - * libtiff/{tif_getimage.c, tif_color.c, tiffio.h}: Improvements in - CIE Lab conversion code. Start moving YCbCr stuff to the tif_color.c - module. - - * libtiff/{tif_getimage.c, tiffio.h}, man{TIFFReadRGBAImage.3t, - TIFFReadRGBAStrip.3t, TIFFReadRGBATile.3t, TIFFRGBAImage.3t}: - Finally resolved problems with orientation handling. TIFFRGBAImage - interface now properly supports all possible orientations, i.e. images - will be flipped both in horizontal and vertical directions if - required. 'Known bugs' section now removed from the appropriate manual - pages. Closed bug entry: - - http://bugzilla.remotesensing.org/show_bug.cgi?id=322 - -2003-12-02 Andrey Kiselev - - * libtiff/tif_dir.c: Fixed order of the parameters in TIFFError() - function calls as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=440 - -2003-11-28 Ross Finlayson - - * tools/tiff2pdf.c: Some bugs fixed. - -2003-11-27 Andrey Kiselev - - * libtiff/tif_luv.c: Fixed bug in 48-bit to 24-bit conversion routine, - reported by Antonio Scuri. - - * man/tiff2pdf.1: Few improvements in page layout. - - * Makefile.in, /man/Makefile.in, /html/man/tiff2pdf.1.html: - Added support fpr tiff2pdf manual page. - -2003-11-26 Ross Finlayson - - * /man/tiff2pdf.1: File added to repository. - -2003-11-26 Andrey Kiselev - - * Makefile.in, /tools/{Makefile.in, makefile.vc}: - Added support fpr tiff2pdf utility. - -2003-11-25 Ross Finlayson - - * /tools/tiff2pdf.c: File added to repository. - -2003-11-22 Andrey Kiselev - - * /tools/raw2tiff.c: sqrtf() replaced with sqrt(). - -2003-11-21 Andrey Kiselev - - * /tools/raw2tiff.c: #include removed. - - * tools/{Makefile.in, tiffgt.c}: Unmaintained and platform dependent - sgigt utility removed and replaced with the completely rewritten - portable tiffgt tool (depend on OpenGL and GLUT). Initial revision, - there is a lot of things to improve. - - * libtiff/tif_ojpeg.c: TIFFVGetField() function now can properly - extract the fields from the OJPEG files. Patch supplied by Ross - Finlayson. - - * libtiff/{tiffio.h, tif_codec.c}, man/{libtiff.3t, TIFFcodec.3t}: - Added new function TIFFIsCODECConfigured(), suggested by Ross - Finlayson. - -2003-11-18 Andrey Kiselev - - * libtiff/tif_dirinfo.c: Implemented binary search in - _TIFFMergeFieldInfo(). Patch supplied by Ross Finlayson. - - * libtiff/tif_dir.h: _TIFFFindOrRegisterdInfo declaration replaced - with _TIFFFindOrRegisterFieldInfo as reported by Ross Finlayson. - -2003-11-17 Frank Warmerdam - - * tif_dirread.c: do not mark all anonymously defined tags to be - IGNOREd. - -2003-11-17 Andrey Kiselev - - * contrib/pds/{tif_pdsdirread.c, tif_pdsdirwrite.c}: Use - TIFFDataWidth() function insted of tiffDataWidth array. - -2003-11-16 Andrey Kiselev - - * libtiff/{tiff.h, tif_dirinfo.c}: Added support for IFD (13) - datatype, intruduced in "Adobe PageMaker TIFF Tech. Notes". - -2003-11-15 Frank Warmerdam - - * Makefile.in: fixed missing backslash for tif_color.c in list. - -2003-11-13 Andrey Kiselev - - * libtiff/{tif_color.c, tif_getimage.c, tiffio.h, Makefile.in}: - New color space conversion code: CIE L*a*b* 1976 images now supported - by the TIFFRGBAImage interface. All introduced routines go to new - module tif_color.c. Eventually all color conversion functions should - be moved there. - -2003-11-12 Andrey Kiselev - - * tools/{ras2tiff.c, rasterfile.h}: Properly determine SUN Rasterfiles - with the reverse byte order (it is reported by the magic header - field). Problem reported by Andreas Wiesmann. - - * tools/raw2tiff.c, man/raw2tiff.1: Few improvements in correlation - calculation function. Guessing mechanics now documented in manual page. - -2003-11-11 Andrey Kiselev - - * tools/raw2tiff.c: Implemented image size guessing using - correlation coefficient calculation between two neighbour lines. - -2003-11-09 Frank Warmerdam - - * libtiff/tif_tile.c: remove spurious use of "s" (sample) in the - planarconfig_contig case in TIFFComputeTile(). - - http://bugzilla.remotesensing.org/show_bug.cgi?id=387 - -2003-11-09 Andrey Kiselev - - * libtiff/tiffiop.h: New macros: TIFFmax, TIFFmin and TIFFrint. - -2003-11-07 Andrey Kiselev - - * libtiff/{tiffio.h, tif_strip.c}, man/{TIFFstrip.3t, libtiff.3t}: - Added TIFFRawStripSize() function as suggested by Chris Hanson. - -2003-11-03 Andrey Kiselev - - * libtiff/{tif_lzw.c, tif_fax3.c}: Proper support for update mode as - per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=424 - -2003-10-29 Andrey Kiselev - - * libtiff/libtiff.def: Added TIFFReadRGBAImageOriented. - - * html/build.html: Added note about GNU make requirement. - -2003-10-25 Andrey Kiselev - - * Makefile.in: Fixes in using MAKEFLAGS as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=418 - - * port/install.sh.in: Option -p added to the mkdir command to create - all directory tree structure before installing. - -2003-10-18 Andrey Kiselev - - * /tools/tiff2ps.c: #include replaced with the - #include . - -2003-10-16 Andrey Kiselev - - * Makefile.in: Add an absolute path to the test_pics.sh call. - -2003-10-12 Andrey Kiselev - - * libtiff/tiffcomp.h: #define _BSDTYPES_DEFINED when defining BSD - typedefs. - -2003-10-09 Andrey Kiselev - - * configure, libtiff/{Makefile.in, mkversion.c}: - Relative buildings fixed. - - * tools/Makefile.in: Added "-I../libtiff" to the tiffset building - rule. - -2003-10-07 Andrey Kiselev - - * Makefile.in: Added missed v3.6.0.html. - - * libtiff/tiffio.h: Typo fixed: ORIENTATION_BOTTOMLEFT replaced with - ORIENTATION_BOTLEFT. - -2003-10-04 Andrey Kiselev - - * 3.6.0 final release. - -2003-10-03 Andrey Kiselev - - * libtiff/{tif_getimage.c, tiffio.h}, man/TIFFReadRGBAImage.3t: New - function TIFFReadRGBAImageOriented() implemented to retrieve raster - array with user-specified origin position as suggested by Jason Frank. - See - - http://bugzilla.remotesensing.org/show_bug.cgi?id=322 - - for details. - - * tools/tiff2rgba.c: Switched to use TIFFReadRGBAImageOriented() - instead of TIFFReadRGBAImage(). - - * tools/tiff2ps.c: Fixed possible endless loop as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=404 - -2003-09-30 Andrey Kiselev - - * libtiff/tif_dirread.c: Check field counter against number of fields - in order to fix - - http://bugzilla.remotesensing.org/show_bug.cgi?id=366 - - * libtiff/tif_fax3.c: Fix wrong line numbering as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=342 - -2003-09-25 Andrey Kiselev - - * libtiff/{tiffiop.h, tif_dirread.c, tif_dir.c, tif_open.c, - tif_close.c}: Store a list of opened IFD to prevent looping as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=383 - -2003-09-23 Andrey Kiselev - - * libtiff/tif_dirread.c: More fixes for EstimateStripByteCounts(). See - - http://bugzilla.remotesensing.org/show_bug.cgi?id=358 - -2003-08-21 Andrey Kiselev - - * tools/tiffmedian.c: int declaration replaced with the uint32 to - support large images as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=382 - -2003-08-12 Andrey Kiselev - - * libtiff/Makefile.in: Fixed problem with building in different - directory. - - * tools/tiff2ps.c: Added missing #include . - - * libtiff/tif_dirwrite.c: More fixes for custom tags code - from Ashley Dreier. - -2003-08-07 Andrey Kiselev - - * tools/tiff2ps.c: Added page size setting when creating PS Level 2. - Patch submitted by Balatoni Denes (with corrections from Tom - Kacvinsky). - - * tools/tiff2ps.c: Fixed PS comment emitted when FlateDecode is - being used. Reported by Tom Kacvinsky. - - * libtiff/tif_dirwrite.c: Fixed problem with custom tags writing, - reported by Ashley Dreier. - - * libtiff/tif_print.c: Fixed problem with float tags reading, support - for printing RATIONAL and BYTE tags added. - -2003-08-05 Andrey Kiselev - - * libtiff/tif_lzw.c: Move LZW codec state block allocation back to - TIFFInitLZW(), because its initialization in LZWSetupDecode() cause - problems with predictor initialization. Remove O_RDONLY check during - state block allocation to be able open LZW compressed files in update - mode. - - Problem exist for libtiff version of the tif_lzw.c module. One from - lzw-compression-kit hasn't such troubles. - -2003-08-04 Frank Warmerdam - - * libtiff/tif_write.c: modified tif_write.c so that the various - encoded write functions use tif_postdecode() to apply byte order - swapping (swab) to the application passed data buffer if the same - would be done when reading. This allows us to write pixel data with - more than 8 bits per sample to existing files of a non-native byte - order. One side effect of this change is the applications buffer - itself is altered in this case by the act of writing. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=171 - -2003-07-25 Frank Warmerdam - - * libtiff/tif_open.c: avoid signed/unsigned casting warning - initializing typemask as per patch from J.A. Strother. - - * tools/tiffcp.c: fixed signed/unsigned casting warning. - - * libtiff/tif_print.c: dos2unix conversion. - - * tools/tiffsplit.c: increased the maximum number of pages that - can be split. Patch provided by Andrew J. Montalenti. - -2003-07-11 Andrey Kiselev - - * tools/raw2tiff.c: Added option `-p' to explicitly select color - space of input image data. Closes - - http://bugzilla.remotesensing.org/show_bug.cgi?id=364 - -2003-07-08 Frank Warmerdam - - * tif_aux.c, tif_codec.c, tif_dir.c, tif_dirread.c, tif_extension.c, - tif_fax3.c, tif_getimage.c, tif_luv.c, tif_lzw.c, tif_next.c, - tif_packbits.c, tif_predict.c, tif_print.c, tif_swab.c, tif_thunder.c: - avoid casting warning at /W4. - -2003-07-03 Andrey Kiselev - - * tools/thumbnail.c: Memory leak fixed as reported by Robert S. Kissel. - -2003-06-30 Andrey Kiselev - - * libtiff/tif_pixarlog.c: Unused variables removed. - - * libtiff/{tif_dirread.c, tif_dir.c}: Fixed problem with - EstimateStripByteCounts() as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=358 - - * libtiff/{tif_dirwrite.c, tif_packbits.c}: Fixed compilation on - 64-bit architectures as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=357 - - * libtiff/tif_dirinfo.c: TIFFDataWidth() returns 0 in case of - unknown data type. - -2003-06-19 Frank Warmerdam - - * libtiff/tif_print.c: fixed some serious bugs when printing - custom tags ... almost certain to crash. - - * libtiff/tif_dirread.c: Don't ignore custom fields that are - autodefined. Not sure how this got to be like this. - -2003-06-18 Andrey Kiselev - - * 3.6.0 Beta2 released. - - * tools/tiffcmp.c, man/tiffcmp.1: Fixed problem with unused data - comparing as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=349 - - `-z' option now can be used to set the number of reported different - bytes. - -2003-06-09 Andrey Kiselev - - * tools/tiffcp.c, man/tiffcp.1: Added possibility to specify value -1 - to -r option to get the entire image as one strip. See - - http://bugzilla.remotesensing.org/show_bug.cgi?id=343 - - for details. - -2003-06-04 Andrey Kiselev - - * tools/tiffcp.c: Set the correct RowsPerStrip and PageNumber - values as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=343 - -2003-05-27 Frank Warmerdam - - * libtiff/tif_jpeg.c: modified segment_height calculation to always - be a full height tile for tiled images. Also changed error to just - be a warning. - -2003-05-25 Andrey Kiselev - - * tools/fax2tiff.c: Page numbering fixed, as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=341 - -2003-05-20 Andrey Kiselev - - * contrib/ojpeg/{Makefile.in, jdhuff.h, jinclude.h, ojpeg.c, README}, - configure, Makefile.in: Switched back to the old behaviour. Likely - better solution should be found for OJPEG support. - -2003-05-11 Andrey Kiselev - - * libtiff/mkversion.c: Fixed problem with wrong string size when - reading RELEASE-DATE file. - -2003-05-07 Andrey Kiselev - - * tools/tiff2ps.c: Fixed bug in Ascii85EncodeBlock() function: array - index was out of range. - -2003-05-06 Andrey Kiselev - - * contrib/ojpeg/{Makefile.in, jdhuff.h, jinclude.h, ojpeg.c, README}, - configure, Makefile.in: Improved libtiff compilation with OJPEG - support. Now no need for patching IJG JPEG library, hack requred by - libtiff will be compiled and used in-place. Implemented with - suggestion and help from Bill Allombert, Debian's libjpeg maintainer. - - * libtiff/tif_aux.c: Properly handle TIFFTAG_PREDICTOR in - TIFFVGetFieldDefaulted() function. - -2003-05-05 Andrey Kiselev - - * tools/ppm2tiff.c: PPM header parser improved: now able to skip - comments. - - * tools/tiffdither.c: Fixed problem with bit fill order tag setting: - was not copied from source image. - - * libtiff/getimage.c: Workaround for some images without correct - info about alpha channel as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=331 - -2003-04-29 Andrey Kiselev - - * tools/tiff2ps.c, man/tiff2ps.1: Add ability to generate PS Level 3. - It basically allows one to use the /flateDecode filter for ZIP - compressed TIFF images. Patch supplied by Tom Kacvinsky. Fixes - - http://bugzilla.remotesensing.org/show_bug.cgi?id=328 - - * tools/tiff2ps.c: Force deadzone printing when EPS output specified - as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=325 - -2003-04-17 Andrey Kiselev - - * libtiff/tif_dirread.c: Removed additional check for StripByteCounts - due to problems with multidirectory images. Quality of error messages - improved. - -2003-04-16 Andrey Kiselev - - * tools/tiffcp.c: Fixed problem with colorspace conversion for JPEG - encoded images. See bug entries - - http://bugzilla.remotesensing.org/show_bug.cgi?id=275 - - and - - http://bugzilla.remotesensing.org/show_bug.cgi?id=23 - - * libtiff/tif_dirread.c: Additional check for StripByteCounts - correctness. Fixes - - http://bugzilla.remotesensing.org/show_bug.cgi?id=320 - -2003-03-12 Andrey Kiselev - - * tools/{fax2ps.c, fax2tiff.c, gif2tiff.c, pal2rgb.c, ppm2tiff.c, - ras2tiff.c, raw2tiff.c, rgb2ycbcr.c, thumbnail.c, tiff2bw.c, - tiff2ps.c, tiff2rgba.c, tiffcp.c, tiffdither.c, tiffinfo.c, - tiffmedian.c}: Added library version reporting facility to all tools. - -2003-03-06 Frank Warmerdam - - * port/install.sh.in: Fixed problems with install producing paths - like ///usr/local/lib on cygwin. - -2003-02-27 Andrey Kiselev - - * tools/fax2tiff.c, man/fax2tiff.1: New switch (-X) to set width of - raw input page. Patch supplied by Julien Gaulmin. See - - http://bugzilla.remotesensing.org/show_bug.cgi?id=293 - - for details. - -2003-02-26 Frank Warmerdam - - * libtiff/tif_dir.c: fixed up the tif_postdecode settings - responsible for byte swapping complex image data. - - * libtiff/tif_lzw.c: fixed so that decoder state isn't allocated till - LZWSetupDecode(). Needed to read LZW files in "r+" mode. - -2003-02-07 Andrey Kiselev - - * tools/ppm2tiff.c: Fixed problem with too many arguments. - -2003-02-04 Andrey Kiselev - - * tools/raw2tiff.c: Memory leak fixed. - -2003-02-03 Andrey Kiselev - - * tools/fax2tiff.c, man/fax2tiff.1: Applied patch from Julien Gaulmin - (thanks, Julien!). More switches for fax2tiff tool for better control - of input and output. Details at - - http://bugzilla.remotesensing.org/show_bug.cgi?id=272 - -2003-02-03 Frank Warmerdam - - * libtiff/tif_jpeg.c: Modified to defer initialization of jpeg - library so that we can check if there is already any tile/strip data - before deciding between creating a compressor or a decompressor. - -2003-01-31 Frank Warmerdam - - * libtiff/tif_write.c: TIFFWriteCheck() now fails if the image is - a pre-existing compressed image. That is, image writing to - pre-existing compressed images is not allowed. - - * libtiff/tif_open.c: Removed error if opening a compressed file - in update mode. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=198 - -2003-01-31 Andrey Kiselev - - * config.guess, config.sub: Updated to recent upstream versions. - -2003-01-15 Frank Warmerdam - - * cut 3.6.0 Beta release. - -2002-12-20 Andrey Kiselev - - * tools/fax2ps.c, man/fax2ps.1: Page size was determined - in wrong way as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=239 - -2002-12-17 Frank Warmerdam - - * libtiff/tif_dirread.c: Allow wrong sized arrays in - TIFFFetchStripThing(). - - http://bugzilla.remotesensing.org/show_bug.cgi?id=49 - -2002-12-02 Frank Warmerdam - - * libtiff/tif_dir.c: fix problem with test on td_customValueCount. - Was using realloc even first time. Fix by Igor Venevtsev. - -2002-11-30 Frank Warmerdam - - * libtiff/tif_dir.c: fixed bug with resetting an existing custom - field value. - - * libtiff/tif_dir.c: Fixed potential problem with ascii "custom" - tags in TIFFVGetField() ... added missing break. - -2002-10-14 Frank Warmerdam - - * tools/tiff2ps.c: fixes a problem where "tiff2ps -1e" did not make - the scanline buffer long enough when writing rgb triplets. - The scanline needs to be 3 X the number of dots or else it will - contain an incomplete triplet and programs that try to separate - the eps by redefining the colorimage operator will get messed up. - Patch supplied by William Bader. - - * Makefile.in: added tif_extension.c to file list as per - http://bugzilla.remotesensing.org/show_bug.cgi?id=218. - -2002-10-11 Andrey Kiselev - - * configure, config.site, libtiff/{tif_unix.c, Makefile.in}: Fix for - large files (>2GiB) supporting. New option in the config.site: - LARGEFILE="yes". Should be enough for I/O of the large files. - -2002-10-10 Frank Warmerdam - - * libtiff/html/v3.6.0.html: new release notes. - - * libtiff/index.html: removed faq, cvs snapshot cruft. Added email - link for Andrey. Pointer to v3.6.0.html. - - * libtiff/Makefile.in: added direct rule for tiffvers.h for release. - -2002-10-07 Andrey Kiselev - * tools/tiff2ps.c, man/tiff2ps.1: Applied patch form Sebastian Eken - (thanks, Sebastian!). New switches: - -b # for a bottom margin of # inches - -c center image - -l # for a left margin of # inches - -r rotate the image by 180 degrees - New features merged with code for shrinking/overlapping. - Previously added -c and -n switches (for overriding PS units) renamed - in -x and -y respectively. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=200 - - * html/man/*.html: Updated from actual manual pages. - -2002-10-06 Frank Warmerdam - - * libtiff/tif_jpeg.c: fixed problem with boolean defined with wrong - size on windows. Use #define boolean hack. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=188 - - * libtiff/tiff.h: Don't do special type handling in tiff.h unless - USING_VISUALAGE is defined. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=39 - -2002-10-03 Frank Warmerdam - - * libtiff/tiff.h: added COMPRESSION_JP2000. - -2002-10-02 Andrey Kiselev - - * libtiff/tif_dirread.c: Another fix for the fetching SBYTE arrays - by the TIFFFetchByteArray() function. Should finally resolve - - http://bugzilla.remotesensing.org/show_bug.cgi?id=52 - - * configure: Set -DPIXARLOG_SUPPORT option along with -DZIP_SUPPORT - - * html/Makefile.in: New targets added: html and groffhtml for - producing HTML representations of the manual pages automatically. - html target uses man2html tool, groffhtml uses groff tool. - -2002-09-29 Frank Warmerdam - - * configure, libtiff/Makefile.in: Added SCO OpenServer 5.0.6 support - from John H. DuBois III. - -2002-09-15 Andrey Kiselev - - * Makefile.in, /man/{raw2tiff.1, Makefile.in, libtiff.3}: Added - manual page for raw2tiff(1) tool. - -2002-09-12 Andrey Kiselev - - * /libtiff/{tiffio.h, tif_dir.h}: TIFFDataWidth() declaration moved to - the tiffio.h header file. - - * Makefile.in, /man/{TIFFDataWidth.3t, Makefile.in, libtiff.3}: Added - manual page for TIFFDataWidth() function - -2002-09-08 Frank Warmerdam - - * libtiff/tif_dirread.c: Expand v[2] to v[4] in TIFFFetchShortPair() - as per http://bugzilla.remotesensing.org/show_bug.cgi?id=196. - - * tools/tiff2ps.c: Don't emit BeginData/EndData DSC comments - since we are unable to properly include the amount to skip. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=80 - -2002-09-02 Andrey Kiselev - - * /libtiff/tif_dirread.c: Fixed problem with SBYTE type data fetching - in TIFFFetchByteArray(). Problem described at - http://bugzilla.remotesensing.org/show_bug.cgi?id=52 - -2002-08-22 Andrey Kiselev - - * /libtiff/tif_dirinfo.c: Further additions to free custom fields - in _TIFFSetupFieldInfo() function. - See http://bugzilla.remotesensing.org/show_bug.cgi?id=169 for details. - - * /libtiff/tif_lzw.c: Additional consistency checking added in - LZWDecode() and LZWDecodeCompat(). - Fixes http://bugzilla.remotesensing.org/show_bug.cgi?id=190 - and http://bugzilla.remotesensing.org/show_bug.cgi?id=100 - - * /libtiff/tif_lzw.c: - Added check for valid code lengths in LZWDecode() and - LZWDecodeCompat(). Fixes - http://bugzilla.remotesensing.org/show_bug.cgi?id=115 - -2002-08-16 Andrey Kiselev - - * /libtiff/{Makefile.vc, libtiff.def}: - Missed declarations added. - -2002-08-15 Frank Warmerdam - - * tif_getimage.c: Ensure that TIFFRGBAImageBegin() returns the - return code from the underlying pick function. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=177 - - * tif_dir.h: changed FIELD_CODEC to 66 from 64 to avoid overlap - with FIELD_CUSTOM as mentioned in bug 169. - - * tif_close.c: added logic to free dynamically created anonymous - field definitions to correct a small memory leak. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=169 - -2002-08-10 Andrey Kiselev - - * /tools/{raw2tiff.c, Makefile.in, Makefile.lcc, Makefile.vc}: - New tool: raw2tiff --- raw images to TIFF converter. No manual page yet. - -2002-07-31 Frank Warmerdam - - * libtiff/tif_jpeg.c: Fixed problem with setting of nrows in - JPEGDecode() as per bugzilla bug (issue 1): - - http://bugzilla.remotesensing.org/show_bug.cgi?id=129 - - * libtiff/{tif_jpeg.c,tif_strip.c,tif_print.c}: Hacked tif_jpeg.c to - fetch TIFFTAG_YCBCRSUBSAMPLING from the jpeg data stream if it isn't - present in the tiff tags. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=168 - - * libtiff/tif_read.c, libtiff/tif_write.c: TIFFReadScanline() and - TIFFWriteScanline() now set tif_row explicitly in case the codec has - fooled with the value. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=129 - -2002-06-22 Andrey Kiselev - - * /tools/tiff2ps.c: Added workaround for some software that may crash - when last strip of image contains fewer number of scanlines than - specified by the `/Height' variable. See - http://bugzilla.remotesensing.org/show_bug.cgi?id=164 - for explanation. - -2002-06-21 Andrey Kiselev - - * tools/tiff2ps, man/tiff2ps.1: New functionality for tiff2ps utility: - splitting long images in several pages. See - http://bugzilla.remotesensing.org/show_bug.cgi?id=142 for explanation. - Patch granted by John Williams . - -2002-06-11 Frank Warmerdam - - * libtiff/contrib/win95: renamed to contrib/win_dib. Added new - Tiffile.cpp example of converting TIFF files into a DIB on Win32. - This one is described in: - - http://bugzilla.remotesensing.org/show_bug.cgi?id=143 - - * libtiff/tif_ojpeg.c: Major upgrade from Scott. See details at: - - http://bugzilla.remotesensing.org/show_bug.cgi?id=156 - -2002-05-10 Andrey Kiselev - - * tools/tiff2ps: New commandline switches to override resolution - units obtained from the input file. Closes - http://bugzilla.remotesensing.org/show_bug.cgi?id=131 - -2002-04-26 Andrey Kiselev - - * libtiff/libtiff.def: Added missed declaration. - -2002-04-22 Andrey Kiselev - - * tools/fax2tiff.c: Updated to reflect latest changes in libtiff. - Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=125 - -2002-04-20 Andrey Kiselev - - * libtiff/tif_open.c: Pointers to custom procedures - in TIFFClientOpen() are checked to be not NULL-pointers. - -2002-04-18 Andrey Kiselev - - * libtiff/libtiff.def: Added missed declarations. - - * libtiff/tif_pixarlog.c: Updated for using tif_tagmethods structure. - -2002-04-16 Andrey Kiselev - - * libtiff/tif_lzw.c: Additional checks for data integrity introduced. - Should finally close - http://bugzilla.remotesensing.org/show_bug.cgi?id=100 - -2002-04-10 Andrey Kiselev - - * tools/tiff2ps: Division by zero fixed. - Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=88 - -2002-04-09 Andrey Kiselev - - * libtiff/: tif_dirwrite.c, tif_write.c, tiffio.h: - TIFFCheckpointDirectory() routine added. - Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=124 - - * man/: TIFFWriteDirectory.3t, Makefile.in: Added description - for the new function. - -2002-04-08 Andrey Kiselev - - * libtiff/: tif_codec.c, tif_compress.c, tiffiop.h: Introduced - additional members tif->tif_decodestatus and tif->tif_encodestatus - for correct handling of unconfigured codecs (we should not try to read - data or to define data size without correct codecs). - - * libtiff/tif_getimage.c: The way of codecs checking in TIFFRGBAImageOK - changed. Now it has used tif->tif_decodestatus and - tif->tif_encodestatus. - Should fix http://bugzilla.remotesensing.org/show_bug.cgi?id=119 (in - case of __cvs_8.tif test image). - - * libtiff/: tif_dirinfo.c, tif_dirread.c: Somebody makes a bug in - tif_dirread.c when TIFFCreateAnonFieldInfo was introduced. - Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=119 in case - of _cvs_00000-00.tif, _cvs_00000-01.tif and _cvs_00000-02.tif. - -2002-04-04 Andrey Kiselev - - * libtiff/: tif_lzw.c: Assertions in LZWDecode and LZWDecodeCompat - replaced by warnings. Now libtiff should read corrupted LZW-compressed - files by skipping bad strips. - Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=100 - -2002-04-03 Frank Warmerdam - - * libtiff/tif_dirwrite.c: Removed some dead code. - - * libtiff/*: Cleanup some warnings. - - * libtiff/tif_dir.c: Fixed bug with count returned by TIFFGetField() - for variable length FIELD_CUSTOM values. Was int * but should be - u_short *. - -2002-04-01 Andrey Kiselev - - * tools/: tifcp.c: Added support for 'Orientation' tag in tiffcp - utility (at cpStripToTile routine). - -2002-03-27 Frank Warmerdam - - * tif_dirread.c: avoid div-by-zero if rowbytes is zero in chop func. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=111 - - * tif_print.c: Fixed so that ASCII FIELD_CUSTOM values with - passcount set FALSE can be printed (such as TIFFTAG_SOFTWARE). - - * libtiff/tif_dir.c,tif_dirinfo.c,tif_dir.h,tif_ojpeg.c: modified so - that TIFFTAG_SOFTWARE uses FIELD_CUSTOM as an example. - -2002-03-26 Dwight Kelly - - * libtiff/: tiff.h, tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c, - tif_dirwrite.c: Added get/put code for new tag XMLPACKET as defined - in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 spec - INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes: - CLIPPATH, XCLIPPATHUNITS, YCLIPPATHUNITS, OPIIMAGEID, OPIPROXY and - INDEXED. Added PHOTOMETRIC tag value from TIFF technote 4 ICCLAB (=9). - -2002-03-26 Andrey Kiselev - - * libtiff/: tif_getimage.c: TIFFReadRGBAStrip and TIFFReadRGBATile - now also uses TIFFRGBAImageOK before reading. This is additional fix - for http://bugzilla.remotesensing.org/show_bug.cgi?id=110 - -2002-03-25 Andrey Kiselev - - * libtiff/: tif_getimage.c: Additional check for supported - codecs added in TIFFRGBAImageOK and TIFFReadRGBAImage now uses - TIFFRGBAImageOK before reading. - Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=110 - -2002-03-15 Andrey Kiselev - - * libtiff/: tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c, - tif_dirwrite.c: Added routine TIFFDataWidth for detrmining - TIFFDataType sizes instead of working with tiffDataWidth array - directly. Should prevent out-of-borders bugs in case of unknown or - broken data types. EstimateStripByteCounts routine modified, so it - won't work when tags with uknown sizes founded. - Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=109 - -2002-03-13 Andrey Kiselev - - * libtiff/tif_getimage.c: Added support for correct handling - `Orientation' tag in gtTileContig. Should be added in other gt* - functions as well, but I have not images for testing yet. Partially - resolves http://bugzilla.remotesensing.org/show_bug.cgi?id=23 - -2002-03-10 Andrey Kiselev - - * libtiff/: tif_dirinfo.c, tif_dirwrite.c: Added possibility to - read broken TIFFs with LONG type used for TIFFTAG_COMPRESSION, - TIFFTAG_BITSPERSAMPLE, TIFFTAG_PHOTOMETRIC. Closes - http://bugzilla.remotesensing.org/show_bug.cgi?id=99 - -2002-03-08 Andrey Kiselev - - * libtiff/Makefile.in, tools/Makefile.in: Shared library will not - be stripped when installing, utility binaries will do. Closes - http://bugzilla.remotesensing.org/show_bug.cgi?id=93 - -2002-02-28 Frank Warmerdam - - * man/TIFFGetField: fixed type of TIFFTAG_COPYRIGHT. - - * man/libtiff.3t: added copyright tag info. - -2002-02-11 Frank Warmerdam - - * libtiff/{tiff.h,tif_fax3.c}: Add support for __arch64__. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=94 - - * man/Makefile.in: Patch DESTDIR handling - - http://bugzilla.remotesensing.org/show_bug.cgi?id=95 - - * configure: OpenBSD changes for Sparc64 and DSO version. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=96 - -2002-02-05 Frank Warmerdam - - * config.site/configure: added support for OJPEG=yes option to enable - OJPEG support from config.site. - -2002-01-27 Frank Warmerdam - - * html/document.html: fixed links for TIFf 6 docs. - -2002-01-18 Frank Warmerdam - - * config.guess, config.sub: Updated from ftp.gnu.org/pub/config. - - * libtiff/tif_read.c: Fixed TIFFReadEncodedStrip() to fail if the - decodestrip function returns anything not greater than zero as per - http://bugzilla.remotesensing.org/show_bug.cgi?id=97 - - * configure: Modify CheckForBigEndian so it can work in a cross - compiled situation. - -2002-01-16 Frank Warmerdam - - * tools/tiffdump.c: include TIFFTAG_JPEGTABLES in tag list. - - * tools/tiffset.c: fix bug in error reporting. - - * tools/tiffcp.c: fix several warnings that show up with -Wall. - -2002-01-04 Frank Warmerdam - - * libtiff/tif_jpeg.c: fixed computation of segment_width for - tiles files to avoid error about it not matching the - cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile - size.") for ITIFF files. Apparently the problem was incorporated since - 3.5.5, presumably during the OJPEG/JPEG work recently. - -2001-12-15 Frank Warmerdam - - * configure, libtiff/Makefile.in: Changes for building on MacOS 10.1. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=94 - - * libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1 - (defined in tiffconf.h - 1 by default) then the RGBA interface - will assume that a fourth extra sample is ASSOCALPHA if the - EXTRASAMPLE value isn't set for it. This changes the behaviour of - the library, but makes it work better with RGBA files produced by - lots of applications that don't mark the alpha values properly. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=93 - http://bugzilla.remotesensing.org/show_bug.cgi?id=65 - -2001-12-12 Frank Warmerdam - - * libtiff/tif_jpeg.c: allow jpeg data stream sampling values to - override those from tiff directory. This makes this work with - ImageGear generated files. - -2001-12-07 Frank Warmerdam - - * html/Makefile.in: added missing images per bug 92. - - * port/Makefile.in: fixed clean target per bug 92. - -2001-11-28 Frank Warmerdam - - * Reissue 3.5.7 release. - - * libtiff/mkversion.c: Fix output of TIFF_VERSION to be - YYYYMMDD so that it is increasing over time. - - * Makefile.in: Ensure that tiffvers.h is regenerated in the - make release target. - - * Makefile.in: added libtiff/tiffvers.h to the release file list. - -2001-11-23 Frank Warmerdam - - * added html/v3.5.7.html, updated html/index.html. - - * Makefile.in: added contrib/addtiffo/tif_ovrcache.{c,h}. - -2001-11-15 Frank Warmerdam - - * configure: fixed test for -lm. - -2001-11-02 Frank Warmerdam - - * Added PHOTOMETRIC_ITULAB as per bug 90. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=90 - -2001-10-10 Frank Warmerdam - - * libtiff/tiff.h: I have created COMPRESSION_CCITT_T4, - COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases - in keeping with TIFF 6.0 standard in tiff.h - - http://bugzilla.remotesensing.org/show_bug.cgi?id=83 - -2001-09-26 Frank Warmerdam - - * libtiff/tif_dirwrite.c: added TIFFRewriteDirectory() function. - Updated TIFFWriteDirectory man page to include TIFFRewriteDirectory. - -2001-09-24 Frank Warmerdam - - * libtiff/tif_lzw.c: Avoid MS VC++ 5.0 optimization bug. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=78 - - * libtiff/tif_lzw.c: added dummy LZWSetupEncode() to report an - error about LZW not being available. - - * libtiff/tif_dir.c: propagate failure to initialize compression - back from TIFFSetField() as an error status, so applications can - detect failure. - - * libtiff/tif_dir.c: removed the auto replacement of - COMPRESSION_LZW with COMPRESSION_NONE in _TIFFVSetField(). - - * Removed Makefile, tools/Makefile, port/install.sh, man/Makefile - from CVS as they are all supposed to be auto-generated by configure. - -2001-09-22 Frank Warmerdam - - * libtiff/tif_ojpeg.c: new update from Scott. - -2001-09-09 Frank Warmerdam - - * libtif/tif_fax3.c: Removed #ifdef PURIFY logic, and modified to - always use the "safe" version, even if there is a very slight - cost in performance. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=54 - - * libtiff/Makefile.in: Fixed @DSOSUB_VERSION to be @DSOSUF_VERSION@ - in two places. - - * libtiff/tif_getimage.c: Fixed problem with reading strips or - tiles that don't start on a tile boundary. Fix contributed by - Josep Vallverdu (from HP), and further described in bug 47. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=47 - - * tools/tiff2ps.c: added OJPEG YCbCr to RGB support. - - * libtiff/tif_ojpeg.c: Applied substantial patch from Scott. - -2001-09-06 Frank Warmerdam - - * libtiff/tif_packbits.c: fixed memory overrun error. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=77 - -2001-08-31 Frank Warmerdam - - * libtiff/tif_getimage.c: relax handling of contig case where - there are extra samples that are supposed to be ignored. This - should now work for 8bit greyscale or palletted images. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=75 - -2001-08-28 Frank Warmerdam - - * libtiff/tif_getimage.c: Don't complain for CMYK (separated) - images with more than four samples per pixel. See: - - http://bugzilla.remotesensing.org/show_bug.cgi?id=73 - -2001-08-10 Frank Warmerdam - - * libtiff/tif_getimage.c: Use memmove() instead of TIFFmemcpy() - in TIFFReadRGBATile() to avoid issues in cases of overlapping - buffers. See Bug 69 in Bugzilla. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=69 - - * tools/tiff2rgba.c: fixed getopt() call so that -b works again. - -2001-08-09 Frank Warmerdam - - * libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__ - when checking for 64 bit architectures as per bugzilla bug 67. - -2001-07-27 Frank Warmerdam - - * man/Makefile.in: add TIFFClientOpen link as per debian submitted - bug 66. - -2001-07-20 Frank Warmerdam - - * libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H - has been included. - -2001-07-19 Frank Warmerdam - - * libtiff/tif_open.c: Seek back to zero after failed read, - before writing header. - -2001-07-18 Frank Warmerdam - - * libtiff/tif_ojpeg.c: updates from Scott. Handles colors - much better. Now depends on having patched libjpeg as per - patch in contrib/ojpeg/*. - -2001-07-17 Frank Warmerdam - - * */Makefile.in: added DESTDIR support. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=60 - -2001-07-16 Frank Warmerdam - - * configure, libtiff/Makefile.in: applied OpenBSD patches - as per: - - http://bugzilla.remotesensing.org/show_bug.cgi?id=61 - -2001-06-28 Frank Warmerdam - - * libtiff/tif_getimage.c: Fixed so that failure is properly - reported by gtTileContig, gtStripContig, gtTileSeparate and - gtStripSeparate. - - See http://bugzilla.remotesensing.org/show_bug.cgi?id=51 - - * tiffcmp.c: Fixed multi samples per pixel support for ContigCompare. - Updated bug section of tiffcmp.1 to note tiled file issues. - - See http://bugzilla.remotesensing.org/show_bug.cgi?id=53 - -2001-06-22 Frank Warmerdam - - * configure: Changes for DSO generation on AIX provided by - John Marquart . - - * configure, libtiff/Makeifle.in: Modified to build DSOs properly - on Darwin thanks to Robert Krajewski (rpk@alum.mit.edu) and - Keisuke Fujii (fujiik@jlcuxf.kek.jp). - -2001-06-13 Frank Warmerdam - - * tools/tiff2rgba.c: added -n flag to avoid emitting alpha component. - - * man/tiff2rgba.1: new - -2001-05-22 Frank Warmerdam - - * Added tiffset and tif_ojpeg to the dist lists in Makefile.in. - -2001-05-13 Frank Warmerdam - - * libtiff/tools/thumbnail.c: changed default output compression - to packbits from LZW since LZW isn't generally available. - -2001-05-12 Frank Warmerdam - - * libtiff/tif_ojpeg.c: New. - libtiff/tif_jpeg.c, tiffconf.h, tif_getimage.c: changes related - to OJPEG support. - - Scott Marovich supplied OJPEG support. - -2001-05-11 Frank Warmerdam - - * tiff.h: removed, it duplicates libtiff/tiff.h. - -2001-05-08 Frank Warmerdam - - * libtiff/tif_dirinfo.c: moved pixar and copyright flags to - ensure everything is in order. - - * libtiff/libtiff.def: added TIFFCreateDirectory and - TIFFDefaultStripSize as per: - - http://bugzilla.remotesensing.org/show_bug.cgi?id=46 - -2001-05-02 Frank Warmerdam - - * libtiff/tif_dirinfo.c: Modified the TIFF_BYTE definition for - TIFFTAG_PHOTOSHOP to use a writecount of TIFF_VARIABLE2 (-3) to - force use of uint32 counts instead of short counts. - - * libtiff/tif_dirwrite.c: Added support for TIFF_VARIABLE2 in the - case of writing TIFF_BYTE/TIFF_SBYTE fields. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=43 - -2001-05-01 Frank Warmerdam - - * libtiff/tif_dirinfo.c: removed duplicate TIFFTAG_PHOTOSHOP as per - bug report http://bugzilla.remotesensing.org/show_bug.cgi?id=44 - -2001-04-05 Frank Warmerdam - - * tiffio.h: removed C++ style comment. - - * configure: fixed up SCRIPT_SH/SHELL handling. - - * Makefile.in: Fixed SCRIPT_SH/SHELL handling. - - * config.guess: documented more variables as per bug 40. - -2001-04-03 Frank Warmerdam - - * configure, *Makefile.in: Various changes to improve configuration - for HP/UX specifically, and also in general. They include: - - Try to handle /usr/bin/sh instead of /bin/sh where necessary. - - Upgrade to HP/UX 10.x+ compiler, linker and dso options. - - Fixed mmap() test to avoid MMAP_FIXED ... it isn't available on HP - - Use -${MAKEFLAGS} in sub makes from makefiles. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=40 - -2001-04-02 Frank Warmerdam - - * libtiff/tiff.h: Applied hac to try and resolve the problem - with the inttypes.h include file on AIX. - - See http://bugzilla.remotesensing.org/show_bug.cgi?id=39 - - * VERSION: update to 3.5.7 beta in preparation for release. - - * configure/config.site: modified to check if -lm is needed for - MACHDEPLIBS if not supplied by config.site. Needed for Darwin. - - * config.guess: updated wholesale to an FSF version apparently - from 1998 (as opposed to 1994). This is mainly inspired by - providing for MacOS X support. - -2001-03-29 Frank Warmerdam - - * configure, Makefile.in, etc: added support for OPTIMIZER being - set from config.site. - -2001-03-28 Frank Warmerdam - - * fax2ps.c: Helge (libtiff at oldach.net) submitted fix: - - Here's a fix for fax2ps that corrects behaviour for non-Letter paper - sizes. It fixes two problems: - - Without scaling (-S) the fax is now centered on the page size specified - with -H and/or -W. Before, fax2ps was using an obscure and practially - useless algorithm to allocate the image relative to Letter sized paper - which sometime sled to useless whitespace on the paper, while at the - same time cutting of the faxes printable area at the opposite border. - - Second, scaling now preserves aspect ratio, which makes unusual faxes - (in particular short ones) print properly. - - See http://bugzilla.remotesensing.org/show_bug.cgi?id=35 - - * tiff2ps.c/tiff2ps.1: Substantial changes to tiff2ps by - Bruce A. Mallett. See check message for detailed information - on all the changes, including a faster encoder, fixes for level - 2 PostScript, and support for the imagemask operator. - -2001-03-27 Frank Warmerdam - - * libtiff/tiffio.h: Changed "#if LOGLUV_PUBLIC" to - "#ifdef LOGLUV_PUBLIC" so it will work with VisualAge on AIX. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=39 - -2001-03-16 Frank Warmerdam - - * tif_dirinfo.c: moved definition of copyright tag in field list. - Apparently they have to be in sorted order by tag id. - -2001-03-13 Frank Warmerdam - - * tif_getimage.c: Added support for 16bit minisblack/miniswhite - images in RGBA interface. - -2001-03-02 Frank Warmerdam - - * Added TIFFTAG_COPYRIGHT support. - -2001-02-19 Frank Warmerdam - - * Brent Roman contributed updated tiffcp utility (and tiffcp.1) - with support for extracting subimages with the ,n syntax, and also - adding the -b bias removal flag. - -2001-02-16 Frank Warmerdam - - * libtiff/libtiff.def: Brent Roman submitted new version adding - serveral missing entry points. - - * libtiff/tif_dirinfo.c: don't declare tiffFieldInfo static on VMS. - Some sort of weird VMS thing. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=31 - - * tif_luv.c/tiff.h/tiffio.h: - New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward - (greg@shutterfly.com). He writes: - - 1) I improved the gamut-mapping function in tif_luv.c for imaginary - colors, because some images were being super-saturated on the input - side and this resulted in some strange color shifts in the output. - - 2) I added a psuedotag in tiff.h to control random dithering during - LogLuv encoding. This is turned off by default for 32-bit LogLuv and - on for 24-bit LogLuv output. Dithering improves the average color - accuracy over the image. - - 3) I added a #define for LOG_LUV_PUBLIC, which is enabled by default in - tiffio.h, to expose internal routines for converting between LogLuv and - XYZ coordinates. This is helpful for writing more efficient, - specialized conversion routines, especially for reading LogLuv files. - - Changes applied with minor edits. - -2001-01-23 Frank Warmerdam - - * tif_fax3.c: keep rw_mode flag internal to fax3 state to remember - whether we are encoding or decoding. This is to ensure graceful - recovery if TIFFClientOpen() discovers an attempt to open a compressed - file for "r+" access, and subsequently close it, as it resets the - tif_mode flag to O_RDONLY in this case to avoid writes, confusing the - compressor's concept of whether it is in encode or decode mode. - -2001-01-08 Mike Welles - - * Makefile.in: Now cleaning up after itself after creating the .tar.gz and .zip - -2001-01-07 Frank Warmerdam - - * html/libtiff.html: Fixed arguments in example for TIFFRGBAImageGet() - as per bug report by Patrick Connor. - -2000-12-28 Frank Warmerdam - - * Added RELEASE-DATE file to release file list. - - * Fixed libtiff/makefile.vc to make tiffvers.h not version.h. - -2000-12-22 Mike Welles - * added link to CVS mirror from index.html - - * updated html/internals.html to note that LZW compression is - not supported by default. - -2000-12-22 Frank Warmerdam - - * updated html/libtiff.html to not point at Niles' old JPL web site - for the man pages, point at www.libtiff.org. - -2000-12-21 Frank Warmerdam - - * libtiff/tif_apple.c: Applied "Carbon" support patches supplied by - Leonard Rosenthol . May interfere - with correct building on older systems. If so, please let me know. - -2000-12-19 Mike Welles - - * Took out LZW Encoding from tif_lzw.c - - * Created HOWTO-RELEASE - - * Created html/v3.5.6.html - - * updated index.html - -2000-12-01 Frank Warmerdam - - * Added patches for EOFB support in tif_fax3.c and tif_fax3.h. - Patches supplied by Frank Cringle - Example file at: ftp://ftp.remotesensing.org/pub/libtiff/eofb_396.tif - -2000-11-24 Frank Warmerdam - - * libtiff/Makefile.in: Added an installPrivateHdrs and install-private - target so that the private headers required by libgeotiff can be - installed with the others. They are not installed by default. - - * libtiff/Makefile.in: Added @MACHLIBDEPS@ to LINUXdso and GNULDdso - targets so libtiff.so will be built with an explicit dependency - on libm.so. - - * libtiff/Makefile.in: Use softlinks to link libtiff.so.3 to - libtiff.so.3.5.5. - - * libtiff/Makefile.in & configure: Remove all references to the ALPHA - file, or ALPHA version logic. Added stuff about DIST_POINT in - place of DIST_TYPE and the alpha release number stuff. - -2000-11-22 Frank Warmerdam - - * I have applied a patch from Steffen Moeller to - the configure script so that it now accepts the --prefix, and - --exec-prefix directives. - -2000-11-13 Frank Warmerdam - - * I have made a variety of modifications in an effort to ensure the - TIFFLIB_VERSION macro is automatically generated from the RELEASE-DATE - file which seems to be updated regularly. - - o mkversion.c now reads RELEASE-DATE and emits TIFFLIB_VERSION in - version include file. - o renamed version.h to tiffvers.h because we now have to install it - with the public libtiff include files. - o include tiffvers.h in tiffio.h. - o updated tif_version.c to use tiffvers.h. - o Updated Makefile.in accordingly. - - * As per http://bugzilla.remotesensing.org/show_bug.cgi?id=25 - I have updated the win32 detection rules in tiffcomp.h. - -2000-10-20 Frank Warmerdam - - * tif_getimage.c: Fixed RGBA translation for YCbCr images for which - the strip/tile width and height aren't multiples of the sampling size. - See http://bugzilla.remotesensing.org/show_bug.cgi?id=20 - Some patches from Rick LaMont of Dot C Software. - - * Modified tif_packbits.c encoder to avoid compressing more - data than provided if rowsize doesn't factor into provided data - (such as occurs for YCbCr). - -2000-10-19 Frank Warmerdam - - * tools/rgb2ycbcr.c: fixed output strip size to account for vertical - roundup if rows_per_strip not a multiple of vertical sample size. - -2000-10-16 Frank Warmerdam - - * tif_dir.c: Clear TIFF_ISTILED flag in TIFFDefaultDirectory - as per http://bugzilla.remotesensing.org/show_bug.cgi?id=18 - from vandrove@vc.cvut.cz. - - * Modified tif_packbits.c decoding to avoid overrunning the - output buffer, and to issue a warning if data needs to be - discarded. See http://bugzilla.remotesensing.org/show_bug.cgi?id=18 - -2000-10-12 Frank Warmerdam - - * Modified tiff2bw to ensure portions add to 100%, and that - white is properly recovered. - - See bug http://bugzilla.remotesensing.org/show_bug.cgi?id=15 - Patch c/o Stanislav Brabec - -2000-09-30 Frank Warmerdam - - * Modified TIFFClientOpen() to emit an error on an attempt to - open a comperessed file for update (O_RDWR/r+) access. This is - because the compressor/decompressor code gets very confused when - the mode is O_RDWR, assuming this means writing only. See - bug http://bugzilla.remotesensing.org/show_bug.cgi?id=13 - -2000-09-27 Frank Warmerdam - - * Added GNULDdso target an`d switched linux and freebsd to use it. - -2000-09-26 Frank Warmerdam - - * Applied patch for 0x0000 sequences in tif_fax3.h's definition - of EXPAND1D() as per bug 11 (from Roman). - -2000-09-25 Frank Warmerdam - * Fixed tiffcomp.h to avoid win32 stuff if unix #defined, to improve - cygwin compatibility. - - * Applied patch from Roman Shpount to tif_fax3.c. This seems to - be a proper fix to the buffer sizing problem. See - http://bugzilla.remotesensing.org/show_bug.cgi?id=11 - - * Fixed tif_getimage.c to fix overrun bug with YCbCr images without - downsampling. http://bugzilla.remotesensing.org/show_bug.cgi?id=10 - Thanks to Nick Lamb for reporting the - bug and proving the patch. - -2000-09-18 Frank Warmerdam - - * Fixed tif_jpeg.c so avoid destroying the decompressor before - we are done access data thanks to bug report from: - Michael Eckstein . - - * Reverted tif_flush change. - -2000-09-14 Frank Warmerdam - - * tif_flush.c: Changed so that TIFFFlushData() doesn't return an - error when TIFF_BEENWRITING is not set. This ensures that the - directory contents can still be flushed by TIFFFlush(). - -2000-08-14 Frank Warmerdam - - * tif_open.c: Don't set MMAP for O_RDWR files. - - * tif_open.c: Set STRIPCHOP_DEFAULT for O_RDWR as well as O_RDONLY - so that files opened for update can be strip chopped too. - - * tif_read.c: fixed up bug with files missing rowsperstrip and - the strips per separation fix done a few weeks ago. - -2000-07-17 Frank Warmerdam - - * Tentatively added support for SAMPLEFORMAT_COMPLEXIEEEFP, and - SAMPLEFORMAT_COMPLEXINT. - -2000-07-13 Mike Welles - - * index.html, bugs.html: added bugzilla info. - -2000-07-12 Frank Warmerdam - - * tif_read.c: fix subtle bug with determining the number of - rows for strips that are the last strip in a separation but - not the last strip of all in TIFFReadEncodedStrip(). - - * Applied 16/32 bit fix to tif_fax3.c. Fix supplied by - Peter Skarpetis - -2000-06-15 Frank Warmerdam - - * Modified tiffio.h logic with regard to including windows.h. It - won't include it when building with __CYGWIN__. - -2000-05-11 Frank Warmerdam - - * README: update to mention www.libtiff.org, don't list Sam's old - email address. - - * configure: Fixed DSO test for Linux as per patch from - Jan Van Buggenhout . - -2000-04-21 Frank Warmerdam - - * libtiff/tif_dirread.c: Don't use estimate strip byte count for - one tile/strip images with an offset, and byte count of zero. These - could be "unpopulated" images. - -2000-04-18 Frank Warmerdam - - * contrib/addtiffo: Added "averaging" resampling option. - - * tools/tiffsplit.c: Copy TIFFTAG_SAMPLEFORMAT. - -Tue Apr 18 16:18:08 2000 Frank Warmerdam - - * tools/Makefile.in: Modified to install properly on SGI. - -2000-04-12 Mike Welles - * configure: Fixed stupid mistake in libc6 test on Linux - -2000-04-04 Mike Welles - * tif_win32.c: Applied patch to fix overreads and ovverwrites - caught by BoundsChecker. From Arvan Pritchard - (untested). - - * tif_getimage.c: Applied patch to silence VC6 warnings. From - Arvan Pritchard - - * tif_lzw.c: Applied patch to silence VC6 warnings. From - Arvan Pritchard - -2000-03-28 Frank Warmerdam - - * Added contrib/stream (stream io) code submitted by Avi Bleiweiss. - -2000-03-28 Frank Warmerdam *** 3.5.5 release *** - - * fax2ps: Fixed mixup of width and height in bounding box statement - as per submission by Nalin Dahyabhai . - -2000-03-27 Mike Welles - - * fax2ps: Modified printruns to take uint32 instead of uint16. - Patch courtesy of Bernt Herd - -2000-03-20 Mike Welles - - * configure: added test for libc6 for linux targets. Bug reported by - Stanislav Brabec - - * Added 3.5 docs to html/Makefile.in. - Thanks to Stanislav Brabec - - * configure: fixed bugs in sed scripts - (applied sed script s:/@:s;@:;s:/s;;:;: to configure). - fix submitted to Stanislav Brabec - - * tools/iptcutil was not in files list, and wasn't being - added to tar archive. Updated Makefile.in. - -2000-03-17 Frank Warmerdam - - * tif_fax3.c: Fixed serious bug introduced during the uint16->uint32 - conversion for the run arrays. - -2000-03-03 Frank Warmerdam - - * Set td_sampleformat default to SAMPLEFORMAT_UINT instead of - SAMPLEFORMAT_VOID in TIFFDefaultDirectory() in tif_dir.c. - -2000-03-02 Frank Warmerdam - - * Added "GetDefaulted" support for TIFFTAG_SAMPLEFORMAT in tif_aux.c. - - * Patched tif_fax3.c so that dsp->runs is allocated a bit bigger - to avoid overruns encountered with frle_bug.tif. - -Tue Feb 15 22:01:05 2000 Frank Warmerdam - - * Fixed tools/tiffcmp so that stopondiff testing works. - Patch care of Joseph Orost . - -2000-01-28 - - * Modified tif_unix.c to support 2-4GB seeks if USE_64BIT_API is - set to 1, and added default (off) setting in tiffconf.h. This - should eventually be set by the configure script somehow. - - The original work on all these 2-4GB changes was done by - Peter Smith (psmith@creo.com). - - * Modified tif_win32.c to support 2-4GB seeks. - - * tentatively changed toff_t to be unsigned instead of signed to - facilitate support for 2-4GB files. - - * Updated a variety of files to use toff_t. Fixed some mixups - between toff_t and tsize_t. - -Fri Jan 28 10:13:49 2000 Frank Warmerdam - - * Largely reimplemented contrib/addtiffo to avoid temp files, - updating the TIFF file in place. Fixed a few other bugs to. - - * Set tif_rawdatasize to zero when freeing raw data buffer in - TIFFWriteDirectory(). - - * Enabled "REWRITE_HACK" in tif_write.c by default. - - * Fix bug in tif_write.c when switching between reading one directory - and writing to another. - - * Made TIFFWriteCheck() public, and added TIFFCreateDirectory() - -Wed Jan 5 12:37:48 2000 Frank Warmerdam - - * Added TIFFmemory(3t) functions to libtiff.def. - -Tue Jan 4 13:39:00 2000 Frank Warmerdam - - * Added libtiff/libtiff.def to TIFFILES distribution list. - -Mon Dec 27 12:13:39 EST 1999 Mike Welles - - * Created lzw compression kit, as a new module (libtiff-lzw-compression-kit). - - * Altered descriptions in tools to reflect "by default" lzw not supported - - * Updated index.html to note lzw compression kit. - -Tue Dec 21 14:01:51 1999 Frank Warmerdam - - * Added fax3sm_winnt.c to distribution list in Makefile.in. - -Tue Dec 21 11:04:45 EST 1999 Mike Welles *** 3.5.4 release *** - - * Aadded Pixar tag support. Contributed by Phil Beffery - - * Made one more change to tif_dir.c for removal of LZW compression. Also added notice - when LZW compression invoked. - - * Changed default compression in tools to TIFF_PACKBITS, and changed usage descriptions - in tools to reflect removal of LZW compression - -Mon Dec 20 18:39:02 EST 1999 Mike Welles - - * Fixed bug that caused LZW (non) compression to segfault. Added - warning about LZW compression removed being removed, and why. - - * Added nostrip to install in tools/Makefile.in so that debugging - symbols are kept. - -Tue Dec 7 12:04:47 EST 1999 Mike Welles - - * Added patch from Ivo Penzar , - supporting Adobe ZIP deflate. Untested. - -Sat Dec 4 15:47:11 1999 Frank Warmerdam - - * Made Packbits the default compression in tools/tiff2rgba.c instead - of LZW. - -Tue Nov 30 14:41:43 1999 Frank Warmerdam *** 3.5.3. release *** - - * Added tif_luv to contrib/djgpp/Makefile.lib. - -Tue Nov 30 14:15:32 EST 1999 Mike Welles - - * Added zip creation to relase makefile target - - * Added html for TIFFWriteTile.3t man page. - -Tue Nov 30 09:20:16 1999 Frank Warmerdam - - * Added some changes to tif_write.c to support rewriting existing - fixed sized tiles and strips. Code mods disabled by default, only - enabled if REWRITE_HACK is defined for now. - -Mon Nov 29 11:43:42 1999 Frank Warmerdam - - * Added TIFFWriteTile.3t man page. - -Sun Nov 28 20:36:18 1999 Frank Warmerdam - - * Added notes on use of makefile.vc in build.html, and fixed - email subscription address. - -199-11-28 Mike Welles - - * Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c - - * Did some casts cleaning up to reduce compiler warnings in tif_fax3.c, - from Bruce Carmeron -- modifications of - changes made by Frank (sun cc still complained on cast). - - * Added tiffconf.h to install target per request from Bill - Radcliffe : "We need a way for ImageMagick to - know features have been compiled into the TIFF library in order to - handle things properly". - -Sat Nov 27 16:49:21 1999 Frank Warmerdam - - * fixed various VC++ warnings as suggested by Gilles Vollant - . - -Wed Nov 24 12:08:16 1999 Frank Warmerdam - - * Modified TIFFquery.3t man pages info on TIFFIsByteSwapped() to - not imply applications are responsible for image data swapping. - -1999-11-22 Mike Welles - * HTML-ized the man pages, added to html/man - - * Removed LZW Compression to comply with Unisys patent extortion. - -1999-09-29 Mike Welles - * Corrected one remaining 16 -> 32 bit value in tif_fax3.c, - From Ivo Penzar - -1999-09-26 Mike Welles *** 3.5.2 release *** - * Corrected alpha versioning. - - * Removed distinction between alpha and release targets in Makefile.in. - - * added release.stamp target, which tags cvs tree, and updates - "RELEASE-DATE" - - * added releasediff target, which diffs tree with source as of - date in "RELEASE-DATE" - - * Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving - away from alpha/non-alpha distinctions). - - * updated html to reflect release - -1999-09-23 - - * Set O_BINARY for tif_unix.c open() ... used on cygwin for instance. - - * Added CYGWIN case in configure. - -Fri Sep 17 00:13:51 CEST 1999 Mike Welles - - * Applied Francois Dagand's patch to handle fax decompression bug. - (sizes >= 65536 were failing) - -Tue Sep 14 21:31:43 1999 Frank Warmerdam - - * Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested - by Christopher Lawton - -Wed Sep 8 08:19:18 1999 Frank Warmerdam - - * Added IRIX/gcc, and OSF/1 4.x support on behalf of - Albert Chin-A-Young - - * Added TIFFReassignTagToIgnore() API on behalf of - Bruce Cameron . Man page still pending. - -Wed Aug 25 11:39:07 1999 Frank Warmerdam - - * Added test target in Makefile, test_pics.sh script and pics/*.rpt - files to provide for a rudimentary testsuite. - - * Added contrib/tags back from old distribution ... fixed up a bit. - -1999-08-16 - - * Added simple makefile.vc makefiles for building with MS VC++ - on Windows NT/98/95 in console mode. Stuff in contrib/win* make give - better solutions for some users. - -Mon Aug 16 21:52:11 1999 Frank Warmerdam - - * Added addtiffo (add overviews to a TIFF file) in contrib. Didn't - put it in tools since part of it is in C++. - -1999-08-16 Michael L. Welles - - * Updated html/index.html with anon CVS instructions. - -Mon Aug 16 13:18:41 1999 Frank Warmerdam - - * pre-remove so link before softlink in LINUXdso action in - libtiff/Makefile.in to avoid failure on LINUXdso builds other than - the first. - - * Fixed problem with cvtcmap() in tif_getimage.c modifying the - colormaps owned by the TIFF handle itself when trying to fixup wrong - (eight bit) colormaps. Corrected by maintaining a private copy of - the colormap. - - * Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in - tif_getimage.c. - - * CVS Repository placed at remotesensing.org. ChangeLog added. diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/README b/gtk+-mingw/share/doc/tiff-4.0.2/README deleted file mode 100644 index 5f30f4e..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/README +++ /dev/null @@ -1,61 +0,0 @@ -$Header: /cvs/maptools/cvsroot/libtiff/README,v 1.7 2012-02-18 21:53:27 bfriesen Exp $ - - -TIFF Software Distribution --------------------------- -This file is just a placeholder; all the documentation is now in -HTML in the html directory. To view the documentation point your -favorite WWW viewer at html/index.html; - -e.g. - - firefox html/index.html - -If you don't have an HTML viewer then you can read the HTML source -or fetch a PostScript version of this documentation from the directory - - ftp://ftp.remotesensing.org/pub/libtiff/ - -If you can't hack either of these options then basically what you -want to do is: - - % ./configure - % make - % su - # make install - -More information, email contacts, and mailing list information can be -found online at http://www.remotesensing.org/libtiff/. - - -Use and Copyright ------------------ -Silicon Graphics has seen fit to allow us to give this work away. It -is free. There is no support or guarantee of any sort as to its -operations, correctness, or whatever. If you do anything useful with -all or parts of it you need to honor the copyright notices. I would -also be interested in knowing about it and, hopefully, be acknowledged. - -The legal way of saying that is: - -Copyright (c) 1988-1997 Sam Leffler -Copyright (c) 1991-1997 Silicon Graphics, Inc. - -Permission to use, copy, modify, distribute, and sell this software and -its documentation for any purpose is hereby granted without fee, provided -that (i) the above copyright notices and this permission notice appear in -all copies of the software and related documentation, and (ii) the names of -Sam Leffler and Silicon Graphics may not be used in any advertising or -publicity relating to the software without the specific, prior written -permission of Sam Leffler and Silicon Graphics. - -THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, -EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY -WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR -ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF -LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE -OF THIS SOFTWARE. diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/README.vms b/gtk+-mingw/share/doc/tiff-4.0.2/README.vms deleted file mode 100644 index 44d9663..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/README.vms +++ /dev/null @@ -1,12 +0,0 @@ -Dear OpenVMS user -to make this library, execute -$@CONFIGURE -$@BUILD - -Build process should be error and warning free. When process will be finished, -LIBTIFF$STRATUP.COM file containing all required definitions, will be created. -Please call it from system startup procedure or individual user procedure LOGIN.COM -To link software with libtiff, use TIFF:LIBTIFF.OPT - -best regards, -Alexey Chupahin, elvis_75@mail.ru diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/RELEASE-DATE b/gtk+-mingw/share/doc/tiff-4.0.2/RELEASE-DATE deleted file mode 100644 index d32f715..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/RELEASE-DATE +++ /dev/null @@ -1 +0,0 @@ -20120615 diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/TODO b/gtk+-mingw/share/doc/tiff-4.0.2/TODO deleted file mode 100644 index 121d93d..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/TODO +++ /dev/null @@ -1,12 +0,0 @@ -# $Header: /cvs/maptools/cvsroot/libtiff/TODO,v 1.6 2002-10-10 05:28:43 warmerda Exp $ - -o gif2tiff segaulting on selected images -o tiffcmp read data by strip/tile instead of scanline -o YCbCr sampling support -o extracate colorspace conversion support -o look at isolating all codecs from TIFF library -o JPEG colormode order dependency problem -o Write documentation on how do extend tags, and how the custom field - stuff all works. - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/VERSION b/gtk+-mingw/share/doc/tiff-4.0.2/VERSION deleted file mode 100644 index 4d54dad..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/VERSION +++ /dev/null @@ -1 +0,0 @@ -4.0.2 diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/TIFFTechNote2.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/TIFFTechNote2.html deleted file mode 100644 index 92bace4..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/TIFFTechNote2.html +++ /dev/null @@ -1,707 +0,0 @@ -
    -DRAFT TIFF Technical Note #2				17-Mar-95
    -============================
    -
    -This Technical Note describes serious problems that have been found in
    -TIFF 6.0's design for embedding JPEG-compressed data in TIFF (Section 22
    -of the TIFF 6.0 spec of 3 June 1992).  A replacement TIFF/JPEG
    -specification is given.  Some corrections to Section 21 are also given.
    -
    -To permit TIFF implementations to continue to read existing files, the 6.0
    -JPEG fields and tag values will remain reserved indefinitely.  However,
    -TIFF writers are strongly discouraged from using the 6.0 JPEG design.  It
    -is expected that the next full release of the TIFF specification will not
    -describe the old design at all, except to note that certain tag numbers
    -are reserved.  The existing Section 22 will be replaced by the
    -specification text given in the second part of this Tech Note.
    -
    -
    -Problems in TIFF 6.0 JPEG
    -=========================
    -
    -Abandoning a published spec is not a step to be taken lightly.  This
    -section summarizes the reasons that have forced this decision.
    -TIFF 6.0's JPEG design suffers from design errors and limitations,
    -ambiguities, and unnecessary complexity.
    -
    -
    -Design errors and limitations
    ------------------------------
    -
    -The fundamental design error in the existing Section 22 is that JPEG's
    -various tables and parameters are broken out as separate fields which the
    -TIFF control logic must manage.  This is bad software engineering: that
    -information should be treated as private to the JPEG codec
    -(compressor/decompressor).  Worse, the fields themselves are specified
    -without sufficient thought for future extension and without regard to
    -well-established TIFF conventions.  Here are some of the significant
    -problems:
    -
    -* The JPEGxxTable fields do not store the table data directly in the
    -IFD/field structure; rather, the fields hold pointers to information
    -elsewhere in the file.  This requires special-purpose code to be added to
    -*every* TIFF-manipulating application, whether it needs to decode JPEG
    -image data or not.  Even a trivial TIFF editor, for example a program to
    -add an ImageDescription field to a TIFF file, must be explicitly aware of
    -the internal structure of the JPEG-related tables, or else it will probably
    -break the file.  Every other auxiliary field in the TIFF spec contains
    -data, not pointers, and can be copied or relocated by standard code that
    -doesn't know anything about the particular field.  This is a crucial
    -property of the TIFF format that must not be given up.
    -
    -* To manipulate these fields, the TIFF control logic is required to know a
    -great deal about JPEG details, for example such arcana as how to compute
    -the length of a Huffman code table --- the length is not supplied in the
    -field structure and can only be found by inspecting the table contents.
    -This is again a violation of good software practice.  Moreover, it will
    -prevent easy adoption of future JPEG extensions that might change these
    -low-level details.
    -
    -* The design neglects the fact that baseline JPEG codecs support only two
    -sets of Huffman tables: it specifies a separate table for each color
    -component.  This implies that encoders must waste space (by storing
    -duplicate Huffman tables) or else violate the well-founded TIFF convention
    -that prohibits duplicate pointers.  Furthermore, baseline decoders must
    -test to find out which tables are identical, a waste of time and code
    -space.
    -
    -* The JPEGInterchangeFormat field also violates TIFF's proscription against
    -duplicate pointers: the normal strip/tile pointers are expected to point
    -into the larger data area pointed to by JPEGInterchangeFormat.  All TIFF
    -editing applications must be specifically aware of this relationship, since
    -they must maintain it or else delete the JPEGInterchangeFormat field.  The
    -JPEGxxTables fields are also likely to point into the JPEGInterchangeFormat
    -area, creating additional pointer relationships that must be maintained.
    -
    -* The JPEGQTables field is fixed at a byte per table entry; there is no
    -way to support 16-bit quantization values.  This is a serious impediment
    -to extending TIFF to use 12-bit JPEG.
    -
    -* The 6.0 design cannot support using different quantization tables in
    -different strips/tiles of an image (so as to encode some areas at higher
    -quality than others).  Furthermore, since quantization tables are tied
    -one-for-one to color components, the design cannot support table switching
    -options that are likely to be added in future JPEG revisions.
    -
    -
    -Ambiguities
    ------------
    -
    -Several incompatible interpretations are possible for 6.0's treatment of
    -JPEG restart markers:
    -
    -  * It is unclear whether restart markers must be omitted at TIFF segment
    -    (strip/tile) boundaries, or whether they are optional.
    -
    -  * It is unclear whether the segment size is required to be chosen as
    -    a multiple of the specified restart interval (if any); perhaps the
    -    JPEG codec is supposed to be reset at each segment boundary as if
    -    there were a restart marker there, even if the boundary does not fall
    -    at a multiple of the nominal restart interval.
    -
    -  * The spec fails to address the question of restart marker numbering:
    -    do the numbers begin again within each segment, or not?
    -
    -That last point is particularly nasty.  If we make numbering begin again
    -within each segment, we give up the ability to impose a TIFF strip/tile
    -structure on an existing JPEG datastream with restarts (which was clearly a
    -goal of Section 22's authors).  But the other choice interferes with random
    -access to the image segments: a reader must compute the first restart
    -number to be expected within a segment, and must have a way to reset its
    -JPEG decoder to expect a nonzero restart number first.  This may not even
    -be possible with some JPEG chips.
    -
    -The tile height restriction found on page 104 contradicts Section 15's
    -general description of tiles.  For an image that is not vertically
    -downsampled, page 104 specifies a tile height of one MCU or 8 pixels; but
    -Section 15 requires tiles to be a multiple of 16 pixels high.
    -
    -This Tech Note does not attempt to resolve these ambiguities, so
    -implementations that follow the 6.0 design should be aware that
    -inter-application compatibility problems are likely to arise.
    -
    -
    -Unnecessary complexity
    -----------------------
    -
    -The 6.0 design creates problems for implementations that need to keep the
    -JPEG codec separate from the TIFF control logic --- for example, consider
    -using a JPEG chip that was not designed specifically for TIFF.  JPEG codecs
    -generally want to produce or consume a standard ISO JPEG datastream, not
    -just raw compressed data.  (If they were to handle raw data, a separate
    -out-of-band mechanism would be needed to load tables into the codec.)
    -With such a codec, the TIFF control logic must parse JPEG markers emitted
    -by the codec to create the TIFF table fields (when writing) or synthesize
    -JPEG markers from the TIFF fields to feed the codec (when reading).  This
    -means that the control logic must know a great deal more about JPEG details
    -than we would like.  The parsing and reconstruction of the markers also
    -represents a fair amount of unnecessary work.
    -
    -Quite a few implementors have proposed writing "TIFF/JPEG" files in which
    -a standard JPEG datastream is simply dumped into the file and pointed to
    -by JPEGInterchangeFormat.  To avoid parsing the JPEG datastream, they
    -suggest not writing the JPEG auxiliary fields (JPEGxxTables etc) nor even
    -the basic TIFF strip/tile data pointers.  This approach is incompatible
    -with implementations that handle the full TIFF 6.0 JPEG design, since they
    -will expect to find strip/tile pointers and auxiliary fields.  Indeed this
    -is arguably not TIFF at all, since *all* TIFF-reading applications expect
    -to find strip or tile pointers.  A subset implementation that is not
    -upward-compatible with the full spec is clearly unacceptable.  However,
    -the frequency with which this idea has come up makes it clear that
    -implementors find the existing Section 22 too complex.
    -
    -
    -Overview of the solution
    -========================
    -
    -To solve these problems, we adopt a new design for embedding
    -JPEG-compressed data in TIFF files.  The new design uses only complete,
    -uninterpreted ISO JPEG datastreams, so it should be much more forgiving of
    -extensions to the ISO standard.  It should also be far easier to implement
    -using unmodified JPEG codecs.
    -
    -To reduce overhead in multi-segment TIFF files, we allow JPEG overhead
    -tables to be stored just once in a JPEGTables auxiliary field.  This
    -feature does not violate the integrity of the JPEG datastreams, because it
    -uses the notions of "tables-only datastreams" and "abbreviated image
    -datastreams" as defined by the ISO standard.
    -
    -To prevent confusion with the old design, the new design is given a new
    -Compression tag value, Compression=7.  Readers that need to handle
    -existing 6.0 JPEG files may read both old and new files, using whatever
    -interpretation of the 6.0 spec they did before.  Compression tag value 6
    -and the field tag numbers defined by 6.0 section 22 will remain reserved
    -indefinitely, even though detailed descriptions of them will be dropped
    -from future editions of the TIFF specification.
    -
    -
    -Replacement TIFF/JPEG specification
    -===================================
    -
    -[This section of the Tech Note is expected to replace Section 22 in the
    -next release of the TIFF specification.]
    -
    -This section describes TIFF compression scheme 7, a high-performance
    -compression method for continuous-tone images.
    -
    -Introduction
    -------------
    -
    -This TIFF compression method uses the international standard for image
    -compression ISO/IEC 10918-1, usually known as "JPEG" (after the original
    -name of the standards committee, Joint Photographic Experts Group).  JPEG
    -is a joint ISO/CCITT standard for compression of continuous-tone images.
    -
    -The JPEG committee decided that because of the broad scope of the standard,
    -no one algorithmic procedure was able to satisfy the requirements of all
    -applications.  Instead, the JPEG standard became a "toolkit" of multiple
    -algorithms and optional capabilities.  Individual applications may select
    -a subset of the JPEG standard that meets their requirements.
    -
    -The most important distinction among the JPEG processes is between lossy
    -and lossless compression.  Lossy compression methods provide high
    -compression but allow only approximate reconstruction of the original
    -image.  JPEG's lossy processes allow the encoder to trade off compressed
    -file size against reconstruction fidelity over a wide range.  Typically,
    -10:1 or more compression of full-color data can be obtained while keeping
    -the reconstructed image visually indistinguishable from the original.  Much
    -higher compression ratios are possible if a low-quality reconstructed image
    -is acceptable.  Lossless compression provides exact reconstruction of the
    -source data, but the achievable compression ratio is much lower than for
    -the lossy processes; JPEG's rather simple lossless process typically
    -achieves around 2:1 compression of full-color data.
    -
    -The most widely implemented JPEG subset is the "baseline" JPEG process.
    -This provides lossy compression of 8-bit-per-channel data.  Optional
    -extensions include 12-bit-per-channel data, arithmetic entropy coding for
    -better compression, and progressive/hierarchical representations.  The
    -lossless process is an independent algorithm that has little in
    -common with the lossy processes.
    -
    -It should be noted that the optional arithmetic-coding extension is subject
    -to several US and Japanese patents.  To avoid patent problems, use of
    -arithmetic coding processes in TIFF files intended for inter-application
    -interchange is discouraged.
    -
    -All of the JPEG processes are useful only for "continuous tone" data,
    -in which the difference between adjacent pixel values is usually small.
    -Low-bit-depth source data is not appropriate for JPEG compression, nor
    -are palette-color images good candidates.  The JPEG processes work well
    -on grayscale and full-color data.
    -
    -Describing the JPEG compression algorithms in sufficient detail to permit
    -implementation would require more space than we have here.  Instead, we
    -refer the reader to the References section.
    -
    -
    -What data is being compressed?
    -------------------------------
    -
    -In lossy JPEG compression, it is customary to convert color source data
    -to YCbCr and then downsample it before JPEG compression.  This gives
    -2:1 data compression with hardly any visible image degradation, and it
    -permits additional space savings within the JPEG compression step proper.
    -However, these steps are not considered part of the ISO JPEG standard.
    -The ISO standard is "color blind": it accepts data in any color space.
    -
    -For TIFF purposes, the JPEG compression tag is considered to represent the
    -ISO JPEG compression standard only.  The ISO standard is applied to the
    -same data that would be stored in the TIFF file if no compression were
    -used.  Therefore, if color conversion or downsampling are used, they must
    -be reflected in the regular TIFF fields; these steps are not considered to
    -be implicit in the JPEG compression tag value.  PhotometricInterpretation
    -and related fields shall describe the color space actually stored in the
    -file.  With the TIFF 6.0 field definitions, downsampling is permissible
    -only for YCbCr data, and it must correspond to the YCbCrSubSampling field.
    -(Note that the default value for this field is not 1,1; so the default for
    -YCbCr is to apply downsampling!)  It is likely that future versions of TIFF
    -will provide additional PhotometricInterpretation values and a more general
    -way of defining subsampling, so as to allow more flexibility in
    -JPEG-compressed files.  But that issue is not addressed in this Tech Note.
    -
    -Implementors should note that many popular JPEG codecs
    -(compressor/decompressors) provide automatic color conversion and
    -downsampling, so that the application may supply full-size RGB data which
    -is nonetheless converted to downsampled YCbCr.  This is an implementation
    -convenience which does not excuse the TIFF control layer from its
    -responsibility to know what is really going on.  The
    -PhotometricInterpretation and subsampling fields written to the file must
    -describe what is actually in the file.
    -
    -A JPEG-compressed TIFF file will typically have PhotometricInterpretation =
    -YCbCr and YCbCrSubSampling = [2,1] or [2,2], unless the source data was
    -grayscale or CMYK.
    -
    -
    -Basic representation of JPEG-compressed images
    -----------------------------------------------
    -
    -JPEG compression works in either strip-based or tile-based TIFF files.
    -Rather than repeating "strip or tile" constantly, we will use the term
    -"segment" to mean either a strip or a tile.
    -
    -When the Compression field has the value 7, each image segment contains
    -a complete JPEG datastream which is valid according to the ISO JPEG
    -standard (ISO/IEC 10918-1).  Any sequential JPEG process can be used,
    -including lossless JPEG, but progressive and hierarchical processes are not
    -supported.  Since JPEG is useful only for continuous-tone images, the
    -PhotometricInterpretation of the image shall not be 3 (palette color) nor
    -4 (transparency mask).  The bit depth of the data is also restricted as
    -specified below.
    -
    -Each image segment in a JPEG-compressed TIFF file shall contain a valid
    -JPEG datastream according to the ISO JPEG standard's rules for
    -interchange-format or abbreviated-image-format data.  The datastream shall
    -contain a single JPEG frame storing that segment of the image.  The
    -required JPEG markers within a segment are:
    -	SOI	(must appear at very beginning of segment)
    -	SOFn
    -	SOS	(one for each scan, if there is more than one scan)
    -	EOI	(must appear at very end of segment)
    -The actual compressed data follows SOS; it may contain RSTn markers if DRI
    -is used.
    -
    -Additional JPEG "tables and miscellaneous" markers may appear between SOI
    -and SOFn, between SOFn and SOS, and before each subsequent SOS if there is
    -more than one scan.  These markers include:
    -	DQT
    -	DHT
    -	DAC	(not to appear unless arithmetic coding is used)
    -	DRI
    -	APPn	(shall be ignored by TIFF readers)
    -	COM	(shall be ignored by TIFF readers)
    -DNL markers shall not be used in TIFF files.  Readers should abort if any
    -other marker type is found, especially the JPEG reserved markers;
    -occurrence of such a marker is likely to indicate a JPEG extension.
    -
    -The tables/miscellaneous markers may appear in any order.  Readers are
    -cautioned that although the SOFn marker refers to DQT tables, JPEG does not
    -require those tables to precede the SOFn, only the SOS.  Missing-table
    -checks should be made when SOS is reached.
    -
    -If no JPEGTables field is used, then each image segment shall be a complete
    -JPEG interchange datastream.  Each segment must define all the tables it
    -references.  To allow readers to decode segments in any order, no segment
    -may rely on tables being carried over from a previous segment.
    -
    -When a JPEGTables field is used, image segments may omit tables that have
    -been specified in the JPEGTables field.  Further details appear below.
    -
    -The SOFn marker shall be of type SOF0 for strict baseline JPEG data, of
    -type SOF1 for non-baseline lossy JPEG data, or of type SOF3 for lossless
    -JPEG data.  (SOF9 or SOF11 would be used for arithmetic coding.)  All
    -segments of a JPEG-compressed TIFF image shall use the same JPEG
    -compression process, in particular the same SOFn type.
    -
    -The data precision field of the SOFn marker shall agree with the TIFF
    -BitsPerSample field.  (Note that when PlanarConfiguration=1, this implies
    -that all components must have the same BitsPerSample value; when
    -PlanarConfiguration=2, different components could have different bit
    -depths.)  For SOF0 only precision 8 is permitted; for SOF1, precision 8 or
    -12 is permitted; for SOF3, precisions 2 to 16 are permitted.
    -
    -The image dimensions given in the SOFn marker shall agree with the logical
    -dimensions of that particular strip or tile.  For strip images, the SOFn
    -image width shall equal ImageWidth and the height shall equal RowsPerStrip,
    -except in the last strip; its SOFn height shall equal the number of rows
    -remaining in the ImageLength.  (In other words, no padding data is counted
    -in the SOFn dimensions.)  For tile images, each SOFn shall have width
    -TileWidth and height TileHeight; adding and removing any padding needed in
    -the edge tiles is the concern of some higher level of the TIFF software.
    -(The dimensional rules are slightly different when PlanarConfiguration=2,
    -as described below.)
    -
    -The ISO JPEG standard only permits images up to 65535 pixels in width or
    -height, due to 2-byte fields in the SOFn markers.  In TIFF, this limits
    -the size of an individual JPEG-compressed strip or tile, but the total
    -image size can be greater.
    -
    -The number of components in the JPEG datastream shall equal SamplesPerPixel
    -for PlanarConfiguration=1, and shall be 1 for PlanarConfiguration=2.  The
    -components shall be stored in the same order as they are described at the
    -TIFF field level.  (This applies both to their order in the SOFn marker,
    -and to the order in which they are scanned if multiple JPEG scans are
    -used.)  The component ID bytes are arbitrary so long as each component
    -within an image segment is given a distinct ID.  To avoid any possible
    -confusion, we require that all segments of a TIFF image use the same ID
    -code for a given component.
    -
    -In PlanarConfiguration 1, the sampling factors given in SOFn markers shall
    -agree with the sampling factors defined by the related TIFF fields (or with
    -the default values that are specified in the absence of those fields).
    -
    -When DCT-based JPEG is used in a strip TIFF file, RowsPerStrip is required
    -to be a multiple of 8 times the largest vertical sampling factor, i.e., a
    -multiple of the height of an interleaved MCU.  (For simplicity of
    -specification, we require this even if the data is not actually
    -interleaved.)  For example, if YCbCrSubSampling = [2,2] then RowsPerStrip
    -must be a multiple of 16.  An exception to this rule is made for
    -single-strip images (RowsPerStrip >= ImageLength): the exact value of
    -RowsPerStrip is unimportant in that case.  This rule ensures that no data
    -padding is needed at the bottom of a strip, except perhaps the last strip.
    -Any padding required at the right edge of the image, or at the bottom of
    -the last strip, is expected to occur internally to the JPEG codec.
    -
    -When DCT-based JPEG is used in a tiled TIFF file, TileLength is required
    -to be a multiple of 8 times the largest vertical sampling factor, i.e.,
    -a multiple of the height of an interleaved MCU; and TileWidth is required
    -to be a multiple of 8 times the largest horizontal sampling factor, i.e.,
    -a multiple of the width of an interleaved MCU.  (For simplicity of
    -specification, we require this even if the data is not actually
    -interleaved.)  All edge padding required will therefore occur in the course
    -of normal TIFF tile padding; it is not special to JPEG.
    -
    -Lossless JPEG does not impose these constraints on strip and tile sizes,
    -since it is not DCT-based.
    -
    -Note that within JPEG datastreams, multibyte values appear in the MSB-first
    -order specified by the JPEG standard, regardless of the byte ordering of
    -the surrounding TIFF file.
    -
    -
    -JPEGTables field
    -----------------
    -
    -The only auxiliary TIFF field added for Compression=7 is the optional
    -JPEGTables field.  The purpose of JPEGTables is to predefine JPEG
    -quantization and/or Huffman tables for subsequent use by JPEG image
    -segments.  When this is done, these rather bulky tables need not be
    -duplicated in each segment, thus saving space and processing time.
    -JPEGTables may be used even in a single-segment file, although there is no
    -space savings in that case.
    -
    -JPEGTables:
    -	Tag = 347 (15B.H)
    -	Type = UNDEFINED
    -	N = number of bytes in tables datastream, typically a few hundred
    -JPEGTables provides default JPEG quantization and/or Huffman tables which
    -are used whenever a segment datastream does not contain its own tables, as
    -specified below.
    -
    -Notice that the JPEGTables field is required to have type code UNDEFINED,
    -not type code BYTE.  This is to cue readers that expanding individual bytes
    -to short or long integers is not appropriate.  A TIFF reader will generally
    -need to store the field value as an uninterpreted byte sequence until it is
    -fed to the JPEG decoder.
    -
    -Multibyte quantities within the tables follow the ISO JPEG convention of
    -MSB-first storage, regardless of the byte ordering of the surrounding TIFF
    -file.
    -
    -When the JPEGTables field is present, it shall contain a valid JPEG
    -"abbreviated table specification" datastream.  This datastream shall begin
    -with SOI and end with EOI.  It may contain zero or more JPEG "tables and
    -miscellaneous" markers, namely:
    -	DQT
    -	DHT
    -	DAC	(not to appear unless arithmetic coding is used)
    -	DRI
    -	APPn	(shall be ignored by TIFF readers)
    -	COM	(shall be ignored by TIFF readers)
    -Since JPEG defines the SOI marker to reset the DAC and DRI state, these two
    -markers' values cannot be carried over into any image datastream, and thus
    -they are effectively no-ops in the JPEGTables field.  To avoid confusion,
    -it is recommended that writers not place DAC or DRI markers in JPEGTables.
    -However readers must properly skip over them if they appear.
    -
    -When JPEGTables is present, readers shall load the table specifications
    -contained in JPEGTables before processing image segment datastreams.
    -Image segments may simply refer to these preloaded tables without defining
    -them.  An image segment can still define and use its own tables, subject to
    -the restrictions below.
    -
    -An image segment may not redefine any table defined in JPEGTables.  (This
    -restriction is imposed to allow readers to process image segments in random
    -order without having to reload JPEGTables between segments.)  Therefore, use
    -of JPEGTables divides the available table slots into two groups: "global"
    -slots are defined in JPEGTables and may be used but not redefined by
    -segments; "local" slots are available for local definition and use in each
    -segment.  To permit random access, a segment may not reference any local
    -tables that it does not itself define.
    -
    -
    -Special considerations for PlanarConfiguration 2
    -------------------------------------------------
    -
    -In PlanarConfiguration 2, each image segment contains data for only one
    -color component.  To avoid confusing the JPEG codec, we wish the segments
    -to look like valid single-channel (i.e., grayscale) JPEG datastreams.  This
    -means that different rules must be used for the SOFn parameters.
    -
    -In PlanarConfiguration 2, the dimensions given in the SOFn of a subsampled
    -component shall be scaled down by the sampling factors compared to the SOFn
    -dimensions that would be used in PlanarConfiguration 1.  This is necessary
    -to match the actual number of samples stored in that segment, so that the
    -JPEG codec doesn't complain about too much or too little data.  In strip
    -TIFF files the computed dimensions may need to be rounded up to the next
    -integer; in tiled files, the restrictions on tile size make this case
    -impossible.
    -
    -Furthermore, all SOFn sampling factors shall be given as 1.  (This is
    -merely to avoid confusion, since the sampling factors in a single-channel
    -JPEG datastream have no real effect.)
    -
    -Any downsampling will need to happen externally to the JPEG codec, since
    -JPEG sampling factors are defined with reference to the full-precision
    -component.  In PlanarConfiguration 2, the JPEG codec will be working on
    -only one component at a time and thus will have no reference component to
    -downsample against.
    -
    -
    -Minimum requirements for TIFF/JPEG
    -----------------------------------
    -
    -ISO JPEG is a large and complex standard; most implementations support only
    -a subset of it.  Here we define a "core" subset of TIFF/JPEG which readers
    -must support to claim TIFF/JPEG compatibility.  For maximum
    -cross-application compatibility, we recommend that writers confine
    -themselves to this subset unless there is very good reason to do otherwise.
    -
    -Use the ISO baseline JPEG process: 8-bit data precision, Huffman coding,
    -with no more than 2 DC and 2 AC Huffman tables.  Note that this implies
    -BitsPerSample = 8 for each component.  We recommend deviating from baseline
    -JPEG only if 12-bit data precision or lossless coding is required.
    -
    -Use no subsampling (all JPEG sampling factors = 1) for color spaces other
    -than YCbCr.  (This is, in fact, required with the TIFF 6.0 field
    -definitions, but may not be so in future revisions.)  For YCbCr, use one of
    -the following choices:
    -	YCbCrSubSampling field		JPEG sampling factors
    -	1,1				1h1v, 1h1v, 1h1v
    -	2,1				2h1v, 1h1v, 1h1v
    -	2,2  (default value)		2h2v, 1h1v, 1h1v
    -We recommend that RGB source data be converted to YCbCr for best compression
    -results.  Other source data colorspaces should probably be left alone.
    -Minimal readers need not support JPEG images with colorspaces other than
    -YCbCr and grayscale (PhotometricInterpretation = 6 or 1).
    -
    -A minimal reader also need not support JPEG YCbCr images with nondefault
    -values of YCbCrCoefficients or YCbCrPositioning, nor with values of
    -ReferenceBlackWhite other than [0,255,128,255,128,255].  (These values
    -correspond to the RGB<=>YCbCr conversion specified by JFIF, which is widely
    -implemented in JPEG codecs.)
    -
    -Writers are reminded that a ReferenceBlackWhite field *must* be included
    -when PhotometricInterpretation is YCbCr, because the default
    -ReferenceBlackWhite values are inappropriate for YCbCr.
    -
    -If any subsampling is used, PlanarConfiguration=1 is preferred to avoid the
    -possibly-confusing requirements of PlanarConfiguration=2.  In any case,
    -readers are not required to support PlanarConfiguration=2.
    -
    -If possible, use a single interleaved scan in each image segment.  This is
    -not legal JPEG if there are more than 4 SamplesPerPixel or if the sampling
    -factors are such that more than 10 blocks would be needed per MCU; in that
    -case, use a separate scan for each component.  (The recommended color
    -spaces and sampling factors will not run into that restriction, so a
    -minimal reader need not support more than one scan per segment.)
    -
    -To claim TIFF/JPEG compatibility, readers shall support multiple-strip TIFF
    -files and the optional JPEGTables field; it is not acceptable to read only
    -single-datastream files.  Support for tiled TIFF files is strongly
    -recommended but not required.
    -
    -
    -Other recommendations for implementors
    ---------------------------------------
    -
    -The TIFF tag Compression=7 guarantees only that the compressed data is
    -represented as ISO JPEG datastreams.  Since JPEG is a large and evolving
    -standard, readers should apply careful error checking to the JPEG markers
    -to ensure that the compression process is within their capabilities.  In
    -particular, to avoid being confused by future extensions to the JPEG
    -standard, it is important to abort if unknown marker codes are seen.
    -
    -The point of requiring that all image segments use the same JPEG process is
    -to ensure that a reader need check only one segment to determine whether it
    -can handle the image.  For example, consider a TIFF reader that has access
    -to fast but restricted JPEG hardware, as well as a slower, more general
    -software implementation.  It is desirable to check only one image segment
    -to find out whether the fast hardware can be used.  Thus, writers should
    -try to ensure that all segments of an image look as much "alike" as
    -possible: there should be no variation in scan layout, use of options such
    -as DRI, etc.  Ideally, segments will be processed identically except
    -perhaps for using different local quantization or entropy-coding tables.
    -
    -Writers should avoid including "noise" JPEG markers (COM and APPn markers).
    -Standard TIFF fields provide a better way to transport any non-image data.
    -Some JPEG codecs may change behavior if they see an APPn marker they
    -think they understand; since the TIFF spec requires these markers to be
    -ignored, this behavior is undesirable.
    -
    -It is possible to convert an interchange-JPEG file (e.g., a JFIF file) to
    -TIFF simply by dropping the interchange datastream into a single strip.
    -(However, designers are reminded that the TIFF spec discourages huge
    -strips; splitting the image is somewhat more work but may give better
    -results.)  Conversion from TIFF to interchange JPEG is more complex.  A
    -strip-based TIFF/JPEG file can be converted fairly easily if all strips use
    -identical JPEG tables and no RSTn markers: just delete the overhead markers
    -and insert RSTn markers between strips.  Converting tiled images is harder,
    -since the data will usually not be in the right order (unless the tiles are
    -only one MCU high).  This can still be done losslessly, but it will require
    -undoing and redoing the entropy coding so that the DC coefficient
    -differences can be updated.
    -
    -There is no default value for JPEGTables: standard TIFF files must define all
    -tables that they reference.  For some closed systems in which many files will
    -have identical tables, it might make sense to define a default JPEGTables
    -value to avoid actually storing the tables.  Or even better, invent a
    -private field selecting one of N default JPEGTables settings, so as to allow
    -for future expansion.  Either of these must be regarded as a private
    -extension that will render the files unreadable by other applications.
    -
    -
    -References
    -----------
    -
    -[1] Wallace, Gregory K.  "The JPEG Still Picture Compression Standard",
    -Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44.
    -
    -This is the best short technical introduction to the JPEG algorithms.
    -It is a good overview but does not provide sufficiently detailed
    -information to write an implementation.
    -
    -[2] Pennebaker, William B. and Mitchell, Joan L.  "JPEG Still Image Data
    -Compression Standard", Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1.
    -638pp.
    -
    -This textbook is by far the most complete exposition of JPEG in existence.
    -It includes the full text of the ISO JPEG standards (DIS 10918-1 and draft
    -DIS 10918-2).  No would-be JPEG implementor should be without it.
    -
    -[3] ISO/IEC IS 10918-1, "Digital Compression and Coding of Continuous-tone
    -Still Images, Part 1: Requirements and guidelines", February 1994.
    -ISO/IEC DIS 10918-2, "Digital Compression and Coding of Continuous-tone
    -Still Images, Part 2: Compliance testing", final approval expected 1994.
    -
    -These are the official standards documents.  Note that the Pennebaker and
    -Mitchell textbook is likely to be cheaper and more useful than the official
    -standards.
    -
    -
    -Changes to Section 21: YCbCr Images
    -===================================
    -
    -[This section of the Tech Note clarifies section 21 to make clear the
    -interpretation of image dimensions in a subsampled image.  Furthermore,
    -the section is changed to allow the original image dimensions not to be
    -multiples of the sampling factors.  This change is necessary to support use
    -of JPEG compression on odd-size images.]
    -
    -Add the following paragraphs to the Section 21 introduction (p. 89),
    -just after the paragraph beginning "When a Class Y image is subsampled":
    -
    -	In a subsampled image, it is understood that all TIFF image
    -	dimensions are measured in terms of the highest-resolution
    -	(luminance) component.  In particular, ImageWidth, ImageLength,
    -	RowsPerStrip, TileWidth, TileLength, XResolution, and YResolution
    -	are measured in luminance samples.
    -
    -	RowsPerStrip, TileWidth, and TileLength are constrained so that
    -	there are an integral number of samples of each component in a
    -	complete strip or tile.  However, ImageWidth/ImageLength are not
    -	constrained.  If an odd-size image is to be converted to subsampled
    -	format, the writer should pad the source data to a multiple of the
    -	sampling factors by replication of the last column and/or row, then
    -	downsample.  The number of luminance samples actually stored in the
    -	file will be a multiple of the sampling factors.  Conversely,
    -	readers must ignore any extra data (outside the specified image
    -	dimensions) after upsampling.
    -
    -	When PlanarConfiguration=2, each strip or tile covers the same
    -	image area despite subsampling; that is, the total number of strips
    -	or tiles in the image is the same for each component.  Therefore
    -	strips or tiles of the subsampled components contain fewer samples
    -	than strips or tiles of the luminance component.
    -
    -	If there are extra samples per pixel (see field ExtraSamples),
    -	these data channels have the same number of samples as the
    -	luminance component.
    -
    -Rewrite the YCbCrSubSampling field description (pp 91-92) as follows
    -(largely to eliminate possibly-misleading references to
    -ImageWidth/ImageLength of the subsampled components):
    -
    -	(first paragraph unchanged)
    -
    -	The two elements of this field are defined as follows:
    -
    -	Short 0: ChromaSubsampleHoriz:
    -
    -	1 = there are equal numbers of luma and chroma samples horizontally.
    -
    -	2 = there are twice as many luma samples as chroma samples
    -	horizontally.
    -
    -	4 = there are four times as many luma samples as chroma samples
    -	horizontally.
    -
    -	Short 1: ChromaSubsampleVert:
    -
    -	1 = there are equal numbers of luma and chroma samples vertically.
    -
    -	2 = there are twice as many luma samples as chroma samples
    -	vertically.
    -
    -	4 = there are four times as many luma samples as chroma samples
    -	vertically.
    -
    -	ChromaSubsampleVert shall always be less than or equal to
    -	ChromaSubsampleHoriz.  Note that Cb and Cr have the same sampling
    -	ratios.
    -
    -	In a strip TIFF file, RowsPerStrip is required to be an integer
    -	multiple of ChromaSubSampleVert (unless RowsPerStrip >=
    -	ImageLength, in which case its exact value is unimportant).
    -	If ImageWidth and ImageLength are not multiples of
    -	ChromaSubsampleHoriz and ChromaSubsampleVert respectively, then the
    -	source data shall be padded to the next integer multiple of these
    -	values before downsampling.
    -
    -	In a tiled TIFF file, TileWidth must be an integer multiple of
    -	ChromaSubsampleHoriz and TileLength must be an integer multiple of
    -	ChromaSubsampleVert.  Padding will occur to tile boundaries.
    -
    -	The default values of this field are [ 2,2 ].  Thus, YCbCr data is
    -	downsampled by default!
    -
    diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/addingtags.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/addingtags.html deleted file mode 100644 index 1eab963..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/addingtags.html +++ /dev/null @@ -1,292 +0,0 @@ - - - -Modifying The TIFF Library - - - - - -

    -Defining New TIFF Tags -

    - -Libtiff has built-in knowledge of all the standard TIFF tags, as -well as extentions. The following describes how to add knowledge of -new tags as builtins to libtiff, or how to application specific tags can -be used by applications without modifying libtiff. -

    - -

    TIFFFieldInfo

    - -How libtiff manages specific tags is primarily controlled by the -definition for that tag value stored internally as a TIFFFieldInfo structure. -This structure looks like this: -

    - -

    -typedef	struct {
    -  ttag_t    field_tag;          /* field's tag */
    -  short	    field_readcount;    /* read count/TIFF_VARIABLE/TIFF_SPP */
    -  short	    field_writecount;   /* write count/TIFF_VARIABLE */
    -  TIFFDataType field_type;      /* type of associated data */
    -  unsigned short field_bit;     /* bit in fieldsset bit vector */
    -  unsigned char field_oktochange;/* if true, can change while writing */
    -  unsigned char field_passcount;/* if true, pass dir count on set */
    -  char	*field_name;		/* ASCII name */
    -} TIFFFieldInfo;
    -
    - -
      -
    • field_tag: the tag number. For instance 277 for the -SamplesPerPixel tag. Builtin tags will generally have a #define in -tiff.h for each known tag.

      - -

    • field_readcount: The number of values which should be read. -The special value TIFF_VARIABLE (-1) indicates that a variable number of -values may be read. The special value TIFFTAG_SPP (-2) indicates that there -should be one value for each sample as defined by TIFFTAG_SAMPLESPERPIXEL. -The special value TIFF_VARIABLE2 (-3) is presumably similar to TIFF_VARIABLE -though I am not sure what the distinction in behaviour is. This field -is TIFF_VARIABLE for variable length ascii fields.

      - -

    • field_writecount: The number of values which should be written. -Generally the same as field_readcount. A few built-in exceptions exist, but -I haven't analysed why they differ.

      - -

    • field_type: Type of the field. One of TIFF_BYTE, TIFF_ASCII, -TIFF_SHORT, TIFF_LONG, TIFF_RATIONAL, TIFF_SBYTE, TIFF_UNDEFINED, -TIFF_SSHORT, TIFF_SLONG, TIFF_SRATIONAL, TIFF_FLOAT, TIFF_DOUBLE or -TIFF_IFD. Note that some fields can support more than one type (for -instance short and long). These fields should have multiple TIFFFieldInfos. -

      - -

    • field_bit: Built-in tags stored in special fields in the -TIFF structure have assigned field numbers to distinguish them (ie. -FIELD_SAMPLESPERPIXEL). New tags should generally just use -FIELD_CUSTOM indicating they are stored in the generic tag list.

      - -

    • field_oktochange: TRUE if it is OK to change this tag value -while an image is being written. FALSE for stuff that must be set once -and then left unchanged (like ImageWidth, or PhotometricInterpretation for -instance).

      - -

    • field_passcount: If TRUE, then the count value must be passed -in TIFFSetField(), and TIFFGetField(), otherwise the count is not required. -This should generally be TRUE for non-ascii variable count tags unless -the count is implicit (such as with the colormap).

      - -

    • field_name: A name for the tag. Normally mixed case (studly caps) -like "StripByteCounts" and relatively short.

      - -

    - -A TIFFFieldInfo definition exists for each built-in tag in the tif_dirinfo.c -file. Some tags which support multiple data types have more than one -definition, one per data type supported.

    - -Various functions exist for getting the internal TIFFFieldInfo definitions, -including _TIFFFindFieldInfo(), and _TIFFFindFieldInfoByName(). See -tif_dirinfo.c for details. There must be some mechanism to get the whole -list, though I don't see it off hand.

    - -

    Default Tag Auto-registration

    - -In libtiff 3.6.0 a new mechanism was introduced allowing libtiff to -read unrecognised tags automatically. When an unknown tags is encountered, -it is automatically internally defined with a default name and a type -derived from the tag value in the file. Applications only need to predefine -application specific tags if they need to be able to set them in a file, or -if particular calling conventions are desired for TIFFSetField() and -TIFFGetField().

    - -When tags are autodefined like this the field_readcount and -field_writecount values are always TIFF_VARIABLE. The -field_passcount is always TRUE, and the field_bit is -FIELD_CUSTOM. The field name will be "Tag %d" where the %d is the tag -number.

    - -

    Defining Application Tags

    - -For various reasons, it is common for applications to want to define -their own tags to store information outside the core TIFF specification. -This is done by calling TIFFMergeFieldInfo() with one or more TIFFFieldInfos. -

    - -The libgeotiff library provides geospatial information extentions within -a TIFF file. First, a set of TIFFFieldInfo's is prepared with information -on the new tags:

    - -

    -static const TIFFFieldInfo xtiffFieldInfo[] = {
    -  
    -  /* XXX Insert Your tags here */
    -    { TIFFTAG_GEOPIXELSCALE,	-1,-1, TIFF_DOUBLE,	FIELD_CUSTOM,
    -      TRUE,	TRUE,	"GeoPixelScale" },
    -    { TIFFTAG_GEOTRANSMATRIX,	-1,-1, TIFF_DOUBLE,	FIELD_CUSTOM,
    -      TRUE,	TRUE,	"GeoTransformationMatrix" },
    -    { TIFFTAG_GEOTIEPOINTS,	-1,-1, TIFF_DOUBLE,	FIELD_CUSTOM,
    -      TRUE,	TRUE,	"GeoTiePoints" },
    -    { TIFFTAG_GEOKEYDIRECTORY, -1,-1, TIFF_SHORT,	FIELD_CUSTOM,
    -      TRUE,	TRUE,	"GeoKeyDirectory" },
    -    { TIFFTAG_GEODOUBLEPARAMS,	-1,-1, TIFF_DOUBLE,	FIELD_CUSTOM,
    -      TRUE,	TRUE,	"GeoDoubleParams" },
    -    { TIFFTAG_GEOASCIIPARAMS,	-1,-1, TIFF_ASCII,	FIELD_CUSTOM,
    -      TRUE,	FALSE,	"GeoASCIIParams" }
    -};
    -
    - -In order to define the tags, we call TIFFMergeFieldInfo() on the -desired TIFF handle with the list of TIFFFieldInfos.

    - -

    -#define	N(a)	(sizeof (a) / sizeof (a[0]))
    -
    -    /* Install the extended Tag field info */
    -    TIFFMergeFieldInfo(tif, xtiffFieldInfo, N(xtiffFieldInfo));
    -
    - -The tags need to be defined for each TIFF file opened - and when reading -they should be defined before the tags of the file are read, yet a valid -TIFF * is needed to merge the tags against. In order to get them -registered at the appropriate part of the setup process, it is necessary -to register our merge function as an extender callback with libtiff. -This is done with TIFFSetTagExtender(). We also keep track of the -previous tag extender (if any) so that we can call it from our extender -allowing a chain of customizations to take effect.

    - -

    -static TIFFExtendProc _ParentExtender = NULL;
    -
    -static
    -void _XTIFFInitialize(void)
    -{
    -    static int first_time=1;
    -	
    -    if (! first_time) return; /* Been there. Done that. */
    -    first_time = 0;
    -	
    -    /* Grab the inherited method and install */
    -    _ParentExtender = TIFFSetTagExtender(_XTIFFDefaultDirectory);
    -}
    -
    - -The extender callback is looks like this. It merges in our new fields -and then calls the next extender if there is one in effect.

    - -

    -static void
    -_XTIFFDefaultDirectory(TIFF *tif)
    -{
    -    /* Install the extended Tag field info */
    -    TIFFMergeFieldInfo(tif, xtiffFieldInfo, N(xtiffFieldInfo));
    -
    -    /* Since an XTIFF client module may have overridden
    -     * the default directory method, we call it now to
    -     * allow it to set up the rest of its own methods.
    -     */
    -
    -    if (_ParentExtender) 
    -        (*_ParentExtender)(tif);
    -}
    -
    - -The above approach ensures that our new definitions are used when reading -or writing any TIFF file. However, since on reading we already have -default definitions for tags, it is usually not critical to pre-define them. -If tag definitions are only required for writing custom tags, you can just -call TIFFMergeFieldInfo() before setting new tags. The whole extender -architecture can then be avoided.

    - -

    Adding New Builtin Tags

    - -A similar approach is taken to the above. However, the TIFFFieldInfo -should be added to the tiffFieldInfo[] list in tif_dirinfo.c. Ensure that -new tags are added in sorted order by the tag number.

    - -Normally new built-in tags should be defined with FIELD_CUSTOM; however, if -it is desirable for the tag value to have it's own field in the TIFFDirectory -structure, then you will need to #define a new FIELD_ value for it, and -add appropriate handling as follows: - - -

      -
    1. Define the tag in tiff.h. -
    2. Add a field to the directory structure in tif_dir.h - and define a FIELD_* bit (also update the definition of - FIELD_CODEC to reflect your addition). -
    3. Add an entry in the TIFFFieldInfo array defined at the top of - tif_dirinfo.c. - Note that you must keep this array sorted by tag - number and that the widest variant entry for a tag should come - first (e.g. LONG before SHORT). -
    4. Add entries in _TIFFVSetField() and _TIFFVGetField() - for the new tag. -
    5. (optional) If the value associated with the tag is not a scalar value - (e.g. the array for TransferFunction) and requires - special processing, - then add the appropriate code to TIFFReadDirectory() and - TIFFWriteDirectory(). You're best off finding a similar tag and - cribbing code. -
    6. Add support to TIFFPrintDirectory() in tif_print.c - to print the tag's value. -
    - -

    -If you want to maintain portability, beware of making assumptions -about data types. Use the typedefs (uint16, etc. when dealing with -data on disk and t*_t when stuff is in memory) and be careful about -passing items through printf or similar vararg interfaces. - -

    Adding New Codec-private Tags

    - -To add tags that are meaningful only when a particular compression -algorithm is used follow these steps: - -
      -
    1. Define the tag in tiff.h. -
    2. Allocate storage for the tag values in the private state block of - the codec. -
    3. Insure the state block is created when the codec is initialized. -
    4. At TIFFInitfoo time override the method pointers in the - TIFF structure - for getting, setting and printing tag values. For example, -
      -    sp->vgetparent = tif->tif_vgetfield;
      -    tif->tif_vgetfield = fooVGetField;	/* hook for codec tags */
      -    sp->vsetparent = tif->tif_vsetfield;
      -    tif->tif_vsetfield = fooVSetField;	/* hook for codec tags */
      -    tif->tif_printdir = fooPrintDir;	/* hook for codec tags */
      -
      - (Actually you may decide not to override the - tif_printdir method, but rather just specify it). -
    5. Create a private TIFFFieldInfo array for your tags and - merge them into the core tags at initialization time using - _TIFFMergeFieldInfo; e.g. -
      -    _TIFFMergeFieldInfo(tif, fooFieldInfo, N(fooFieldInfo));
      -
      - (where N is a macro used liberaly throughout the distributed code). -
    6. Fill in the get and set routines. Be sure to call the parent method - for tags that you are not handled directly. Also be sure to set the - FIELD_* bits for tags that are to be written to the file. Note that - you can create ``pseudo-tags'' by defining tags that are processed - exclusively in the get/set routines and never written to file (see - the handling of TIFFTAG_FAXMODE in tif_fax3.c - for an example of this). -
    7. Fill in the print routine, if appropriate. -
    - -Note that space has been allocated in the FIELD_* bit space for -codec-private tags. Define your bits as FIELD_CODEC+<offset> to -keep them away from the core tags. If you need more tags than there -is room for, just increase FIELD_SETLONGS at the top of -tiffiop.h. - -
    - -Last updated: $Date: 2004-09-10 14:43:18 $ - - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/bugs.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/bugs.html deleted file mode 100644 index 345fca0..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/bugs.html +++ /dev/null @@ -1,63 +0,0 @@ - - -Bugs and the TIFF Mailing List - - - -

    - -Bugs, Bugzilla, and the TIFF Mailing List -

    - -

    -This software is free. Please let us know when you find a problem or -fix a bug. - -

    -Thanks to MapTools.org, libtiff now uses -bugzilla to track bugs. All bugs filed in the older bugzilla at -bugzilla.remotesensing.org (pre April 2008) have unfortunately been lost. -

    -If you think you've discovered a bug, please first check to see if it is -already known by looking at the list of already reported bugs. You can do so -by visiting the buglist at -http://bugzilla.maptools.org/buglist.cgi?product=libtiff. Also verify that -the problem is still reproducable with the current development software -from CVS. -

    -If you'd like to enter a new bug, you can do so at -http://bugzilla.maptools.org/enter_bug.cgi?product=libtiff. -

    -If you'd like to inform us about some kind of security issue that should not -be disclosed for a period of time, then you can contact maintainers directly. -Send a copies of your report to the following people: Frank Warmerdam -<warmerdam@pobox.com>, -Andrey Kiselev -<dron@ak4719.spb.edu>. -

    - -Of course, reporting bugs is no substitute for discussion. The -tiff@lists.maptools.org mailing -list is for users of this software, and discussion TIFF issues in general. -It is managed with the Mailman software, and the web interface for subscribing -and managing your access to the list is at:

    - - http://lists.maptools.org/mailman/listinfo/tiff

    - -Posts to the list are only accepted from members of the list in order -to limit the amount of spam propagated. Also, to be approved as a member -you will need to email the list administrator with a brief description of -why you are interested in TIFF so we can weed out spammers.

    - -A Long Term -Archive including recent messages, and most messages back to 1993, -with search capabilities is available, and -has been prepared and hosted by AWare -Systems.

    - - -


    - -Last updated: $Date: 2008-09-03 08:05:04 $ - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/build.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/build.html deleted file mode 100644 index ad8e189..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/build.html +++ /dev/null @@ -1,524 +0,0 @@ - - - - -Building the TIFF Software Distribution - - -

    Building the Software Distribution

    - -
    -This chapter contains step-by-step instructions on how to configure -and build the TIFF software distribution. The software is most -easily built on a UNIX system, but with a little bit of work it can -easily be built and used on other non-UNIX platforms. -
    - -

    Building on a UNIX System

    -To build the software on a UNIX system you need to first run the -configure shell script that is located in the top level of the -source directory. This script probes the target system for -necessary tools and functions and constructs a build environment in -which the software may be compiled. Once configuration is done, you -simply run make (or gmake) to build the software -and then make install to do the installation; for example: -
    -
    -hyla% cd ./tiff-4.0.0
    -hyla% ./configure
    -    ...lots of messages...
    -hyla% make
    -    ...lots of messages...
    -hyla% make check
    -    ...lots of messages...
    -hyla# make install
    -
    -Supplied makefiles are dependent on a make utility and a C -(and optionally a C++ compiler), so you will need these tools. -

    In general, the software is designed such that the following -should be ``make-able'' in each directory:

    -
    -
    -make [all]      build stuff
    -make check      run the test suite
    -make install    build&install stuff
    -make clean      remove .o files, executables and cruft
    -make distclean  remove everything, that can be recreated
    -
    -Note that after running "make distclean" the -configure script must be run again to create the Makefiles -and other make-related files. -
    -

    Build Trees

    -There are two schemes for configuring and building the software. If -you intend to build the software for only one target system, you -can configure the software so that it is built in the same -directories as the source code. -
    -
    -hyla% gzip -dc tiff-4.0.0.tar.gz | tar -xf -
    -hyla% cd ./tiff-4.0.0
    -hyla% ./configure
    -hyla% make
    -hyla% make check
    -hyla% make install
    -
    -

    Otherwise, you can configure a build tree that is parallel to -the source tree hierarchy (or in some completely different place) -but which contains only configured files and files created during -the build procedure.

    -
    -
    -hyla% gzip -dc tiff-4.0.0.tar.gz | tar -xf -
    -hyla% mkdir tiff-4.0.0-build
    -hyla% cd ./tiff-4.0.0-build
    -hyla% ../tiff-4.0.0/configure
    -hyla% make
    -hyla% make check
    -hyla% make install
    -
    -This second scheme is useful for: -
      -
    • building multiple targets from a single source tree
    • -
    • building from a read-only source tree (e.g. if you receive the -distribution on CD-ROM)
    • -
    • sharing the source files via a network, but building on -multiple systems
    • -
    - -
    -

    Configuration Options

    -The configuration process is critical to the proper compilation, -installation, and operation of the software. The configure script -runs a series of tests to decide whether or not the target system -supports required functionality and, if it does not, whether it can -emulate or workaround the missing functions. This procedure is -fairly complicated and, due to the nonstandard nature of most UNIX -systems, prone to error. The first time that you configure the -software for use you should check the output from the configure -script and look for anything that does not make sense for your -system. -

    A second function of the configure script is to set the default -configuration parameters for the software. Of particular note are -the directories where the software is to be installed. By default -the software is installed in the /usr/local hierarchy. To -change this behaviour the appropriate parameters can be specified -on the command line to configure. Run ./configure --help to -get a full list of possible options. Standard installation related -options are shown below.

    -
    -
    -Installation directories:
    -  --prefix=PREFIX         install architecture-independent files in PREFIX
    -                          [/usr/local]
    -  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
    -                          [PREFIX]
    -
    -By default, `make install' will install all the files in
    -`/usr/local/bin', `/usr/local/lib' etc.  You can specify
    -an installation prefix other than `/usr/local' using `--prefix',
    -for instance `--prefix=$HOME'.
    -
    -For better control, use the options below.
    -
    -Fine tuning of the installation directories:
    -  --bindir=DIR            user executables [EPREFIX/bin]
    -  --sbindir=DIR           system admin executables [EPREFIX/sbin]
    -  --libexecdir=DIR        program executables [EPREFIX/libexec]
    -  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
    -  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
    -  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
    -  --libdir=DIR            object code libraries [EPREFIX/lib]
    -  --includedir=DIR        C header files [PREFIX/include]
    -  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
    -  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
    -  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
    -  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
    -  --mandir=DIR            man documentation [DATAROOTDIR/man]
    -  --docdir=DIR            documentation root [DATAROOTDIR/doc/tiff]
    -  --htmldir=DIR           html documentation [DOCDIR]
    -
    -Program names:
    -  --program-prefix=PREFIX            prepend PREFIX to installed program names
    -  --program-suffix=SUFFIX            append SUFFIX to installed program names
    -  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
    -
    -
    - -
    -

    Configuring Optional Packages/Support

    -The TIFF software comes with several packages that are installed -only as needed, or only if specifically configured at the time the -configure script is run. Packages can be configured via the -configure script commandline parameters. -
    -
    Static/Shared Objects Support
    -
    --enable-shared[=PKGS]    build shared -libraries [default=yes]
    ---enable-static[=PKGS]    build static -libraries [default=yes]
    -

    These options control whether or not to configure the software -to build a shared and static binaries for the TIFF library. Use of -shared libraries can significantly reduce the disk space needed for -users of the TIFF software. If shared libarries are not used then -the code is statically linked into each application that uses it. -By default both types of binaries is configured.

    -

    ---enable-rpath             Enable -runtime linker paths (-R libtool option)

    -

    Add library directories (see other options below) to the TIFF -library run-time linker path.

    -

    --enable-ld-version-script  Enable linker version -script (default is disabled)

    -

    Add shared library symbol versioning on ELF-based systems (e.g. -Linux and FreeBSD) which use the GNU linker. This is needed if -several major versions of libtiff might be loaded at once into the -same program.

    -
    -
    JPEG Support
    -
    --disable-jpeg    disable IJG JPEG -library usage (required for JPEG compression, enabled by default) ---with-jpeg-include-dir=DIR    location of IJG -JPEG library headers ---with-jpeg-lib-dir=DIR    location of IJG JPEG -library binary)
    -
    The JPEG package enables support for the handling of -TIFF images with JPEG-encoded data. Support for JPEG-encoded data -requires the Independent JPEG Group (IJG) libjpeg -distribution; this software is available at http://www.ijg.org/. configure -script automatically tries to search for a working IJG JPEG -installation. If it fails to find library, JPEG support will be -automatically disabled.If you want specify the exact paths to -library binary and headers, use above switches for that.
    -
    ZIP Support
    -
    The ZIP support enables support for the handling of -TIFF images with deflate-encoded data. Support for deflate-encoded -data requires the freely available zlib distribution -written by Jean-loup Gailly and Mark Adler; this software is -available at http://www.zlib.org/. If ZIP support is -enabled the DIRS_LIBINC and DIR_GZLIB parameters -should also be set (see below). By default this package is not -configured.
    -
    - -
    - -

    Building the Software under Windows 95/98/NT/2000 with MS -VC++

    -With Microsoft Visual C++ installed, and properly configured for -commandline use (you will likely need to source VCVARS32.BAT in -AUTOEXEC.bAT or somewhere similar) you should be able to use the -provided makefile.vc. -

    The source package is delivered using Unix line termination -conventions, which work with MSVC but do not work with Windows -'notepad'. If you use unzip from the Info-Zip package, you -can extract the files using Windows normal line termination -conventions with a command similar to:

    -
    -  unzip -aa -a tiff-4.0.0.zip
    -
    -

    By default libtiff expects that a pre-built zlib and jpeg -library are provided by the user. If this is not the case, then you -may edit libtiff\tiffconf.h using a text editor (e.g. notepad) and -comment out the entries for JPEG_SUPPORT, PIXARLOG_SUPPORT, and -ZIP_SUPPORT. Ignore the comment at the top of the file which says -that it has no influence on the build, because the statement is not -true for Windows. However, by taking this approach, libtiff will -not be able to open some TIFF files.

    -

    To build using the provided makefile.vc you may use:

    -
    -  C:\tiff-4.0.0> nmake /f makefile.vc clean
    -  C:\tiff-4.0.0> nmake /f makefile.vc
    -
    -    or (the hard way)
    -
    -  C:\tiff-4.0.0> cd port
    -  C:\tiff-4.0.0\port> nmake /f makefile.vc clean
    -  C:\tiff-4.0.0\port> nmake /f makefile.vc
    -  C:\tiff-4.0.0> cd ../libtiff
    -  C:\tiff-4.0.0\libtiff> nmake /f makefile.vc clean
    -  C:\tiff-4.0.0\libtiff> nmake /f makefile.vc
    -  C:\tiff-4.0.0\libtiff> cd ..\tools
    -  C:\tiff-4.0.0\tools> nmake /f makefile.vc clean
    -  C:\tiff-4.0.0\tools> nmake /f makefile.vc
    -
    -

    This will build the library file -libtiff\libtiff\libtiff.lib. This can be used in Win32 -programs. You may want to adjust the build options before start -compiling. All parameters contained in the nmake.opt -file.This is a plain text file you can open with your favorite text -editor.

    -

    The makefile also builds a DLL (libtiff.dll) with an associated -import library (libtiff_i.lib). Any builds using libtiff will need -to include the LIBTIFF\LIBTIFF directory in the include path.

    -

    The libtiff\tools\makefile.vc should build .exe's for -all the standard TIFF tool programs.

    -
    - -

    Building the Software on a VMS System

    -The VMS port was done by Karsten Spang (krs@kampsax.dk), who also "sort of" -maintains it. The VMS specific files are not in the main -directories. Instead they are placed under -[.CONTRIB.VMS...] in the distribution tree. Installation: -It is assumed that you have unpacked the tar file into a VMS -directory tree, in this text called DISK:[TIFF]. -
      -
    1. Move the VMS specific files to their proper directories. -
      -$ SET DEFAULT DISK:[TIFF.CONTRIB.VMS]
      -$ RENAME [.LIBTIFF]*.* [-.-.LIBTIFF]
      -$ RENAME [.TOOLS]*.* [-.-.TOOLS]
      -
    2. -
    3. Compile the library. -
      -$ SET DEFAULT DISK:[TIFF.LIBTIFF]
      -$ @MAKEVMS
      -
    4. -
    5. Compile the tools. -
      -$ SET DEFAULT DISK:[TIFF.TOOLS]
      -$ @MAKEVMS
      -
    6. -
    7. Define the programs. -
      -$ DEFINE TIFFSHR DISK:[TIFF.LIBTIFF]TIFFSHR
      -$ FAX2PS    :==$DISK:[TIFF.TOOLS]FAX2PS
      -$ FAX2TIFF  :==$DISK:[TIFF.TOOLS]FAX2TIFF
      -$ GIF2TIFF  :==$DISK:[TIFF.TOOLS]GIF2TIFF
      -$ PAL2RGB   :==$DISK:[TIFF.TOOLS]PAL2RGB
      -$ PPM2TIFF  :==$DISK:[TIFF.TOOLS]PPM2TIFF
      -$ RAS2TIFF  :==$DISK:[TIFF.TOOLS]RAS2TIFF
      -$ RGB2YCBCR :==$DISK:[TIFF.TOOLS]RGB2YCBCR
      -$ THUMBNAIL :==$DISK:[TIFF.TOOLS]THUMBNAIL
      -$ TIFF2BW   :==$DISK:[TIFF.TOOLS]TIFF2BW
      -$ TIFF2PS   :==$DISK:[TIFF.TOOLS]TIFF2PS
      -$ TIFFCMP   :==$DISK:[TIFF.TOOLS]TIFFCMP
      -$ TIFFCP    :==$DISK:[TIFF.TOOLS]TIFFCP
      -$ TIFFDITHER:==$DISK:[TIFF.TOOLS]TIFFDITHER
      -$ TIFFDUMP  :==$DISK:[TIFF.TOOLS]TIFFDUMP
      -$ TIFFINFO  :==$DISK:[TIFF.TOOLS]TIFFINFO
      -$ TIFFMEDIAN:==$DISK:[TIFF.TOOLS]TIFFMEDIAN
      -$ TIFFSPLIT :==$DISK:[TIFF.TOOLS]TIFFSPLIT
      -$ YCBCR     :==$DISK:[TIFF.TOOLS]YCBCR
      -
    8. -
    -You will want to add these lines to your LOGIN.COM file, -after changing the name of the directory that you have used on your -machine. -

    This release has been tested on OpenVMS/VAX 5.5-2, using VAX C -3.2. A previous release was tested under OpenVMS/AXP ?.? using DEC -C ?.?, it is believed that this release as well works on AXP. The -code contains some GNU C specific things. This does *not* imply, -however, that the VAX/GCC configuration has been tested, *it has -not*.

    -

    The command procedures (MAKEVMS.COM) for building the -library and tools, is believed to choose the correct options for -the VAX and AXP cases automatically.

    -

    On the AXP, IEEE floating point is used by default. If you want -VAX floating point, remove the /FLOAT=IEEE_FLOAT -qualifier, and change HAVE_IEEEFP=1 to -HAVE_IEEEFP=0 in the MAKEVMS.COM files in both -the libtiff and tools directories.

    -

    Compiling your own program on a VMS system:

    -When compiling a source file in which you "#include -<tiffio.h>", use the following command -
    -    $ CC/INCLUDE=DISK:[TIFF.LIBTIFF]
    -
    -This ensures that the header file is found. On the AXP, also add -/FLOAT=IEEE_FLOAT (if used when building the library). -

    Linking your own program to the TIFF library on a VMS -system:

    -You can link to the library in two ways: Either using the shareable -library, or using the object library. On the VAX these -possibilities are: -
      -
    1. Using the shareable TIFF library. -
      -$ LINK MY_PROGRAM,DISK:[TIFF.LIBTIFF]TIFF/OPTIONS,SYS$INPUT:/OPTIONS
      -    SYS$SHARE:VAXCRTL/SHAREABLE
      -
    2. -
    3. Using the TIFF object library. -
      -$ LINK MY_PROGRAM, -
      -    DISK:[TIFF.LIBTIFF]TIFF/LIBRARY/INCLUDE=(TIF_FAX3SM,TIF_CODEC), -
      -    SYS$INPUT:/OPTIONS
      -    SYS$SHARE:VAXCRTL/SHAREABLE
      -
    4. -
    -On AXP (and possibly also using DEC C on VAX) the corresponding -commands are -
      -
    1. Using the shareable TIFF library. -
      -$ LINK MY_PROGRAM,DISK:[TIFF.LIBTIFF]TIFF/OPTIONS
      -
    2. -
    3. Using the TIFF object library. -
      -$ LINK MY_PROGRAM,DISK:[TIFF.LIBTIFF]TIFF/LIBRARY
      -
    4. -
    -Method 1 uses the shortest link time and smallest .EXE -files, but it requires that TIFFSHR is defined as above at -link time and at run time. Using the compilation -procedure above, the tools are linked in this way. -

    Method 2 gives somewhat longer link time and larger -.EXE files, but does not require TIFFSHR to be -defined. This method is recommended if you want to run your program -on another machine, and for some reason don't want to have the -library on that machine. If you plan to have more than one program -(including the tools) on the machine, it is recommended that you -copy the library to the other machine and use method 1.

    -
    - -

    Building the Software on Other Systems

    -This section contains information that might be useful if you are -working on a non-UNIX system that is not directly supported. All -library-related files described below are located in the -libtiff directory. -

    The library requires two files that are generated -on-the-fly. The file tif_fax3sm.c has the state -tables for the Group 3 and Group 4 decoders. This file is generated -by the mkg3states program on a UNIX system; for -example,

    -
    -
    -
    -cd libtiff
    -cc -o mkg3states mkg3states.c
    -rm -f tif_fax3sm.c
    -./mkg3states -c const tif_fax3sm.c
    -
    -
    -The -c option can be used to control whether or not the -resutling tables are generated with a const declaration. -The -s option can be used to specify a C storage class for -the table declarations. The -b option can be used to force -data values to be explicitly bracketed with ``{}'' (apparently -needed for some MS-Windows compilers); otherwise the structures are -emitted in as compact a format as possible. Consult the source code -for this program if you have questions. -

    The second file required to build the library, version.h, -contains the version information returned by the -TIFFGetVersion routine. This file is built on most systems -using the mkversion program and the contents of the -VERSION and tiff.alpha files; for example,

    -
    -
    -cd libtiff
    -cc -o mkversion mkversion.c
    -rm -f version.h
    -./mkversion -v ../VERSION -a ../dist/tiff.alpha version.h
    -
    -

    Otherwise, when building the library on a non-UNIX system be -sure to consult the files tiffcomp.h and tiffconf.h. -The former contains system compatibility definitions while the -latter is provided so that the software configuration can be -controlled on systems that do not support the make facility for -building the software.

    -

    Systems without a 32-bit compiler may not be able to handle some -of the codecs in the library; especially the Group 3 and 4 decoder. -If you encounter problems try disabling support for a particular -codec; consult the documentation.

    -

    Programs in the tools directory are written to assume an ANSI C -compilation environment. There may be a few POSIX'isms as well. The -code in the port directory is provided to emulate routines -that may be missing on some systems. On UNIX systems the -configure script automatically figures out which routines -are not present on a system and enables the use of the equivalent -emulation routines from the port directory. It may be -necessary to manually do this work on a non-UNIX system.

    -
    -

    Checking out the Software

    -

    Assuming you have working versions of tiffgt and -tiffsv, you can just use them to view any of the sample -images available for testing (see the section -on obtaining the test images). Otherwise, you can do a cursory -check of the library with the tiffcp and tiffcmp -programs. For example,

    -
    -
    -tiffcp -lzw cramps.tif x.tif
    -tiffcmp cramps.tif x.tif
    -
    -

    (tiffcmp should be silent if the files compare -correctly).

    -
    -

    Table of Contents

    -The following files makup the core library: -
    -libtiff/tiff.h                  TIFF spec definitions
    -libtiff/tiffcomp.h              non-UNIX OS-compatibility definitions
    -libtiff/tiffconf.h              non-UNIX configuration definitions
    -libtiff/tiffio.h                public TIFF library definitions
    -libtiff/tiffiop.h               private TIFF library definitions
    -libtiff/t4.h                    CCITT Group 3/4 code tables+definitions
    -libtiff/tif_dir.h               private defs for TIFF directory handling
    -libtiff/tif_fax3.h              CCITT Group 3/4-related definitions
    -libtiff/tif_predict.h           private defs for Predictor tag support
    -libtiff/uvcode.h                LogL/LogLuv codec-specific definitions
    -libtiff/version.h               version string (generated by Makefile)
    -libtiff/tif_apple.c             Apple-related OS support
    -libtiff/tif_atari.c             Atari-related OS support
    -libtiff/tif_aux.c               auxilary directory-related functions
    -libtiff/tif_close.c             close an open TIFF file
    -libtiff/tif_codec.c             configuration table of builtin codecs
    -libtiff/tif_compress.c          compression scheme support
    -libtiff/tif_dir.c               directory tag interface code
    -libtiff/tif_dirinfo.c           directory known tag support code
    -libtiff/tif_dirread.c           directory reading code
    -libtiff/tif_dirwrite.c          directory writing code
    -libtiff/tif_dumpmode.c          "no" compression codec
    -libtiff/tif_error.c             library error handler
    -libtiff/tif_fax3.c              CCITT Group 3 and 4 codec
    -libtiff/tif_fax3sm.c            G3/G4 state tables (generated by mkg3states)
    -libtiff/tif_flush.c             i/o and directory state flushing
    -libtiff/tif_getimage.c          TIFFRGBAImage support
    -libtiff/tif_jpeg.c              JPEG codec (interface to the IJG distribution)
    -libtiff/tif_luv.c               SGI LogL/LogLuv codec
    -libtiff/tif_lzw.c               LZW codec
    -libtiff/tif_msdos.c             MSDOS-related OS support
    -libtiff/tif_next.c              NeXT 2-bit scheme codec (decoding only)
    -libtiff/tif_open.c              open and simply query code
    -libtiff/tif_packbits.c          Packbits codec
    -libtiff/tif_pixarlog.c          Pixar codec
    -libtiff/tif_predict.c           Predictor tag support
    -libtiff/tif_print.c             directory printing support
    -libtiff/tif_read.c              image data reading support
    -libtiff/tif_strip.c             some strip-related code
    -libtiff/tif_swab.c              byte and bit swapping support
    -libtiff/tif_thunder.c           Thunderscan codec (decoding only)
    -libtiff/tif_tile.c              some tile-related code
    -libtiff/tif_unix.c              UNIX-related OS support
    -libtiff/tif_version.c           library version support
    -libtiff/tif_vms.c               VMS-related OS support
    -libtiff/tif_warning.c           library warning handler
    -libtiff/tif_win3.c              Windows-3.1-related OS support
    -libtiff/tif_win32.c             Win32 (95/98/NT) related OS support
    -libtiff/tif_write.c             image data writing support
    -libtiff/tif_zip.c               Deflate codec
    -
    -libtiff/mkg3states.c            program to generate G3/G4 decoder state tables
    -libtiff/mkspans.c               program to generate black-white span tables
    -libtiff/mkversion.c             program to generate libtiff/version.h.
    -
    -
    -Last updated: $Date: 2012-02-18 21:36:31 $ - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/contrib.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/contrib.html deleted file mode 100644 index e864e73..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/contrib.html +++ /dev/null @@ -1,209 +0,0 @@ - - - -Contributed TIFF Software - - - - - -

    - -Contributed TIFF Software -

    - - -

    -The contrib directory has contributed software that -uses the TIFF library or which is associated with the library -(typically glue and guidance for ports to non-UNIX platforms, or tools that -aren't directly TIFF related). - -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -contrib/vms - -scripts and files from Karsten Spang for building - the library and tools under VMS -
    -contrib/dbs - -various tools from Dan & Chris Sears, including a simple X-based viewer -
    -contrib/ras - -two programs by Patrick Naughton for converting - between Sun rasterfile format and TIFF (these - require libpixrect.a, as opposed to the one in - tools that doesn't) -
    -contrib/mac-mpw
    -contrib/mac-cw -
    -scripts and files from Niles Ritter for building -the library and tools under Macintosh/MPW C and -code warrior. -
    -contrib/acorn - -scripts and files from Peter Greenham for building - the library and tools on an Acorn RISC OS system. -
    -contrib/win32 - -scripts and files from Scott Wagner for building -the library under Windows NT and Windows 95. (The makefile.vc in the -libtiff/libtiff directory may be sufficient for most users.) -
    -contrib/win_dib - -two separate implementations of TIFF to DIB code suitable for any Win32 -platform. Contributed by Mark James, and Philippe Tenenhaus. -
    -contrib/ojpeg - -Patch for IJG JPEG library related to support for some Old JPEG in TIFF files. -Contributed by Scott Marovich. -
    -contrib/dosdjgpp - -scripts and files from Alexander Lehmann for building - the library under MSDOS with the DJGPP v2 compiler. -
    -contrib/tags - -scripts and files from Niles Ritter for adding private - tag support at runtime, without changing libtiff. -
    -contrib/mfs - -code from Mike Johnson to read+write images in memory -without modifying the library -
    -contrib/pds - -various routines from Conrad Poelman; a TIFF image iterator and - code to support ``private sub-directories'' -
    -contrib/iptcutil - - -A utility by Bill Radcliffe to -convert an extracted IPTC Newsphoto caption from a binary blob to -ASCII text, and vice versa. IPTC binary blobs can be extracted from -images via the ImageMagick convert(1) -utility. - - -
    -contrib/addtiffo - - -A utility (and supporting subroutine) for building -one or more reduce resolution -overviews to an existing TIFF file. Supplied by -Frank Warmerdam. - -
    -contrib/stream - - -A class (TiffStream) for accessing TIFF files through a C++ stream -interface. Supplied by Avi Bleiweiss. - -
    - -

    -Questions regarding these packages are usually best directed toward -their authors. - -

    -


    - -Last updated: $Date: 2006-01-03 01:42:30 $ - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/document.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/document.html deleted file mode 100644 index fc7ee55..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/document.html +++ /dev/null @@ -1,52 +0,0 @@ - - - -TIFF Documentation - - - - -

    - -TIFF Documentation -

    - -

    -A copy of the 6.0 specification is available from Adobe at -http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf, or from the libtiff -ftp site at -ftp://ftp.remotesensing.org/pub/libtiff/doc/TIFF6.pdf.

    - -

    -Draft TIFF Technical Note #2 covers problems -with the TIFF 6.0 design for embedding JPEG-compressed data in TIFF, and -describes an alternative.

    - -Other Adobe information on TIFF can be retrieved from: - - -http://partners.adobe.com/public/developer/tiff/index.html - -

    -Joris Van Damme maintains a list of known tags and their descriptions and -definitions. It is available online at - -http://www.awaresystems.be/imaging/tiff/tifftags.html - -

    -There is a FAQ, related both to TIFF format and libtiff library: - -http://www.awaresystems.be/imaging/tiff/faq.html - -

    -There is a preliminary BigTIFF Design for -a TIFF variation supporting files larger than 4GB. - -


    - -
    - Last updated: $Date: 2006-07-10 18:13:52 $ -
    - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/images.html deleted file mode 100644 index 24acf25..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/images.html +++ /dev/null @@ -1,41 +0,0 @@ - - - -TIFF Test Images - - - - -

    - -TIFF Test Images -

    - -

    -Test images are available for most formats supported by the library. -Most of the images included in the test kit are also part of this -documentation (albeit in TIFF rather than GIF or JFIF). -The images are kept in a separate archive that should be located in -the same directory as this software. - -
    - -

    -The latest archive of test images is located at - -ftp://ftp.remotesensing.org/pub/libtiff/pics-3.8.0.tar.gz - -

    -There are two other good sources for TIFF test images: -the contributed software contrib/dbs includes several -programs that generate test images suitable for debugging, and -the tiffcp program can be used to generate a variety -of images with different storage characteristics. - -

    -


    - -Last updated: $Date: 2006-01-02 23:50:44 $ - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/back.gif b/gtk+-mingw/share/doc/tiff-4.0.2/html/images/back.gif deleted file mode 100644 index 11d0c35..0000000 Binary files a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/back.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/bali.jpg b/gtk+-mingw/share/doc/tiff-4.0.2/html/images/bali.jpg deleted file mode 100644 index 1f5c146..0000000 Binary files a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/bali.jpg and /dev/null differ diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/cat.gif b/gtk+-mingw/share/doc/tiff-4.0.2/html/images/cat.gif deleted file mode 100644 index 5bd3fac..0000000 Binary files a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/cat.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/cover.jpg b/gtk+-mingw/share/doc/tiff-4.0.2/html/images/cover.jpg deleted file mode 100644 index 8698cfb..0000000 Binary files a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/cover.jpg and /dev/null differ diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/cramps.gif b/gtk+-mingw/share/doc/tiff-4.0.2/html/images/cramps.gif deleted file mode 100644 index 9153f9a..0000000 Binary files a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/cramps.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/dave.gif b/gtk+-mingw/share/doc/tiff-4.0.2/html/images/dave.gif deleted file mode 100644 index c36d447..0000000 Binary files a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/dave.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/info.gif b/gtk+-mingw/share/doc/tiff-4.0.2/html/images/info.gif deleted file mode 100644 index 783d631..0000000 Binary files a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/info.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/jello.jpg b/gtk+-mingw/share/doc/tiff-4.0.2/html/images/jello.jpg deleted file mode 100644 index df99e66..0000000 Binary files a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/jello.jpg and /dev/null differ diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/jim.gif b/gtk+-mingw/share/doc/tiff-4.0.2/html/images/jim.gif deleted file mode 100644 index 9a18a03..0000000 Binary files a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/jim.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/note.gif b/gtk+-mingw/share/doc/tiff-4.0.2/html/images/note.gif deleted file mode 100644 index 7177d68..0000000 Binary files a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/note.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/oxford.gif b/gtk+-mingw/share/doc/tiff-4.0.2/html/images/oxford.gif deleted file mode 100644 index dd4b86e..0000000 Binary files a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/oxford.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/quad.jpg b/gtk+-mingw/share/doc/tiff-4.0.2/html/images/quad.jpg deleted file mode 100644 index 4b7df17..0000000 Binary files a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/quad.jpg and /dev/null differ diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/ring.gif b/gtk+-mingw/share/doc/tiff-4.0.2/html/images/ring.gif deleted file mode 100644 index 2a614f4..0000000 Binary files a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/ring.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/smallliz.jpg b/gtk+-mingw/share/doc/tiff-4.0.2/html/images/smallliz.jpg deleted file mode 100644 index 8eb827f..0000000 Binary files a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/smallliz.jpg and /dev/null differ diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/strike.gif b/gtk+-mingw/share/doc/tiff-4.0.2/html/images/strike.gif deleted file mode 100644 index 0709d19..0000000 Binary files a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/strike.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/warning.gif b/gtk+-mingw/share/doc/tiff-4.0.2/html/images/warning.gif deleted file mode 100644 index f51eb4b..0000000 Binary files a/gtk+-mingw/share/doc/tiff-4.0.2/html/images/warning.gif and /dev/null differ diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/index.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/index.html deleted file mode 100644 index aa38485..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/index.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - LibTIFF - TIFF Library and Utilities - - - - - -

    LibTIFF - TIFF Library and Utilities

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Home Pagehttp://www.remotesensing.org/libtiff/
    Home Page Mirrorhttp://libtiff.maptools.org/
    Latest Stable Releasev4.0.2
    Master Download Sitedownload.osgeo.org, directory libtiff
    Windows BinariesGnuWin32 Project
    Mailing Listtiff@lists.maptools.org, - Subscription, - Archive. - Please, read the TIFF FAQ - before asking questions.
    Anonymous CVSexport CVSROOT=:pserver:cvsanon@cvs.maptools.org:/cvs/maptools/cvsroot
    - cvs login

    - (use empty password)
    - cvs checkout libtiff
    - to get the stable libtiff code or
    - cvs checkout -r branch-3-9 libtiff
    - to get the previous stable branch supporting the 3.9.X release series.
    -
    -

    - This software provides support for the Tag Image File Format (TIFF), - a widely used format for storing image data. The latest version of - the TIFF specification is available on-line - in several different formats. -

    -

    - Included in this software distribution is a library, libtiff, for - reading and writing TIFF, a small collection of tools for doing - simple manipulations of TIFF images, and documentation on the - library and tools. Libtiff is a portable software, it was built - and tested on various systems: UNIX flavors (Linux, BSD, Solaris, - MacOS X), Windows, and OpenVMS. It should be possible to port - libtiff and additional tools on other OSes. -

    -

    - The library, along with associated tool programs, should handle most of - your needs for reading and writing TIFF images on 32- and 64-bit - machines. -

    -

    - The software was originally authored and maintained by Sam Leffler. -

    -

    - Questions should be sent to the TIFF mailing list: - tiff@lists.maptools.org, with - a subscription interface at - http://lists.maptools.org/mailman/listinfo/tiff. -

    -

    - The persons responsible for putting up this site and putting together - versions >= 3.5.1 are - Frank Warmerdam, - Andrey Kiselev, - Bob Friesenhahn, - Joris Van Damme and Lee Howard. -

    -

    - The following sections are included in this documentation: -

    - -

    - BigTIFF News -

    - -
    -

    - Last updated $Date: 2012-06-16 00:19:37 $. -

    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/internals.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/internals.html deleted file mode 100644 index 83d53b0..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/internals.html +++ /dev/null @@ -1,572 +0,0 @@ - - - -Modifying The TIFF Library - - - - -

    - -Modifying The TIFF Library -

    - - -

    -This chapter provides information about the internal structure of -the library, how to control the configuration when building it, and -how to add new support to the library. -The following sections are found in this chapter: - -

    - - -


    Library Configuration

    - -Information on compiling the library is given -elsewhere in this documentation. -This section describes the low-level mechanisms used to control -the optional parts of the library that are configured at build -time. Control is based on -a collection of C defines that are specified either on the compiler -command line or in a configuration file such as port.h -(as generated by the configure script for UNIX systems) -or tiffconf.h. - -

    -Configuration defines are split into three areas: -

      -
    • those that control which compression schemes are - configured as part of the builtin codecs, -
    • those that control support for groups of tags that - are considered optional, and -
    • those that control operating system or machine-specific support. -
    - -

    -If the define COMPRESSION_SUPPORT is not defined -then a default set of compression schemes is automatically -configured: -

      -
    • CCITT Group 3 and 4 algorithms (compression codes 2, 3, 4, and 32771), -
    • the Macintosh PackBits algorithm (compression 32773), -
    • a 4-bit run-length encoding scheme from ThunderScan (compression 32809), -
    • a 2-bit encoding scheme used by NeXT (compression 32766), and -
    • two experimental schemes intended for images with high dynamic range -(compression 34676 and 34677). -
    - -

    - -To override the default compression behaviour define -COMPRESSION_SUPPORT and then one or more additional defines -to enable configuration of the appropriate codecs (see the table -below); e.g. - -

      -#define	COMPRESSION_SUPPORT
      -#define	CCITT_SUPPORT
      -#define	PACKBITS_SUPPORT
      -
    - -Several other compression schemes are configured separately from -the default set because they depend on ancillary software -packages that are not distributed with libtiff. - -

    -Support for JPEG compression is controlled by JPEG_SUPPORT. -The JPEG codec that comes with libtiff is designed for -use with release 5 or later of the Independent JPEG Group's freely -available software distribution. -This software can be retrieved from the directory -ftp.uu.net:/graphics/jpeg/. - - -

    -NOTE: -Enabling JPEG support automatically enables support for -the TIFF 6.0 colorimetry and YCbCr-related tags. - -

    -Experimental support for the deflate algorithm is controlled by -DEFLATE_SUPPORT. -The deflate codec that comes with libtiff is designed -for use with version 0.99 or later of the freely available -libz library written by Jean-loup Gailly and Mark Adler. -The data format used by this library is described -in the files -zlib-3.1.doc, -and -deflate-1.1.doc, -available in the directory -ftp.uu.net:/pub/archiving/zip/doc. -The library can be retried from the directory -ftp.uu.net:/pub/archiving/zip/zlib/ -(or try quest.jpl.nasa.gov:/beta/zlib/). - -

    -NOTE: -The deflate algorithm is experimental. Do not expect -to exchange files using this compression scheme; -it is included only because the similar, and more common, -LZW algorithm is claimed to be governed by licensing restrictions. - - -

    -By default tiffconf.h defines -COLORIMETRY_SUPPORT, -YCBCR_SUPPORT, -and -CMYK_SUPPORT. - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    DefineDescription
    CCITT_SUPPORTCCITT Group 3 and 4 algorithms (compression codes 2, 3, 4, - and 32771)
    PACKBITS_SUPPORTMacintosh PackBits algorithm (compression 32773)
    LZW_SUPPORTLempel-Ziv & Welch (LZW) algorithm (compression 5)
    THUNDER_SUPPORT4-bit -run-length encoding scheme from ThunderScan (compression 32809)
    NEXT_SUPPORT2-bit encoding scheme used by NeXT (compression 32766)
    OJPEG_SUPPORTobsolete JPEG scheme defined in the 6.0 spec (compression 6)
    JPEG_SUPPORTcurrent JPEG scheme defined in TTN2 (compression 7)
    ZIP_SUPPORTexperimental Deflate scheme (compression 32946)
    PIXARLOG_SUPPORTPixar's compression scheme for high-resolution color images (compression 32909)
    SGILOG_SUPPORTSGI's compression scheme for high-resolution color images (compression 34676 and 34677)
    COLORIMETRY_SUPPORTsupport for the TIFF 6.0 colorimetry tags
    YCBCR_SUPPORTsupport for the TIFF 6.0 YCbCr-related tags
    CMYK_SUPPORTsupport for the TIFF 6.0 CMYK-related tags
    ICC_SUPPORTsupport for the ICC Profile tag; see -The ICC Profile Format Specification, -Annex B.3 "Embedding ICC Profiles in TIFF Files"; -available at -http://www.color.org -
    - - -


    General Portability Comments

    - -This software is developed on Silicon Graphics UNIX -systems (big-endian, MIPS CPU, 32-bit ints, -IEEE floating point). -The configure shell script generates the appropriate -include files and make files for UNIX systems. -Makefiles exist for non-UNIX platforms that the -code runs on -- this work has mostly been done by other people. - -

    -In general, the code is guaranteed to work only on SGI machines. -In practice it is highly portable to any 32-bit or 64-bit system and much -work has been done to insure portability to 16-bit systems. -If you encounter portability problems please return fixes so -that future distributions can be improved. - -

    -The software is written to assume an ANSI C compilation environment. -If your compiler does not support ANSI function prototypes, const, -and <stdarg.h> then you will have to make modifications to the -software. In the past I have tried to support compilers without const -and systems without <stdarg.h>, but I am -no longer interested in these -antiquated environments. With the general availability of -the freely available GCC compiler, I -see no reason to incorporate modifications to the software for these -purposes. - -

    -An effort has been made to isolate as many of the -operating system-dependencies -as possible in two files: tiffcomp.h and -libtiff/tif_<os>.c. The latter file contains -operating system-specific routines to do I/O and I/O-related operations. -The UNIX (tif_unix.c), -Macintosh (tif_apple.c), -and VMS (tif_vms.c) -code has had the most use; -the MS/DOS support (tif_msdos.c) assumes -some level of UNIX system call emulation (i.e. -open, -read, -write, -fstat, -malloc, -free). - -

    -Native CPU byte order is determined on the fly by -the library and does not need to be specified. -The HOST_FILLORDER and HOST_BIGENDIAN -definitions are not currently used, but may be employed by -codecs for optimization purposes. - -

    -The following defines control general portability: - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BSDTYPESDefine this if your system does NOT define the - usual BSD typedefs: u_char, - u_short, u_int, u_long.
    HAVE_IEEEFPDefine this as 0 or 1 according to the floating point - format suported by the machine. If your machine does - not support IEEE floating point then you will need to - add support to tif_machdep.c to convert between the - native format and IEEE format.
    HAVE_MMAPDefine this if there is mmap-style support for -mapping files into memory (used only to read data).
    HOST_FILLORDERDefine the native CPU bit order: one of FILLORDER_MSB2LSB - or FILLORDER_LSB2MSB
    HOST_BIGENDIANDefine the native CPU byte order: 1 if big-endian (Motorola) - or 0 if little-endian (Intel); this may be used - in codecs to optimize code
    - -

    -On UNIX systems HAVE_MMAP is defined through the running of -the configure script; otherwise support for memory-mapped -files is disabled. -Note that tiffcomp.h defines HAVE_IEEEFP to be -1 (BSDTYPES is not defined). - - -


    Types and Portability

    - -The software makes extensive use of C typedefs to promote portability. -Two sets of typedefs are used, one for communication with clients -of the library and one for internal data structures and parsing of the -TIFF format. There are interactions between these two to be careful -of, but for the most part you should be able to deal with portability -purely by fiddling with the following machine-dependent typedefs: - - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    uint88-bit unsigned integertiff.h
    int88-bit signed integertiff.h
    uint1616-bit unsigned integertiff.h
    int1616-bit signed integertiff.h
    uint3232-bit unsigned integertiff.h
    int3232-bit signed integertiff.h
    dblparam_tpromoted type for floatstiffcomp.h
    - -

    -(to clarify dblparam_t, it is the type that float parameters are -promoted to when passed by value in a function call.) - -

    -The following typedefs are used throughout the library and interfaces -to refer to certain objects whose size is dependent on the TIFF image -structure: - - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    typedef unsigned int ttag_t; directory tag
    typedef uint16 tdir_t; directory index
    typedef uint16 tsample_t; sample number
    typedef uint32 tstrip_t; strip number
    typedef uint32 ttile_t; tile number
    typedef int32 tsize_t; i/o size in bytes
    typedef void* tdata_t; image data ref
    typedef void* thandle_t; client data handle
    typedef int32 toff_t; file offset (should be off_t)
    typedef unsigned char* tidata_t; internal image data
    - -

    -Note that tstrip_t, ttile_t, and tsize_t -are constrained to be -no more than 32-bit quantities by 32-bit fields they are stored -in in the TIFF image. Likewise tsample_t is limited by the 16-bit -field used to store the SamplesPerPixel tag. tdir_t -constrains -the maximum number of IFDs that may appear in an image and may -be an arbitrary size (without penalty). ttag_t must be either -int, unsigned int, pointer, or double -because the library uses a varargs -interface and ANSI C restricts the type of the parameter before an -ellipsis to be a promoted type. toff_t is defined as -int32 because -TIFF file offsets are (unsigned) 32-bit quantities. A signed -value is used because some interfaces return -1 on error (sigh). -Finally, note that tidata_t is used internally to the library to -manipulate internal data. User-specified data references are -passed as opaque handles and only cast at the lowest layers where -their type is presumed. - - -


    General Comments

    - -The library is designed to hide as much of the details of TIFF from -applications as -possible. In particular, TIFF directories are read in their entirety -into an internal format. Only the tags known by the library are -available to a user and certain tag data may be maintained that a user -does not care about (e.g. transfer function tables). - -


    Adding New Builtin Codecs

    - -To add builtin support for a new compression algorithm, you can either -use the "tag-extension" trick to override the handling of the -TIFF Compression tag (see Adding New Tags), -or do the following to add support directly to the core library: - -
      -
    1. Define the tag value in tiff.h. -
    2. Edit the file tif_codec.c to add an entry to the - _TIFFBuiltinCODECS array (see how other algorithms are handled). -
    3. Add the appropriate function prototype declaration to - tiffiop.h (close to the bottom). -
    4. Create a file with the compression scheme code, by convention files - are named tif_*.c (except perhaps on some systems where the - tif_ prefix pushes some filenames over 14 chars. -
    5. Edit Makefile.in (and any other Makefiles) - to include the new source file. -
    - -

    -A codec, say foo, can have many different entry points: - -

    -TIFFInitfoo(tif, scheme)/* initialize scheme and setup entry points in tif */
    -fooSetupDecode(tif)	/* called once per IFD after tags has been frozen */
    -fooPreDecode(tif, sample)/* called once per strip/tile, after data is read,
    -			    but before the first row is decoded */
    -fooDecode*(tif, bp, cc, sample)/* decode cc bytes of data into the buffer */
    -    fooDecodeRow(...)	/* called to decode a single scanline */
    -    fooDecodeStrip(...)	/* called to decode an entire strip */
    -    fooDecodeTile(...)	/* called to decode an entire tile */
    -fooSetupEncode(tif)	/* called once per IFD after tags has been frozen */
    -fooPreEncode(tif, sample)/* called once per strip/tile, before the first row in
    -			    a strip/tile is encoded */
    -fooEncode*(tif, bp, cc, sample)/* encode cc bytes of user data (bp) */
    -    fooEncodeRow(...)	/* called to decode a single scanline */
    -    fooEncodeStrip(...)	/* called to decode an entire strip */
    -    fooEncodeTile(...)	/* called to decode an entire tile */
    -fooPostEncode(tif)	/* called once per strip/tile, just before data is written */
    -fooSeek(tif, row)	/* seek forwards row scanlines from the beginning
    -			   of a strip (row will always be >0 and <rows/strip */
    -fooCleanup(tif)		/* called when compression scheme is replaced by user */
    -
    - -

    -Note that the encoding and decoding variants are only needed when -a compression algorithm is dependent on the structure of the data. -For example, Group 3 2D encoding and decoding maintains a reference -scanline. The sample parameter identifies which sample is to be -encoded or decoded if the image is organized with PlanarConfig=2 -(separate planes). This is important for algorithms such as JPEG. -If PlanarConfig=1 (interleaved), then sample will always be 0. - -


    Other Comments

    - -The library handles most I/O buffering. There are two data buffers -when decoding data: a raw data buffer that holds all the data in a -strip, and a user-supplied scanline buffer that compression schemes -place decoded data into. When encoding data the data in the -user-supplied scanline buffer is encoded into the raw data buffer (from -where it is written). Decoding routines should never have to explicitly -read data -- a full strip/tile's worth of raw data is read and scanlines -never cross strip boundaries. Encoding routines must be cognizant of -the raw data buffer size and call TIFFFlushData1() when necessary. -Note that any pending data is automatically flushed when a new strip/tile is -started, so there's no need do that in the tif_postencode routine (if -one exists). Bit order is automatically handled by the library when -a raw strip or tile is filled. If the decoded samples are interpreted -by the decoding routine before they are passed back to the user, then -the decoding logic must handle byte-swapping by overriding the -tif_postdecode -routine (set it to TIFFNoPostDecode) and doing the required work -internally. For an example of doing this look at the horizontal -differencing code in the routines in tif_predict.c. - -

    -The variables tif_rawcc, tif_rawdata, and -tif_rawcp in a TIFF structure -are associated with the raw data buffer. tif_rawcc must be non-zero -for the library to automatically flush data. The variable -tif_scanlinesize is the size a user's scanline buffer should be. The -variable tif_tilesize is the size of a tile for tiled images. This -should not normally be used by compression routines, except where it -relates to the compression algorithm. That is, the cc parameter to the -tif_decode* and tif_encode* -routines should be used in terminating -decompression/compression. This ensures these routines can be used, -for example, to decode/encode entire strips of data. - -

    -In general, if you have a new compression algorithm to add, work from -the code for an existing routine. In particular, -tif_dumpmode.c -has the trivial code for the "nil" compression scheme, -tif_packbits.c is a -simple byte-oriented scheme that has to watch out for buffer -boundaries, and tif_lzw.c has the LZW scheme that has the most -complexity -- it tracks the buffer boundary at a bit level. -Of course, using a private compression scheme (or private tags) limits -the portability of your TIFF files. - -

    -


    - -Last updated: $Date: 2004-09-10 14:47:31 $ - - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/intro.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/intro.html deleted file mode 100644 index 7b7bb82..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/intro.html +++ /dev/null @@ -1,68 +0,0 @@ - - - -Introduction to the TIFF Documentation - - - - -

    - -Introduction to the TIFF Documentation -

    - - -

    -The following definitions are used throughout this documentation. -They are consistent with the terminology used in the TIFF 6.0 specification. - -

    -
    Sample -
    The unit of information stored in an image; often called a - channel elsewhere. Sample values are numbers, usually unsigned - integers, but possibly in some other format if the SampleFormat - tag is specified in a TIFF -
    Pixel -
    A collection of one or more samples that go together. -
    Row -
    An Nx1 rectangular collection of pixels. -
    Tile -
    An NxM rectangular organization of data (or pixels). -
    Strip -
    A tile whose width is the full image width. -
    Compression -
    A scheme by which pixel or sample data are stored in - an encoded form, specifically with the intent of reducing the - storage cost. -
    Codec -
    Software that implements the decoding and encoding algorithms - of a compression scheme. - - -

    -In order to better understand how TIFF works (and consequently this -software) it is important to recognize the distinction between the -physical organization of image data as it is stored in a TIFF and how -the data is interpreted and manipulated as pixels in an image. TIFF -supports a wide variety of storage and data compression schemes that -can be used to optimize retrieval time and/or minimize storage space. -These on-disk formats are independent of the image characteristics; it -is the responsibility of the TIFF reader to process the on-disk storage -into an in-memory format suitable for an application. Furthermore, it -is the responsibility of the application to properly interpret the -visual characteristics of the image data. TIFF defines a framework for -specifying the on-disk storage format and image characteristics with -few restrictions. This permits significant complexity that can be -daunting. Good applications that handle TIFF work by handling as wide -a range of storage formats as possible, while constraining the -acceptable image characteristics to those that make sense for the -application. - - -

    -


    - -Last updated: $Date: 1999-08-09 20:21:21 $ - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/libtiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/libtiff.html deleted file mode 100644 index 16355ad..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/libtiff.html +++ /dev/null @@ -1,747 +0,0 @@ - - - - Using The TIFF Library - - - - - - - - - - -
    -

    Using The TIFF Library

    -

    - libtiff is a set of C functions (a library) that support - the manipulation of TIFF image files. - The library requires an ANSI C compilation environment for building - and presumes an ANSI C environment for use. -

    -
    -
    -

    - libtiff - provides interfaces to image data at several layers of abstraction (and cost). - At the highest level image data can be read into an 8-bit/sample, - ABGR pixel raster format without regard for the underlying data organization, - colorspace, or compression scheme. Below this high-level interface - the library provides scanline-, strip-, and tile-oriented interfaces that - return data decompressed but otherwise untransformed. These interfaces - require that the application first identify the organization of stored - data and select either a strip-based or tile-based API for manipulating - data. At the lowest level the library - provides access to the raw uncompressed strips or tiles, - returning the data exactly as it appears in the file. -

    -

    - The material presented in this chapter is a basic introduction - to the capabilities of the library; it is not an attempt to describe - everything a developer needs to know about the library or about TIFF. - Detailed information on the interfaces to the library are given in - the UNIX - manual pages that accompany this software. -

    -

    - Michael Still has also written a useful introduction to libtiff for the - IBM DeveloperWorks site available at - http://www.ibm.com/developerworks/linux/library/l-libtiff. -

    -

    - The following sections are found in this chapter: -

    - -
    -

    How to tell which version you have

    -

    - The software version can be found by looking at the file named - VERSION - that is located at the top of the source tree; the precise alpha number - is given in the file dist/tiff.alpha. - If you have need to refer to this - specific software, you should identify it as: -

    -

    - TIFF <version> <alpha> -

    -

    - where <version> is whatever you get from - "cat VERSION" and <alpha> is - what you get from "cat dist/tiff.alpha". -

    -

    - Within an application that uses libtiff the TIFFGetVersion - routine will return a pointer to a string that contains software version - information. - The library include file <tiffio.h> contains a C pre-processor - define TIFFLIB_VERSION that can be used to check library - version compatiblity at compile time. -

    -
    -

    Library Datatypes

    -

    - libtiff defines a portable programming interface through the - use of a set of C type definitions. - These definitions, defined in in the files tiff.h and - tiffio.h, - isolate the libtiff API from the characteristics - of the underlying machine. - To insure portable code and correct operation, applications that use - libtiff should use the typedefs and follow the function - prototypes for the library API. -

    -
    -

    Memory Management

    -

    - libtiff uses a machine-specific set of routines for managing - dynamically allocated memory. - _TIFFmalloc, _TIFFrealloc, and _TIFFfree - mimic the normal ANSI C routines. - Any dynamically allocated memory that is to be passed into the library - should be allocated using these interfaces in order to insure pointer - compatibility on machines with a segmented architecture. - (On 32-bit UNIX systems these routines just call the normal malloc, - realloc, and free routines in the C library.) -

    -

    - To deal with segmented pointer issues libtiff also provides - _TIFFmemcpy, _TIFFmemset, and _TIFFmemmove - routines that mimic the equivalent ANSI C routines, but that are - intended for use with memory allocated through _TIFFmalloc - and _TIFFrealloc. -

    -
    -

    Error Handling

    -

    - libtiff handles most errors by returning an invalid/erroneous - value when returning from a function call. - Various diagnostic messages may also be generated by the library. - All error messages are directed to a single global error handler - routine that can be specified with a call to TIFFSetErrorHandler. - Likewise warning messages are directed to a single handler routine - that can be specified with a call to TIFFSetWarningHandler -

    -
    -

    Basic File Handling

    -

    - The library is modeled after the normal UNIX stdio library. - For example, to read from an existing TIFF image the - file must first be opened: -

    -

    - #include "tiffio.h"
    - main()
    - {
    -     TIFF* tif = TIFFOpen("foo.tif", "r");
    -     ... do stuff ...
    -     TIFFClose(tif);
    - }
    -

    -

    - The handle returned by TIFFOpen is opaque, that is - the application is not permitted to know about its contents. - All subsequent library calls for this file must pass the handle - as an argument. -

    -

    - To create or overwrite a TIFF image the file is also opened, but with - a "w" argument: -

    -

    - #include "tiffio.h"
    - main()
    - {
    -     TIFF* tif = TIFFOpen("foo.tif", "w");
    -     ... do stuff ...
    -     TIFFClose(tif);
    - }
    -

    -

    - If the file already exists it is first truncated to zero length. -

    - - - - - -
    Note that unlike the stdio library TIFF image files may not be - opened for both reading and writing; - there is no support for altering the contents of a TIFF file.
    -

    - libtiff buffers much information associated with writing a - valid TIFF image. Consequently, when writing a TIFF image it is necessary - to always call TIFFClose or TIFFFlush to flush any - buffered information to a file. Note that if you call TIFFClose - you do not need to call TIFFFlush. -

    -
    -

    TIFF Directories

    -

    - TIFF supports the storage of multiple images in a single file. - Each image has an associated data structure termed a directory - that houses all the information about the format and content of the - image data. - Images in a file are usually related but they do not need to be; it - is perfectly alright to store a color image together with a black and - white image. - Note however that while images may be related their directories are - not. - That is, each directory stands on its own; their is no need to read - an unrelated directory in order to properly interpret the contents - of an image. -

    -

    - libtiff provides several routines for reading and writing - directories. In normal use there is no need to explicitly - read or write a directory: the library automatically reads the first - directory in a file when opened for reading, and directory information - to be written is automatically accumulated and written when writing - (assuming TIFFClose or TIFFFlush are called). -

    -

    - For a file open for reading the TIFFSetDirectory routine can - be used to select an arbitrary directory; directories are referenced by - number with the numbering starting at 0. Otherwise the - TIFFReadDirectory and TIFFWriteDirectory routines can - be used for sequential access to directories. - For example, to count the number of directories in a file the following - code might be used: -

    -

    - #include "tiffio.h"
    - main(int argc, char* argv[])
    - {
    -     TIFF* tif = TIFFOpen(argv[1], "r");
    -     if (tif) {
    -         int dircount = 0;
    -         do {
    -             dircount++;
    -         } while (TIFFReadDirectory(tif));
    -         printf("%d directories in %s\n", dircount, argv[1]);
    -         TIFFClose(tif);
    -     }
    -     exit(0);
    - }
    -

    -

    - Finally, note that there are several routines for querying the - directory status of an open file: - TIFFCurrentDirectory returns the index of the current - directory and - TIFFLastDirectory returns an indication of whether the - current directory is the last directory in a file. - There is also a routine, TIFFPrintDirectory, that can - be called to print a formatted description of the contents of - the current directory; consult the manual page for complete details. -

    -
    -

    TIFF Tags

    -

    - Image-related information such as the image width and height, number - of samples, orientation, colorimetric information, etc. - are stored in each image - directory in fields or tags. - Tags are identified by a number that is usually a value registered - with the Aldus (now Adobe) Corporation. - Beware however that some vendors write - TIFF images with tags that are unregistered; in this case interpreting - their contents is usually a waste of time. -

    -

    - libtiff reads the contents of a directory all at once - and converts the on-disk information to an appropriate in-memory - form. While the TIFF specification permits an arbitrary set of - tags to be defined and used in a file, the library only understands - a limited set of tags. - Any unknown tags that are encountered in a file are ignored. - There is a mechanism to extend the set of tags the library handles - without modifying the library itself; - this is described elsewhere. -

    -

    - libtiff provides two interfaces for getting and setting tag - values: TIFFGetField and TIFFSetField. - These routines use a variable argument list-style interface to pass - parameters of different type through a single function interface. - The get interface takes one or more pointers to memory locations - where the tag values are to be returned and also returns one or - zero according to whether the requested tag is defined in the directory. - The set interface takes the tag values either by-reference or - by-value. - The TIFF specification defines - default values for some tags. - To get the value of a tag, or its default value if it is undefined, - the TIFFGetFieldDefaulted interface may be used. -

    -

    - The manual pages for the tag get and set routines specifiy the exact data types - and calling conventions required for each tag supported by the library. -

    -
    -

    TIFF Compression Schemes

    -

    - libtiff includes support for a wide variety of - data compression schemes. - In normal operation a compression scheme is automatically used when - the TIFF Compression tag is set, either by opening a file - for reading, or by setting the tag when writing. -

    -

    - Compression schemes are implemented by software modules termed codecs - that implement decoder and encoder routines that hook into the - core library i/o support. - Codecs other than those bundled with the library can be registered - for use with the TIFFRegisterCODEC routine. - This interface can also be used to override the core-library - implementation for a compression scheme. -

    -
    -

    Byte Order

    -

    - The TIFF specification says, and has always said, that - a correct TIFF - reader must handle images in big-endian and little-endian byte order. - libtiff conforms in this respect. - Consequently there is no means to force a specific - byte order for the data written to a TIFF image file (data is - written in the native order of the host CPU unless appending to - an existing file, in which case it is written in the byte order - specified in the file). -

    -
    -

    Data Placement

    -

    - The TIFF specification requires that all information except an - 8-byte header can be placed anywhere in a file. - In particular, it is perfectly legitimate for directory information - to be written after the image data itself. - Consequently TIFF is inherently not suitable for passing through a - stream-oriented mechanism such as UNIX pipes. - Software that require that data be organized in a file in a particular - order (e.g. directory information before image data) does not - correctly support TIFF. - libtiff provides no mechanism for controlling the placement - of data in a file; image data is typically written before directory - information. -

    -
    -

    TIFFRGBAImage Support

    -

    - libtiff provides a high-level interface for reading image - data from a TIFF file. This interface handles the details of - data organization and format for a wide variety of TIFF files; - at least the large majority of those files that one would normally - encounter. Image data is, by default, returned as ABGR - pixels packed into 32-bit words (8 bits per sample). Rectangular - rasters can be read or data can be intercepted at an intermediate - level and packed into memory in a format more suitable to the - application. - The library handles all the details of the format of data stored on - disk and, in most cases, if any colorspace conversions are required: - bilevel to RGB, greyscale to RGB, CMYK to RGB, YCbCr to RGB, 16-bit - samples to 8-bit samples, associated/unassociated alpha, etc. -

    -

    - There are two ways to read image data using this interface. If - all the data is to be stored in memory and manipulated at once, - then the routine TIFFReadRGBAImage can be used: -

    -

    -

    - #include "tiffio.h"
    - main(int argc, char* argv[])
    - {
    -     TIFF* tif = TIFFOpen(argv[1], "r");
    -     if (tif) {
    -         uint32 w, h;
    -         size_t npixels;
    -         uint32* raster;
    -         
    -         TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &w);
    -         TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &h);
    -         npixels = w * h;
    -         raster = (uint32*) _TIFFmalloc(npixels * sizeof (uint32));
    -         if (raster != NULL) {
    -             if (TIFFReadRGBAImage(tif, w, h, raster, 0)) {
    -                 ...process raster data...
    -             }
    -             _TIFFfree(raster);
    -         }
    -         TIFFClose(tif);
    -     }
    -     exit(0);
    - }
    -

    -

    - Note above that _TIFFmalloc is used to allocate memory for - the raster passed to TIFFReadRGBAImage; this is important - to insure the ``appropriate type of memory'' is passed on machines - with segmented architectures. -

    -

    - Alternatively, TIFFReadRGBAImage can be replaced with a - more low-level interface that permits an application to have more - control over this reading procedure. The equivalent to the above - is: -

    -

    - #include "tiffio.h"
    - main(int argc, char* argv[])
    - {
    -     TIFF* tif = TIFFOpen(argv[1], "r");
    -     if (tif) {
    -         TIFFRGBAImage img;
    -         char emsg[1024];
    -         
    -         if (TIFFRGBAImageBegin(&img, tif, 0, emsg)) {
    -             size_t npixels;
    -             uint32* raster;
    -             
    -             npixels = img.width * img.height;
    -             raster = (uint32*) _TIFFmalloc(npixels * sizeof (uint32));
    -             if (raster != NULL) {
    -                 if (TIFFRGBAImageGet(&img, raster, img.width, img.height)) {
    -                     ...process raster data...
    -                 }
    -                 _TIFFfree(raster);
    -             }
    -             TIFFRGBAImageEnd(&img);
    -         } else
    -             TIFFError(argv[1], emsg);
    -         TIFFClose(tif);
    -     }
    -     exit(0);
    - }
    -

    -

    - However this usage does not take advantage of the more fine-grained - control that's possible. That is, by using this interface it is - possible to: -

    -
      -
    • repeatedly fetch (and manipulate) an image without opening - and closing the file
    • -
    • interpose a method for packing raster pixel data according to - application-specific needs (or write the data at all)
    • -
    • interpose methods that handle TIFF formats that are not already - handled by the core library
    • -
    -

    - The first item means that, for example, image viewers that want to - handle multiple files can cache decoding information in order to - speedup the work required to display a TIFF image. -

    -

    - The second item is the main reason for this interface. By interposing - a "put method" (the routine that is called to pack pixel data in - the raster) it is possible share the core logic that understands how - to deal with TIFF while packing the resultant pixels in a format that - is optimized for the application. This alternate format might be very - different than the 8-bit per sample ABGR format the library writes by - default. For example, if the application is going to display the image - on an 8-bit colormap display the put routine might take the data and - convert it on-the-fly to the best colormap indices for display. -

    -

    - The last item permits an application to extend the library - without modifying the core code. - By overriding the code provided an application might add support - for some esoteric flavor of TIFF that it needs, or it might - substitute a packing routine that is able to do optimizations - using application/environment-specific information. -

    -

    - The TIFF image viewer found in tools/sgigt.c is an example - of an application that makes use of the TIFFRGBAImage - support. -

    -
    -

    Scanline-based Image I/O

    -

    - The simplest interface provided by libtiff is a - scanline-oriented interface that can be used to read TIFF - images that have their image data organized in strips - (trying to use this interface to read data written in tiles - will produce errors.) - A scanline is a one pixel high row of image data whose width - is the width of the image. - Data is returned packed if the image data is stored with samples - packed together, or as arrays of separate samples if the data - is stored with samples separated. - The major limitation of the scanline-oriented interface, other - than the need to first identify an existing file as having a - suitable organization, is that random access to individual - scanlines can only be provided when data is not stored in a - compressed format, or when the number of rows in a strip - of image data is set to one (RowsPerStrip is one). -

    -

    - Two routines are provided for scanline-based i/o: - TIFFReadScanline - and - TIFFWriteScanline. - For example, to read the contents of a file that - is assumed to be organized in strips, the following might be used: -

    -

    - #include "tiffio.h"
    - main()
    - {
    -     TIFF* tif = TIFFOpen("myfile.tif", "r");
    -     if (tif) {
    -         uint32 imagelength;
    -         tdata_t buf;
    -         uint32 row;
    -         
    -         TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imagelength);
    -         buf = _TIFFmalloc(TIFFScanlineSize(tif));
    -         for (row = 0; row < imagelength; row++)
    -             tiffreadscanline(tif, buf, row);
    -         _tifffree(buf);
    -         tiffclose(tif);
    -     }
    - }
    -

    -

    - TIFFScanlineSize returns the number of bytes in - a decoded scanline, as returned by TIFFReadScanline. - Note however that if the file had been create with samples - written in separate planes, then the above code would only - read data that contained the first sample of each pixel; - to handle either case one might use the following instead: -

    -

    - #include "tiffio.h"
    - main()
    - {
    -     TIFF* tif = TIFFOpen("myfile.tif", "r");
    -     if (tif) {
    -         uint32 imagelength;
    -         tdata_t buf;
    -         uint32 row;
    -         
    -         TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imagelength);
    -         TIFFGetField(tif, TIFFTAG_PLANARCONFIG, &config);
    -         buf = _TIFFmalloc(TIFFScanlineSize(tif));
    -         if (config == PLANARCONFIG_CONTIG) {
    -             for (row = 0; row < imagelength; row++)
    -                 tiffreadscanline(tif, buf, row);
    -         } else if (config == planarconfig_separate) {
    -             uint16 s, nsamples;
    -             
    -             tiffgetfield(tif, tifftag_samplesperpixel, &nsamples);
    -             for (s = 0; s < nsamples; s++)
    -                 for (row = 0; row < imagelength; row++)
    -                     tiffreadscanline(tif, buf, row, s);
    -         }
    -         _tifffree(buf);
    -         tiffclose(tif);
    -     }
    - }
    -

    -

    - Beware however that if the following code were used instead to - read data in the case PLANARCONFIG_SEPARATE,... -

    -

    -             for (row = 0; row < imagelength; row++)
    -                 for (s = 0; s < nsamples; s++)
    -                     tiffreadscanline(tif, buf, row, s);
    -

    -

    - ...then problems would arise if RowsPerStrip was not one - because the order in which scanlines are requested would require - random access to data within strips (something that is not supported - by the library when strips are compressed). -

    -
    -

    Strip-oriented Image I/O

    -

    - The strip-oriented interfaces provided by the library provide - access to entire strips of data. Unlike the scanline-oriented - calls, data can be read or written compressed or uncompressed. - Accessing data at a strip (or tile) level is often desirable - because there are no complications with regard to random access - to data within strips. -

    -

    - A simple example of reading an image by strips is: -

    -

    - #include "tiffio.h"
    - main()
    - {
    -     TIFF* tif = TIFFOpen("myfile.tif", "r");
    -     if (tif) {
    -         tdata_t buf;
    -         tstrip_t strip;
    -         
    -         buf = _TIFFmalloc(TIFFStripSize(tif));
    -         for (strip = 0; strip < tiffnumberofstrips(tif); strip++)
    -             tiffreadencodedstrip(tif, strip, buf, (tsize_t) -1);
    -         _tifffree(buf);
    -         tiffclose(tif);
    -     }
    - }
    -

    -

    - Notice how a strip size of -1 is used; TIFFReadEncodedStrip - will calculate the appropriate size in this case. -

    -

    - The above code reads strips in the order in which the - data is physically stored in the file. If multiple samples - are present and data is stored with PLANARCONFIG_SEPARATE - then all the strips of data holding the first sample will be - read, followed by strips for the second sample, etc. -

    -

    - Finally, note that the last strip of data in an image may have fewer - rows in it than specified by the RowsPerStrip tag. A - reader should not assume that each decoded strip contains a full - set of rows in it. -

    -

    - The following is an example of how to read raw strips of data from - a file: -

    -

    - #include "tiffio.h"
    - main()
    - {
    -     TIFF* tif = TIFFOpen("myfile.tif", "r");
    -     if (tif) {
    -         tdata_t buf;
    -         tstrip_t strip;
    -         uint32* bc;
    -         uint32 stripsize;
    -         
    -         TIFFGetField(tif, TIFFTAG_STRIPBYTECOUNTS, &bc);
    -         stripsize = bc[0];
    -         buf = _TIFFmalloc(stripsize);
    -         for (strip = 0; strip < tiffnumberofstrips(tif); strip++) {
    -             if (bc[strip] > stripsize) {
    -                 buf = _TIFFrealloc(buf, bc[strip]);
    -                 stripsize = bc[strip];
    -             }
    -             TIFFReadRawStrip(tif, strip, buf, bc[strip]);
    -         }
    -         _TIFFfree(buf);
    -         TIFFClose(tif);
    -     }
    - }
    -

    -

    - As above the strips are read in the order in which they are - physically stored in the file; this may be different from the - logical ordering expected by an application. -

    -
    -

    Tile-oriented Image I/O

    -

    - Tiles of data may be read and written in a manner similar to strips. - With this interface, an image is - broken up into a set of rectangular areas that may have dimensions - less than the image width and height. All the tiles - in an image have the same size, and the tile width and length must each - be a multiple of 16 pixels. Tiles are ordered left-to-right and - top-to-bottom in an image. As for scanlines, samples can be packed - contiguously or separately. When separated, all the tiles for a sample - are colocated in the file. That is, all the tiles for sample 0 appear - before the tiles for sample 1, etc. -

    -

    - Tiles and strips may also be extended in a z dimension to form - volumes. Data volumes are organized as "slices". That is, all the - data for a slice is colocated. Volumes whose data is organized in - tiles can also have a tile depth so that data can be organized in - cubes. -

    -

    - There are actually two interfaces for tiles. - One interface is similar to scanlines, to read a tiled image, - code of the following sort might be used: -

    -

    - main()
    - {
    -     TIFF* tif = TIFFOpen("myfile.tif", "r");
    -     if (tif) {
    -         uint32 imageWidth, imageLength;
    -         uint32 tileWidth, tileLength;
    -         uint32 x, y;
    -         tdata_t buf;
    -         
    -         TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &imageWidth);
    -         TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imageLength);
    -         TIFFGetField(tif, TIFFTAG_TILEWIDTH, &tileWidth);
    -         TIFFGetField(tif, TIFFTAG_TILELENGTH, &tileLength);
    -         buf = _TIFFmalloc(TIFFTileSize(tif));
    -         for (y = 0; y < imagelength; y += tilelength)
    -             for (x = 0; x < imagewidth; x += tilewidth)
    -                 tiffreadtile(tif, buf, x, y, 0);
    -         _tifffree(buf);
    -         tiffclose(tif);
    -     }
    - }
    -

    -

    - (once again, we assume samples are packed contiguously.) -

    -

    - Alternatively a direct interface to the low-level data is provided - a la strips. Tiles can be read with - TIFFReadEncodedTile or TIFFReadRawTile, - and written with TIFFWriteEncodedTile or - TIFFWriteRawTile. For example, to read all the tiles in an image: -

    -

    - #include "tiffio.h"
    - main()
    - {
    -     TIFF* tif = TIFFOpen("myfile.tif", "r");
    -     if (tif) {
    -         tdata_t buf;
    -         ttile_t tile;
    -         
    -         buf = _TIFFmalloc(TIFFTileSize(tif));
    -         for (tile = 0; tile < tiffnumberoftiles(tif); tile++)
    -             tiffreadencodedtile(tif, tile, buf, (tsize_t) -1);
    -         _tifffree(buf);
    -         tiffclose(tif);
    -     }
    - }
    -

    -
    -

    Other Stuff

    -

    - Some other stuff will almost certainly go here... -

    -
    -

    - Last updated: $Date: 2005-12-28 06:53:18 $ -

    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFClose.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFClose.3tiff.html deleted file mode 100644 index 720ca32..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFClose.3tiff.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - -TIFFClose - - - -

    TIFFClose

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFClose − close a previously opened -TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    void TIFFClose(TIFF *tif)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    TIFFClose closes a file that was previously opened -with TIFFOpen(3TIFF). Any buffered data are flushed -to the file, including the contents of the current directory -(if modified); and all resources are reclaimed.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the routine. Likewise, -warning messages are directed to the -TIFFWarning(3TIFF) routine.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    libtiff(3TIFF), TIFFOpen(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFDataWidth.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFDataWidth.3tiff.html deleted file mode 100644 index 575e3cb..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFDataWidth.3tiff.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - -TIFFDataWidth - - - -

    TIFFDataWidth

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -RETURN VALUES
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFDataWidth − Get the size of TIFF data types

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    int TIFFDataWidth(TIFFDataType -type)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    TIFFDataWidth returns a size of type in -bytes. Currently following data types are supported:
    -TIFF_BYTE
    -TIFF_ASCII
    -TIFF_SBYTE
    -TIFF_UNDEFINED
    -TIFF_SHORT
    -TIFF_SSHORT
    -TIFF_LONG
    -TIFF_SLONG
    -TIFF_FLOAT
    -TIFF_IFD
    -TIFF_RATIONAL
    -TIFF_SRATIONAL
    -TIFF_DOUBLE

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    TIFFDataWidth returns a number of bytes occupied -by the item of given type. 0 returned when uknown data type -supplied.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    libtiff(3TIFF),

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFError.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFError.3tiff.html deleted file mode 100644 index 721cec7..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFError.3tiff.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - -TIFFError - - - -

    TIFFError

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -RETURN VALUES
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFError, TIFFSetErrorHandler − library error -handling interface

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    void TIFFError(const char *module, const -char *fmt, ...)

    - -

    #include <stdarg.h>

    - -

    typedef void (*TIFFErrorHandler)(const char -*module, const char *fmt, -va_list ap);
    -TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler -handler);

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    TIFFError invokes the library-wide error handling -function to (normally) write an error message to the -stderr. The fmt parameter is a -printf(3S) format string, and any number arguments -can be supplied. The module parameter, if non-zero, -is printed before the message; it typically is used to -identify the software module in which an error is -detected.

    - -

    Applications that desire to capture control in the event -of an error should use TIFFSetErrorHandler to -override the default error handler. A NULL -(0) error handling function may be installed to suppress -error messages.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    TIFFSetErrorHandler returns a reference to the -previous error handling function.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFWarning(3TIFF), libtiff(3TIFF), -printf(3)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFFlush.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFFlush.3tiff.html deleted file mode 100644 index 742f3ae..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFFlush.3tiff.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - -TIFFFlush - - - -

    TIFFFlush

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFFlush, TIFFFlushData − flush pending writes to -an open TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    int TIFFFlush(TIFF *tif)
    -int TIFFFlushData(TIFF *
    tif)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    TIFFFlush causes any pending writes for the -specified file (including writes for the current directory) -to be done. In normal operation this call is never needed -− the library automatically does any flushing -required.

    - -

    TIFFFlushData flushes any pending image data for -the specified file to be written out; directory-related data -are not flushed. In normal operation this call is never -needed − the library automatically does any flushing -required.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    0 is returned if an error is encountered, otherwise 1 is -returned.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), -TIFFWriteEncodedStrip(3TIFF), -TIFFWriteEncodedTile(3TIFF), -TIFFWriteRawStrip(3TIFF), -TIFFWriteRawTile(3TIFF), -TIFFWriteScanline(3TIFF), TIFFWriteTile(3TIFF) -libtiff(3TIFF),

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFGetField.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFGetField.3tiff.html deleted file mode 100644 index bd2f78b..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFGetField.3tiff.html +++ /dev/null @@ -1,1969 +0,0 @@ - - - - - - - - - -TIFFGetField - - - - -

    TIFFGetField

    - -NAME
    -SYNOPSIS
    -DESCRIPTION
    -AUTOREGISTERED TAGS
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - - -

    NAME - -

    - - -

    TIFFGetField, -TIFFVGetField − get the value(s) of a tag in an open -TIFF file

    - -

    SYNOPSIS - -

    - - -

    #include -<tiffio.h>

    - -

    int -TIFFGetField(TIFF *tif, ttag_t -tag, ...)

    - -

    #include -<stdarg.h>

    - -

    int -TIFFVGetField(TIFF *tif, ttag_t -tag, va_list ap)
    -int TIFFGetFieldDefaulted(TIFF *
    tif, -ttag_t tag, ...)
    -int TIFFVGetFieldDefaulted(TIFF *
    tif, -ttag_t tag, va_list ap)

    - -

    DESCRIPTION - -

    - - - -

    TIFFGetField -returns the value of a tag or pseudo-tag associated with the -the current directory of the opened TIFF file -tif. (A pseudo-tag is a parameter that is used -to control the operation of the TIFF library -but whose value is not read or written to the underlying -file.) The file must have been previously opened with -TIFFOpen(3TIFF). The tag is identified by tag, -one of the values defined in the include file tiff.h -(see also the table below). The type and number of values -returned is dependent on the tag being requested. The -programming interface uses a variable argument list as -prescribed by the stdarg(3) interface. The returned -values should only be interpreted if TIFFGetField -returns 1.

    - - -

    TIFFVGetField -is functionally equivalent to TIFFGetField except -that it takes a pointer to a variable argument list. -TIFFVGetField is useful for layering interfaces on -top of the functionality provided by -TIFFGetField.

    - - -

    TIFFGetFieldDefaulted -and TIFFVGetFieldDefaulted are identical to -TIFFGetField and TIFFVGetField, except that if -a tag is not defined in the current directory and it has a -default value, then the default value is returned.

    - -

    The tags -understood by libtiff(3TIFF), the number of parameter -values, and the types for the returned values are shown -below. The data types are specified as in C and correspond -to the types used to specify tag values to -TIFFSetField(3TIFF). Remember that -TIFFGetField returns parameter values, so all the -listed data types are pointers to storage where values -should be returned. Consult the TIFF -specification (or relevant industry specification) for -information on the meaning of each tag and their possible -values.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - -

    Tag Name

    - - -

    Count

    -
    - - -

    Types

    - - -

    Notes

    - - -

    TIFFTAG_ARTIST

    - - -

    1

    -
    - - -

    char**

    -
    - - -

    TIFFTAG_BADFAXLINES

    - - -

    1

    -
    - - -

    uint32*

    -
    - - -

    TIFFTAG_BITSPERSAMPLE

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_CLEANFAXDATA

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_COLORMAP

    - - -

    3

    -
    - - -

    uint16**

    - - -

    1<<BitsPerSample arrays

    - - -

    TIFFTAG_COMPRESSION

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_CONSECUTIVEBADFAXLINES

    - - -

    1

    -
    - - -

    uint32*

    -
    - - -

    TIFFTAG_COPYRIGHT

    - - -

    1

    -
    - - -

    char**

    -
    - - -

    TIFFTAG_DATATYPE

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_DATETIME

    - - -

    1

    -
    - - -

    char**

    -
    - - -

    TIFFTAG_DOCUMENTNAME

    - - -

    1

    -
    - - -

    char**

    -
    - - -

    TIFFTAG_DOTRANGE

    - - -

    2

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_EXTRASAMPLES

    - - -

    2

    -
    - - -

    uint16*,uint16**

    - - -

    count & types array

    - - -

    TIFFTAG_FAXFILLFUNC

    - - -

    1

    -
    - - -

    TIFFFaxFillFunc*

    - - -

    G3/G4 compression pseudo-tag

    - - -

    TIFFTAG_FAXMODE

    - - -

    1

    -
    - - -

    int*

    - - -

    G3/G4 compression pseudo-tag

    - - -

    TIFFTAG_FILLORDER

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_GROUP3OPTIONS

    - - -

    1

    -
    - - -

    uint32*

    -
    - - -

    TIFFTAG_GROUP4OPTIONS

    - - -

    1

    -
    - - -

    uint32*

    -
    - - -

    TIFFTAG_HALFTONEHINTS

    - - -

    2

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_HOSTCOMPUTER

    - - -

    1

    -
    - - -

    char**

    -
    - - -

    TIFFTAG_ICCPROFILE

    - - -

    2

    -
    - - -

    uint32*,void**

    - - -

    count, profile data

    - - -

    TIFFTAG_IMAGEDEPTH

    - - -

    1

    -
    - - -

    uint32*

    -
    - - -

    TIFFTAG_IMAGEDESCRIPTION

    - - -

    1

    -
    - - -

    char**

    -
    - - -

    TIFFTAG_IMAGELENGTH

    - - -

    1

    -
    - - -

    uint32*

    -
    - - -

    TIFFTAG_IMAGEWIDTH

    - - -

    1

    -
    - - -

    uint32*

    -
    - - -

    TIFFTAG_INKNAMES

    - - -

    1

    -
    - - -

    char**

    -
    - - -

    TIFFTAG_INKSET

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_JPEGCOLORMODE

    - - -

    1

    -
    - - -

    int*

    - - -

    JPEG pseudo-tag

    - - -

    TIFFTAG_JPEGQUALITY

    - - -

    1

    -
    - - -

    int*

    - - -

    JPEG pseudo-tag

    - - -

    TIFFTAG_JPEGTABLES

    - - -

    2

    -
    - - -

    uint32*,void**

    - - -

    count & tables

    - - -

    TIFFTAG_JPEGTABLESMODE

    - - -

    1

    -
    - - -

    int*

    - - -

    JPEG pseudo-tag

    - - -

    TIFFTAG_MAKE

    - - -

    1

    -
    - - -

    char**

    -
    - - -

    TIFFTAG_MATTEING

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_MAXSAMPLEVALUE

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_MINSAMPLEVALUE

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_MODEL

    - - -

    1

    -
    - - -

    char**

    -
    - - -

    TIFFTAG_ORIENTATION

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_PAGENAME

    - - -

    1

    -
    - - -

    char**

    -
    - - -

    TIFFTAG_PAGENUMBER

    - - -

    2

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_PHOTOMETRIC

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_PHOTOSHOP

    - - -

    2

    -
    - - -

    uint32*,void**

    - - -

    count, data

    - - -

    TIFFTAG_PLANARCONFIG

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_PREDICTOR

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_PRIMARYCHROMATICITIES

    - - -

    1

    -
    - - -

    float**

    - - -

    6-entry array

    - - -

    TIFFTAG_REFERENCEBLACKWHITE

    - - -

    1

    -
    - - -

    float**

    - - -

    6-entry array

    - - -

    TIFFTAG_RESOLUTIONUNIT

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_RICHTIFFIPTC

    - - -

    2

    -
    - - -

    uint32*,void**

    - - -

    count, data

    - - -

    TIFFTAG_ROWSPERSTRIP

    - - -

    1

    -
    - - -

    uint32*

    -
    - - -

    TIFFTAG_SAMPLEFORMAT

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_SAMPLESPERPIXEL

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_SMAXSAMPLEVALUE

    - - -

    1

    -
    - - -

    double*

    -
    - - -

    TIFFTAG_SMINSAMPLEVALUE

    - - -

    1

    -
    - - -

    double*

    -
    - - -

    TIFFTAG_SOFTWARE

    - - -

    1

    -
    - - -

    char**

    -
    - - -

    TIFFTAG_STONITS

    - - -

    1

    -
    - - -

    double**

    -
    - - -

    TIFFTAG_STRIPBYTECOUNTS

    - - -

    1

    -
    - - -

    uint32**

    -
    - - -

    TIFFTAG_STRIPOFFSETS

    - - -

    1

    -
    - - -

    uint32**

    -
    - - -

    TIFFTAG_SUBFILETYPE

    - - -

    1

    -
    - - -

    uint32*

    -
    - - -

    TIFFTAG_SUBIFD

    - - -

    2

    -
    - - -

    uint16*,uint32**

    - - -

    count & offsets array

    - - -

    TIFFTAG_TARGETPRINTER

    - - -

    1

    -
    - - -

    char**

    -
    - - -

    TIFFTAG_THRESHHOLDING

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_TILEBYTECOUNTS

    - - -

    1

    -
    - - -

    uint32**

    -
    - - -

    TIFFTAG_TILEDEPTH

    - - -

    1

    -
    - - -

    uint32*

    -
    - - -

    TIFFTAG_TILELENGTH

    - - -

    1

    -
    - - -

    uint32*

    -
    - - -

    TIFFTAG_TILEOFFSETS

    - - -

    1

    -
    - - -

    uint32**

    -
    - - -

    TIFFTAG_TILEWIDTH

    - - -

    1

    -
    - - -

    uint32*

    -
    - - -

    TIFFTAG_TRANSFERFUNCTION

    - - -

    1 or 3†

    - - -

    uint16**1<<BitsPerSample entry arrays

    - - -

    TIFFTAG_WHITEPOINT

    - - -

    1

    -
    - - -

    float**

    - - -

    2-entry array

    - - -

    TIFFTAG_XMLPACKET

    - - -

    2

    -
    - - -

    uint32*,void**

    - - -

    count, data

    - - -

    TIFFTAG_XPOSITION

    - - -

    1

    -
    - - -

    float*

    -
    - - -

    TIFFTAG_XRESOLUTION

    - - -

    1

    -
    - - -

    float*

    -
    - - -

    TIFFTAG_YCBCRCOEFFICIENTS

    - - -

    1

    -
    - - -

    float**

    - - -

    3-entry array

    - - -

    TIFFTAG_YCBCRPOSITIONING

    - - -

    1

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_YCBCRSUBSAMPLING

    - - -

    2

    -
    - - -

    uint16*

    -
    - - -

    TIFFTAG_YPOSITION

    - - -

    1

    -
    - - -

    float*

    -
    - - -

    TIFFTAG_YRESOLUTION

    - - -

    1

    -
    - - -

    float*‡

    -
    - -

    † If -SamplesPerPixel is one, then a single array is -returned; otherwise three arrays are returned.
    -‡ The contents of this field are quite complex. See -The ICC Profile Format Specification, Annex B.3 -"Embedding ICC Profiles in TIFF Files" (available -at http://www.color.org) for an explanation.

    - -

    AUTOREGISTERED TAGS - -

    - - -

    If you -can’t find the tag in the table above that means this -is unsupported tag. But you still be able to read it’s -value if you know the data type of that tag. For example, if -you want to read the LONG value from the tag 33424 and ASCII -string from the tag 36867 you can use the following -code:

    - -

    uint16 count; -
    -void *data;

    - - -

    TIFFGetField(tiff, -33424, &count, &data);
    -printf("Tag %d: %d, count %d0, 33424, *(uint32 *)data, -count);
    -TIFFGetField(tiff, 36867, &count, &data);
    -printf("Tag %d: %s, count %d0, 36867, (char *)data, -count);

    - -

    is not -supported by libtiff(3TIFF), library

    - -

    RETURN VALUES - -

    - - -

    1 is returned -if the tag is defined in the current directory; otherwise a -0 is returned.

    - -

    DIAGNOSTICS - -

    - - -

    All error -messages are directed to the TIFFError(3TIFF) -routine.

    - -

    Unknown -field, tag 0x%x. An unknown tag was supplied.

    - -

    SEE ALSO - -

    - - - -

    TIFFOpen(3TIFF), -TIFFSetField(3TIFF), TIFFSetDirectory(3TIFF), -TIFFReadDirectory(3TIFF), -TIFFWriteDirectory(3TIFF) libtiff(3TIFF),

    - -

    Libtiff library -home page: http://www.remotesensing.org/libtiff/

    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFOpen.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFOpen.3tiff.html deleted file mode 100644 index 2379121..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFOpen.3tiff.html +++ /dev/null @@ -1,421 +0,0 @@ - - - - - - -TIFFOpen - - - -

    TIFFOpen

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -BYTE ORDER
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFOpen, TIFFFdOpen, TIFFClientOpen − open a -TIFF file for reading or writing

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    TIFF* TIFFOpen(const char *filename, -const char *mode)
    -TIFF* TIFFFdOpen(const int
    fd, const char -*filename, const char -*mode)

    - -

    typedef tsize_t (*TIFFReadWriteProc)(thandle_t, -tdata_t, tsize_t);
    -typedef toff_t (*TIFFSeekProc)(thandle_t, toff_t, int);
    -typedef int (*TIFFCloseProc)(thandle_t);
    -typedef toff_t (*TIFFSizeProc)(thandle_t);
    -typedef int (*TIFFMapFileProc)(thandle_t, tdata_t*, -toff_t*);
    -typedef void (*TIFFUnmapFileProc)(thandle_t, tdata_t, -toff_t);

    - -

    TIFF* TIFFClientOpen(const char -*filename, const char *mode, -thandle_t clientdata, TIFFReadWriteProc -readproc, TIFFReadWriteProc -writeproc, TIFFSeekProc seekproc, -TIFFCloseProc closeproc, TIFFSizeProc -sizeproc, TIFFMapFileProc mapproc, -TIFFUnmapFileProc unmapproc)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    TIFFOpen opens a TIFF file whose -name is filename and returns a handle to be used in -subsequent calls to routines in libtiff. If the open -operation fails, then zero is returned. The mode -parameter specifies if the file is to be opened for reading -(‘‘r’’), writing -(‘‘w’’), or appending -(‘‘a’’) and, optionally, whether to -override certain default aspects of library operation (see -below). When a file is opened for appending, existing data -will not be touched; instead new data will be written as -additional subfiles. If an existing file is opened for -writing, all previous data is overwritten.

    - -

    If a file is opened for reading, the first -TIFF directory in the file is automatically -read (also see TIFFSetDirectory(3TIFF) for reading -directories other than the first). If a file is opened for -writing or appending, a default directory is automatically -created for writing subsequent data. This directory has all -the default values specified in TIFF Revision -6.0: BitsPerSample=1, ThreshHolding=bilevel -art scan, FillOrder=1 (most significant bit of each -data byte is filled first), Orientation=1 (the 0th -row represents the visual top of the image, and the 0th -column represents the visual left hand side), -SamplesPerPixel=1, RowsPerStrip=infinity, -ResolutionUnit=2 (inches), and Compression=1 -(no compression). To alter these values, or to define values -for additional fields, TIFFSetField(3TIFF) must be -used.

    - -

    TIFFFdOpen is like TIFFOpen except that it -opens a TIFF file given an open file -descriptor fd. The file’s name and mode must -reflect that of the open descriptor. The object associated -with the file descriptor must support random -access.

    - -

    TIFFClientOpen is like TIFFOpen except that -the caller supplies a collection of functions that the -library will use to do UNIX -like I/O -operations. The readproc and writeproc are -called to read and write data at the current file position. -seekproc is called to change the current file -position a la lseek(2). closeproc is invoked -to release any resources associated with an open file. -sizeproc is invoked to obtain the size in bytes of a -file. mapproc and unmapproc are called to map -and unmap a file’s contents in memory; c.f. -mmap(2) and munmap(2). The clientdata -parameter is an opaque ‘‘handle’’ -passed to the client-specified routines passed as parameters -to TIFFClientOpen.

    -
    - -

    OPTIONS

    - - - - - -
    -

    The open mode parameter can include the following flags -in addition to the ‘‘r’’, -‘‘w’’, and -‘‘a’’ flags. Note however that -option flags must follow the read-write-append -specification.

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    l

    -
    - -

    When creating a new file force information be written -with Little-Endian byte order (but see below). By default -the library will create new files using the native -CPU byte order.

    -
    -
    - -

    b

    -
    - -

    When creating a new file force information be written -with Big-Endian byte order (but see below). By default the -library will create new files using the native -CPU byte order.

    -
    -
    - -

    L

    -
    - -

    Force image data that is read or written to be treated -with bits filled from Least Significant Bit ( -LSB ) to Most Significant Bit ( -MSB ). Note that this is the opposite to the -way the library has worked from its inception.

    -
    -
    - -

    B

    -
    - -

    Force image data that is read or written to be treated -with bits filled from Most Significant Bit ( -MSB ) to Least Significant Bit ( -LSB ); this is the default.

    -
    -
    - -

    H

    -
    - -

    Force image data that is read or written to be treated -with bits filled in the same order as the native -CPU.

    -
    -
    - -

    M

    -
    - -

    Enable the use of memory-mapped files for images opened -read-only. If the underlying system does not support -memory-mapped files or if the specific image being opened -cannot be memory-mapped then the library will fallback to -using the normal system interface for reading information. -By default the library will attempt to use memory-mapped -files.

    -
    -
    - -

    m

    -
    - -

    Disable the use of memory-mapped files.

    -
    -
    - -

    C

    -
    - -

    Enable the use of ‘‘strip -chopping’’ when reading images that are -comprised of a single strip or tile of uncompressed data. -Strip chopping is a mechanism by which the library will -automatically convert the single-strip image to multiple -strips, each of which has about 8 Kilobytes of data. This -facility can be useful in reducing the amount of memory used -to read an image because the library normally reads each -strip in its entirety. Strip chopping does however alter the -apparent contents of the image because when an image is -divided into multiple strips it looks as though the -underlying file contains multiple separate strips. Finally, -note that default handling of strip chopping is a -compile-time configuration parameter. The default behaviour, -for backwards compatibility, is to enable strip -chopping.

    -
    -
    - -

    c

    -
    - -

    Disable the use of strip chopping when reading -images.

    -
    -
    - -

    h

    -
    - -

    Read TIFF header only, do not load the first image -directory. That could be useful in case of the broken first -directory. We can open the file and proceed to the other -directories.

    -
    -
    - -

    BYTE ORDER

    - - - - - -
    -

    The TIFF specification (all -versions) states that compliant readers must be -capable of reading images written in either byte order. -Nonetheless some software that claims to support the reading -of TIFF images is incapable of reading images -in anything but the native CPU byte order on -which the software was written. (Especially notorious are -applications written to run on Intel-based machines.) By -default the library will create new files with the native -byte-order of the CPU on which the -application is run. This ensures optimal performance and is -portable to any application that conforms to the TIFF -specification. To force the library to use a specific -byte-order when creating a new file the -‘‘b’’ and -‘‘l’’ option flags may be included -in the call to open a file; for example, -‘‘wb’’ or -‘‘wl’’.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    Upon successful completion TIFFOpen, -TIFFFdOpen, and TIFFClientOpen return a -TIFF pointer. Otherwise, NULL is -returned.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine. Likewise, warning messages -are directed to the TIFFWarning(3TIFF) routine.

    - -

    "%s": Bad mode. The specified -mode parameter was not one of -‘‘r’’ (read), -‘‘w’’ (write), or -‘‘a’’ (append).

    - -

    %s: Cannot open. TIFFOpen() was unable to -open the specified filename for read/writing.

    - -

    Cannot read TIFF header. An error occurred while -attempting to read the header information.

    - -

    Error writing TIFF header. An error occurred while -writing the default header information for a new file.

    - -

    Not a TIFF file, bad magic number %d (0x%x). The -magic number in the header was not (hex) 0x4d4d or (hex) -0x4949.

    - -

    Not a TIFF file, bad version number %d (0x%x). The -version field in the header was not 42 (decimal).

    - -

    Cannot append to file that has opposite byte -ordering. A file with a byte ordering opposite to the -native byte ordering of the current machine was opened for -appending (‘‘a’’). This is a -limitation of the library.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    libtiff(3TIFF), TIFFClose(3TIFF)

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFPrintDirectory.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFPrintDirectory.3tiff.html deleted file mode 100644 index f4dca6e..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFPrintDirectory.3tiff.html +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - -TIFFPrintDirectory - - - -

    TIFFPrintDirectory

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -NOTES
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFPrintDirectory − print a description of a -TIFF directory

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    void TIFFPrintDirectory(TIFF *tif, FILE -*fd, long flags)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    TIFFPrintDirectory prints a description of the -current directory in the specified TIFF file -to the standard I/O output stream fd. The -flags parameter is used to control the level of -detail of the printed information; it is a bit-or of the -flags defined in tiffio.h:

    - - -

    #define TIFFPRINT_NONE 0x0 /* no extra info */

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    #define

    -
    - -

    TIFFPRINT_STRIPS

    -
    - -

    0x1

    -
    - -

    /* strips/tiles info */

    -
    - -

    #define

    -
    - -

    TIFFPRINT_CURVES

    -
    - -

    0x2

    -
    - -

    /* color/gray response curves */

    -
    - -

    #define

    -
    - -

    TIFFPRINT_COLORMAP

    -
    - -

    0x4

    -
    - -

    /* colormap */

    -
    - -

    #define

    -
    - -

    TIFFPRINT_JPEGQTABLES

    -
    - -

    0x100

    -
    - -

    /* JPEG Q matrices */

    -
    - -

    #define

    -
    - -

    TIFFPRINT_JPEGACTABLES

    -
    - -

    0x200

    -
    - -

    /* JPEG AC tables */

    -
    - -

    #define

    -
    - -

    TIFFPRINT_JPEGDCTABLES

    -
    - -

    0x200

    -
    - -

    /* JPEG DC tables */

    -
    - -

    NOTES

    - - - - - -
    -

    In C++ the flags parameter defaults to 0.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    None.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    None.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    libtiff(3TIFF), TIFFOpen(3TIFF), -TIFFReadDirectory(3TIFF), -TIFFSetDirectory(3TIFF)

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFRGBAImage.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFRGBAImage.3tiff.html deleted file mode 100644 index 08a9924..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFRGBAImage.3tiff.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - - - -TIFFRGBAImage - - - -

    TIFFRGBAImage

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -ALTERNATE RASTER FORMATS
    -SIMULTANEOUS RASTER STORE AND DISPLAY
    -SUPPORTING ADDITIONAL TIFF FORMATS
    -NOTES
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFRGBAImageOK, TIFFRGBAImageBegin, TIFFRGBAImageGet, -TIFFRGBAImageEnd − read and decode an image into a -raster

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    typedef unsigned char TIFFRGBValue; typedef struct -_TIFFRGBAImage TIFFRGBAImage;

    - -

    int TIFFRGBAImageOK(TIFF *tif, char -emsg[1024])
    -int TIFFRGBAImageBegin(TIFFRGBAImage *
    img, -TIFF* tif, int stopOnError, -char emsg[1024])
    -int TIFFRGBAImageGet(TIFFRGBAImage *
    img, -uint32* raster, uint32 width , -uint32 height)
    -void TIFFRGBAImageEnd(TIFFRGBAImage -*
    img)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    The routines described here provide a high-level -interface through which TIFF images may be -read into memory. Images may be strip- or tile-based and -have a variety of different characteristics: bits/sample, -samples/pixel, photometric, etc. Decoding state is -encapsulated in a TIFFRGBAImage structure making it -possible to capture state for multiple images and quickly -switch between them. The target raster format can be -customized to a particular application’s needs by -installing custom routines that manipulate image data -according to application requirements.

    - -

    The default usage for these routines is: check if an -image can be processed using TIFFRGBAImageOK, -construct a decoder state block using -TIFFRGBAImageBegin, read and decode an image into a -target raster using TIFFRGBAImageGet, and then -release resources using TIFFRGBAImageEnd. -TIFFRGBAImageGet can be called multiple times to -decode an image using different state parameters. If -multiple images are to be displayed and there is not enough -space for each of the decoded rasters, multiple state blocks -can be managed and then calls can be made to -TIFFRGBAImageGet as needed to display an image.

    - -

    The generated raster is assumed to be an array of -width times height 32-bit entries, where -width must be less than or equal to the width of the -image (height may be any non-zero size). If the -raster dimensions are smaller than the image, the image data -is cropped to the raster bounds. If the raster height is -greater than that of the image, then the image data are -placed in the lower part of the raster. (Note that the -raster is assume to be organized such that the pixel at -location (x,y) is -raster[y*width+x]; with the -raster origin in the lower-left hand corner.)

    - -

    Raster pixels are 8-bit packed red, green, blue, alpha -samples. The macros TIFFGetR, TIFFGetG, -TIFFGetB, and TIFFGetA should be used to -access individual samples. Images without Associated Alpha -matting information have a constant Alpha of 1.0 (255).

    - -

    TIFFRGBAImageGet converts non-8-bit images by -scaling sample values. Palette, grayscale, bilevel, -CMYK , and YCbCr images are converted to -RGB transparently. Raster pixels are returned -uncorrected by any colorimetry information present in the -directory.

    - -

    The parameter stopOnError specifies how to act if -an error is encountered while reading the image. If -stopOnError is non-zero, then an error will terminate -the operation; otherwise TIFFRGBAImageGet will -continue processing data until all the possible data in the -image have been requested.

    -
    - -

    ALTERNATE RASTER FORMATS

    - - - - - -
    -

    To use the core support for reading and processing -TIFF images, but write the resulting raster -data in a different format one need only override the -‘‘put methods’’ used to store -raster data. These methods are are defined in the -TIFFRGBAImage structure and initially setup by -TIFFRGBAImageBegin to point to routines that pack -raster data in the default ABGR pixel format. -Two different routines are used according to the physical -organization of the image data in the file: -PlanarConfiguration=1 (packed samples), and -PlanarConfiguration=2 (separated samples). Note that -this mechanism can be used to transform the data before -storing it in the raster. For example one can convert data -to colormap indices for display on a colormap display.

    -
    - -

    SIMULTANEOUS RASTER STORE AND DISPLAY

    - - - - - -
    -

    It is simple to display an image as it is being read into -memory by overriding the put methods as described above for -supporting alternate raster formats. Simply keep a reference -to the default put methods setup by -TIFFRGBAImageBegin and then invoke them before or -after each display operation. For example, the -tiffgt(1) utility uses the following put method to -update the display as the raster is being filled:

    - -
    static void
    -putContigAndDraw(TIFFRGBAImage* img, uint32* raster,
    -    uint32 x, uint32 y, uint32 w, uint32 h,
    -    int32 fromskew, int32 toskew,
    -    unsigned char* cp)
    -{
    -    (*putContig)(img, raster, x, y, w, h, fromskew, toskew, cp);
    -    if (x+w == width) {
    -     w = width;
    -     if (img->orientation == ORIENTATION_TOPLEFT)
    -         lrectwrite(0, y-(h-1), w-1, y, raster-x-(h-1)*w);
    -     else
    -         lrectwrite(0, y, w-1, y+h-1, raster);
    -    }
    -}
    -
    - -

    (the original routine provided by the library is saved in -the variable putContig.)

    -
    - -

    SUPPORTING ADDITIONAL TIFF FORMATS

    - - - - - -
    -

    The TIFFRGBAImage routines support the most -commonly encountered flavors of TIFF. It is -possible to extend this support by overriding the -‘‘get method’’ invoked by -TIFFRGBAImageGet to read TIFF image -data. Details of doing this are a bit involved, it is best -to make a copy of an existing get method and modify it to -suit the needs of an application.

    -
    - -

    NOTES

    - - - - - -
    -

    Samples must be either 1, 2, 4, 8, or 16 bits. -Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. -SamplesPerPixel minus ExtraSamples).

    - -

    Palette image colormaps that appear to be incorrectly -written as 8-bit values are automatically scaled to -16-bits.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    All routines return 1 if the operation was successful. -Otherwise, 0 is returned if an error was encountered and -stopOnError is zero.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    - -

    Sorry, can not handle %d-bit pictures. The image -had BitsPerSample other than 1, 2, 4, 8, or 16.

    - -

    Sorry, can not handle %d-channel images. The image -had SamplesPerPixel other than 1, 3, or 4.

    - -

    Missing needed "PhotometricInterpretation" -tag. The image did not have a tag that describes how to -display the data.

    - -

    No "PhotometricInterpretation" tag, assuming -RGB. The image was missing a tag that describes how to -display it, but because it has 3 or 4 samples/pixel, it is -assumed to be RGB.

    - -

    No "PhotometricInterpretation" tag, assuming -min-is-black. The image was missing a tag that describes -how to display it, but because it has 1 sample/pixel, it is -assumed to be a grayscale or bilevel image.

    - -

    No space for photometric conversion table. There -was insufficient memory for a table used to convert image -samples to 8-bit RGB.

    - -

    Missing required "Colormap" tag. A -Palette image did not have a required Colormap -tag.

    - -

    No space for tile buffer. There was insufficient -memory to allocate an i/o buffer.

    - -

    No space for strip buffer. There was insufficient -memory to allocate an i/o buffer.

    - -

    Can not handle format. The image has a format -(combination of BitsPerSample, -SamplesPerPixel, and -PhotometricInterpretation) that can not be -handled.

    - -

    No space for B&W mapping table. There was -insufficient memory to allocate a table used to map -grayscale data to RGB.

    - -

    No space for Palette mapping table. There was -insufficient memory to allocate a table used to map data to -8-bit RGB.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), TIFFReadRGBAImage(3TIFF), -TIFFReadRGBAImageOriented(3TIFF), -TIFFReadRGBAStrip(3TIFF), -TIFFReadRGBATile(3TIFF), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadDirectory.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadDirectory.3tiff.html deleted file mode 100644 index 82350ad..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadDirectory.3tiff.html +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - -TIFFReadDirectory - - - -

    TIFFReadDirectory

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -NOTES
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFReadDirectory − get the contents of the -next directory in an open TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    int TIFFReadDirectory(TIFF -*tif)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Read the next directory in the specified file and -make it the current directory. Applications only need to -call TIFFReadDirectory to read multiple subfiles in a -single TIFF file— the first directory in a -file is automatically read when TIFFOpen is -called.

    -
    - -

    NOTES

    - - - - - -
    -

    If the library is compiled with -STRIPCHOP_SUPPORT enabled, then images that have a -single uncompressed strip or tile of data are automatically -treated as if they were made up of multiple strips or tiles -of approximately 8 kilobytes each. This operation is done -only in-memory; it does not alter the contents of the file. -However, the construction of the ‘‘chopped -strips’’ is visible to the application through -the number of strips [tiles] returned by -TIFFNumberOfStrips -[TIFFNumberOfTiles].

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    If the next directory was successfully read, 1 is -returned. Otherwise, 0 is returned if an error was -encountered, or if there are no more directories to be -read.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine. All warning messages are -directed to the TIFFWarning(3TIFF) routine.

    - -

    Seek error accessing TIFF directory. An error -occurred while positioning to the location of the -directory.

    - -

    Wrong data type %d for field "%s". -The tag entry in the directory had an incorrect data type. -For example, an ImageDescription tag with a -SHORT data type.

    - -

    TIFF directory is missing required "%s" -field. The specified tag is required to be present by -the TIFF 5.0 specification, but is missing. The -directory is (usually) unusable.

    - -

    %s: Rational with zero denominator. A -directory tag has a RATIONAL value whose -denominator is zero.

    - -

    Incorrect count %d for field "%s" (%lu, -expecting %lu); tag ignored. The specified tag’s -count field is bad. For example, a count other than 1 for a -SubFileType tag.

    - -

    Cannot handle different per-sample values for -field "%s". The tag has SamplesPerPixel -values and they are not all the same; e.g. -BitsPerSample. The library is unable to handle images -of this sort.

    - -

    Count mismatch for field "%s"; -expecting %d, got %d. The count field in a tag does not -agree with the number expected by the library. This should -never happen, so if it does, the library refuses to read the -directory.

    - -

    Invalid TIFF directory; tags are not sorted in -ascending order. The directory tags are not properly -sorted as specified in the TIFF 5.0 -specification. This error is not fatal.

    - -

    Ignoring unknown field with tag %d (0x%x). An -unknown tag was encountered in the directory; the library -ignores all such tags.

    - -

    TIFF directory is missing requred -"ImageLength" field. The image violates the -specification by not having a necessary field. There is no -way for the library to recover from this error.

    - -

    TIFF directory is missing requred -"PlanarConfig" field. The image violates the -specification by not having a necessary field. There is no -way for the library to recover from this error.

    - -

    TIFF directory is missing requred -"StripOffsets" field. The image has multiple -strips, but is missing the tag that specifies the file -offset to each strip of data. There is no way for the -library to recover from this error.

    - -

    TIFF directory is missing requred -"TileOffsets" field. The image has multiple -tiles, but is missing the tag that specifies the file offset -to each tile of data. There is no way for the library to -recover from this error.

    - -

    TIFF directory is missing required -"StripByteCounts" field. The image has -multiple strips, but is missing the tag that specifies the -size of each strip of data. There is no way for the library -to recover from this error.

    - -

    TIFF directory is missing required -"StripByteCounts" field, calculating from -imagelength. The image violates the specification by not -having a necessary field. However, when the image is -comprised of only one strip or tile, the library will -estimate the missing value based on the file size.

    - -

    Bogus "StripByteCounts" field, ignoring -and calculating from imagelength. Certain vendors -violate the specification by writing zero for the -StripByteCounts tag when they want to leave the value -unspecified. If the image has a single strip, the library -will estimate the missing value based on the file -size.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), -TIFFWriteDirectory(3TIFF), -TIFFSetDirectory(3TIFF), -TIFFSetSubDirectory(3TIFF), -libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadEncodedStrip.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadEncodedStrip.3tiff.html deleted file mode 100644 index d5c4c15..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadEncodedStrip.3tiff.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - -TIFFReadEncodedStrip - - - -

    TIFFReadEncodedStrip

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -NOTES
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFReadEncodedStrip − read and decode a strip -of data from an open TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    tsize_t TIFFReadEncodedStrip(TIFF -*tif, tstrip_t strip, -tdata_t buf, tsize_t -size)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Read the specified strip of data and place up to -size bytes of decompressed information in the (user -supplied) data buffer.

    -
    - -

    NOTES

    - - - - - -
    -

    The value of strip is a ‘‘raw -strip number.’’ That is, the caller must take -into account whether or not the data are organized in -separate planes (PlanarConfiguration=2). To read a -full strip of data the data buffer should typically be at -least as large as the number returned by -TIFFStripSize(3TIFF). If the -1 passed in size -parameter, the whole strip will be read. You should be sure -you have enough space allocated for the buffer.

    - -

    The library attempts to hide bit- and byte-ordering -differences between the image and the native machine by -converting data to the native machine order. Bit reversal is -done if the FillOrder tag is opposite to the native -machine bit order. 16- and 32-bit samples are automatically -byte-swapped if the file was written with a byte order -opposite to the native machine byte order,

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    The actual number of bytes of data that were placed -in buf is returned; TIFFReadEncodedStrip -returns −1 if an error was encountered.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), -TIFFReadRawStrip(3TIFF), -TIFFReadScanline(3TIFF), -libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadEncodedTile.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadEncodedTile.3tiff.html deleted file mode 100644 index b42dc09..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadEncodedTile.3tiff.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - -TIFFReadEncodedTile - - - -

    TIFFReadEncodedTile

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -NOTES
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFReadEncodedTile − read and decode a tile of -data from an open TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    int TIFFReadEncodedTile(TIFF *tif, -ttile_t tile, tdata_t buf, -tsize_t size)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Read the specified tile of data and place up to -size bytes of decompressed information in the (user -supplied) data buffer.

    -
    - -

    NOTES

    - - - - - -
    -

    The value of tile is a ‘‘raw tile -number.’’ That is, the caller must take into -account whether or not the data are organized in separate -planes (PlanarConfiguration=2). -TIFFComputeTile automatically does this when -converting an (x,y,z,sample) coordinate quadruple to a tile -number. To read a full tile of data the data buffer should -be at least as large as the value returned by -TIFFTileSize.

    - -

    The library attempts to hide bit- and byte-ordering -differences between the image and the native machine by -converting data to the native machine order. Bit reversal is -done if the FillOrder tag is opposite to the native -machine bit order. 16- and 32-bit samples are automatically -byte-swapped if the file was written with a byte order -opposite to the native machine byte order,

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    The actual number of bytes of data that were placed in -buf is returned; TIFFReadEncodedTile returns -−1 if an error was encountered.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), TIFFReadRawTile(3TIFF), -TIFFReadTile(3TIFF), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRGBAImage.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRGBAImage.3tiff.html deleted file mode 100644 index 1ebb09b..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRGBAImage.3tiff.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - -TIFFReadRGBAImage - - - -

    TIFFReadRGBAImage

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -NOTES
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFReadRGBAImage, TIFFReadRGBAImageOriented − read -and decode an image into a fixed-format raster

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    #define TIFFGetR(abgr) ((abgr) & 0xff)
    -#define TIFFGetG(abgr) (((abgr) >> 8) & 0xff)
    -#define TIFFGetB(abgr) (((abgr) >> 16) & 0xff)
    -#define TIFFGetA(abgr) (((abgr) >> 24) & -0xff)

    - -

    int TIFFReadRGBAImage(TIFF *tif, -uint32 width, uint32 height, -uint32 *raster, int -stopOnError)
    -int TIFFReadRGBAImageOriented(TIFF *
    tif, -uint32 width, uint32 height, -uint32 *raster, int orientation, -int stopOnError)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    TIFFReadRGBAImage reads a strip- or tile-based -image into memory, storing the result in the user supplied -raster. The raster is assumed to be an array of -width times height 32-bit entries, where -width must be less than or equal to the width of the -image (height may be any non-zero size). If the -raster dimensions are smaller than the image, the image data -is cropped to the raster bounds. If the raster height is -greater than that of the image, then the image data are -placed in the lower part of the raster. (Note that the -raster is assume to be organized such that the pixel at -location (x,y) is -raster[y*width+x]; with the -raster origin in the lower-left hand corner.)

    - -

    TIFFReadRGBAImageOriented works like -TIFFReadRGBAImage with except of that user can -specify the raster origin position with the -orientation parameter. Four orientations -supported:

    -
    - - - - - -
    -

    ORIENTATION_TOPLEFT

    - - - - - -
    -

    origin in top-left corner,

    -
    - - - - - -
    -

    ORIENTATION_TOPRIGHT

    - - - - - -
    -

    origin in top-right corner,

    -
    - - - - - -
    -

    ORIENTATION_BOTLEFT

    - - - - - -
    -

    origin in bottom-left corner and

    -
    - - - - - -
    -

    ORIENTATION_BOTRIGHT

    - - - - - -
    -

    origin in bottom-right corner.

    -
    - - - - - -
    -

    If you choose ORIENTATION_BOTLEFT result will be -the same as returned by the TIFFReadRGBAImage.

    - -

    Raster pixels are 8-bit packed red, green, blue, alpha -samples. The macros TIFFGetR, TIFFGetG, -TIFFGetB, and TIFFGetA should be used to -access individual samples. Images without Associated Alpha -matting information have a constant Alpha of 1.0 (255).

    - -

    TIFFReadRGBAImage converts non-8-bit images by -scaling sample values. Palette, grayscale, bilevel, -CMYK , and YCbCr images are converted to -RGB transparently. Raster pixels are returned -uncorrected by any colorimetry information present in the -directory.

    - -

    The paramater stopOnError specifies how to act if -an error is encountered while reading the image. If -stopOnError is non-zero, then an error will terminate -the operation; otherwise TIFFReadRGBAImage will -continue processing data until all the possible data in the -image have been requested.

    -
    - -

    NOTES

    - - - - - -
    -

    In C++ the stopOnError parameter defaults to -0.

    - -

    Samples must be either 1, 2, 4, 8, or 16 bits. -Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. -SamplesPerPixel minus ExtraSamples).

    - -

    Palettte image colormaps that appear to be incorrectly -written as 8-bit values are automatically scaled to -16-bits.

    - -

    TIFFReadRGBAImage is just a wrapper around the -more general TIFFRGBAImage(3TIFF) facilities.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    1 is returned if the image was successfully read and -converted. Otherwise, 0 is returned if an error was -encountered and stopOnError is zero.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    - -

    Sorry, can not handle %d-bit pictures. The image -had BitsPerSample other than 1, 2, 4, 8, or 16.

    - -

    Sorry, can not handle %d-channel images. The image -had SamplesPerPixel other than 1, 3, or 4.

    - -

    Missing needed "PhotometricInterpretation" -tag. The image did not have a tag that describes how to -display the data.

    - -

    No "PhotometricInterpretation" tag, assuming -RGB. The image was missing a tag that describes how to -display it, but because it has 3 or 4 samples/pixel, it is -assumed to be RGB.

    - -

    No "PhotometricInterpretation" tag, assuming -min-is-black. The image was missing a tag that describes -how to display it, but because it has 1 sample/pixel, it is -assumed to be a grayscale or bilevel image.

    - -

    No space for photometric conversion table. There -was insufficient memory for a table used to convert image -samples to 8-bit RGB.

    - -

    Missing required "Colormap" tag. A -Palette image did not have a required Colormap -tag.

    - -

    No space for tile buffer. There was insufficient -memory to allocate an i/o buffer.

    - -

    No space for strip buffer. There was insufficient -memory to allocate an i/o buffer.

    - -

    Can not handle format. The image has a format -(combination of BitsPerSample, -SamplesPerPixel, and -PhotometricInterpretation) that -TIFFReadRGBAImage can not handle.

    - -

    No space for B&W mapping table. There was -insufficient memory to allocate a table used to map -grayscale data to RGB.

    - -

    No space for Palette mapping table. There was -insufficient memory to allocate a table used to map data to -8-bit RGB.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), TIFFRGBAImage(3TIFF), -TIFFReadRGBAStrip(3TIFF), -TIFFReadRGBATile(3TIFF), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRGBAStrip.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRGBAStrip.3tiff.html deleted file mode 100644 index 37d36d3..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRGBAStrip.3tiff.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - -TIFFReadRGBAStrip - - - -

    TIFFReadRGBAStrip

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -NOTES
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFReadRGBAStrip − read and decode an image strip -into a fixed-format raster

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    #define TIFFGetR(abgr) ((abgr) & 0xff)
    -#define TIFFGetG(abgr) (((abgr) >> 8) & 0xff)
    -#define TIFFGetB(abgr) (((abgr) >> 16) & 0xff)
    -#define TIFFGetA(abgr) (((abgr) >> 24) & -0xff)

    - -

    int TIFFReadRGBAStrip(TIFF *tif, -uint32 row, uint32 -*raster)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    TIFFReadRGBAStrip reads a single strip of a -strip-based image into memory, storing the result in the -user supplied RGBA raster. The raster is assumed to -be an array of width times rowsperstrip 32-bit entries, -where width is the width of the image (TIFFTAG_IMAGEWIDTH) -and rowsperstrip is the maximum lines in a strip -(TIFFTAG_ROWSPERSTRIP).

    - -

    The row value should be the row of the first row -in the strip (strip * rowsperstrip, zero based).

    - -

    Note that the raster is assume to be organized such that -the pixel at location (x,y) is -raster[y*width+x]; with the -raster origin in the lower-left hand corner of the -strip. That is bottom to top organization. When reading a -partial last strip in the file the last line of the image -will begin at the beginning of the buffer.

    - -

    Raster pixels are 8-bit packed red, green, blue, alpha -samples. The macros TIFFGetR, TIFFGetG, -TIFFGetB, and TIFFGetA should be used to -access individual samples. Images without Associated Alpha -matting information have a constant Alpha of 1.0 (255).

    - -

    See the TIFFRGBAImage(3TIFF) page for more details -on how various image types are converted to RGBA values.

    -
    - -

    NOTES

    - - - - - -
    -

    Samples must be either 1, 2, 4, 8, or 16 bits. -Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. -SamplesPerPixel minus ExtraSamples).

    - -

    Palette image colormaps that appear to be incorrectly -written as 8-bit values are automatically scaled to -16-bits.

    - -

    TIFFReadRGBAStrip is just a wrapper around the -more general TIFFRGBAImage(3TIFF) facilities. -It’s main advantage over the similar -TIFFReadRGBAImage() function is that for large images -a single buffer capable of holding the whole image -doesn’t need to be allocated, only enough for one -strip. The TIFFReadRGBATile() function does a similar -operation for tiled images.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    1 is returned if the image was successfully read and -converted. Otherwise, 0 is returned if an error was -encountered.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    - -

    Sorry, can not handle %d-bit pictures. The image -had BitsPerSample other than 1, 2, 4, 8, or 16.

    - -

    Sorry, can not handle %d-channel images. The image -had SamplesPerPixel other than 1, 3, or 4.

    - -

    Missing needed "PhotometricInterpretation" -tag. The image did not have a tag that describes how to -display the data.

    - -

    No "PhotometricInterpretation" tag, assuming -RGB. The image was missing a tag that describes how to -display it, but because it has 3 or 4 samples/pixel, it is -assumed to be RGB.

    - -

    No "PhotometricInterpretation" tag, assuming -min-is-black. The image was missing a tag that describes -how to display it, but because it has 1 sample/pixel, it is -assumed to be a grayscale or bilevel image.

    - -

    No space for photometric conversion table. There -was insufficient memory for a table used to convert image -samples to 8-bit RGB.

    - -

    Missing required "Colormap" tag. A -Palette image did not have a required Colormap -tag.

    - -

    No space for tile buffer. There was insufficient -memory to allocate an i/o buffer.

    - -

    No space for strip buffer. There was insufficient -memory to allocate an i/o buffer.

    - -

    Can not handle format. The image has a format -(combination of BitsPerSample, -SamplesPerPixel, and -PhotometricInterpretation) that -TIFFReadRGBAImage can not handle.

    - -

    No space for B&W mapping table. There was -insufficient memory to allocate a table used to map -grayscale data to RGB.

    - -

    No space for Palette mapping table. There was -insufficient memory to allocate a table used to map data to -8-bit RGB.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), TIFFRGBAImage(3TIFF), -TIFFReadRGBAImage(3TIFF), -TIFFReadRGBATile(3TIFF), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRGBATile.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRGBATile.3tiff.html deleted file mode 100644 index 6bd298a..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRGBATile.3tiff.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - -TIFFReadRGBATile - - - -

    TIFFReadRGBATile

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -NOTES
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFReadRGBATile − read and decode an image tile -into a fixed-format raster

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    #define TIFFGetR(abgr)

    -
    - -

    ((abgr) & 0xff)

    -
    - -

    #define TIFFGetG(abgr)

    -
    - -

    (((abgr) >> 8) & 0xff)

    -
    - -

    #define TIFFGetB(abgr)

    -
    - -

    (((abgr) >> 16) & 0xff)

    -
    - -

    #define TIFFGetA(abgr)

    -
    - -

    (((abgr) >> 24) & 0xff)

    -
    - - - - - -
    -

    int TIFFReadRGBATile(TIFF *tif, -uint32 x, uint32 y, uint32 -*raster)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    TIFFReadRGBATile reads a single tile of a -tile-based image into memory, storing the result in the user -supplied RGBA raster. The raster is assumed to be an -array of width times length 32-bit entries, where width is -the width of a tile (TIFFTAG_TILEWIDTH) and length is the -height of a tile (TIFFTAG_TILELENGTH).

    - -

    The x and y values are the offsets from the -top left corner to the top left corner of the tile to be -read. They must be an exact multiple of the tile width and -length.

    - -

    Note that the raster is assume to be organized such that -the pixel at location (x,y) is -raster[y*width+x]; with the -raster origin in the lower-left hand corner of the -tile. That is bottom to top organization. Edge tiles which -partly fall off the image will be filled out with -appropriate zeroed areas.

    - -

    Raster pixels are 8-bit packed red, green, blue, alpha -samples. The macros TIFFGetR, TIFFGetG, -TIFFGetB, and TIFFGetA should be used to -access individual samples. Images without Associated Alpha -matting information have a constant Alpha of 1.0 (255).

    - -

    See the TIFFRGBAImage(3TIFF) page for more details -on how various image types are converted to RGBA values.

    -
    - -

    NOTES

    - - - - - -
    -

    Samples must be either 1, 2, 4, 8, or 16 bits. -Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. -SamplesPerPixel minus ExtraSamples).

    - -

    Palette image colormaps that appear to be incorrectly -written as 8-bit values are automatically scaled to -16-bits.

    - -

    TIFFReadRGBATile is just a wrapper around the more -general TIFFRGBAImage(3TIFF) facilities. It’s -main advantage over the similar TIFFReadRGBAImage() -function is that for large images a single buffer capable of -holding the whole image doesn’t need to be allocated, -only enough for one tile. The TIFFReadRGBAStrip() -function does a similar operation for stripped images.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    1 is returned if the image was successfully read and -converted. Otherwise, 0 is returned if an error was -encountered.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    - -

    Sorry, can not handle %d-bit pictures. The image -had BitsPerSample other than 1, 2, 4, 8, or 16.

    - -

    Sorry, can not handle %d-channel images. The image -had SamplesPerPixel other than 1, 3, or 4.

    - -

    Missing needed "PhotometricInterpretation" -tag. The image did not have a tag that describes how to -display the data.

    - -

    No "PhotometricInterpretation" tag, assuming -RGB. The image was missing a tag that describes how to -display it, but because it has 3 or 4 samples/pixel, it is -assumed to be RGB.

    - -

    No "PhotometricInterpretation" tag, assuming -min-is-black. The image was missing a tag that describes -how to display it, but because it has 1 sample/pixel, it is -assumed to be a grayscale or bilevel image.

    - -

    No space for photometric conversion table. There -was insufficient memory for a table used to convert image -samples to 8-bit RGB.

    - -

    Missing required "Colormap" tag. A -Palette image did not have a required Colormap -tag.

    - -

    No space for tile buffer. There was insufficient -memory to allocate an i/o buffer.

    - -

    No space for strip buffer. There was insufficient -memory to allocate an i/o buffer.

    - -

    Can not handle format. The image has a format -(combination of BitsPerSample, -SamplesPerPixel, and -PhotometricInterpretation) that -TIFFReadRGBAImage can not handle.

    - -

    No space for B&W mapping table. There was -insufficient memory to allocate a table used to map -grayscale data to RGB.

    - -

    No space for Palette mapping table. There was -insufficient memory to allocate a table used to map data to -8-bit RGB.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), TIFFRGBAImage(3TIFF), -TIFFReadRGBAImage(3TIFF), -TIFFReadRGBAStrip(3TIFF), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRawStrip.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRawStrip.3tiff.html deleted file mode 100644 index 4dd1fbc..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRawStrip.3tiff.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - -TIFFReadRawStrip - - - -

    TIFFReadRawStrip

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFReadRawStrip − return the undecoded contents of -a strip of data from an open TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    tsize_t TIFFReadRawStrip(TIFF *tif, -tstrip_t strip, tdata_t buf, -tsize_t size)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Read the contents of the specified strip into the (user -supplied) data buffer. Note that the value of strip -is a ‘‘raw strip number.’’ That is, -the caller must take into account whether or not the data is -organized in separate planes (PlanarConfiguration=2). -To read a full strip of data the data buffer should -typically be at least as large as the number returned by -TIFFStripSize.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    The actual number of bytes of data that were placed in -buf is returned; TIFFReadEncodedStrip returns -−1 if an error was encountered.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), -TIFFReadEncodedStrip(3TIFF), -TIFFReadScanline(3TIFF), TIFFStripSize(3TIFF), -libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRawTile.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRawTile.3tiff.html deleted file mode 100644 index e74295b..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadRawTile.3tiff.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -TIFFReadRawTile - - - -

    TIFFReadRawTile

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFReadRawTile − return an undecoded tile of data -from an open TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    tsize_t TIFFReadRawTile(TIFF *tif, -ttile_t tile, tdata_t buf, -tsize_t size)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Read the contents of the specified tile into the (user -supplied) data buffer. Note that the value of tile is -a ‘‘raw tile number.’’ That is, the -caller must take into account whether or not the data is -organized in separate planes (PlanarConfiguration=2). -TIFFComputeTile automatically does this when -converting an (x,y,z,sample) coordinate quadruple to a tile -number. To read a full tile of data the data buffer should -typically be at least as large as the value returned by -TIFFTileSize.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    The actual number of bytes of data that were placed in -buf is returned; TIFFReadEncodedTile returns -−1 if an error was encountered.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), -TIFFReadEncodedTile(3TIFF), -TIFFReadTile(3TIFF), TIFFTileSize(3TIFF), -libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadScanline.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadScanline.3tiff.html deleted file mode 100644 index e825e4c..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadScanline.3tiff.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - -TIFFReadScanline - - - -

    TIFFReadScanline

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -NOTES
    -RETURN VALUES
    -DIAGNOSTICS
    -BUGS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFReadScanline − read and decode a scanline of -data from an open TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    int TIFFReadScanline(TIFF *tif, -tdata_t buf, uint32 row, -tsample_t sample)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Read the data for the specified row into the (user -supplied) data buffer buf. The data are returned -decompressed and, in the native byte- and bit-ordering, but -are otherwise packed (see further below). The buffer must be -large enough to hold an entire scanline of data. -Applications should call the routine TIFFScanlineSize -to find out the size (in bytes) of a scanline buffer. The -row parameter is always used by -TIFFReadScanline; the sample parameter is used -only if data are organized in separate planes -(PlanarConfiguration=2).

    -
    - -

    NOTES

    - - - - - -
    -

    The library attempts to hide bit- and byte-ordering -differences between the image and the native machine by -converting data to the native machine order. Bit reversal is -done if the FillOrder tag is opposite to the native -machine bit order. 16- and 32-bit samples are automatically -byte-swapped if the file was written with a byte order -opposite to the native machine byte order,

    - -

    In C++ the sample parameter defaults to 0.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    TIFFReadScanline returns −1 if it detects an -error; otherwise 1 is returned.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    - -

    Compression algorithm does not support random -access. Data was requested in a non-sequential order -from a file that uses a compression algorithm and that has -RowsPerStrip greater than one. That is, data in the -image is stored in a compressed form, and with multiple rows -packed into a strip. In this case, the library does not -support random access to the data. The data should either be -accessed sequentially, or the file should be converted so -that each strip is made up of one row of data.

    -
    - -

    BUGS

    - - - - - -
    -

    Reading subsampled YCbCR data does not work correctly -because, for PlanarConfiguration=2 the size of a -scanline is not calculated on a per-sample basis, and for -PlanarConfiguration=1 the library does not unpack the -block-interleaved samples; use the strip- and tile-based -interfaces to read these formats.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), -TIFFReadEncodedStrip(3TIFF), -TIFFReadRawStrip(3TIFF), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadTile.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadTile.3tiff.html deleted file mode 100644 index be245f8..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFReadTile.3tiff.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - -TIFFReadTile - - - -

    TIFFReadTile

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -NOTES
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFReadTile − read and decode a tile of data from -an open TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    tsize_t TIFFReadTile(TIFF *tif, -tdata_t buf, uint32 x, -uint32 y, uint32 z, -tsample_t sample)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Return the data for the tile containing the -specified coordinates. The data placed in buf are -returned decompressed and, typically, in the native byte- -and bit-ordering, but are otherwise packed (see further -below). The buffer must be large enough to hold an entire -tile of data. Applications should call the routine -TIFFTileSize to find out the size (in bytes) of a -tile buffer. The x and y parameters are always -used by TIFFReadTile. The z parameter is used -if the image is deeper than 1 slice -(ImageDepth>1). The sample parameter is -used only if data are organized in separate planes -(PlanarConfiguration=2).

    -
    - -

    NOTES

    - - - - - -
    -

    The library attempts to hide bit- and byte-ordering -differences between the image and the native machine by -converting data to the native machine order. Bit reversal is -done if the FillOrder tag is opposite to the native -machine bit order. 16- and 32-bit samples are automatically -byte-swapped if the file was written with a byte order -opposite to the native machine byte order,

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    TIFFReadTile returns −1 if it detects an -error; otherwise the number of bytes in the decoded tile is -returned.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFCheckTile(3TIFF), -TIFFComputeTile(3TIFF), TIFFOpen(3TIFF), -TIFFReadEncodedTile(3TIFF), -TIFFReadRawTile(3TIFF), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFSetDirectory.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFSetDirectory.3tiff.html deleted file mode 100644 index 9047b0b..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFSetDirectory.3tiff.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - -TIFFSetDirectory - - - -

    TIFFSetDirectory

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFSetDirectory, TIFFSetSubDirectory − set the -current directory for an open TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    int TIFFSetDirectory(TIFF *tif, -tdir_t dirnum)
    -int TIFFSetSubDirectory(TIFF *
    tif, uint32 -diroff)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    TIFFSetDirectory changes the current directory and -reads its contents with TIFFReadDirectory. The -parameter dirnum specifies the subfile/directory as -an integer number, with the first directory numbered -zero.

    - -

    TIFFSetSubDirectory acts like -TIFFSetDirectory, except the directory is specified -as a file offset instead of an index; this is required for -accessing subdirectories linked through a SubIFD -tag.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    On successful return 1 is returned. Otherwise, 0 is -returned if dirnum or diroff specifies a -non-existent directory, or if an error was encountered while -reading the directory’s contents.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    - -

    %s: Error fetching directory count. An error was -encountered while reading the ‘‘directory -count’’ field.

    - -

    %s: Error fetching directory link. An error was -encountered while reading the ‘‘link -value’’ that points to the next directory in a -file.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFCurrentDirectory(3TIFF), -TIFFOpen(3TIFF), TIFFReadDirectory(3TIFF), -TIFFWriteDirectory(3TIFF), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFSetField.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFSetField.3tiff.html deleted file mode 100644 index f160fed..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFSetField.3tiff.html +++ /dev/null @@ -1,1865 +0,0 @@ - - - - - - - - - -TIFFSetField - - - - -

    TIFFSetField

    - -NAME
    -SYNOPSIS
    -DESCRIPTION
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - - -

    NAME - -

    - - -

    TIFFSetField, -TIFFVSetField − set the value(s) of a tag in a -TIFF file open for writing

    - -

    SYNOPSIS - -

    - - -

    #include -<tiffio.h>

    - -

    int -TIFFSetField(TIFF *tif, ttag_t -tag, ...)

    - -

    #include -<stdarg.h>

    - -

    int -TIFFVSetField(TIFF *tif, ttag_t -tag, va_list ap)

    - -

    DESCRIPTION - -

    - - - -

    TIFFSetField -sets the value of a field or pseudo-tag in the current -directory associated with the open TIFF file -tif. (A pseudo-tag is a parameter that is used -to control the operation of the TIFF library -but whose value is not read or written to the underlying -file.) To set the value of a field the file must have been -previously opened for writing with TIFFOpen(3TIFF); -pseudo-tags can be set whether the file was opened for -reading or writing. The field is identified by tag, -one of the values defined in the include file tiff.h -(see also the table below). The actual value is specified -using a variable argument list, as prescribed by the -stdarg(3) interface (or, on some machines, the -varargs(3) interface.)

    - - -

    TIFFVSetField -is functionally equivalent to TIFFSetField except -that it takes a pointer to a variable argument list. -TIFFVSetField is useful for writing routines that are -layered on top of the functionality provided by -TIFFSetField.

    - -

    The tags -understood by libtiff, the number of parameter -values, and the expected types for the parameter values are -shown below. The data types are: char* is -null-terminated string and corresponds to the -ASCII data type; uint16 is an unsigned -16-bit value; uint32 is an unsigned 32-bit value; -uint16* is an array of unsigned 16-bit values. -void* is an array of data values of unspecified -type.

    - -

    Consult the -TIFF specification for information on the -meaning of each tag.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - -

    Tag Name

    - - -

    Count

    -
    - - -

    Types

    - - -

    Notes

    - - -

    TIFFTAG_ARTIST

    - - -

    1

    -
    - - -

    char*

    -
    - - -

    TIFFTAG_BADFAXLINES

    - - -

    1

    -
    - - -

    uint32

    -
    - - -

    TIFFTAG_BITSPERSAMPLE

    - - -

    1

    -
    - - -

    uint16

    - - -

    - - -

    TIFFTAG_CLEANFAXDATA

    - - -

    1

    -
    - - -

    uint16

    -
    - - -

    TIFFTAG_COLORMAP

    - - -

    3

    -
    - - -

    uint16*

    - - -

    1<<BitsPerSample arrays

    - - -

    TIFFTAG_COMPRESSION

    - - -

    1

    -
    - - -

    uint16

    - - -

    - - -

    TIFFTAG_CONSECUTIVEBADFAXLINES

    - - -

    1

    -
    - - -

    uint32

    -
    - - -

    TIFFTAG_COPYRIGHT

    - - -

    1

    -
    - - -

    char*

    -
    - - -

    TIFFTAG_DATETIME

    - - -

    1

    -
    - - -

    char*

    -
    - - -

    TIFFTAG_DOCUMENTNAME

    - - -

    1

    -
    - - -

    char*

    -
    - - -

    TIFFTAG_DOTRANGE

    - - -

    2

    -
    - - -

    uint16

    -
    - - -

    TIFFTAG_EXTRASAMPLES

    - - -

    2

    -
    - - -

    uint16,uint16*

    - - -

    † count & types array

    - - -

    TIFFTAG_FAXFILLFUNC

    - - -

    1

    -
    - - -

    TIFFFaxFillFunc

    - - -

    G3/G4 compression pseudo-tag

    - - -

    TIFFTAG_FAXMODE

    - - -

    1

    -
    - - -

    int

    - - -

    † G3/G4 compression pseudo-tag

    - - -

    TIFFTAG_FILLORDER

    - - -

    1

    -
    - - -

    uint16

    - - -

    - - -

    TIFFTAG_GROUP3OPTIONS

    - - -

    1

    -
    - - -

    uint32

    - - -

    - - -

    TIFFTAG_GROUP4OPTIONS

    - - -

    1

    -
    - - -

    uint32

    - - -

    - - -

    TIFFTAG_HALFTONEHINTS

    - - -

    2

    -
    - - -

    uint16

    -
    - - -

    TIFFTAG_HOSTCOMPUTER

    - - -

    1

    -
    - - -

    char*

    -
    - - -

    TIFFTAG_ICCPROFILE

    - - -

    2

    -
    - - -

    uint32,void*

    - - -

    count, profile data

    - - -

    TIFFTAG_IMAGEDEPTH

    - - -

    1

    -
    - - -

    uint32

    - - -

    - - -

    TIFFTAG_IMAGEDESCRIPTION

    - - -

    1

    -
    - - -

    char*

    -
    - - -

    TIFFTAG_IMAGELENGTH

    - - -

    1

    -
    - - -

    uint32

    -
    - - -

    TIFFTAG_IMAGEWIDTH

    - - -

    1

    -
    - - -

    uint32

    - - -

    - - -

    TIFFTAG_INKNAMES

    - - -

    2

    -
    - - -

    uint16, char*

    -
    - - -

    TIFFTAG_INKSET

    - - -

    1

    -
    - - -

    uint16

    - - -

    - - -

    TIFFTAG_JPEGCOLORMODE

    - - -

    1

    -
    - - -

    int

    - - -

    † JPEG pseudo-tag

    - - -

    TIFFTAG_JPEGQUALITY

    - - -

    1

    -
    - - -

    int

    - - -

    JPEG pseudo-tag

    - - -

    TIFFTAG_JPEGTABLES

    - - -

    2

    -
    - - -

    uint32*,void*

    - - -

    † count & tables

    - - -

    TIFFTAG_JPEGTABLESMODE

    - - -

    1

    -
    - - -

    int

    - - -

    † JPEG pseudo-tag

    - - -

    TIFFTAG_MAKE

    - - -

    1

    -
    - - -

    char*

    -
    - - -

    TIFFTAG_MATTEING

    - - -

    1

    -
    - - -

    uint16

    - - -

    - - -

    TIFFTAG_MAXSAMPLEVALUE

    - - -

    1

    -
    - - -

    uint16

    -
    - - -

    TIFFTAG_MINSAMPLEVALUE

    - - -

    1

    -
    - - -

    uint16

    -
    - - -

    TIFFTAG_MODEL

    - - -

    1

    -
    - - -

    char*

    -
    - - -

    TIFFTAG_ORIENTATION

    - - -

    1

    -
    - - -

    uint16

    -
    - - -

    TIFFTAG_PAGENAME

    - - -

    1

    -
    - - -

    char*

    -
    - - -

    TIFFTAG_PAGENUMBER

    - - -

    2

    -
    - - -

    uint16

    -
    - - -

    TIFFTAG_PHOTOMETRIC

    - - -

    1

    -
    - - -

    uint16

    -
    - - -

    TIFFTAG_PHOTOSHOP

    - - -

    ?

    -
    - - -

    uint32,void*

    - - -

    count, data

    - - -

    TIFFTAG_PLANARCONFIG

    - - -

    1

    -
    - - -

    uint16

    - - -

    - - -

    TIFFTAG_PREDICTOR

    - - -

    1

    -
    - - -

    uint16

    - - -

    - - -

    TIFFTAG_PRIMARYCHROMATICITIES

    - - -

    1

    -
    - - -

    float*

    - - -

    6-entry array

    - - -

    TIFFTAG_REFERENCEBLACKWHITE

    - - -

    1

    -
    - - -

    float*

    - - -

    † 6-entry array

    - - -

    TIFFTAG_RESOLUTIONUNIT

    - - -

    1

    -
    - - -

    uint16

    -
    - - -

    TIFFTAG_RICHTIFFIPTC

    - - -

    2

    -
    - - -

    uint32,void*

    - - -

    count, data

    - - -

    TIFFTAG_ROWSPERSTRIP

    - - -

    1

    -
    - - -

    uint32

    - - -

    † must be > 0

    - - -

    TIFFTAG_SAMPLEFORMAT

    - - -

    1

    -
    - - -

    uint16

    - - -

    - - -

    TIFFTAG_SAMPLESPERPIXEL

    - - -

    1

    -
    - - -

    uint16

    - - -

    † value must be <= 4

    - - -

    TIFFTAG_SMAXSAMPLEVALUE

    - - -

    1

    -
    - - -

    double

    -
    - - -

    TIFFTAG_SMINSAMPLEVALUE

    - - -

    1

    -
    - - -

    double

    -
    - - -

    TIFFTAG_SOFTWARE

    - - -

    1

    -
    - - -

    char*

    -
    - - -

    TIFFTAG_STONITS

    - - -

    1

    -
    - - -

    double

    - - -

    - - -

    TIFFTAG_SUBFILETYPE

    - - -

    1

    -
    - - -

    uint32

    -
    - - -

    TIFFTAG_SUBIFD

    - - -

    2

    -
    - - -

    uint16,uint32*

    - - -

    count & offsets array

    - - -

    TIFFTAG_TARGETPRINTER

    - - -

    1

    -
    - - -

    char*

    -
    - - -

    TIFFTAG_THRESHHOLDING

    - - -

    1

    -
    - - -

    uint16

    -
    - - -

    TIFFTAG_TILEDEPTH

    - - -

    1

    -
    - - -

    uint32

    - - -

    - - -

    TIFFTAG_TILELENGTH

    - - -

    1

    -
    - - -

    uint32

    - - -

    † must be a multiple of 8

    - - -

    TIFFTAG_TILEWIDTH

    - - -

    1

    -
    - - -

    uint32

    - - -

    † must be a multiple of 8

    - - -

    TIFFTAG_TRANSFERFUNCTION

    - - -

    1 or 3‡ uint16*

    - - -

    1<<BitsPerSample entry arrays

    - - -

    TIFFTAG_WHITEPOINT

    - - -

    1

    -
    - - -

    float*

    - - -

    2-entry array

    - - -

    TIFFTAG_XMLPACKET

    - - -

    2

    -
    - - -

    uint32,void*

    - - -

    count, data

    - - -

    TIFFTAG_XPOSITION

    - - -

    1

    -
    - - -

    float

    -
    - - -

    TIFFTAG_XRESOLUTION

    - - -

    1

    -
    - - -

    float

    -
    - - -

    TIFFTAG_YCBCRCOEFFICIENTS

    - - -

    1

    -
    - - -

    float*

    - - -

    † 3-entry array

    - - -

    TIFFTAG_YCBCRPOSITIONING

    - - -

    1

    -
    - - -

    uint16

    - - -

    - - -

    TIFFTAG_YCBCRSAMPLING

    - - -

    2

    -
    - - -

    uint16

    - - -

    - - -

    TIFFTAG_YPOSITION

    - - -

    1

    -
    - - -

    float

    -
    - - -

    TIFFTAG_YRESOLUTION

    - - -

    1

    -
    - - -

    float

    -
    - -

    † Tag may not have its -values changed once data is written.
    -‡ If SamplesPerPixel is one, then a single -array is passed; otherwise three arrays should be passed. -
    -* The contents of this field are quite complex. See The -ICC Profile Format Specification, Annex B.3 -"Embedding ICC Profiles in TIFF Files" (available -at http://www.color.org) for an explanation.

    - -

    RETURN VALUES - -

    - - -

    1 is returned -if the operation was successful. Otherwise, 0 is returned if -an error was detected.

    - -

    DIAGNOSTICS - -

    - - -

    All error -messages are directed to the TIFFError(3TIFF) -routine.

    - -

    %s: Cannot -modify tag "%s" while writing. Data has -already been written to the file, so the specified -tag’s value can not be changed. This restriction is -applied to all tags that affect the format of written -data.

    - -

    %d: Bad -value for "%s". An invalid value was supplied -for the named tag.

    - -

    SEE ALSO - -

    - - - -

    TIFFOpen(3TIFF), -TIFFGetField(3TIFF), TIFFSetDirectory(3TIFF), -TIFFWriteDirectory(3TIFF), -TIFFReadDirectory(3TIFF), libtiff(3TIFF)

    - -

    Libtiff library -home page: http://www.remotesensing.org/libtiff/

    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWarning.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWarning.3tiff.html deleted file mode 100644 index 18f2e8b..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWarning.3tiff.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - -TIFFWarning - - - -

    TIFFWarning

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -RETURN VALUES
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFWarning, TIFFSetWarningHandler − library -warning interface

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    void TIFFWarning(const char *module, -const char *fmt, ...)

    - -

    #include <stdarg.h>

    - -

    typedef void (*TIFFWarningHandler)(const char -*module, const char *fmt, -va_list ap);

    - -

    TIFFWarningHandler -TIFFSetWarningHandler(TIFFWarningHandler -handler);

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    TIFFWarning invokes the library-wide warning -handler function to (normally) write a warning message to -the stderr. The fmt parameter is a -printf(3S) format string, and any number arguments -can be supplied. The module parameter is interpreted -as a string that, if non-zero, should be printed before the -message; it typically is used to identify the software -module in which a warning is detected.

    - -

    Applications that desire to capture control in the event -of a warning should use TIFFSetWarningHandler to -override the default warning handler. A NULL -(0) warning handler function may be installed to suppress -error messages.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    TIFFSetWarningHandler returns a reference to the -previous error handling function.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFError(3TIFF), libtiff(3TIFF), -printf(3)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteDirectory.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteDirectory.3tiff.html deleted file mode 100644 index 1e72a5b..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteDirectory.3tiff.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - -TIFFWriteDirectory - - - -

    TIFFWriteDirectory

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFWriteDirectory, TIFFRewriteDirectory, -TIFFCheckpointDirectory − write the current directory -in an open TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    int TIFFWriteDirectory(TIFF *tif)
    -int TIFFRewriteDirectory(TIFF *
    tif)
    -int TIFFCheckpointDirectory(TIFF *
    tif)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    TIFFWriteDirectory will write the contents of the -current directory to the file and setup to create a new -subfile in the same file. Applications only need to call -TIFFWriteDirectory when writing multiple subfiles to -a single TIFF file. TIFFWriteDirectory -is automatically called by TIFFClose and -TIFFFlush to write a modified directory if the file -is open for writing.

    - -

    The TIFFRewriteDirectory function operates -similarly to TIFFWriteDirectory, but can be called -with directories previously read or written that already -have an established location in the file. It will rewrite -the directory, but instead of place it at it’s old -location (as TIFFWriteDirectory would) it will place -them at the end of the file, correcting the pointer from the -preceeding directory or file header to point to it’s -new location. This is particularly important in cases where -the size of the directory and pointed to data has grown, so -it won’t fit in the space available at the old -location.

    - -

    The TIFFCheckpointDirectory writes the current -state of the tiff directory into the file to make what is -currently in the file readable. Unlike -TIFFWriteDirectory, TIFFCheckpointDirectory does not -free up the directory data structures in memory, so they can -be updated (as strips/tiles are written) and written again. -Reading such a partial file you will at worst get a tiff -read error for the first strip/tile encountered that is -incomplete, but you will at least get all the valid data in -the file before that. When the file is complete, just use -TIFFWriteDirectory as usual to finish it off -cleanly.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    1 is returned when the contents are successfully written -to the file. Otherwise, 0 is returned if an error was -encountered when writing the directory contents.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    - -

    Error post-encoding before directory write. Before -writing the contents of the current directory, any pending -data are flushed. This message indicates that an error -occurred while doing this.

    - -

    Error flushing data before directory write. Before -writing the contents of the current directory, any pending -data are flushed. This message indicates that an error -occurred while doing this.

    - -

    Cannot write directory, out of space. There was -not enough space to allocate a temporary area for the -directory that was to be written.

    - -

    Error writing directory count. A write error -occurred when writing the count of fields in the -directory.

    - -

    Error writing directory contents. A write error -occurred when writing the directory fields.

    - -

    Error writing directory link. A write error -occurred when writing the link to the next directory.

    - -

    Error writing data for field "%s". A -write error occurred when writing indirect data for the -specified field.

    - -

    Error writing TIFF header. A write error occurred -when re-writing header at the front of the file.

    - -

    Error fetching directory count. A read error -occurred when fetching the directory count field for a -previous directory. This can occur when setting up a link to -the directory that is being written.

    - -

    Error fetching directory link. A read error -occurred when fetching the directory link field for a -previous directory. This can occur when setting up a link to -the directory that is being written.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), TIFFError(3TIFF), -TIFFReadDirectory(3TIFF), -TIFFSetDirectory(3TIFF), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteEncodedStrip.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteEncodedStrip.3tiff.html deleted file mode 100644 index 3b90199..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteEncodedStrip.3tiff.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - -TIFFWriteEncodedStrip - - - -

    TIFFWriteEncodedStrip

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -NOTES
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFWritedEncodedStrip − compress and write a -strip of data to an open TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    tsize_t TIFFWriteEncodedStrip(TIFF -*tif, tstrip_t strip, -tdata_t buf, tsize_t -size)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Compress size bytes of raw data from -buf and write the result to the specified strip; -replacing any previously written data. Note that the value -of strip is a ‘‘raw strip -number.’’ That is, the caller must take into -account whether or not the data are organized in separate -planes (PlanarConfiguration=2).

    -
    - -

    NOTES

    - - - - - -
    -

    The library writes encoded data using the native -machine byte order. Correctly implemented TIFF -readers are expected to do any necessary byte-swapping -to correctly process image data with BitsPerSample greater -than 8.

    - -

    The strip number must be valid according to the -current settings of the ImageLength and -RowsPerStrip tags. An image may be dynamically grown -by increasing the value of ImageLength prior to each -call to TIFFWriteEncodedStrip.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    −1 is returned if an error was encountered. -Otherwise, the value of size is returned.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    - -

    %s: File not open for writing. The file was -opened for reading, not writing.

    - -

    Can not write scanlines to a tiled image. The -image is assumed to be organized in tiles because the -TileWidth and TileLength tags have been set -with TIFFSetField(3TIFF).

    - -

    %s: Must set "ImageWidth" before -writing data. The image’s width has not be set -before the first write. See TIFFSetField(3TIFF) for -information on how to do this.

    - -

    %s: Must set "PlanarConfiguration" -before writing data. The organization of data has not be -defined before the first write. See -TIFFSetField(3TIFF) for information on how to do -this.

    - -

    %s: No space for strip arrays". There -was not enough space for the arrays that hold strip offsets -and byte counts.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), -TIFFWriteScanline(3TIFF), -TIFFWriteRawStrip(3TIFF), -libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteEncodedTile.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteEncodedTile.3tiff.html deleted file mode 100644 index 5e85f6d..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteEncodedTile.3tiff.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -TIFFWriteEncodedTile - - - -

    TIFFWriteEncodedTile

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -NOTES
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFWritedEncodedTile − compress and write a -tile of data to an open TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    tsize_t TIFFWriteEncodedTile(TIFF -*tif, ttile_t tile, tdata_t -buf, tsize_t size)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Compress size bytes of raw data from -buf and append the result to the end of the -specified tile. Note that the value of tile is a -‘‘raw tile number.’’ That is, the -caller must take into account whether or not the data are -organized in separate places (PlanarConfiguration=2). -TIFFComputeTile automatically does this when -converting an (x,y,z,sample) coordinate quadruple to a tile -number.

    -
    - -

    NOTES

    - - - - - -
    -

    The library writes encoded data using the native -machine byte order. Correctly implemented TIFF -readers are expected to do any necessary byte-swapping -to correctly process image data with BitsPerSample greater -than 8.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    −1 is returned if an error was encountered. -Otherwise, the value of size is returned.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    - -

    %s: File not open for writing. The file was -opened for reading, not writing.

    - -

    Can not write tiles to a stripped image. The -image is assumed to be organized in strips because neither -of the TileWidth or TileLength tags have been -set with TIFFSetField(3TIFF).

    - -

    %s: Must set "ImageWidth" before -writing data. The image’s width has not be set -before the first write. See TIFFSetField(3TIFF) for -information on how to do this.

    - -

    %s: Must set "PlanarConfiguration" -before writing data. The organization of data has not be -defined before the first write. See -TIFFSetField(3TIFF) for information on how to do -this.

    - -

    %s: No space for tile arrays". There was -not enough space for the arrays that hold tile offsets and -byte counts.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), TIFFWriteTile(3TIFF), -TIFFWriteRawTile(3TIFF), -libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteRawStrip.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteRawStrip.3tiff.html deleted file mode 100644 index 9a3ef0c..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteRawStrip.3tiff.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - -TIFFWriteRawstrip - - - -

    TIFFWriteRawstrip

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -NOTES
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFWriteRawStrip − write a strip of raw data to an -open TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    tsize_t TIFFWriteRawStrip(TIFF *tif, -tstrip_t strip, tdata_t buf, -tsize_t size)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Append size bytes of raw data to the specified -strip.

    -
    - -

    NOTES

    - - - - - -
    -

    The strip number must be valid according to the current -settings of the ImageLength and RowsPerStrip -tags. An image may be dynamically grown by increasing the -value of ImageLength prior to each call to -TIFFWriteRawStrip.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    −1 is returned if an error occurred. Otherwise, the -value of size is returned.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    - -

    %s: File not open for writing. The file was opened -for reading, not writing.

    - -

    Can not write scanlines to a tiled image. The -image is assumed to be organized in tiles because the -TileWidth and TileLength tags have been set -with TIFFSetField(3TIFF).

    - -

    %s: Must set "ImageWidth" before writing -data. The image’s width has not be set before the -first write. See TIFFSetField(3TIFF) for information -on how to do this.

    - -

    %s: Must set "PlanarConfiguration" before -writing data. The organization of data has not be -defined before the first write. See -TIFFSetField(3TIFF) for information on how to do -this.

    - -

    %s: No space for strip arrays". There was not -enough space for the arrays that hold strip offsets and byte -counts.

    - -

    %s: Strip %d out of range, max %d. The specified -strip is not a valid strip according to the currently -specified image dimensions.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), -TIFFWriteEncodedStrip(3TIFF), -TIFFWriteScanline(3TIFF), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteRawTile.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteRawTile.3tiff.html deleted file mode 100644 index 639af6c..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteRawTile.3tiff.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - -TIFFWriteRawtile - - - -

    TIFFWriteRawtile

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFWriteRawTile − write a tile of raw data to an -open TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    tsize_t TIFFWriteRawTile(TIFF *tif, -ttile_t tile, tdata_t buf, -tsize_t size)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Append size bytes of raw data to the specified -tile.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    −1 is returned if an error occurred. Otherwise, the -value of size is returned.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    - -

    %s: File not open for writing. The file was opened -for reading, not writing.

    - -

    Can not write tiles to a stripped image. The image -is assumed to be organized in strips because neither of the -TileWidth or TileLength tags have been set -with TIFFSetField(3TIFF).

    - -

    %s: Must set "ImageWidth" before writing -data. The image’s width has not be set before the -first write. See TIFFSetField(3TIFF) for information -on how to do this.

    - -

    %s: Must set "PlanarConfiguration" before -writing data. The organization of data has not be -defined before the first write. See -TIFFSetField(3TIFF) for information on how to do -this.

    - -

    %s: No space for tile arrays". There was not -enough space for the arrays that hold tile offsets and byte -counts.

    - -

    %s: Specified tile %d out of range, max %d. The -specified tile is not valid according to the currently -specified image dimensions.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), -TIFFWriteEncodedTile(3TIFF), -TIFFWriteScanline(3TIFF), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteScanline.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteScanline.3tiff.html deleted file mode 100644 index 4c68f9d..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteScanline.3tiff.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - -TIFFWriteScanline - - - -

    TIFFWriteScanline

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -NOTES
    -RETURN VALUES
    -DIAGNOSTICS
    -BUGS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFWriteScanline − write a scanline to an open -TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    int TIFFWriteScanline(TIFF *tif, -tdata_t buf, uint32 row, -tsample_t sample)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Write data to a file at the specified row. The -sample parameter is used only if data are organized -in separate planes (PlanarConfiguration=2). The data -are assumed to be uncompressed and in the native bit- and -byte-order of the host machine. The data written to the file -is compressed according to the compression scheme of the -current TIFF directory (see further below). -If the current scanline is past the end of the current -subfile, the ImageLength field is automatically -increased to include the scanline (except for -PlanarConfiguration=2, where the ImageLength -cannot be changed once the first data are written). If the -ImageLength is increased, the StripOffsets and -StripByteCounts fields are similarly enlarged to -reflect data written past the previous end of image.

    -
    - -

    NOTES

    - - - - - -
    -

    The library writes encoded data using the native machine -byte order. Correctly implemented TIFF -readers are expected to do any necessary byte-swapping to -correctly process image data with BitsPerSample greater than -8. The library attempts to hide bit-ordering differences -between the image and the native machine by converting data -from the native machine order.

    - -

    In C++ the sample parameter defaults to 0.

    - -

    Once data are written to a file for the current -directory, the values of certain tags may not be altered; -see TIFFSetField(3TIFF) for more information.

    - -

    It is not possible to write scanlines to a file that uses -a tiled organization. The routine TIFFIsTiled can be -used to determine if the file is organized as tiles or -strips.

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    TIFFWriteScanline returns −1 if it -immediately detects an error and 1 for a successful -write.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    - -

    %s: File not open for writing . The file was -opened for reading, not writing.

    - -

    Can not write scanlines to a tiled image. An -attempt was made to write a scanline to a tiled image. The -image is assumed to be organized in tiles because the -TileWidth and TileLength tags have been set -with TIFFSetField(3TIFF).

    - -

    Compression algorithm does not support random -access. Data was written in a non-sequential order to a -file that uses a compression algorithm and that has -RowsPerStrip greater than one. That is, data in the -image is to be stored in a compressed form, and with -multiple rows packed into a strip. In this case, the library -does not support random access to the data. The data should -either be written as entire strips, sequentially by rows, or -the value of RowsPerStrip should be set to one.

    - -

    %s: Must set "ImageWidth" before writing -data. The image’s width has not be set before the -first write. See TIFFSetField(3TIFF) for information -on how to do this.

    - -

    %s: Must set "PlanarConfiguration" before -writing data. The organization of data has not be -defined before the first write. See -TIFFSetField(3TIFF) for information on how to do -this.

    - -

    Can not change "ImageLength" when using -separate planes. Separate image planes are being used -(PlanarConfiguration=2), but the number of rows has -not been specified before the first write. The library -supports the dynamic growth of an image only when data are -organized in a contiguous manner -(PlanarConfiguration=1).

    - -

    %d: Sample out of range, max %d. The sample -parameter was greater than the value of the SamplesPerPixel -tag.

    - -

    %s: No space for strip arrays . There was not -enough space for the arrays that hold strip offsets and byte -counts.

    -
    - -

    BUGS

    - - - - - -
    -

    Writing subsampled YCbCR data does not work correctly -because, for PlanarConfiguration=2 the size of a -scanline is not calculated on a per-sample basis, and for -PlanarConfiguration=1 the library does not pack the -block-interleaved samples.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), -TIFFWriteEncodedStrip(3TIFF), -TIFFWriteRawStrip(3TIFF), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteTile.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteTile.3tiff.html deleted file mode 100644 index 6f6ffd2..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFWriteTile.3tiff.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - -TIFFWriteTile - - - -

    TIFFWriteTile

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -RETURN VALUES
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFWriteTile − encode and write a tile of data to -an open TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    tsize_t TIFFWriteTile(TIFF *tif, -tdata_t buf, uint32 x, -uint32 y, uint32 z, -tsample_t sample)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Write the data for the tile containing the -specified coordinates. The data in buf are is -(potentially) compressed, and written to the indicated file, -normally being appended to the end of the file. The buffer -must be contain an entire tile of data. Applications should -call the routine TIFFTileSize to find out the size -(in bytes) of a tile buffer. The x and y -parameters are always used by TIFFWriteTile. The -z parameter is used if the image is deeper than 1 -slice (ImageDepth>1). The sample parameter -is used only if data are organized in separate planes -(PlanarConfiguration=2).

    -
    - -

    RETURN VALUES

    - - - - - -
    -

    TIFFWriteTile returns −1 if it detects an -error; otherwise the number of bytes in the tile is -returned.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    All error messages are directed to the -TIFFError(3TIFF) routine.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFCheckTile(3TIFF), -TIFFComputeTile(3TIFF), TIFFOpen(3TIFF), -TIFFReadTile(3TIFF), TIFFWriteScanline(3TIFF), -TIFFWriteEncodedTile(3TIFF), -TIFFWriteRawTile(3TIFF), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFbuffer.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFbuffer.3tiff.html deleted file mode 100644 index 09009b5..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFbuffer.3tiff.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - -TIFFBUFFER - - - -

    TIFFBUFFER

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFReadBufferSetup, TIFFWriteBufferSetup − I/O -buffering control routines

    -
    - -

    SYNOPSIS

    - - - - - -
    -
    #include <tiffio.h>
    -
    -int TIFFReadBufferSetup(TIFF *tif, tdata_t buffer, tsize_t size);
    -int TIFFWriteBufferSetup(TIFF *tif, tdata_t buffer, tsize_t size);
    -
    -
    - -

    DESCRIPTION

    - - - - - - -
    -

    The following routines are provided for client-control of -the I/O buffers used by the library. Applications need never -use these routines; they are provided only for -‘‘intelligent clients’’ that wish to -optimize memory usage and/or eliminate potential copy -operations that can occur when working with images that have -data stored without compression.

    - -

    TIFFReadBufferSetup sets up the data buffer used -to read raw (encoded) data from a file. If the specified -pointer is NULL (zero), then a buffer of the -appropriate size is allocated. Otherwise the caller must -guarantee that the buffer is large enough to hold any -individual strip of raw data. TIFFReadBufferSetup -returns a non-zero value if the setup was successful and -zero otherwise.

    - -

    TIFFWriteBufferSetup sets up the data buffer used -to write raw (encoded) data to a file. If the specified -size is −1 then the buffer size is selected to -hold a complete tile or strip, or at least 8 kilobytes, -whichever is greater. If the specified buffer is -NULL (zero), then a buffer of the appropriate -size is dynamically allocated. TIFFWriteBufferSetup -returns a non-zero value if the setup was successful and -zero otherwise.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    %s: No space for data buffer at scanline %ld. -TIFFReadBufferSetup was unable to dynamically -allocate space for a data buffer.

    - -

    %s: No space for output buffer. -TIFFWriteBufferSetup was unable to dynamically -allocate space for a data buffer.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFcodec.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFcodec.3tiff.html deleted file mode 100644 index d200754..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFcodec.3tiff.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - -CODEC - - - -

    CODEC

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFFindCODEC, TIFFRegisterCODEC, TIFFUnRegisterCODEC, -TIFFIsCODECConfigured − codec-related utility -routines

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    const TIFFCodec* TIFFFindCODEC(uint16 -scheme);
    -TIFFCodec* TIFFRegisterCODEC(uint16
    scheme, -const char *method, TIFFInitMethod -init);
    -void TIFFUnRegisterCODEC(TIFFCodec -*
    codec);
    -int TIFFIsCODECConfigured(uint16
    -scheme);

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    libtiff supports a variety of compression schemes -implemented by software codecs. Each codec adheres to -a modular interface that provides for the decoding and -encoding of image data; as well as some other methods for -initialization, setup, cleanup, and the control of default -strip and tile sizes. Codecs are identified by the -associated value of the TIFF -Compression tag; e.g. 5 for LZW -compression.

    - -

    The TIFFRegisterCODEC routine can be used to -augment or override the set of codecs available to an -application. If the specified scheme already has a -registered codec then it is overridden and any images -with data encoded with this compression scheme will be -decoded using the supplied coded.

    - -

    TIFFIsCODECConfigured returns 1 if the codec is -configured and working. Otherwise 0 will be returned.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    No space to register compression scheme %s. -TIFFRegisterCODEC was unable to allocate memory for -the data structures needed to register a codec.

    - -

    Cannot remove compression scheme %s; not -registered. TIFFUnRegisterCODEC did not locate -the specified codec in the table of registered compression -schemes.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFcolor.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFcolor.3tiff.html deleted file mode 100644 index edf423b..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFcolor.3tiff.html +++ /dev/null @@ -1,975 +0,0 @@ - - - - - - -COLOR - - - -

    COLOR

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFYCbCrToRGBInit, TIFFYCbCrtoRGB, TIFFCIELabToRGBInit, -TIFFCIELabToXYZ, TIFFXYZToRGB − color conversion -routines.

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB -*ycbcr, float *luma, float -*refBlackWhite");"
    -void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *
    ycbcr, -uint32 Y, int32 Cb, int32 -Cr, uint32 *R, uint32 -*G, uint32 *B );

    - -

    int TIFFCIELabToRGBInit(TIFFCIELabToRGB -*cielab, TIFFDisplay *display, -float *refWhite);
    -void TIFFCIELabToXYZ(TIFFCIELabToRGB *
    cielab, -uint32 L, int32 a, int32 -b, float *X, float *Y, -float *Z);
    -void TIFFXYZToRGB(TIFFCIELabToRGB *
    cielab, -float X, float Y, float -Z",uint32*"R, -uint32 *G, uint32 *B);

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    TIFF supports several color spaces for images stored in -that format. There is usually a problem of application to -handle the data properly and convert between different -colorspaces for displaying and printing purposes. To -simplify this task libtiff implements several color -conversion routines itself. In particular, these routines -used in TIFFRGBAImage(3TIFF) interface.

    - -

    TIFFYCbCrToRGBInit() used to initialize -YCbCr to RGB conversion state. Allocating and -freeing of the ycbcr structure belongs to programmer. -TIFFYCbCrToRGB defined in tiffio.h as

    -
    - - - - - -
    -
    typedef struct {                /* YCbCr->RGB support */
    -        TIFFRGBValue* clamptab; /* range clamping table */
    -
    -
    - - - - - -

    int*

    - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    Cr_r_tab;
    -int*

    -
    -
    - -

    Cb_b_tab;
    -int32*

    -
    -
    - -

    Cr_g_tab;
    -int32*

    -
    -
    - -

    Cb_g_tab;

    -
    -
    - - - - - -
    -

    int32* Y_tab;
    -} TIFFYCbCrToRGB;

    - - - - - -
    -

    luma is a float array of three values representing -proportions of the red, green and blue in luminance, Y (see -section 21 of the TIFF 6.0 specification, where the YCbCr -images discussed). TIFFTAG_YCBCRCOEFFICIENTS holds -that values in TIFF file. refBlackWhite is a float -array of 6 values which specifies a pair of headroom and -footroom image data values (codes) for each image component -(see section 20 of the TIFF 6.0 specification where the -colorinmetry fields discussed). -TIFFTAG_REFERENCEBLACKWHITE is responsible for -storing these values in TIFF file. Following code snippet -should helps to understand the the technique:

    -
    - - - - - -
    -
    float *luma, *refBlackWhite;
    -uint16 hs, vs;
    -
    -/* Initialize structures */
    -ycbcr = (TIFFYCbCrToRGB*)
    -
    -
    - - - - - - - - - - - - - - - -
    - -

    _TIFFmalloc(TIFFroundup(sizeof(TIFFYCbCrToRGB), -sizeof(long))

    -
    - -

    + 4*256*sizeof(TIFFRGBValue)

    -
    - -

    + 2*256*sizeof(int)

    -
    - -

    + 3*256*sizeof(int32));

    -
    - - - - - -
    -

    if (ycbcr == NULL) {
    -TIFFError("YCbCr->RGB",

    - - - - - - - -
    - - -

    "No space for YCbCr->RGB conversion -state");

    -
    -
    - - - - - -
    -

    exit(0);
    -}

    - -

    TIFFGetFieldDefaulted(tif, TIFFTAG_YCBCRCOEFFICIENTS, -&luma);
    -TIFFGetFieldDefaulted(tif, TIFFTAG_REFERENCEBLACKWHITE, -&refBlackWhite);
    -if (TIFFYCbCrToRGBInit(ycbcr, luma, refBlackWhite) < -0)

    - - - - - -
    - -

    exit(0);

    -
    - - - - - -
    -

    /* Start conversion */
    -uint32 r, g, b;
    -uint32 Y;
    -int32 Cb, Cr;

    - -

    for each pixel in image

    - - - - - -
    - -

    TIFFYCbCrtoRGB(img->ycbcr, Y, Cb, Cr, &r, &g, -&b);

    -
    - - - - - -
    -

    /* Free state structure */
    -_TIFFfree(ycbcr);

    - - - - - -
    -

    TIFFCIELabToRGBInit() initializes the CIE -L*a*b* 1976 to RGB conversion state. -TIFFCIELabToRGB defined as

    -
    - - - - - -
    -
    #define CIELABTORGB_TABLE_RANGE 1500
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    typedef struct {

    -
    - - -

    /* CIE Lab 1976->RGB support */

    -
    -
    - - -

    int

    -
    - -

    range;

    -
    - - -

    /* Size of conversion table */

    -
    -
    - - -

    float

    -
    - -

    rstep, gstep, bstep;

    -
    -
    - - -

    float

    -
    - -

    X0, Y0, Z0;

    -
    - -

    /* Reference white point */

    -
    -
    - -

    TIFFDisplay display;

    -
    -
    - - -

    float

    -
    - -

    Yr2r[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yr -to r */

    -
    -
    - - -

    float

    -
    - -

    Yg2g[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yg -to g */

    -
    -
    - - -

    float

    -
    - -

    Yb2b[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yb -to b */

    -
    -
    - - - - - -
    -

    } TIFFCIELabToRGB;

    - - - - - -
    -

    display is a display device description, declared -as

    -
    - - - - - -
    -
    typedef struct {
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    float d_mat[3][3]; /* XYZ -> luminance matrix */

    -
    - -

    float d_YCR; /* Light o/p for reference white */

    -
    - -

    float d_YCG;

    -
    - -

    float d_YCB;

    -
    - -

    uint32 d_Vrwr; /* Pixel values for ref. white */

    -
    - -

    uint32 d_Vrwg;

    -
    - -

    uint32 d_Vrwb;

    -
    - -

    float d_Y0R; /* Residual light for black pixel */

    -
    - -

    float d_Y0G;

    -
    - -

    float d_Y0B;

    -
    - -

    float d_gammaR; /* Gamma values for the three guns -*/

    -
    - -

    float d_gammaG;

    -
    - -

    float d_gammaB;

    -
    - - - - - -
    -

    } TIFFDisplay;

    - - - - - -
    -

    For example, the one can use sRGB device, which has the -following parameters:

    -
    - - - - - -
    -
    TIFFDisplay display_sRGB = {
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    { /* XYZ -> luminance matrix */

    -
    -
    - - -

    { 3.2410F, -1.5374F, -0.4986F },

    -
    -
    - - -

    { -0.9692F, 1.8760F, 0.0416F },

    -
    -
    - - -

    { 0.0556F, -0.2040F, 1.0570F }

    -
    -
    - -

    },

    -
    - -
    - -

    100.0F, 100.0F, 100.0F, /* Light o/p for reference white -*/

    -
    -
    - -

    255, 255, 255, /* Pixel values for ref. white */

    -
    -
    - -

    1.0F, 1.0F, 1.0F, /* Residual light o/p for black pixel -*/

    -
    -
    - -

    2.4F, 2.4F, 2.4F, /* Gamma values for the three guns -*/

    -
    -
    - - - - - -
    -

    };

    - - - - - -
    -

    refWhite is a color temperature of the reference -white. The TIFFTAG_WHITEPOINT contains the -chromaticity of the white point of the image from where the -reference white can be calculated using following -formulae:

    -
    - - - - - -
    -

    refWhite_Y = 100.0
    -refWhite_X = whitePoint_x / whitePoint_y * refWhite_Y
    -refWhite_Z = (1.0 - whitePoint_x - whitePoint_y) / -whitePoint_y * refWhite_X

    - - - - - -
    -

    The conversion itself performed in two steps: at the -first one we will convert CIE L*a*b* 1976 to CIE -XYZ using TIFFCIELabToXYZ() routine, and at the -second step we will convert CIE XYZ to RGB -using TIFFXYZToRGB(). Look at the code sample -below:

    -
    - - - - - -
    -
    float   *whitePoint;
    -float   refWhite[3];
    -
    -/* Initialize structures */
    -img->cielab = (TIFFCIELabToRGB *)
    -
    -
    - - - - - - -
    - -

    _TIFFmalloc(sizeof(TIFFCIELabToRGB));

    -
    - - - - - -
    -

    if (!cielab) {

    - - - - - - - - - - - - - - - - - - - - -
    - -

    TIFFError("CIE L*a*b*->RGB",

    -
    -
    - - -

    "No space for CIE L*a*b*->RGB conversion -state.");

    -
    -
    - -

    exit(0);

    -
    -
    - - - - - -
    -

    }

    - -

    TIFFGetFieldDefaulted(tif, TIFFTAG_WHITEPOINT, -&whitePoint);
    -refWhite[1] = 100.0F;
    -refWhite[0] = whitePoint[0] / whitePoint[1] * -refWhite[1];
    -refWhite[2] = (1.0F - whitePoint[0] - -whitePoint[1])

    - - - - - -
    - -

    / whitePoint[1] * refWhite[1];

    -
    - - - - - -
    -

    if (TIFFCIELabToRGBInit(cielab, &display_sRGB, -refWhite) < 0) {

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    TIFFError("CIE L*a*b*->RGB",

    -
    -
    - - -

    "Failed to initialize CIE L*a*b*->RGB conversion -state.");

    -
    -
    - -

    _TIFFfree(cielab);

    -
    -
    - -

    exit(0);

    -
    -
    - - - - - -
    -

    }

    - -

    /* Now we can start to convert */
    -uint32 r, g, b;
    -uint32 L;
    -int32 a, b;
    -float X, Y, Z;

    - -

    for each pixel in image

    - - - - - - - - -
    - -

    TIFFCIELabToXYZ(cielab, L, a, b, &X, &Y, -&Z);

    -
    - -

    TIFFXYZToRGB(cielab, X, Y, Z, &r, &g, -&b);

    -
    - - - - - -
    -

    /* Don’t forget to free the state structure */
    -_TIFFfree(cielab);

    - -

    SEE ALSO

    - - - - - -
    -

    TIFFRGBAImage(3TIFF) libtiff(3TIFF),

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFmemory.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFmemory.3tiff.html deleted file mode 100644 index c3f38e0..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFmemory.3tiff.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - -MEMORY - - - -

    MEMORY

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    _TIFFmalloc, _TIFFrealloc, _TIFFfree, _TIFFmemset, -_TIFFmemcpy, _TIFFmemcmp, − memory management-related -functions for use with TIFF files

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    tdata_t _TIFFmalloc(tsize_t size);
    -tdata_t _TIFFrealloc(tdata_t
    buffer, -tsize_t size);
    -void _TIFFfree(tdata_t
    buffer);
    -void _TIFFmemset(tdata_t
    s, int -c, tsize_t n);
    -void _TIFFmemcpy(tdata_t
    dest, const -tdata_t src, tsize_t n);
    -int _TIFFmemcmp(const tdata_t
    s1, const -tdata_t s2, tsize_t n);

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    These routines are provided for writing portable software -that uses libtiff; they hide any memory-management -related issues, such as dealing with segmented architectures -found on 16-bit machines.

    - -

    _TIFFmalloc and _TIFFrealloc are used to -dynamically allocate and reallocate memory used by -libtiff; such as memory passed into the I/O routines. -Memory allocated through these interfaces is released back -to the system using the _TIFFfree routine.

    - -

    Memory allocated through one of the above interfaces can -be set to a known value using _TIFFmemset, copied to -another memory location using _TIFFmemcpy, or -compared for equality using _TIFFmemcmp. These -routines conform to the equivalent ANSI C -routines: memset, memcpy, and memcmp, -repsectively.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    None.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    malloc(3), memory(3), -libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFquery.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFquery.3tiff.html deleted file mode 100644 index 2b47fc3..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFquery.3tiff.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -QUERY - - - -

    QUERY

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFCurrentRow, TIFFCurrentStrip, TIFFCurrentTile, -TIFFCurrentDirectory, TIFFLastDirectory, TIFFFileno, -TIFFFileName, TIFFGetMode, TIFFIsTiled, TIFFIsByteSwapped, -TIFFIsUpSampled, TIFFIsMSB2LSB, TIFFGetVersion − query -routines

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    uint32 TIFFCurrentRow(TIFF* tif)
    -tstrip_t TIFFCurrentStrip(TIFF*
    tif)
    -ttile_t TIFFCurrentTile(TIFF*
    tif)
    -tdir_t TIFFCurrentDirectory(TIFF*
    tif)
    -int TIFFLastDirectory(TIFF*
    tif)
    -int TIFFFileno(TIFF*
    tif)
    -char* TIFFFileName(TIFF*
    tif)
    -int TIFFGetMode(TIFF*
    tif)
    -int TIFFIsTiled(TIFF*
    tif)
    -int TIFFIsByteSwapped(TIFF*
    tif)
    -int TIFFIsUpSampled(TIFF*
    tif)
    -int TIFFIsMSB2LSB(TIFF*
    tif)
    -const char* TIFFGetVersion(void)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    The following routines return status information about an -open TIFF file.

    - -

    TIFFCurrentDirectory returns the index of the -current directory (directories are numbered starting at 0). -This number is suitable for use with the -TIFFSetDirectory routine.

    - -

    TIFFLastDirectory returns a non-zero value if the -current directory is the last directory in the file; -otherwise zero is returned.

    - -

    TIFFCurrentRow, TIFFCurrentStrip, and -TIFFCurrentTile, return the current row, strip, and -tile, respectively, that is being read or written. These -values are updated each time a read or write is done.

    - -

    TIFFFileno returns the underlying file descriptor -used to access the TIFF image in the -filesystem.

    - -

    TIFFFileName returns the pathname argument passed -to TIFFOpen or TIFFFdOpen.

    - -

    TIFFGetMode returns the mode with which the -underlying file was opened. On UNIX systems, -this is the value passed to the open(2) system -call.

    - -

    TIFFIsTiled returns a non-zero value if the image -data has a tiled organization. Zero is returned if the image -data is organized in strips.

    - -

    TIFFIsByteSwapped returns a non-zero value if the -image data was in a different byte-order than the host -machine. Zero is returned if the TIFF file and local host -byte-orders are the same. Note that TIFFReadTile(), -TIFFReadStrip() and TIFFReadScanline() functions already -normally perform byte swapping to local host order if -needed.

    - -

    TIFFIsUpSampled returns a non-zero value if image -data returned through the read interface routines is being -up-sampled. This can be useful to applications that want to -calculate I/O buffer sizes to reflect this usage (though the -usual strip and tile size routines already do this).

    - -

    TIFFIsMSB2LSB returns a non-zero value if the -image data is being returned with bit 0 as the most -significant bit.

    - -

    TIFFGetVersion returns an ASCII -string that has a version stamp for the TIFF -library software.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    None.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    libtiff(3TIFF), TIFFOpen(3TIFF), -TIFFFdOpen(3TIFF)

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFsize.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFsize.3tiff.html deleted file mode 100644 index 5a14254..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFsize.3tiff.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -TIFFSIZE - - - -

    TIFFSIZE

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFScanlineSize, TIFFRasterScanlineSize, − return -the size of various items associated with an open -TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    tsize_t TIFFRasterScanlineSize(TIFF -*tif)
    -tsize_t TIFFScanlineSize(TIFF *
    tif)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    TIFFScanlineSize returns the size in bytes of a -row of data as it would be returned in a call to -TIFFReadScanline, or as it would be expected in a -call to TIFFWriteScanline.

    - -

    TIFFRasterScanlineSize returns the size in bytes -of a complete decoded and packed raster scanline. Note that -this value may be different from the value returned by -TIFFScanlineSize if data is stored as separate -planes.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    None.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFOpen(3TIFF), TIFFReadScanline(3TIFF), -libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFstrip.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFstrip.3tiff.html deleted file mode 100644 index b8bc7c6..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFstrip.3tiff.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - -TIFFSTRIP - - - -

    TIFFSTRIP

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFDefaultStripSize, TIFFStripSize, TIFFVStripSize, -TIFFRawStripSize, TIFFComputeStrip, TIFFNumberOfStrips -− strip-related utility routines

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    uint32 TIFFDefaultStripSize(TIFF *tif, -uint32 estimate)
    -tsize_t TIFFStripSize(TIFF *
    tif)
    -tsize_t TIFFVStripSize(TIFF *
    tif, uint32 -nrows)
    -tsize_t TIFFRawStripSize(TIFF *
    tif, -tstrip_t strip)
    -tstrip_t TIFFComputeStrip(TIFF *
    tif, -uint32 row, tsample_t -sample)
    -tstrip_t TIFFNumberOfStrips(TIFF *
    tif)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    TIFFDefaultStripSize returns the number of rows -for a reasonable-sized strip according to the current -settings of the ImageWidth, BitsPerSample, -SamplesPerPixel, tags and any compression-specific -requirements. If the estimate parameter, if non-zero, -then it is taken as an estimate of the desired strip size -and adjusted according to any compression-specific -requirements. The value returned by this function is -typically used to define the RowsPerStrip tag. In -lieu of any unusual requirements TIFFDefaultStripSize -tries to create strips that have approximately 8 kilobytes -of uncompressed data.

    - -

    TIFFStripSize returns the equivalent size for a -strip of data as it would be returned in a call to -TIFFReadEncodedStrip or as it would be expected in a -call to TIFFWriteEncodedStrip.

    - -

    TIFFVStripSize returns the number of bytes in a -strip with nrows rows of data.

    - -

    TIFFRawStripSize returns the number of bytes in a -raw strip (i.e. not decoded).

    - -

    TIFFComputeStrip returns the strip that contains -the specified coordinates. A valid strip is always returned; -out-of-range coordinate values are clamped to the bounds of -the image. The row parameter is always used in -calculating a strip. The sample parameter is used -only if data are organized in separate planes -(PlanarConfiguration=2).

    - -

    TIFFNumberOfStrips returns the number of strips in -the image.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    None.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFReadEncodedStrip(3TIFF), -TIFFReadRawStrip(3TIFF), -TIFFWriteEncodedStrip(3TIFF), -TIFFWriteRawStrip(3TIFF), libtiff(3TIFF),

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFswab.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFswab.3tiff.html deleted file mode 100644 index 80d1db4..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFswab.3tiff.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - -SWAB - - - -

    SWAB

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFGetBitRevTable, TIFFReverseBits, TIFFSwabShort, -TIFFSwabLong, TIFFSwabArrayOfShort, TIFFSwabArrayOfLong -− byte- and bit-swapping routines

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    const unsigned char* TIFFGetBitRevTable(int -reversed)
    -void TIFFReverseBits(u_char *
    data, unsigned -long nbytes)
    -void TIFFSwabShort(uint16 *
    data)
    -void TIFFSwabLong(uint32 *
    data)
    -void TIFFSwabArrayOfShort(uint16 *
    data, -unsigned long nshorts)
    -void TIFFSwabArrayOfLong(uint32 *
    data, -unsigned long nlongs)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    The following routines are used by the library to swap -16- and 32-bit data and to reverse the order of bits in -bytes.

    - -

    TIFFSwabShort and TIFFSwabLong swap the -bytes in a single 16-bit and 32-bit item, respectively. -TIFFSwabArrayOfShort and TIFFSwabArrayOfLong -swap the bytes in an array of 16-bit and 32-bit items, -respectively.

    - -

    TIFFReverseBits replaces each byte in data -with the equivalent bit-reversed value. This operation is -performed with a lookup table, which is returned using the -TIFFGetBitRevTable function. reversed -parameter specifies which table should be returned. Supply -1 if you want bit reversal table. Supply 0 to -get the table that do not reverse bit values. It is a lookup -table that can be used as an identity function; i.e. -TIFFNoBitRevTable[n] == n.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    None.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFtile.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFtile.3tiff.html deleted file mode 100644 index addeb51..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/TIFFtile.3tiff.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - -TIFFTILE - - - -

    TIFFTILE

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -DIAGNOSTICS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    TIFFTileSize, TIFFTileRowSize, TIFFVTileSize, -TIFFDefaultTileSize, TIFFComputeTile, TIFFCheckTile, -TIFFNumberOfTiles − tile-related utility routines

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    void TIFFDefaultTileSize(TIFF *tif, -uint32 *tw, uint32 *th)
    -tsize_t TIFFTileSize(TIFF *
    tif)
    -tsize_t TIFFTileRowSize(TIFF *
    tif)
    -tsize_t TIFFVTileSize(TIFF *
    tif, uint32 -nrows)
    -ttile_t TIFFComputeTile(TIFF *
    tif, uint32 -x, uint32 y, uint32 z, -tsample_t sample)
    -int TIFFCheckTile(TIFF *
    tif, uint32 -x, uint32 y, uint32 z, -tsample_t sample)
    -ttile_t TIFFNumberOfTiles(TIFF *
    tif)

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    TIFFDefaultTileSize returns the pixel width and -height of a reasonable-sized tile; suitable for setting up -the TileWidth and TileLength tags. If the -tw and th values passed in are non-zero, then -they are adjusted to reflect any compression-specific -requirements. The returned width and height are constrained -to be a multiple of 16 pixels to conform with the -TIFF specification.

    - -

    TIFFTileSize returns the equivalent size for a -tile of data as it would be returned in a call to -TIFFReadTile or as it would be expected in a call to -TIFFWriteTile.

    - -

    TIFFVTileSize returns the number of bytes in a -row-aligned tile with nrows of data.

    - -

    TIFFTileRowSize returns the number of bytes of a -row of data in a tile.

    - -

    TIFFComputeTile returns the tile that contains the -specified coordinates. A valid tile is always returned; -out-of-range coordinate values are clamped to the bounds of -the image. The x and y parameters are always -used in calculating a tile. The z parameter is used -if the image is deeper than 1 slice -(ImageDepth>1). The sample parameter is -used only if data are organized in separate planes -(PlanarConfiguration=2).

    - -

    TIFFCheckTile returns a non-zero value if the -supplied coordinates are within the bounds of the image and -zero otherwise. The x parameter is checked against -the value of the ImageWidth tag. The y -parameter is checked against the value of the -ImageLength tag. The z parameter is checked -against the value of the ImageDepth tag (if defined). -The sample parameter is checked against the value of -the SamplesPerPixel parameter if the data are -organized in separate planes.

    - -

    TIFFNumberOfTiles returns the number of tiles in -the image.

    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    None.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    TIFFReadEncodedTile(3TIFF), -TIFFReadRawTile(3TIFF), TIFFReadTile(3TIFF), -TIFFWriteEncodedTile(3TIFF), -TIFFWriteRawTile(3TIFF), TIFFWriteTile(3TIFF), -libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/fax2ps.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/fax2ps.1.html deleted file mode 100644 index aba6fc3..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/fax2ps.1.html +++ /dev/null @@ -1,252 +0,0 @@ - - - - - - -FAX2PS - - - -

    FAX2PS

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -DIAGNOSTICS
    -NOTES
    -BUGS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    fax2ps − convert a TIFF facsimile to -compressed PostScript™

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    fax2ps [ options ] [ file ... ]

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    fax2ps reads one or more TIFF -facsimile image files and prints a compressed form of -PostScript on the standard output that is suitable for -printing.

    - -

    By default, each page is scaled to reflect the image -dimensions and resolutions stored in the file. The -−x and −y options can be used to -specify the horizontal and vertical image resolutions -(lines/inch), respectively. If the −S option is -specified, each page is scaled to fill an output page. The -default output page is 8.5 by 11 inches. Alternate page -dimensions can be specified in inches with the -−W and −H options.

    - -

    By default fax2ps generates PostScript for all -pages in the file. The −p option can be used to -select one or more pages from a multi-page document.

    - -

    fax2ps generates a compressed form of PostScript -that is optimized for sending pages of text to a PostScript -printer attached to a host through a low-speed link (such as -a serial line). Each output page is filled with white and -then only the black areas are drawn. The PostScript -specification of the black drawing operations is optimized -by using a special font that encodes the move-draw -operations required to fill the black regions on the page. -This compression scheme typically results in a substantially -reduced PostScript description, relative to the -straightforward imaging of the page with a PostScript -image operator. This algorithm can, however, be -ineffective for continuous-tone and white-on-black images. -For these images, it sometimes is more efficient to send the -raster bitmap image directly; see tiff2ps(1).

    -
    - -

    OPTIONS

    - - - - - - - -
    - -

    −p number

    -
    - -

    Print only the indicated page. Multiple pages may be -printed by specifying this option more than once.

    -
    -
    - - - - - -
    -

    −x resolution

    - - - - - -
    -

    Use resolution as the horizontal resolution, in -dots/inch, of the image data. By default this value is taken -from the file.

    -
    - - - - - -
    -

    −y resolution

    - - - - - -
    -

    Use resolution as the vertical resolution, in -lines/inch, of the image data. By default this value is -taken from the file.

    -
    - - - - - - - - - - - - - - - - - -
    - -

    −S

    -
    - -

    Scale each page of image data to fill the output page -dimensions. By default images are presented according to the -dimension information recorded in the TIFF -file.

    -
    -
    - -

    −W width

    -
    - -

    Use width as the width, in inches, of the output -page.

    -
    -
    - -

    −H height

    -
    - -

    Use height as the height, in inches, of the -output page.

    -
    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    Some messages about malformed TIFF images -come from the TIFF library.

    - -

    Various messages about badly formatted facsimile images -may be generated due to transmission errors in received -facsimile. fax2ps attempts to recover from such data -errors by resynchronizing decoding at the end of the current -scanline. This can result in long horizontal black lines in -the resultant PostScript image.

    -
    - -

    NOTES

    - - - - - -
    -

    If the destination printer supports PostScript Level II -then it is always faster to just send the encoded bitmap -generated by the tiff2ps(1) program.

    -
    - -

    BUGS

    - - - - - -
    -

    fax2ps should probably figure out when it is doing -a poor job of compressing the output and just generate -PostScript to image the bitmap raster instead.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    tiff2ps(1), libtiff(3)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/fax2tiff.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/fax2tiff.1.html deleted file mode 100644 index 3aac8c7..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/fax2tiff.1.html +++ /dev/null @@ -1,607 +0,0 @@ - - - - - - -FAX2TIFF - - - -

    FAX2TIFF

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -DIAGNOSTICS
    -BUGS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    fax2tiff − create a TIFF Class F fax -file from raw fax data

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    fax2tiff [ options ] [ −o -output.tif ] input.raw

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Fax2tiff creates a TIFF file -containing CCITT Group 3 or Group 4 encoded -data from one or more files containing -‘‘raw’’ Group 3 or Group 4 encoded -data (typically obtained directly from a fax modem). By -default, each row of data in the resultant -TIFF file is 1-dimensionally encoded and -padded or truncated to 1728 pixels, as needed. The resultant -image is a set of low resolution (98 lines/inch) or medium -resolution (196 lines/inch) pages, each of which is a single -strip of data. The generated file conforms to the -TIFF Class F ( FAX ) -specification for storing facsimile data. This means, in -particular, that each page of the data does not -include the trailing return to control ( -RTC ) code; as required for transmission by -the CCITT Group 3 specifications. The old, -‘‘classic’’, format is created if -the −c option is used. (The Class F format can -also be requested with the −f option.)

    - -

    The default name of the output image is fax.tif; -this can be changed with the −o option. Each -input file is assumed to be a separate page of facsimile -data from the same document. The order in which input files -are specified on the command line is the order in which the -resultant pages appear in the output file.

    -
    - -

    OPTIONS

    - - - - - -
    -

    Options that affect the interpretation of input data -are:

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    −3

    -
    - -

    Assume input data is CCITT Group 3 -encoded (default).

    -
    -
    - -

    −4

    -
    - -

    Assume input data is CCITT Group 4 -encoded.

    -
    -
    - -

    −U

    -
    - -

    Assume input data is uncompressed (Group 3 or Group -4).

    -
    -
    - -

    −1

    -
    - -

    Assume input data is encoded with the 1-dimensional -version of the CCITT Group 3 Huffman encoding -algorithm (default).

    -
    -
    - -

    −2

    -
    - -

    Assume input data is 2-dimensional version of the -CCITT Group 3 Huffman encoding algorithm.

    -
    -
    - -

    −P

    -
    - -

    Assume input data is not EOL-aligned (default). -This option has effect with Group 3 encoded input only.

    -
    -
    - -

    −A

    -
    - -

    Assume input data is EOL-aligned. This option has effect -with Group 3 encoded input only.

    -
    -
    - -

    −M

    -
    - -

    Treat input data as having bits filled from most -significant bit ( MSB ) to most least bit ( -LSB ).

    -
    -
    - -

    −L

    -
    - -

    Treat input data as having bits filled from least -significant bit ( LSB ) to most significant -bit ( MSB ) (default).

    -
    -
    - -

    −B

    -
    - -

    Assume input data was encoded with black as 0 and white -as 1.

    -
    -
    - -

    −W

    -
    - -

    Assume input data was encoded with black as 1 and white -as 0 (default).

    -
    -
    - -

    −R

    -
    - -

    Specify the vertical resolution, in lines/inch, of the -input images. By default input are assumed to have a -vertical resolution of 196 lines/inch. If images are low -resolution facsimile, a value of 98 lines/inch should be -specified.

    -
    -
    - -

    −X

    -
    - -

    Specify the width, in pixels, of the input images. By -default input are assumed to have a width of 1728 -pixels.

    -
    -
    - - - - - -
    -

    Options that affect the output file format are:

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    −o

    -
    - -

    Specify the name of the output file.

    -
    -
    - -

    −7

    -
    - -

    Force output to be compressed with the -CCITT Group 3 Huffman encoding algorithm -(default).

    -
    -
    - -

    −8

    -
    - -

    Force output to be compressed with the -CCITT Group 4 Huffman encoding.

    -
    -
    - -

    −u

    -
    - -

    Force output to be uncompressed (Group 3 or Group -4).

    -
    -
    - -

    −5

    -
    - -

    Force output to be encoded with the 1-dimensional -version of the CCITT Group 3 Huffman encoding -algorithm.

    -
    -
    - -

    −6

    -
    - -

    Force output to be encoded with the 2-dimensional -version of the CCITT Group 3 Huffman encoding -algorithm (default).

    -
    -
    - -

    −a

    -
    - -

    Force the last bit of each End Of Line ( -EOL ) code to land on a byte boundary -(default). This ‘‘zero padding’’ -will be reflected in the contents of the -Group3Options tag of the resultant -TIFF file. This option has effect with Group -3 encoded output only.

    -
    -
    - -

    −p

    -
    - -

    Do not EOL-align output. This option has effect with -Group 3 encoded output only.

    -
    -
    - -

    −c

    -
    - -

    Generate "classic" Group 3 TIFF format.

    -
    -
    - -

    −f

    -
    - -

    Generate TIFF Class F (TIFF/F) format (default).

    -
    -
    - -

    −m

    -
    - -

    Force output data to have bits filled from most -significant bit ( MSB ) to most least bit ( -LSB ).

    -
    -
    - -

    −l

    -
    - -

    Force output data to have bits filled from least -significant bit ( LSB ) to most significant -bit ( MSB ) (default).

    -
    -
    - -

    −r

    -
    - -

    Specify the number of rows (scanlines) in each strip of -data written to the output file. By default (or when value -0 is specified), tiffcp attempts to set the -rows/strip that no more than 8 kilobytes of data appear in a -strip (with except of G3/G4 compression schemes). If you -specify special value −1 it will results in -infinite number of the rows per strip. The entire image will -be the one strip in that case. This is default in case of -G3/G4 output compression schemes.

    -
    -
    - -

    −s

    -
    - -

    Stretch the input image vertically by writing each input -row of data twice to the output file.

    -
    -
    - -

    −v

    -
    - -

    Force fax2tiff to print the number of rows of -data it retrieved from the input file.

    -
    -
    - -

    −z

    -
    - -

    Force output to be compressed with the LZW encoding.

    -
    -
    - -

    DIAGNOSTICS

    - - - - - -
    -

    The following warnings and errors come from the decoding -routines in the library.

    - -

    Warning, %s: Premature EOL at scanline %d (x -%d).\n. The input data had a row that was shorter than -the expected width. The row is padded with white.

    - -

    %s: Premature EOF at scanline %d (x %d).\n. The -decoder ran out of data in the middle of a scanline. The -resultant row is padded with white.

    - -

    %s: Bad code word at row %d, x %d\n. An invalid -Group 3 code was encountered while decoding the input -file. The row number and horizontal position is given. The -remainder of the input row is discarded, while the -corresponding output row is padded with white.

    - -

    %s: Bad 2D code word at scanline %d.\n. An invalid -Group 4 or 2D Group 3 code was encountered while -decoding the input file. The row number and horizontal -position is given. The remainder of the input row is -discarded, while the corresponding output row is padded with -white.

    -
    - -

    BUGS

    - - - - - -
    -

    Input data are assumed to have a a ‘‘top -left’’ orientation; it should be possible to -override this assumption from the command line.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    CCITT Recommendation T.4 -(Standardization of Group 3 Facsimile Apparatus for Document -Transmission).

    - -

    The Spirit of TIFF Class F, an appendix to the -TIFF 5.0 specification prepared by Cygnet Technologies.

    - -

    tiffinfo(1), tiffdither(1), -tiffgt(1), libtiff(3)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/gif2tiff.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/gif2tiff.1.html deleted file mode 100644 index c507353..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/gif2tiff.1.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - -GIF2TIFF - - - -

    GIF2TIFF

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -NOTES
    -BUGS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    gif2tiff − create a TIFF file from a -GIF87 format image file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    gif2tiff [ options ] input.gif -output.tif

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Gif2tiff converts a file in the GIF87 format to -TIFF. The TIFF image is -created as a palette image, with samples compressed with the -Lempel-Ziv & Welch algorithm (Compression=5). -These characteristics can overridden, or explicitly -specified with the options described below.

    -
    - -

    OPTIONS

    - - - - - - - - - - - - - - -
    - -

    −c

    -
    - -

    Specify a compression scheme to use when writing image -data: −c none for no compression, −c -packbits for the PackBits compression algorithm, -−c zip for the Deflate compression algorithm, -and −c lzw for Lempel-Ziv & Welch (the -default).

    -
    -
    - -

    −r

    -
    - -

    Write data with a specified number of rows per strip; by -default the number of rows/strip is selected so that each -strip is approximately 8 kilobytes.

    -
    -
    - -

    NOTES

    - - - - - -
    -

    The program is based on Paul Haeberli’s -fromgif program which, in turn, is based on Marcel -J.E. Mol’s GIF reader.

    -
    - -

    BUGS

    - - - - - -
    -

    Should have more options to control output format.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    pal2rgb(1), tiffinfo(1), tiffcp(1), -tiffmedian(1), libtiff(3)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/index.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/index.html deleted file mode 100644 index 7e9e8d2..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/index.html +++ /dev/null @@ -1,64 +0,0 @@ -Libtiff HTML manpage index diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/libtiff.3tiff.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/libtiff.3tiff.html deleted file mode 100644 index 931ae94..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/libtiff.3tiff.html +++ /dev/null @@ -1,1150 +0,0 @@ - - - - - - -INTRO - - - -

    INTRO

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -DATA TYPES
    -LIST OF ROUTINES
    -TAG USAGE
    -PSEUDO TAGS
    -DIAGNOSTICS
    -SEE ALSO
    -BUGS
    - -
    - -

    NAME

    - - - - - -
    -

    libtiff − introduction to libtiff, a -library for reading and writing TIFF -files

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    #include <tiffio.h>

    - -

    cc file.c -ltiff

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    libtiff is a library for reading and writing -data files encoded with the Tag Image File format, -Revision 6.0 (or revision 5.0 or revision 4.0). This file -format is suitable for archiving multi-color and -monochromatic image data.

    - -

    The library supports several compression algorithms, -as indicated by the Compression field, including: no -compression (1), CCITT 1D Huffman compression -(2), CCITT Group 3 Facsimile compression -(3), CCITT Group 4 Facsimile compression (4), -Lempel-Ziv & Welch compression (5), baseline JPEG -compression (7), word-aligned 1D Huffman compression -(32771), and PackBits compression (32773). In addition, -several nonstandard compression algorithms are supported: -the 4-bit compression algorithm used by the -ThunderScan program (32809) (decompression only), -NeXT’s 2-bit compression algorithm (32766) -(decompression only), an experimental LZ-style algorithm -known as Deflate (32946), and an experimental CIE LogLuv -compression scheme designed for images with high dynamic -range (32845 for LogL and 32845 for LogLuv). Directory -information may be in either little- or big-endian byte -order−byte swapping is automatically done by the -library. Data bit ordering may be either Most Significant -Bit ( MSB ) to Least Significant Bit ( LSB -) or LSB to MSB. Finally, the -library does not support files in which the -BitsPerSample, Compression, -MinSampleValue, or MaxSampleValue fields are -defined differently on a per-sample basis (in Rev. 6.0 the -Compression tag is not defined on a per-sample basis, -so this is immaterial).

    -
    - -

    DATA TYPES

    - - - - - -
    -

    The library makes extensive use of C typedefs to -promote portability. Two sets of typedefs are used, one for -communication with clients of the library and one for -internal data structures and parsing of the TIFF -format. The following typedefs are exposed to users -either through function definitions or through parameters -passed through the varargs interfaces.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    typedef unsigned short uint16;

    -
    - -

    16-bit unsigned integer

    -
    - -

    typedef unsigned <thing> -uint32;

    -
    - -

    32-bit unsigned integer

    -
    - -

    typedef unsigned int ttag_t;

    -
    - -

    directory tag

    -
    - -

    typedef uint16 tdir_t;

    -
    - -

    directory index

    -
    - -

    typedef uint16 tsample_t;

    -
    - -

    sample number

    -
    - -

    typedef uint32 tstrip_t;

    -
    - -

    strip number

    -
    - -

    typedef uint32 ttile_t;

    -
    - -

    tile number

    -
    - -

    typedef int32 tsize_t;

    -
    - -

    i/o size in bytes

    -
    - -

    typedef void* tdata_t;

    -
    - -

    image data ref

    -
    - -

    typedef void* thandle_t;

    -
    - -

    client data handle

    -
    - -

    typedef int32 toff_t;

    -
    - -

    file offset

    -
    - - - - - -
    -

    Note that tstrip_t, ttile_t, and -tsize_t are constrained to be no more than 32-bit -quantities by 32-bit fields they are stored in in the -TIFF image. Likewise tsample_t is limited by the -16-bit field used to store the SamplesPerPixel tag. -tdir_t constrains the maximum number of IFDs -that may appear in an image and may be an arbitrary -size (w/o penalty). ttag_t must be either int, -unsigned int, pointer, or double because the library uses a -varargs interface and ANSI C restricts the type -of the parameter before an ellipsis to be a promoted type. -toff_t is defined as int32 because TIFF file offsets -are (unsigned) 32-bit quantities. A signed value is used -because some interfaces return −1 on error. Finally, -note that user-specified data references are passed as -opaque handles and only cast at the lowest layers where -their type is presumed.

    -
    - -

    LIST OF ROUTINES

    - - - - - -
    -

    The following routines are part of the library. -Consult specific manual pages for details on their -operation; on most systems doing ‘‘man -function-name’’ will work.

    - - -

    Name Description

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    TIFFCheckpointDirectory

    -
    - -

    writes the current state of the directory

    -
    - -

    TIFFCheckTile

    -
    - -

    very x,y,z,sample is within image

    -
    - -

    TIFFCIELabToRGBInit

    -
    - -

    initialize CIE L*a*b* 1976 to RGB conversion -state

    -
    - -

    TIFFCIELabToXYZ

    -
    - -

    perform CIE L*a*b* 1976 to CIE XYZ -conversion

    -
    - -

    TIFFClientOpen

    -
    - -

    open a file for reading or writing

    -
    - -

    TIFFClose

    -
    - -

    close an open file

    -
    - -

    TIFFComputeStrip

    -
    - -

    return strip containing y,sample

    -
    - -

    TIFFComputeTile

    -
    - -

    return tile containing x,y,z,sample

    -
    - -

    TIFFCurrentDirectory

    -
    - -

    return index of current directory

    -
    - -

    TIFFCurrentRow

    -
    - -

    return index of current scanline

    -
    - -

    TIFFCurrentStrip

    -
    - -

    return index of current strip

    -
    - -

    TIFFCurrentTile

    -
    - -

    return index of current tile

    -
    - -

    TIFFDataWidth

    -
    - -

    return the size of TIFF data types

    -
    - -

    TIFFError

    -
    - -

    library error handler

    -
    - -

    TIFFFdOpen

    -
    - -

    open a file for reading or writing

    -
    - -

    TIFFFileName

    -
    - -

    return name of open file

    -
    - -

    TIFFFileno

    -
    - -

    return open file descriptor

    -
    - -

    TIFFFindCODEC

    -
    - -

    find standard codec for the specific -scheme

    -
    - -

    TIFFFlush

    -
    - -

    flush all pending writes

    -
    - -

    TIFFFlushData

    -
    - -

    flush pending data writes

    -
    - -

    TIFFGetBitRevTable

    -
    - -

    return bit reversal table

    -
    - -

    TIFFGetField

    -
    - -

    return tag value in current directory

    -
    - -

    TIFFGetFieldDefaulted

    -
    - -

    return tag value in current directory

    -
    - -

    TIFFGetMode

    -
    - -

    return open file mode

    -
    - -

    TIFFGetVersion

    -
    - -

    return library version string

    -
    - -

    TIFFIsCODECConfigured

    -
    - -

    check, whether we have working codec

    -
    - -

    TIFFIsMSB2LSB

    -
    - -

    return true if image data is being -returned

    -
    - -

    with bit 0 as the most significant bit

    -
    - -

    TIFFIsTiled

    -
    - -

    return true if image data is tiled

    -
    - -

    TIFFIsByteSwapped

    -
    - -

    return true if image data is byte-swapped

    -
    - -

    TIFFNumberOfStrips

    -
    - -

    return number of strips in an image

    -
    - -

    TIFFNumberOfTiles

    -
    - -

    return number of tiles in an image

    -
    - -

    TIFFOpen

    -
    - -

    open a file for reading or writing

    -
    - -

    TIFFPrintDirectory

    -
    - -

    print description of the current -directory

    -
    - -

    TIFFReadBufferSetup

    -
    - -

    specify i/o buffer for reading

    -
    - -

    TIFFReadDirectory

    -
    - -

    read the next directory

    -
    - -

    TIFFReadEncodedStrip

    -
    - -

    read and decode a strip of data

    -
    - -

    TIFFReadEncodedTile

    -
    - -

    read and decode a tile of data

    -
    - -

    TIFFReadRawStrip

    -
    - -

    read a raw strip of data

    -
    - -

    TIFFReadRawTile

    -
    - -

    read a raw tile of data

    -
    - -

    TIFFReadRGBAImage

    -
    - -

    read an image into a fixed format raster

    -
    - -

    TIFFReadScanline

    -
    - -

    read and decode a row of data

    -
    - -

    TIFFReadTile

    -
    - -

    read and decode a tile of data

    -
    - -

    TIFFRegisterCODEC

    -
    - -

    override standard codec for the specific -scheme

    -
    - -

    TIFFReverseBits

    -
    - -

    reverse bits in an array of bytes

    -
    - -

    TIFFRGBAImageBegin

    -
    - -

    setup decoder state for TIFFRGBAImageGet

    -
    - -

    TIFFRGBAImageEnd

    -
    - -

    release TIFFRGBAImage decoder state

    -
    - -

    TIFFRGBAImageGet

    -
    - -

    read and decode an image

    -
    - -

    TIFFRGBAImageOK

    -
    - -

    is image readable by TIFFRGBAImageGet

    -
    - -

    TIFFScanlineSize

    -
    - -

    return size of a scanline

    -
    - -

    TIFFSetDirectory

    -
    - -

    set the current directory

    -
    - -

    TIFFSetSubDirectory

    -
    - -

    set the current directory

    -
    - -

    TIFFSetErrorHandler

    -
    - -

    set error handler function

    -
    - -

    TIFFSetField

    -
    - -

    set a tag’s value in the current -directory

    -
    - -

    TIFFSetWarningHandler

    -
    - -

    set warning handler function

    -
    - -

    TIFFStripSize

    -
    - -

    returns size of a strip

    -
    - -

    TIFFRawStripSize

    -
    - -

    returns the number of bytes in a raw -strip

    -
    - -

    TIFFSwabShort

    -
    - -

    swap bytes of short

    -
    - -

    TIFFSwabLong

    -
    - -

    swap bytes of long

    -
    - -

    TIFFSwabArrayOfShort

    -
    - -

    swap bytes of an array of shorts

    -
    - -

    TIFFSwabArrayOfLong

    -
    - -

    swap bytes of an array of longs

    -
    - -

    TIFFTileRowSize

    -
    - -

    return size of a row in a tile

    -
    - -

    TIFFTileSize

    -
    - -

    return size of a tile

    -
    - -

    TIFFUnRegisterCODEC

    -
    - -

    unregisters the codec

    -
    - -

    TIFFVGetField

    -
    - -

    return tag value in current directory

    -
    - -

    TIFFVGetFieldDefaulted

    -
    - -

    return tag value in current directory

    -
    - -

    TIFFVSetField

    -
    - -

    set a tag’s value in the current -directory

    -
    - -

    TIFFVStripSize

    -
    - -

    returns the number of bytes in a strip

    -
    - -

    TIFFWarning

    -
    - -

    library warning handler

    -
    - -

    TIFFWriteDirectory

    -
    - -

    write the current directory

    -
    - -

    TIFFWriteEncodedStrip

    -
    - -

    compress and write a strip of data

    -
    - -

    TIFFWriteEncodedTile

    -
    - -

    compress and write a tile of data

    -
    - -

    TIFFWriteRawStrip

    -
    - -

    write a raw strip of data

    -
    - -

    TIFFWriteRawTile

    -
    - -

    write a raw tile of data

    -
    - -

    TIFFWriteScanline

    -
    - -

    write a scanline of data

    -
    - -

    TIFFWriteTile

    -
    - -

    compress and write a tile of data

    -
    - -

    TIFFXYZToRGB

    -
    - -

    perform CIE XYZ to RGB conversion

    -
    - -

    TIFFYCbCrToRGBInit

    -
    - -

    initialize YCbCr to RGB conversion state

    -
    - -

    TIFFYCbCrtoRGB

    -
    - -

    perform YCbCr to RGB conversion

    -
    - - - - - -
    -

    Auxiliary functions:

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    _TIFFfree

    -
    - -

    free memory buffer

    -
    - -

    _TIFFmalloc

    -
    - -

    dynamically allocate memory buffer

    -
    - -

    _TIFFmemcmp

    -
    - -

    compare contents of the memory buffers

    -
    - -

    _TIFFmemcpy

    -
    - -

    copy contents of the one buffer to -another

    -
    - -

    _TIFFmemset

    -
    - -

    fill memory buffer with a constant byte

    -
    - -

    _TIFFrealloc

    -
    - -

    dynamically reallocate memory buffer

    -
    - -

    TAG USAGE

    - - - - -
    -

    The table below lists the TIFF tags that -are recognized and handled by the library. If no use is -indicated in the table, then the library reads and writes -the tag, but does not use it internally. Note that some tags -are meaningful only when a particul \ No newline at end of file diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/pal2rgb.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/pal2rgb.1.html deleted file mode 100644 index d06ddb6..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/pal2rgb.1.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - -PAL2RGB - - - -

    PAL2RGB

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -BUGS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    pal2rgb − convert a palette color -TIFF image to a full color image

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    pal2rgb [ options ] input.tif -output.tif

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Pal2rgb converts a palette color -TIFF image to a full color image by applying -the colormap of the palette image to each sample to generate -a full color RGB image.

    -
    - -

    OPTIONS

    - - - - - -
    -

    Options that affect the interpretation of input data -are:

    -
    - - - - - - - - -
    - -

    −C

    -
    - -

    This option overrides the default behavior of -pal2rgb in determining whether or not colormap -entries contain 16-bit or 8-bit values. By default the -colormap is inspected and if no colormap entry greater than -255 is found, the colormap is assumed to have only 8-bit -values; otherwise 16-bit values (as required by the -TIFF specification) are assumed. The -−C option can be used to explicitly specify the -number of bits for colormap entries: −C 8 for -8-bit values, −C 16 for 16-bit values.

    -
    -
    - - - - - -
    -

    Options that affect the output file format are:

    -
    - - - - - - - - - - - - - - - - - - - - -
    - -

    −p

    -
    - -

    Explicitly select the planar configuration used in -organizing data samples in the output image: −p -contig for samples packed contiguously, and −p -separate for samples stored separately. By default -samples are packed.

    -
    -
    - -

    −c

    -
    - -

    Use the specific compression algorithm to encoded image -data in the output file: −c packbits for -Macintosh Packbits, −c lzw for Lempel-Ziv & -Welch, −c zip for Deflate, −c none -for no compression. If no compression-related option is -specified, the input file’s compression algorithm is -used.

    -
    -
    - -

    −r

    -
    - -

    Explicitly specify the number of rows in each strip of -the output file. If the −r option is not -specified, a number is selected such that each output strip -has approximately 8 kilobytes of data in it.

    -
    -
    - -

    BUGS

    - - - - - -
    -

    Only 8-bit images are handled.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    tiffinfo(1), tiffcp(1), -tiffmedian(1), libtiff(3)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/ppm2tiff.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/ppm2tiff.1.html deleted file mode 100644 index e3c664e..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/ppm2tiff.1.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - -PPM2TIFF - - - -

    PPM2TIFF

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    ppm2tiff − create a TIFF file from -PPM, PGM and PBM image -files

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    ppm2tiff [ options ] [ input.ppm ] -output.tif

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    ppm2tiff converts a file in the PPM, -PGM and PBM image formats to -TIFF. By default, the TIFF -image is created with data samples packed -(PlanarConfiguration=1), compressed with the Packbits -algorithm (Compression=32773), and with each strip no -more than 8 kilobytes. These characteristics can be -overridden, or explicitly specified with the options -described below

    - -

    If the PPM file contains greyscale data, -then the PhotometricInterpretation tag is set to 1 -(min-is-black), otherwise it is set to 2 (RGB).

    - -

    If no PPM file is specified on the command -line, ppm2tiff will read from the standard input.

    -
    - -

    OPTIONS

    - - - - - - - - - - - - - - - - - - - - -
    - -

    −c

    -
    - -

    Specify a compression scheme to use when writing image -data: none for no compression, packbits for -PackBits compression (will be used by default), lzw -for Lempel-Ziv & Welch compression, jpeg for -baseline JPEG compression, zip for Deflate -compression, g3 for CCITT Group 3 (T.4) compression, -and g4 for CCITT Group 4 (T.6) compression.

    -
    -
    - -

    −r

    -
    - -

    Write data with a specified number of rows per strip; by -default the number of rows/strip is selected so that each -strip is approximately 8 kilobytes.

    -
    -
    - -

    −R

    -
    - -

    Mark the resultant image to have the specified X and Y -resolution (in dots/inch).

    -
    -
    - -

    SEE ALSO

    - - - - - -
    -

    tiffinfo(1), tiffcp(1), -tiffmedian(1), libtiff(3)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/ras2tiff.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/ras2tiff.1.html deleted file mode 100644 index 2c652ab..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/ras2tiff.1.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -RAS2TIFF - - - -

    RAS2TIFF

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -BUGS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    ras2tiff − create a TIFF file from a -Sun rasterfile

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    ras2tiff [ options ] input.ras -output.tif

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    ras2tiff converts a file in the Sun rasterfile -format to TIFF. By default, the -TIFF image is created with data samples -packed (PlanarConfiguration=1), compressed with the -Lempel-Ziv & Welch algorithm (Compression=5), and -with each strip no more than 8 kilobytes. These -characteristics can overridden, or explicitly specified with -the options described below.

    - -

    Any colormap information in the rasterfile is carried -over to the TIFF file by including a -Colormap tag in the output file. If the rasterfile -has a colormap, the PhotometricInterpretation tag is -set to 3 (palette); otherwise it is set to 2 (RGB) if the -depth is 24 or 1 (min-is-black) if the depth is not 24.

    -
    - -

    OPTIONS

    - - - - - - - - - - - - - - -
    - -

    −c

    -
    - -

    Specify a compression scheme to use when writing image -data: −c none for no compression, −c -packbits for the PackBits compression algorithm, -−c jpeg for the baseline JPEG compression -algorithm, −c zip for the Deflate compression -algorithm, and −c lzw for Lempel-Ziv & -Welch (the default).

    -
    -
    - -

    −r

    -
    - -

    Write data with a specified number of rows per strip; by -default the number of rows/strip is selected so that each -strip is approximately 8 kilobytes.

    -
    -
    - -

    BUGS

    - - - - - -
    -

    Does not handle all possible rasterfiles. In particular, -ras2tiff does not handle run-length encoded -images.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    pal2rgb(1), tiffinfo(1), tiffcp(1), -tiffmedian(1), libtiff(3)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/raw2tiff.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/raw2tiff.1.html deleted file mode 100644 index ce47e9f..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/raw2tiff.1.html +++ /dev/null @@ -1,510 +0,0 @@ - - - - - - -RAW2TIFF - - - -

    RAW2TIFF

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -GUESSING THE IMAGE GEOMETRY
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    raw2tiff − create a TIFF file from a -raw data

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    raw2tiff [ options ] input.raw -output.tif

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    raw2tiff converts a raw byte sequence into -TIFF. By default, the TIFF -image is created with data samples packed -(PlanarConfiguration=1), compressed with the PackBits -algorithm (Compression=32773), and with each strip no -more than 8 kilobytes. These characteristics can overridden, -or explicitly specified with the options described -below.

    -
    - -

    OPTIONS

    - - - - - -
    -

    −H number

    - - - - - -
    -

    size of input image file header in bytes (0 by default). -This amount of data just will be skipped from the start of -file while reading.

    -
    - - - - - -
    -

    −w number

    - - - - - -
    -

    width of input image in pixels (can be guessed, see -GUESSING THE IMAGE GEOMETRY -below).

    -
    - - - - - -
    -

    −l number

    - - - - - -
    -

    length of input image in lines (can be guessed, see -GUESSING THE IMAGE GEOMETRY -below).

    -
    - - - - - -
    -

    −b number

    - - - - - -
    -

    number of bands in input image (1 by default).

    -
    - - - - - -
    -

    −d data_type

    - - - - - -
    -

    type of samples in input image, where data_type -may be:

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    byte

    -
    - -

    8-bit unsigned integer (default),

    -
    - -

    short

    -
    - -

    16-bit unsigned integer,

    -
    - -

    long

    -
    - -

    32-bit unsigned integer,

    -
    - -

    sbyte

    -
    - -

    8-bit signed integer,

    -
    - -

    sshort

    -
    - -

    16-bit signed integer,

    -
    - -

    slong

    -
    - -

    32-bit signed integer,

    -
    - -

    float

    -
    - -

    32-bit IEEE floating point,

    -
    - -

    double

    -
    - -

    64-bit IEEE floating point.

    -
    - - - - - -
    -

    −i config

    - - - - - -
    -

    type of samples interleaving in input image, where -config may be:

    - - - - - - - - - - -
    - -

    pixel

    -
    - -

    pixel interleaved data (default),

    -
    - -

    band

    -
    - -

    band interleaved data.

    -
    - - - - - -
    -

    −p photo

    - - - - - -
    -

    photometric interpretation (color space) of the input -image, where photo may be:

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    miniswhite

    -
    - -

    white color represented with 0 value,

    -
    - -

    minisblack

    -
    - -

    black color represented with 0 value (default),

    -
    - -

    rgb

    -
    - -

    image has RGB color model,

    -
    - -

    cmyk

    -
    - -

    image has CMYK (separated) color model,

    -
    - -

    ycbcr

    -
    - -

    image has YCbCr color model,

    -
    - -

    cielab

    -
    - -

    image has CIE L*a*b color model,

    -
    - -

    icclab

    -
    - -

    image has ICC L*a*b color model,

    -
    - -

    itulab

    -
    - -

    image has ITU L*a*b color model.

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    −s

    -
    - -

    swap bytes fetched from the input file.

    -
    -
    - -

    −L

    -
    - -

    input data has LSB2MSB bit order (default).

    -
    -
    - -

    −M

    -
    - -

    input data has MSB2LSB bit order.

    -
    -
    - -

    −c

    -
    - -

    Specify a compression scheme to use when writing image -data: −c none for no compression, −c -packbits for the PackBits compression algorithm (the -default), −c jpeg for the baseline JPEG -compression algorithm, −c zip for the Deflate -compression algorithm, and −c lzw for -Lempel-Ziv & Welch.

    -
    -
    - - - - - -
    -

    −r number

    - - - - - -
    -

    Write data with a specified number of rows per strip; by -default the number of rows/strip is selected so that each -strip is approximately 8 kilobytes.

    -
    - -

    GUESSING THE IMAGE GEOMETRY

    - - - - - -
    -

    raw2tiff can guess image width and height in case -one or both of these parameters are not specified. If you -omit one of those parameters, the complementary one will be -calculated based on the file size (taking into account -header size, number of bands and data type). If you omit -both parameters, the statistical approach will be used. -Utility will compute correlation coefficient between two -lines at the image center using several appropriate line -sizes and the highest absolute value of the coefficient will -indicate the right line size. That is why you should be -cautious with the very large images, because guessing -process may take a while (depending on your system -performance). Of course, the utility can’t guess the -header size, number of bands and data type, so it should be -specified manually. If you don’t know anything about -your image, just try with the several combinations of those -options.

    - -

    There is no magic, it is just a mathematical statistics, -so it can be wrong in some cases. But for most ordinary -images guessing method will work fine.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    pal2rgb(1), tiffcp(1), -tiffmedian(1), libtiff(3)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/rgb2ycbcr.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/rgb2ycbcr.1.html deleted file mode 100644 index dcd88d1..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/rgb2ycbcr.1.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - -RGB2YCBCR - - - -

    RGB2YCBCR

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    rgb2ycbcr − convert non-YCbCr TIFF -images to a YCbCr TIFF image

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    rgb2ycbcr [ options ] src1.tif src2.tif -... dst.tif

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    rgb2ycbcr converts RGB color, -greyscale, or bi-level TIFF images to YCbCr -images by transforming and sampling pixel data. If multiple -files are specified on the command line each source file is -converted to a separate directory in the destination -file.

    - -

    By default, chrominance samples are created by sampling 2 -by 2 blocks of luminance values; this can be changed with -the −h and −v options. Output data -are compressed with the PackBits compression -scheme, by default; an alternate scheme can be selected with -the −c option. By default, output data are -compressed in strips with the number of rows in each strip -selected so that the size of a strip is never more than 8 -kilobytes; the −r option can be used to -explicitly set the number of rows per strip.

    -
    - -

    OPTIONS

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    −c

    -
    - -

    Specify a compression scheme to use when writing image -data: −c none for no compression, −c -packbits for the PackBits compression algorithm (the -default), −c jpeg for the JPEG compression -algorithm, −c zip for the deflate compression -algorithm, and −c lzw for Lempel-Ziv & -Welch.

    -
    -
    - -

    −h

    -
    - -

    Set the horizontal sampling dimension to one of: 1, 2 -(default), or 4.

    -
    -
    - -

    −r

    -
    - -

    Write data with a specified number of rows per strip; by -default the number of rows/strip is selected so that each -strip is approximately 8 kilobytes.

    -
    -
    - -

    −v

    -
    - -

    Set the vertical sampling dimension to one of: 1, 2 -(default), or 4.

    -
    -
    - -

    SEE ALSO

    - - - - - -
    -

    tiffinfo(1), tiffcp(1), -libtiff(3)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/sgi2tiff.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/sgi2tiff.1.html deleted file mode 100644 index 7665a6e..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/sgi2tiff.1.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -SGI2TIFF - - - -

    SGI2TIFF

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -BUGS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    sgi2tiff − create a TIFF file from -an SGI image file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    sgi2tiff [ options ] input.rgb -output.tif

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    sgi2tiff converts a file in the SGI -image format to TIFF. By default, the -TIFF image is created with data samples -packed (PlanarConfiguration=1), compressed with the -Lempel-Ziv & Welch algorithm (Compression=5), and -with each strip no more than 8 kilobytes. These -characteristics can overridden, or explicitly specified with -the options described below.

    -
    - -

    OPTIONS

    - - - - - - - - - - - - - - - - - - - - -
    - -

    −c

    -
    - -

    Specify a compression scheme to use when writing image -data: −c none for no compression, −c -packbits for the PackBits compression algorithm), -−c jpeg for the baseline JPEG compression -algorithm, −c zip for the Deflate compression -algorithm, and −c lzw for Lempel-Ziv & -Welch (the default).

    -
    -
    - -

    −p

    -
    - -

    Explicitly select the planar configuration used in -organizing data samples in the output image: −p -contig for samples packed contiguously, and −p -separate for samples stored separately. By default -samples are packed.

    -
    -
    - -

    −r

    -
    - -

    Write data with a specified number of rows per strip; by -default the number of rows/strip is selected so that each -strip is approximately 8 kilobytes.

    -
    -
    - -

    BUGS

    - - - - - -
    -

    Does not record colormap information.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    tiffinfo(1), tiffcp(1), -tiffmedian(1), libtiff(3)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/thumbnail.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/thumbnail.1.html deleted file mode 100644 index 2d1f3c9..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/thumbnail.1.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -THUMBNAIL - - - -

    THUMBNAIL

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -BUGS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    thumbnail − create a TIFF file with -thumbnail images

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    thumbnail [ options ] input.tif -output.tif

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    thumbnail is a program written to show how one -might use the SubIFD tag (#330) to store thumbnail images. -thumbnail copies a TIFF Class F -facsimile file to the output file and for each image an -8-bit greyscale thumbnail sketch. The output file -contains the thumbnail image with the associated -full-resolution page linked below with the SubIFD tag.

    - -

    By default, thumbnail images are 216 pixels wide by 274 -pixels high. Pixels are calculated by sampling and filtering -the input image with each pixel value passed through a -contrast curve.

    -
    - -

    OPTIONS

    - - - - - - - - - - - - - - - - - - - - -
    - -

    −w

    -
    - -

    Specify the width of thumbnail images in pixels.

    -
    -
    - -

    −h

    -
    - -

    Specify the height of thumbnail images in pixels.

    -
    -
    - -

    −c

    -
    - -

    Specify a contrast curve to apply in generating the -thumbnail images. By default pixels values are passed -through a linear contrast curve that simply maps the pixel -value ranges. Alternative curves are: exp50 for a 50% -exponential curve, exp60 for a 60% exponential curve, -exp70 for a 70% exponential curve, exp80 for a -80% exponential curve, exp90 for a 90% exponential -curve, exp for a pure exponential curve, -linear for a linear curve.

    -
    -
    - -

    BUGS

    - - - - - -
    -

    There are no options to control the format of the saved -thumbnail images.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    tiffdump(1), tiffgt(1), tiffinfo(1), -libtiff(3)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiff2bw.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiff2bw.1.html deleted file mode 100644 index 1ebb4d3..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiff2bw.1.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - -TIFF2BW - - - -

    TIFF2BW

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    tiff2bw − convert a color TIFF image -to greyscale

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    tiff2bw [ options ] input.tif -output.tif

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Tiff2bw converts an RGB or Palette -color TIFF image to a greyscale image by -combining percentages of the red, green, and blue channels. -By default, output samples are created by taking 28% of the -red channel, 59% of the green channel, and 11% of the blue -channel. To alter these percentages, the −R, -−G, and −B options may be -used.

    -
    - -

    OPTIONS

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    −c

    -
    - -

    Specify a compression scheme to use when writing image -data: −c none for no compression, −c -packbits for the PackBits compression algorithm, -−c zip for the Deflate compression algorithm, -−c g3 for the CCITT Group 3 compression -algorithm, −c g4 for the CCITT Group 4 -compression algorithm, and −c lzw for -Lempel-Ziv & Welch (the default).

    -
    -
    - -

    −r

    -
    - -

    Write data with a specified number of rows per strip; by -default the number of rows/strip is selected so that each -strip is approximately 8 kilobytes.

    -
    -
    - -

    −R

    -
    - -

    Specify the percentage of the red channel to use -(default 28).

    -
    -
    - -

    −G

    -
    - -

    Specify the percentage of the green channel to use -(default 59).

    -
    -
    - -

    −B

    -
    - -

    Specify the percentage of the blue channel to use -(default 11).

    -
    -
    - -

    SEE ALSO

    - - - - - -
    -

    pal2rgb(1), tiffinfo(1), tiffcp(1), -tiffmedian(1), libtiff(3)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiff2pdf.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiff2pdf.1.html deleted file mode 100644 index 3b6dd4b..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiff2pdf.1.html +++ /dev/null @@ -1,609 +0,0 @@ - - - - - - -TIFF2PDF - - - -

    TIFF2PDF

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -EXAMPLES
    -BUGS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    tiff2pdf − convert a TIFF image to a PDF -document

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    tiff2pdf [ options ] input.tiff

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    tiff2pdf opens a TIFF image and writes a PDF -document to standard output.

    - -

    The program converts one TIFF file to one PDF file, -including multiple page TIFF files, tiled TIFF files, black -and white. grayscale, and color TIFF files that contain data -of TIFF photometric interpretations of bilevel, grayscale, -RGB, YCbCr, CMYK separation, and ICC L*a*b* as supported by -libtiff and PDF.

    - -

    If you have multiple TIFF files to convert into one PDF -file then use tiffcp or other program to concatenate -the files into a multiple page TIFF file. If the input TIFF -file is of huge dimensions (greater than 10000 pixels height -or width) convert the input image to a tiled TIFF if it is -not already.

    - -

    The standard output is standard output. Set the output -file name with the −o output.pdf -option.

    - -

    All black and white files are compressed into a single -strip CCITT G4 Fax compressed PDF, unless tiled, where tiled -black and white images are compressed into tiled CCITT G4 -Fax compressed PDF, libtiff CCITT support is -assumed.

    - -

    Color and grayscale data can be compressed using either -JPEG compression, ITU-T T.81, or Zip/Deflate LZ77 -compression. Set the compression type using the -−j or −z options. JPEG compression -support requires that libtiff be configured with JPEG -support, and Zip/Deflate compression support requires that -libtiff be configured with Zip support, in -tiffconf.h. Use only one or the other of −j and -−z.

    - -

    If the input TIFF contains single strip CCITT G4 Fax -compressed information, then that is written to the PDF file -without transcoding, unless the options of no compression -and no passthrough are set, −d and -−n.

    - -

    If the input TIFF contains JPEG or single strip -Zip/Deflate compressed information, and they are configured, -then that is written to the PDF file without transcoding, -unless the options of no compression and no passthrough are -set.

    - -

    The default page size upon which the TIFF image is placed -is determined by the resolution and extent of the image -data. Default values for the TIFF image resolution can be -set using the −x and −y options. -The page size can be set using the −p option -for paper size, or −w and −l for -paper width and length, then each page of the TIFF image is -centered on its page. The distance unit for default -resolution and page width and length can be set by the -−u option, the default unit is inch.

    - -

    Various items of the output document information can be -set with the −e, −c, -−a, −t, −s, and -−k options. Setting the argument of the option -to "" for these tags causes the relevant document -information field to be not written. Some of the document -information values otherwise get their information from the -input TIFF image, the software, author, document name, and -image description.

    - -

    The Portable Document Format (PDF) specification is -copyrighted by Adobe Systems, Incorporated.

    -
    - -

    OPTIONS

    - - - - - -
    -

    −o output-file

    - - - - - -
    -

    Set the output to go to file. output-file

    -
    - - - - - - - - - - - - -
    - -

    −j

    -
    - -

    Compress with JPEG (requires libjpeg configured -with libtiff).

    -
    - -

    −z

    -
    - -

    Compress with Zip/Deflate (requires zlib -configured with libtiff).

    -
    - - - - - -
    -

    −q quality

    - - - - - -
    -

    Set the compression quality, 1-100 for JPEG.

    -
    - - - - - - - - - - - - - - - - - - - - - - -
    - -

    −n

    -
    - -

    Do not allow data to be converted without uncompressing, -no compressed data passthrough.

    -
    - -

    −b

    -
    - -

    Set PDF ‘‘Interpolate’’ user -preference.

    -
    - -

    −d

    -
    - -

    Do not compress (decompress).

    -
    - -

    −i

    -
    - -

    Invert colors.

    -
    - - - - - -
    -

    −p paper-size

    - - - - - -
    -

    Set paper size, e.g., letter, legal, -A4.

    -
    - - - - - -
    -

    −u [i|m]

    - - - - - -
    -

    Set distance unit, i for inch, m for -centimeter.

    -
    - - - - - -
    -

    −w width

    - - - - - -
    -

    Set width in units.

    -
    - - - - - -
    -

    −l length

    - - - - - -
    -

    Set length in units.

    -
    - - - - - -
    -

    −x xres

    - - - - - -
    -

    Set x/width resolution default.

    -
    - - - - - -
    -

    −y yres

    - - - - - -
    -

    Set y/length resolution default.

    -
    - - - - - -
    -

    −r [d|o]

    - - - - - -
    -

    Set d for resolution default for images without -resolution, o for resolution override for all -images.

    -
    - - - - - - - - -
    - -

    −f

    -
    - -

    Set PDF ‘‘Fit Window’’ user -preference.

    -
    -
    - - - - - -
    -

    −e YYYYMMDDHHMMSS

    - - - - - -
    -

    Set document information date, overrides image or current -date/time default, YYYYMMDDHHMMSS.

    -
    - - - - - -
    -

    −c creator

    - - - - - -
    -

    Set document information creator, overrides image -software default.

    -
    - - - - - -
    -

    −a author

    - - - - - -
    -

    Set document information author, overrides image artist -default.

    -
    - - - - - -
    -

    −t title

    - - - - - -
    -

    Set document information title, overrides image document -name default.

    -
    - - - - - -
    -

    −s subject

    - - - - - -
    -

    Set document information subject, overrides image image -description default.

    -
    - - - - - -
    -

    −k keywords

    - - - - - -
    -

    Set document information keywords.

    -
    - - - - - - - - -
    - -

    −h

    -
    - -

    List usage reminder to stderr and exit.

    -
    -
    - -

    EXAMPLES

    - - - - - -
    -

    The following example would generate the file output.pdf -from input.tiff.

    - - - - - -
    -
    tiff2pdf −o output.pdf input.tiff
    -
    -
    - - - - - - -
    -

    The following example would generate PDF output from -input.tiff and write it to standard output.

    - - - - - -
    -
    tiff2pdf input.tiff
    -
    -
    - - - - - - -
    -

    The following example would generate the file output.pdf -from input.tiff, putting the image pages on a letter sized -page, compressing the output with JPEG, with JPEG quality -75, setting the title to -‘‘Document’’, and setting the -‘‘Fit Window’’ option.

    - - - - - -
    -
    tiff2pdf −p letter −j −q 75 −t "Document" −f −o output.pdf input.tiff
    -
    -
    - -

    BUGS

    - - - - - - -
    -

    Please report bugs via the web interface at

    -
    - - - - - -
    - -

    http://bugzilla.remotesensing.org/enter_bug.cgi?product=libtiff

    -
    - -

    SEE ALSO

    - - - - - -
    -

    libtiff(3), tiffcp(1), -tiff2ps(1)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiff2ps.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiff2ps.1.html deleted file mode 100644 index ef2cd7f..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiff2ps.1.html +++ /dev/null @@ -1,532 +0,0 @@ - - - - - - -TIFF2PS - - - -

    TIFF2PS

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -EXAMPLES
    -BUGS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    tiff2ps − convert a TIFF image to -PostScript™

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    tiff2ps [ options ] input.tif -...

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    tiff2ps reads TIFF images and -writes PostScript or Encapsulated PostScript (EPS) on the -standard output. By default, tiff2ps writes -Encapsulated PostScript for the first image in the specified -TIFF image file.

    - -

    By default, tiff2ps will generate PostScript that -fills a printed area specified by the TIFF -tags in the input file. If the file does not contain -XResolution or YResolution tags, then the -printed area is set according to the image dimensions. The -−w and −h options (see below) can -be used to set the dimensions of the printed area in inches; -overriding any relevant TIFF tags.

    - -

    The PostScript generated for RGB, palette, -and CMYK images uses the colorimage -operator. The PostScript generated for greyscale and bilevel -images uses the image operator. When the -colorimage operator is used, PostScript code to -emulate this operator on older PostScript printers is also -generated. Note that this emulation code can be very -slow.

    - -

    Color images with associated alpha data are composited -over a white background.

    -
    - -

    OPTIONS

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    −1

    -
    - -

    Generate PostScript Level 1 (the default).

    -
    -
    - -

    −2

    -
    - -

    Generate PostScript Level 2.

    -
    -
    - -

    −3

    -
    - -

    Generate PostScript Level 3. It basically allows one to -use the /flateDecode filter for ZIP compressed TIFF -images.

    -
    -
    - -

    −a

    -
    - -

    Generate output for all IFDs (pages) in the input -file.

    -
    -
    - -

    −b

    -
    - -

    Specify the bottom margin for the output (in inches). -This does not affect the height of the printed image.

    -
    -
    - -

    −c

    -
    - -

    Center the image in the output. This option only shows -an effect if both the −w and the -−h option are given.

    -
    -
    - -

    −d

    -
    - -

    Set the initial TIFF directory to the -specified directory number. (NB: Directories are numbered -starting at zero.) This option is useful for selecting -individual pages in a multi-page (e.g. facsimile) file.

    -
    -
    - -

    −e

    -
    - -

    Force the generation of Encapsulated PostScript (implies -−z).

    -
    -
    - -

    −h

    -
    - -

    Specify the vertical size of the printed area (in -inches).

    -
    -
    - -

    −H

    -
    - -

    Specify the maximum height of image (in inches). Images -with larger sizes will be split in several pages. Option -−L may be used for specifying size of split -images overlapping.

    -
    -
    - -

    −i

    -
    - -

    Enable/disable pixel interpolation. This option requires -a single numeric value: zero to disable pixel interpolation -and non-zero to enable. The default is enabled.

    -
    -
    - -

    −L

    -
    - -

    Specify the size of overlapping for split images (in -inches). Used in conjunction with −H -option.

    -
    -
    - -

    −l

    -
    - -

    Specify the left margin for the output (in inches). This -does not affect the width of the printed image.

    -
    -
    - -

    −m

    -
    - -

    Where possible render using the imagemask -PostScript operator instead of the image operator. -When this option is specified tiff2ps will use -imagemask for rendering 1 bit deep images. If this -option is not specified or if the image depth is greater -than 1 then the image operator is used.

    -
    -
    - -

    −o

    -
    - -

    Set the initial TIFF directory to the -IFD at the specified file offset. This option -is useful for selecting thumbnail images and the like which -are hidden using the SubIFD tag.

    -
    -
    - -

    −p

    -
    - -

    Force the generation of (non-Encapsulated) -PostScript.

    -
    -
    - -

    −r

    -
    - -

    Rotate image by 180 degrees.

    -
    -
    - -

    −s

    -
    - -

    Generate output for a single IFD (page) in the input -file.

    -
    -
    - -

    −w

    -
    - -

    Specify the horizontal size of the printed area (in -inches).

    -
    -
    - -

    −x

    -
    - -

    Override resolution units specified in the TIFF as -centimeters.

    -
    -
    - -

    −y

    -
    - -

    Override resolution units specified in the TIFF as -inches.

    -
    -
    - -

    −z

    -
    - -

    When generating PostScript Level 2, data is scaled so -that it does not image into the deadzone on a page -(the outer margin that the printing device is unable to -mark). This option suppresses this behavior. When PostScript -Level 1 is generated, data is imaged to the entire printed -page and this option has no affect.

    -
    -
    - -

    EXAMPLES

    - - - - - -
    -

    The following generates PostScript Level 2 for all pages -of a facsimile:

    - - - - - -
    -
    tiff2ps −a2 fax.tif | lpr
    -
    -
    - - - - - - -
    -

    Note also that if you have version 2.6.1 or newer of -Ghostscript then you can efficiently preview facsimile -generated with the above command.

    - -

    To generate Encapsulated PostScript for a the image at -directory 2 of an image use:

    - - - - - -
    -
    tiff2ps −d 1 foo.tif
    -
    -
    - - - - - - -
    -

    (Notice that directories are numbered starting at -zero.)

    - -

    If you have a long image, it may be split in several -pages:

    - - - - - -
    -
    tiff2ps −h11 −w8.5 −H14 −L.5 foo.tif > foo.ps
    -
    -
    - - - - - - -
    -

    The page size is set to 8.5x11 by −w and -−h options. We will accept a small amount of -vertical compression, so −H set to 14. Any -pages between 11 and 14 inches will be fit onto one page. -Pages longer than 14 inches are cut off at 11 and continued -on the next page. The −L.5 option says to -repeat a half inch on the next page (to improve -readability).

    -
    - -

    BUGS

    - - - - - -
    -

    Because PostScript does not support the notion of a -colormap, 8-bit palette images produce 24-bit PostScript -images. This conversion results in output that is six times -bigger than the original image and which takes a long time -to send to a printer over a serial line. Matters are even -worse for 4-, 2-, and 1-bit palette images.

    - -

    Does not handle tiled images when generating PostScript -Level I output.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    pal2rgb(1), tiffinfo(1), tiffcp(1), -tiffgt(1), tiffmedian(1), tiff2bw(1), -tiffsv(1), libtiff(3)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiff2rgba.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiff2rgba.1.html deleted file mode 100644 index 35e06a5..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiff2rgba.1.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - -TIFF2RGBA - - - -

    TIFF2RGBA

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    tiff2rgba − convert a TIFF image to -RGBA color space

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    tiff2rgba [ options ] input.tif -output.tif

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Tiff2rgba converts a wide variety of TIFF images -into an RGBA TIFF image. This includes the ability to -translate different color spaces and photometric -interpretation into RGBA, support for alpha blending, and -translation of many different bit depths into a 32bit RGBA -image.

    - -

    Internally this program is implemented using the -TIFFReadRGBAImage() function, and it suffers any -limitations of that image. This includes limited support for -> 8 BitsPerSample images, and flaws with some esoteric -combinations of BitsPerSample, photometric interpretation, -block organization and planar configuration.

    - -

    The generated images are stripped images with four -samples per pixel (red, green, blue and alpha) or if the -−n flag is used, three samples per pixel (red, -green, and blue). The resulting images are always planar -configuration contiguous. For this reason, this program is a -useful utility for transform exotic TIFF files into a form -ingestible by almost any TIFF supporting software.

    -
    - -

    OPTIONS

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    −c

    -
    - -

    Specify a compression scheme to use when writing image -data: −c none for no compression (the default), -−c packbits for the PackBits compression -algorithm, −c zip for the Deflate compression -algorithm, −c jpeg for the JPEG compression -algorithm, and −c lzw for Lempel-Ziv & -Welch.

    -
    -
    - -

    −r

    -
    - -

    Write data with a specified number of rows per strip; by -default the number of rows/strip is selected so that each -strip is approximately 8 kilobytes.

    -
    -
    - -

    −b

    -
    - -

    Process the image one block (strip/tile) at a time -instead of by reading the whole image into memory at once. -This may be necessary for very large images on systems with -limited RAM.

    -
    -
    - -

    −n

    -
    - -

    Drop the alpha component from the output file, producing -a pure RGB file. Currently this does not work if the -−b flag is also in effect.

    -
    -
    - -

    SEE ALSO

    - - - - - -
    -

    tiff2bw(1), TIFFReadRGBAImage(3t), -libtiff(3)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffcmp.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffcmp.1.html deleted file mode 100644 index acd2e90..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffcmp.1.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - -TIFFCMP - - - -

    TIFFCMP

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -BUGS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    tiffcmp − compare two TIFF files

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    tiffcmp [ options ] file1.tif -file2.tif

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Tiffcmp compares the tags and data in two files -created according to the Tagged Image File Format, Revision -6.0. The schemes used for compressing data in each file are -immaterial when data are compared−data are compared on -a scanline-by-scanline basis after decompression. Most -directory tags are checked; notable exceptions are: -GrayResponseCurve, ColorResponseCurve, and -ColorMap tags. Data will not be compared if any of -the BitsPerSample, SamplesPerPixel, or -ImageWidth values are not equal. By default, -tiffcmp will terminate if it encounters any -difference.

    -
    - -

    OPTIONS

    - - - - - - - - -
    - -

    −l

    -
    - -

    List each byte of image data that differs between the -files.

    -
    -
    - - - - - -
    -

    −z number

    - - - - - -
    -

    List specified number of image data bytes that differs -between the files.

    -
    - - - - - - - - -
    - -

    −t

    -
    - -

    Ignore any differences in directory tags.

    -
    -
    - -

    BUGS

    - - - - - -
    -

    Tags that are not recognized by the library are not -compared; they may also generate spurious diagnostics.

    - -

    The image data of tiled files is not compared, since the -TIFFReadScanline() function is used. An error will be -reported for tiled files.

    - -

    The pixel and/or sample number reported in differences -may be off in some exotic cases.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    pal2rgb(1), tiffcp(1), -tiffmedian(1), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffcp.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffcp.1.html deleted file mode 100644 index 4c7fcb6..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffcp.1.html +++ /dev/null @@ -1,536 +0,0 @@ - - - - - - -TIFFCP - - - -

    TIFFCP

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -EXAMPLES
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    tiffcp − copy (and possibly convert) a -TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    tiffcp [ options ] src1.tif ... srcN.tif -dst.tif

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    tiffcp combines one or more files created -according to the Tag Image File Format, Revision 6.0 into a -single TIFF file. Because the output file may -be compressed using a different algorithm than the input -files, tiffcp is most often used to convert between -different compression schemes.

    - -

    By default, tiffcp will copy all the understood -tags in a TIFF directory of an input file to -the associated directory in the output file.

    - -

    tiffcp can be used to reorganize the storage -characteristics of data in a file, but it is explicitly -intended to not alter or convert the image data content in -any way.

    -
    - -

    OPTIONS

    - - - - - -
    -

    −b image

    - - - - - -
    -

    subtract the following monochrome image from all others -processed. This can be used to remove a noise bias from a -set of images. This bias image is typically an image of -noise the camera saw with its shutter closed.

    -
    - - - - - - - - - - - - - - - - - - - - -
    - -

    −B

    -
    - -

    Force output to be written with Big-Endian byte order. -This option only has an effect when the output file is -created or overwritten and not when it is appended to.

    -
    -
    - -

    −C

    -
    - -

    Suppress the use of ‘‘strip -chopping’’ when reading images that have a -single strip/tile of uncompressed data.

    -
    -
    - -

    −c

    -
    - -

    Specify the compression to use for data written to the -output file: none for no compression, packbits -for PackBits compression, lzw for Lempel-Ziv & -Welch compression, jpeg for baseline JPEG -compression, zip for Deflate compression, g3 -for CCITT Group 3 (T.4) compression, and g4 for CCITT -Group 4 (T.6) compression. By default tiffcp will -compress data according to the value of the -Compression tag found in the source file.

    -
    -
    - - - - - -
    -

    The CCITT Group 3 and Group 4 compression -algorithms can only be used with bilevel data.

    - -

    Group 3 compression can be specified together with -several T.4-specific options: 1d for 1-dimensional -encoding, 2d for 2-dimensional encoding, and -fill to force each encoded scanline to be zero-filled -so that the terminating EOL code lies on a byte boundary. -Group 3-specific options are specified by appending a -‘‘:’’-separated list to the -‘‘g3’’ option; e.g. −c -g3:2d:fill to get 2D-encoded data with byte-aligned EOL -codes.

    - -

    LZW compression can be specified together -with a predictor value. A predictor value of 2 causes -each scanline of the output image to undergo horizontal -differencing before it is encoded; a value of 1 forces each -scanline to be encoded without differencing. LZW-specific -options are specified by appending a -‘‘:’’-separated list to the -‘‘lzw’’ option; e.g. −c -lzw:2 for LZW compression with horizontal -differencing.

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    −f

    -
    - -

    Specify the bit fill order to use in writing output -data. By default, tiffcp will create a new file with -the same fill order as the original. Specifying −f -lsb2msb will force data to be written with the FillOrder -tag set to LSB2MSB, while −f -msb2lsb will force data to be written with the FillOrder -tag set to MSB2LSB.

    -
    -
    - -

    −i

    -
    - -

    Ignore non-fatal read errors and continue processing of -the input file.

    -
    -
    - -

    −l

    -
    - -

    Specify the length of a tile (in pixels). tiffcp -attempts to set the tile dimensions so that no more than 8 -kilobytes of data appear in a tile.

    -
    -
    - -

    −L

    -
    - -

    Force output to be written with Little-Endian byte -order. This option only has an effect when the output file -is created or overwritten and not when it is appended -to.

    -
    -
    - -

    −M

    -
    - -

    Suppress the use of memory-mapped files when reading -images.

    -
    -
    - -

    −p

    -
    - -

    Specify the planar configuration to use in writing image -data that has one 8-bit sample per pixel. By default, -tiffcp will create a new file with the same planar -configuration as the original. Specifying −p -contig will force data to be written with multi-sample -data packed together, while −p separate will -force samples to be written in separate planes.

    -
    -
    - -

    −r

    -
    - -

    Specify the number of rows (scanlines) in each strip of -data written to the output file. By default (or when value -0 is specified), tiffcp attempts to set the -rows/strip that no more than 8 kilobytes of data appear in a -strip. If you specify special value −1 it will -results in infinite number of the rows per strip. The entire -image will be the one strip in that case.

    -
    -
    - -

    −s

    -
    - -

    Force the output file to be written with data organized -in strips (rather than tiles).

    -
    -
    - -

    −t

    -
    - -

    Force the output file to be written with data organized -in tiles (rather than strips). options can be used to force -the resultant image to be written as strips or tiles of -data, respectively.

    -
    -
    - -

    −w

    -
    - -

    Specify the width of a tile (in pixels). tiffcp -attempts to set the tile dimensions so that no more than 8 -kilobytes of data appear in a tile. tiffcp attempts -to set the tile dimensions so that no more than 8 kilobytes -of data appear in a tile.

    -
    -
    - -

    −x

    -
    - -

    Force the output file to be written with PAGENUMBER value -in sequence.

    -
    -
    - - - - - -
    -

    −,=character

    - - - - - -
    -

    substitute character for ‘,’ in -parsing image directory indices in files. This is necessary -if filenames contain commas. Note that −,= with -whitespace immediately following will disable the special -meaning of the ‘,’ entirely. See examples.

    -
    - -

    EXAMPLES

    - - - - - -
    -

    The following concatenates two files and writes the -result using LZW encoding:

    - - - - - -
    -
    tiffcp −c lzw a.tif b.tif result.tif
    -
    -
    - - - - - - -
    -

    To convert a G3 1d-encoded TIFF to a -single strip of G4-encoded data the following might be -used:

    - - - - - -
    -
    tiffcp −c g4 −r 10000 g3.tif g4.tif
    -
    -
    - - - - - - -
    -

    (1000 is just a number that is larger than the number of -rows in the source file.)

    - -

    To extract a selected set of images from a multi-image -TIFF file, the file name may be immediately followed by a -‘,’ separated list of image directory indices. -The first image is always in directory 0. Thus, to copy the -1st and 3rd images of image file -‘‘album.tif’’ to -‘‘result.tif’’:

    - - - - - -
    -
    tiffcp album.tif,0,2 result.tif
    -
    -
    - - - - - - -
    -

    A trailing comma denotes remaining images in sequence. -The following command will copy all image with except the -first one:

    - - - - - -
    -
    tiffcp album.tif,1, result.tif
    -
    -
    - - - - - - -
    -

    Given file ‘‘CCD.tif’’ whose -first image is a noise bias followed by images which include -that bias, subtract the noise from all those images -following it (while decompressing) with the -command:

    - - - - - -
    -
    tiffcp −c none −b CCD.tif CCD.tif,1, result.tif
    -
    -
    - - - - - - -
    -

    If the file above were named -‘‘CCD,X.tif’’, the −,= -option would be required to correctly parse this filename -with image numbers, as follows:

    - - - - - -
    -
    tiffcp −c none −,=% −b CCD,X.tif CCD,X%1%.tif result.tif
    -
    -
    -
    - -

    SEE ALSO

    - - - - - - -
    -

    pal2rgb(1), tiffinfo(1), tiffcmp(1), -tiffmedian(1), tiffsplit(1), -libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffcrop.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffcrop.1.html deleted file mode 100644 index 9c1edbb..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffcrop.1.html +++ /dev/null @@ -1,684 +0,0 @@ - - - - - - -TIFFCROP - - - -

    TIFFCROP

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -EXAMPLES
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    tiffcrop − copy (and possibly convert and crop or -process) a TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    tiffcrop [ options ] src1.tif ... -srcN.tif dst.tif

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    tiffcrop combines one or more files created -according to the Tag Image File Format, Revision 6.0 into a -single TIFF file. The output file may be -compressed using a different algorithm than the input files. -tiffcrop is most often used to extract portions of an -image for processing with bar code recognizer or OCR -software when that software cannot restrict the region of -interest to a specific portion of the image or to improve -efficiency when the regions of interest must be rotated.

    - -

    By default, tiffcrop will copy all the understood -tags in a TIFF directory of an input file to -the associated directory in the output file.

    - -

    tiffcrop can be used to reorganize the storage -characteristics of data in a file, and it will alter or -convert the image data content as specified at the same -time, unlike tiffcp.

    - -

    tiffcrop will behave exactly like tiffcp if none -of the new options are specified.

    -
    - -

    OPTIONS

    - - - - - -
    -

    −N odd|even|#,#-#,#|last

    - - - - - -
    -

    sequences and ranges of images within file to process. -The words odd or even may be used to specify -all odd or even numbered images. The word last may be -used in place of a number in the sequence to indicate the -final image in the file without knowing how many images -there are. Ranges of images may be specified with a dash and -multiple sets can be indicated by joining them in a -comma-separated list. e.g.. use −N 1,5-7,last -to process the 1st, 5th through 7th, and final image in the -file.

    -
    - - - - - -
    -

    −E top|bottom|left|right

    - - - - - -
    -

    use the top, bottom, left, or right edge as origin -reference for width and length of crop regions. May be -abbreviated to first letter.

    -
    - - - - - -
    -

    −U in|cm|px

    - - - - - -
    -

    units to apply to dimensions for margins and crop -regions. Inches or centimeters are converted to pixels using -the resolution unit specified in the TIFF file (which -defaults to inches if not specified in the IFD).

    -
    - - - - - -
    -

    −m #,#,#,#

    - - - - - -
    -

    margins to be removed from the image. The order must be -top, left, bottom, right with only commas separating the -elements of the list. Margins are scaled according to the -current units and removed before any other extractions are -computed. Capital M was in use.

    -
    - - - - - - - - - - - - - - -
    - -

    −X #

    -
    - -

    horizontal (X-axis) dimension of a region to extract -relative to the specified origin reference. If the origin is -the top or bottom edge, the X axis value will be assumed to -start at the left edge.

    -
    -
    - -

    −Y #

    -
    - -

    vertical (Y-axis) dimension of a region to extract -relative to the specified origin reference. If the origin is -the left or right edge, the Y axis value will be assumed to -start at the top.

    -
    -
    - - - - - -
    -

    −Z #:#,#:#

    - - - - - -
    -

    zones of the image designated as position X of Y equal -sized portions measured from the reference edge, e.g. 1:3 -would be first third of the image starting from the -reference edge minus any margins specified for the confining -edges. Multiple zones can be specified as a comma separated -list but they must reference the same edge. To extract the -top quarter and the bottom third of an image you would use -−Z 1:4,3:3.

    -
    - - - - - -
    -

    −F horiz|vert

    - - - - - -
    -

    flip, i.e. mirror, the image or extracted region -horizontally or vertically.

    -
    - - - - - -
    -

    −R 90|180|270

    - - - - - -
    -

    rotate the image or extracted region 90, 180, or 270 -degrees clockwise.

    -
    - - - - - - - - -
    - -

    −I

    -
    - -

    invert the colorspace values for grayscale and bi-level -images. This would be used to correct negative images that -have incorrect PHOTOMETRIC INTERPRETATION tags. No support -for color images.

    -
    -
    - - - - - -
    -

    −b image

    - - - - - -
    -

    subtract the following monochrome image from all others -processed. This can be used to remove a noise bias from a -set of images. This bias image is typically an image of -noise the camera saw with its shutter closed. Bias image -support is not available with options for cropping, -rotating, or inverting the image.

    -
    - - - - - - - - - - - - - - - - - - - - -
    - -

    −B

    -
    - -

    Force output to be written with Big-Endian byte order. -This option only has an effect when the output file is -created or overwritten and not when it is appended to.

    -
    -
    - -

    −C

    -
    - -

    Suppress the use of ‘‘strip -chopping’’ when reading images that have a -single strip/tile of uncompressed data.

    -
    -
    - -

    −c

    -
    - -

    Specify the compression to use for data written to the -output file: none for no compression, packbits -for PackBits compression, lzw for Lempel-Ziv & -Welch compression, jpeg for baseline JPEG -compression, zip for Deflate compression, g3 -for CCITT Group 3 (T.4) compression, and g4 for CCITT -Group 4 (T.6) compression. By default tiffcrop will -compress data according to the value of the -Compression tag found in the source file.

    -
    -
    - - - - - -
    -

    The CCITT Group 3 and Group 4 compression -algorithms can only be used with bi-level data.

    - -

    Group 3 compression can be specified together with -several T.4-specific options: 1d for 1-dimensional -encoding, 2d for 2-dimensional encoding, and -fill to force each encoded scanline to be zero-filled -so that the terminating EOL code lies on a byte boundary. -Group 3-specific options are specified by appending a -‘‘:’’-separated list to the -‘‘g3’’ option; e.g. −c -g3:2d:fill to get 2D-encoded data with byte-aligned EOL -codes.

    - -

    LZW compression can be specified together -with a predictor value. A predictor value of 2 causes -each scanline of the output image to undergo horizontal -differencing before it is encoded; a value of 1 forces each -scanline to be encoded without differencing. LZW-specific -options are specified by appending a -‘‘:’’-separated list to the -‘‘lzw’’ option; e.g. −c -lzw:2 for LZW compression with horizontal -differencing.

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    −f

    -
    - -

    Specify the bit fill order to use in writing output -data. By default, tiffcrop will create a new file -with the same fill order as the original. Specifying -−f lsb2msb will force data to be written with -the FillOrder tag set to LSB2MSB, while -−f msb2lsb will force data to be written with -the FillOrder tag set to MSB2LSB.

    -
    -
    - -

    −i

    -
    - -

    Ignore non-fatal read errors and continue processing of -the input file.

    -
    -
    - -

    −l

    -
    - -

    Specify the length of a tile (in pixels). -tiffcrop attempts to set the tile dimensions so that -no more than 8 kilobytes of data appear in a tile.

    -
    -
    - -

    −L

    -
    - -

    Force output to be written with Little-Endian byte -order. This option only has an effect when the output file -is created or overwritten and not when it is appended -to.

    -
    -
    - -

    −M

    -
    - -

    Suppress the use of memory-mapped files when reading -images.

    -
    -
    - -

    −p

    -
    - -

    Specify the planar configuration to use in writing image -data that has one 8-bit sample per pixel. By default, -tiffcrop will create a new file with the same planar -configuration as the original. Specifying −p -contig will force data to be written with multi-sample -data packed together, while −p separate will -force samples to be written in separate planes.

    -
    -
    - -

    −r

    -
    - -

    Specify the number of rows (scanlines) in each strip of -data written to the output file. By default (or when value -0 is specified), tiffcrop attempts to set the -rows/strip that no more than 8 kilobytes of data appear in a -strip. If you specify special value -1 it will -results in infinite number of the rows per strip. The entire -image will be the one strip in that case.

    -
    -
    - -

    −s

    -
    - -

    Force the output file to be written with data organized -in strips (rather than tiles).

    -
    -
    - -

    −t

    -
    - -

    Force the output file to be written with data organized -in tiles (rather than strips). options can be used to force -the resultant image to be written as strips or tiles of -data, respectively.

    -
    -
    - -

    −w

    -
    - -

    Specify the width of a tile (in pixels). tiffcrop -attempts to set the tile dimensions so that no more than 8 -kilobytes of data appear in a tile. tiffcrop attempts -to set the tile dimensions so that no more than 8 kilobytes -of data appear in a tile.

    -
    -
    - - - - - -
    -

    −,={character}

    - - - - - -
    -

    substitute {character} for ’,’ in parsing -image directory indices in files. This is necessary if -filenames contain commas. Note that ’,=’ with -whitespace immediately following will disable the special -meaning of the ’,’ entirely. See examples.

    -
    - -

    EXAMPLES

    - - - - - -
    -

    The following concatenates two files and writes the -result using LZW encoding:

    - - - - - -
    -
    tiffcrop -c lzw a.tif b.tif result.tif
    -
    -
    - - - - - - -
    -

    To convert a G3 1d-encoded TIFF to a -single strip of G4-encoded data the following might be -used:

    - - - - - -
    -
    tiffcrop -c g4 -r 10000 g3.tif g4.tif
    -
    -
    - - - - - - -
    -

    (1000 is just a number that is larger than the number of -rows in the source file.)

    - -

    To extract a selected set of images from a multi-image -TIFF file use the -N option described above. Thus, to copy -the 1st and 3rd images of image file "album.tif" -to "result.tif":

    - - - - - -
    -
    tiffcrop -N 1,3 album.tif result.tif
    -
    -
    - - - - - - -
    -

    Given file "CCD.tif" whose first image is a -noise bias followed by images which include that bias, -subtract the noise from all those images following it (while -decompressing) with the command:

    - - - - - -
    -
    tiffcrop -c none -b CCD.tif CCD.tif -d 2 result.tif
    -
    -
    - -

    SEE ALSO

    - - - - - - -
    -

    pal2rgb(1), tiffinfo(1), tiffcmp(1), -tiffcp(1), tiffmedian(1), tiffsplit(1), -libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffdither.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffdither.1.html deleted file mode 100644 index 5e3cb7c..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffdither.1.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - -TIFFDITHER - - - -

    TIFFDITHER

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -NOTES
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    tiffdither − convert a greyscale image to bilevel -using dithering

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    tiffdither [ options ] input.tif -output.tif

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    tiffdither converts a single channel 8-bit -greyscale image to a bilevel image using Floyd-Steinberg -error propagation with thresholding.

    -
    - -

    OPTIONS

    - - - - - - - - -
    - -

    −c

    -
    - -

    Specify the compression to use for data written to the -output file: none for no compression, packbits -for PackBits compression, lzw for Lempel-Ziv & -Welch compression, zip for Deflate compression, -g3 for CCITT Group 3 (T.4) compression, and g4 -for CCITT Group 4 (T.6) compression. By default -tiffdither will compress data according to the value -of the Compression tag found in the source file.

    -
    -
    - - - - - -
    -

    The CCITT Group 3 and Group 4 compression -algorithms can only be used with bilevel data.

    - -

    Group 3 compression can be specified together with -several T.4-specific options: 1d for 1-dimensional -encoding, 2d for 2-dimensional encoding, and -fill to force each encoded scanline to be zero-filled -so that the terminating EOL code lies on a byte boundary. -Group 3-specific options are specified by appending a -‘‘:’’-separated list to the -‘‘g3’’ option; e.g. −c -g3:2d:fill to get 2D-encoded data with byte-aligned EOL -codes.

    - -

    LZW compression can be specified together -with a predictor value. A predictor value of 2 causes -each scanline of the output image to undergo horizontal -differencing before it is encoded; a value of 1 forces each -scanline to be encoded without differencing. LZW-specific -options are specified by appending a -‘‘:’’-separated list to the -‘‘lzw’’ option; e.g. −c -lzw:2 for LZW compression with horizontal -differencing.

    -
    - - - - - - - - - - - - - - -
    - -

    −f

    -
    - -

    Specify the bit fill order to use in writing output -data. By default, tiffdither will create a new file -with the same fill order as the original. Specifying -−f lsb2msb will force data to be written with -the FillOrder tag set to LSB2MSB , -while −f msb2lsb will force data to be written -with the Fill- Order tag set to MSB2LSB -.

    -
    -
    - -

    −t

    -
    - -

    Set the threshold value for dithering. By default the -threshold value is 128.

    -
    -
    - -

    NOTES

    - - - - - -
    -

    The dither algorithm is taken from the -tiffmedian(1) program (written by Paul Heckbert).

    -
    - -

    SEE ALSO

    - - - - - -
    -

    pal2rgb(1), fax2tiff(1), -tiffinfo(1), tiffcp(1), tiff2bw(1), -libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffdump.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffdump.1.html deleted file mode 100644 index c37d2ee..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffdump.1.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - -TIFFDUMP - - - -

    TIFFDUMP

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    tiffdump − print verbatim information about -TIFF files

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    tiffdump [ options ] name ...

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    tiffdump displays directory information from files -created according to the Tag Image File Format, Revision -6.0. The header of each TIFF file (magic -number, version, and first directory offset) is displayed, -followed by the tag contents of each directory in the file. -For each tag, the name, data type, count, and value(s) is -displayed. When the symbolic name for a tag or data type is -known, the symbolic name is displayed followed by it’s -numeric (decimal) value. Tag values are displayed enclosed -in ‘‘<>’’ characters -immediately preceded by the value of the count field. For -example, an ImageWidth tag might be displayed as -‘‘ImageWidth (256) SHORT (3) -1<800>’’.

    - -

    tiffdump is particularly useful for investigating -the contents of TIFF files that -libtiff does not understand.

    -
    - -

    OPTIONS

    - - - - - - - - -
    - -

    −h

    -
    - -

    Force numeric data to be printed in hexadecimal rather -than the default decimal.

    -
    -
    - - - - - -
    -

    −m items

    - - - - - -
    -

    Change the number of indirect data items that are -printed. By default, this will be 24.

    -
    - - - - - -
    -

    −o offset

    - - - - - -
    -

    Dump the contents of the IFD at the a -particular file offset. The file offset may be specified -using the usual C-style syntax; i.e. a leading -‘‘0x’’ for hexadecimal and a leading -‘‘0’’ for octal.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    tiffinfo(1), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffgt.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffgt.1.html deleted file mode 100644 index 5a04996..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffgt.1.html +++ /dev/null @@ -1,551 +0,0 @@ - - - - - - -TIFFGT - - - -

    TIFFGT

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -BUGS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    tiffgt − display an image stored in a -TIFF file (Silicon Graphics version)

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    tiffgt [ options ] input.tif ...

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    tiffgt displays one or more images stored using -the Tag Image File Format, Revision 6.0. Each image is -placed in a fixed size window that the user must position on -the display (unless configured otherwise through X -defaults). If the display has fewer than 24 bitplanes, or if -the image does not warrant full color, then -RGB color values are mapped to the closest -values that exist in the colormap (this is done using the -rgbi routine found in the graphics utility library -−lgutil.)

    - -

    tiffgt correctly handles files with any of the -following characteristics:

    - - - - - - - - - - - - - - - - - - - - - - -
    - -

    BitsPerSample

    -
    - -

    1, 2, 4, 8, 16

    -
    - -

    SamplesPerPixel

    -
    - -

    1, 3, 4 (the 4th sample is ignored)

    -
    - -

    PhotometricInterpretation

    -
    - -

    0 (min-is-white), 1 (min-is-black), 2 (RGB), 3 -(palette), 6 (YCbCr)

    -
    - -

    PlanarConfiguration

    -
    - -

    1 (contiguous), 2 (separate)

    -
    - -

    Orientation

    -
    - -

    1 (top-left), 4 (bottom-left)

    -
    - - - - - -
    -

    Data may be organized as strips or tiles and may be -compressed with any of the compression algorithms supported -by the libtiff(3) library.

    - -

    For palette images (PhotometricInterpretation=3), -tiffgt inspects the colormap values and assumes -either 16-bit or 8-bit values according to the maximum -value. That is, if no colormap entry greater than 255 is -found, tiffgt assumes the colormap has only 8-bit -values; otherwise it assumes 16-bit values. This inspection -is done to handle old images written by previous (incorrect) -versions of libtiff.

    - -

    tiffgt can be used to display multiple images -one-at-a-time. The left mouse button switches the display to -the first image in the next file in the list of files -specified on the command line. The right mouse button -switches to the first image in the previous file in -the list. The middle mouse button causes the first image in -the first file specified on the command line to be -displayed. In addition the following keyboard commands are -recognized:

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    b

    -
    - -

    Use a PhotometricInterpretation of MinIsBlack in -displaying the current image.

    -
    -
    - -

    l

    -
    - -

    Use a FillOrder of lsb-to-msb in decoding the -current image.

    -
    -
    - -

    m

    -
    - -

    Use a FillOrder of msb-to-lsb in decoding the -current image.

    -
    -
    - -

    c

    -
    - -

    Use a colormap visual to display the current image.

    -
    -
    - -

    r

    -
    - -

    Use a true color (24-bit RGB) visual to display the -current image.

    -
    -
    - -

    w

    -
    - -

    Use a PhotometricInterpretation of MinIsWhite in -displaying the current image.

    -
    -
    - -

    W

    -
    - -

    Toggle (enable/disable) display of warning messages from -the TIFF library when decoding images.

    -
    -
    - -

    E

    -
    - -

    Toggle (enable/disable) display of error messages from -the TIFF library when decoding images.

    -
    -
    - -

    z

    -
    - -

    Reset all parameters to their default settings -(FillOrder, PhotometricInterpretation, -handling of warnings and errors).

    -
    -
    - -

    PageUp

    -
    - -

    Display the previous image in the current file or the -last image in the previous file.

    -
    -
    - - - - - -
    -

    PageDown

    - - - - - -
    -

    Display the next image in the current file or the first -image in the next file.

    -
    - - - - - - - - - - - - - - -
    - -

    Home

    -
    - -

    Display the first image in the current file.

    -
    -
    - -

    End

    -
    - -

    Display the last image in the current file -(unimplemented).

    -
    -
    - -

    OPTIONS

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    −c

    -
    - -

    Force image display in a colormap window.

    -
    -
    - -

    −d

    -
    - -

    Specify an image to display by directory number. By -default the first image in the file is displayed. -Directories are numbered starting at zero.

    -
    -
    - -

    −e

    -
    - -

    Enable reporting of error messages from the -TIFF library. By default tiffgt -silently ignores images that cannot be read.

    -
    -
    - -

    −f

    -
    - -

    Force tiffgt to run as a foreground process. By -default tiffgt will place itself in the background -once it has opened the requested image file.

    -
    -
    - -

    −l

    -
    - -

    Force the presumed bit ordering to be LSB -to MSB.

    -
    -
    - -

    −m

    -
    - -

    Force the presumed bit ordering to be MSB -to LSB.

    -
    -
    - -

    −o

    -
    - -

    Specify an image to display by directory offset. By -default the first image in the file is displayed. -Directories offsets may be specified using C-style syntax; -i.e. a leading ‘‘0x’’ for -hexadecimal and a leading ‘‘0’’ for -octal.

    -
    -
    - -

    −p

    -
    - -

    Override the value of the -PhotometricInterpretation tag; the parameter may be -one of: miniswhite, minisblack, rgb, -palette, mask, separated, ycbcr, -and cielab.

    -
    -
    - -

    −r

    -
    - -

    Force image display in a full color window.

    -
    -
    - -

    −s

    -
    - -

    Stop on the first read error. By default all errors in -the input data are ignored and tiffgt does it’s -best to display as much of an image as possible.

    -
    -
    - -

    −w

    -
    - -

    Enable reporting of warning messages from the -TIFF library. By default tiffgt -ignores warning messages generated when reading an -image.

    -
    -
    - -

    −v

    -
    - -

    Place information in the title bar describing what type -of window (full color or colormap) is being used, the name -of the input file, and the directory index of the image (if -non-zero). By default, the window type is not shown in the -title bar.

    -
    -
    - -

    BUGS

    - - - - - -
    -

    Images wider and taller than the display are silently -truncated to avoid crashing old versions of the window -manager.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    tiffdump(1), tiffinfo(1), tiffcp(1), -libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffinfo.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffinfo.1.html deleted file mode 100644 index d3a013c..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffinfo.1.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - -TIFFINFO - - - -

    TIFFINFO

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    tiffinfo − print information about -TIFF files

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    tiffinfo [ options ] input.tif -...

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Tiffinfo displays information about files created -according to the Tag Image File Format, Revision 6.0. By -default, the contents of each TIFF directory -in each file is displayed, with the value of each tag shown -symbolically (where sensible).

    -
    - -

    OPTIONS

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    −c

    -
    - -

    Display the colormap and color/gray response curves, if -present.

    -
    -
    - -

    −D

    -
    - -

    In addition to displaying the directory tags, read and -decompress all the data in each image (but not display -it).

    -
    -
    - -

    −d

    -
    - -

    In addition to displaying the directory tags, print each -byte of decompressed data in hexadecimal.

    -
    -
    - -

    −j

    -
    - -

    Display any JPEG -related tags that are -present.

    -
    -
    - -

    −o

    -
    - -

    Set the initial TIFF directory according -to the specified file offset. The file offset may be -specified using the usual C-style syntax; i.e. a leading -‘‘0x’’ for hexadecimal and a leading -‘‘0’’ for octal.

    -
    -
    - -

    −s

    -
    - -

    Display the offsets and byte counts for each data strip -in a directory.

    -
    -
    - -

    −z

    -
    - -

    Enable strip chopping when reading image data.

    -
    -
    - -

    −#

    -
    - -

    Set the initial TIFF directory to -#.

    -
    -
    - -

    SEE ALSO

    - - - - - -
    -

    pal2rgb(1), tiffcp(1), tiffcmp(1), -tiffmedian(1), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffmedian.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffmedian.1.html deleted file mode 100644 index 7831051..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffmedian.1.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - -TIFFMEDIAN - - - -

    TIFFMEDIAN

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -NOTES
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    tiffmedian − apply the median cut algorithm to data -in a TIFF file

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    tiffmedian [ options ] input.tif -output.tif

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    tiffmedian applies the median cut algorithm to an -RGB image in input.tif to generate a -palette image that is written to output.tif. The -generated colormap has, by default, 256 entries. The image -data is quantized by mapping each pixel to the closest color -values in the colormap.

    -
    - -

    OPTIONS

    - - - - - - - - -
    - -

    −c

    -
    - -

    Specify the compression to use for data written to the -output file: none for no compression, packbits -for PackBits compression, lzw for Lempel-Ziv & -Welch compression, and zip for Deflate compression. -By default tiffmedian will compress data according to -the value of the Compression tag found in the source -file.

    -
    -
    - - - - - -
    -

    LZW compression can be specified together -with a predictor value. A predictor value of 2 causes -each scanline of the output image to undergo horizontal -differencing before it is encoded; a value of 1 forces each -scanline to be encoded without differencing. LZW-specific -options are specified by appending a -‘‘:’’-separated list to the -‘‘lzw’’ option; e.g. −c -lzw:2 for LZW compression with horizontal -differencing.

    -
    - - - - - - - - - - - - - - - - - - - - -
    - -

    −C

    -
    - -

    Specify the number of entries to use in the generated -colormap. By default all 256 entries/colors are used.

    -
    -
    - -

    −f

    -
    - -

    Apply Floyd-Steinberg dithering before selecting a -colormap entry.

    -
    -
    - -

    −r

    -
    - -

    Specify the number of rows (scanlines) in each strip of -data written to the output file. By default, -tiffmedian attempts to set the rows/strip that no -more than 8 kilobytes of data appear in a strip.

    -
    -
    - -

    NOTES

    - - - - - -
    -

    This program is derived from Paul Heckbert’s -median program.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    pal2rgb(1), tiffinfo(1), tiffcp(1), -tiffcmp(1), libtiff(3TIFF)

    - -

    Color Image Quantization for Frame Buffer Display, -Paul Heckbert, SIGGRAPH proceedings, 1982, pp. 297-307.

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffset.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffset.1.html deleted file mode 100644 index 7192d6e..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffset.1.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - -TIFFSET - - - -

    TIFFSET

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -EXAMPLES
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    tiffset − set a field in a TIFF -header

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    tiffset [ options ] filename.tif

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    Tiffset sets the value of a TIFF -header to a specified value.

    -
    - -

    OPTIONS

    - - - - - -
    -

    −s tagnumber [ count ] -value ...

    - - - - - -
    -

    Set the value of the named tag to the value or values -specified.

    -
    - - - - - -
    -

    −sf tagnumber filename

    - - - - - -
    -

    Set the value of the tag to the contents of filename. -This option is supported for ASCII tags only.

    -
    - -

    EXAMPLES

    - - - - - -
    -

    The following example sets the image description tag -(270) of a.tif to the contents of the file descrip:

    - - - - - -
    -
    tiffset −sf 270 descrip a.tif
    -
    -
    - - - - - - -
    -

    The following example sets the artist tag (315) of a.tif -to the string -‘‘Anonymous’’:

    - - - - - -
    -
    tiffset −s 305 Anonymous a.tif
    -
    -
    - - - - - - -
    -

    This example sets the resolution of the file a.tif to 300 -dpi:

    - - - - - -
    -
    tiffset −s 296 2 a.tif
    -tiffset −s 282 300.0 a.tif
    -tiffset −s 283 300.0 a.tif
    -
    -
    - -

    SEE ALSO

    - - - - - - -
    -

    tiffdump(1), tiffinfo(1), tiffcp(1), -libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffsplit.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffsplit.1.html deleted file mode 100644 index 4de5c81..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffsplit.1.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -TIFFSPLIT - - - -

    TIFFSPLIT

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -BUGS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    tiffsplit − split a multi-image TIFF -into single-image TIFF files

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    tiffsplit src.tif [ prefix ]

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    tiffsplit takes a multi-directory (page) -TIFF file and creates one or more -single-directory (page) TIFF files from it. -The output files are given names created by concatenating a -prefix, a lexically ordered suffix in the range -[aaa-zzz], the suffix .tif (e.g. -xaaa.tif, xaab.tif, xzzz.tif). If a -prefix is not specified on the command line, the default -prefix of x is used.

    -
    - -

    OPTIONS

    - - - - - -
    -

    None.

    -
    - -

    BUGS

    - - - - - -
    -

    Only a select set of ‘‘known -tags’’ is copied when splitting.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    tiffcp(1), tiffinfo(1), -libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffsv.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffsv.1.html deleted file mode 100644 index f9921a4..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/man/tiffsv.1.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - -TIFFSV - - - -

    TIFFSV

    -NAME
    -SYNOPSIS
    -DESCRIPTION
    -OPTIONS
    -NOTE
    -BUGS
    -SEE ALSO
    - -
    - -

    NAME

    - - - - - -
    -

    tiffsv − save an image from the framebuffer in a -TIFF file (Silicon Graphics version)

    -
    - -

    SYNOPSIS

    - - - - - -
    -

    tiffsv [ options ] output.tif [ -x1 x2 y1 y2 ]

    -
    - -

    DESCRIPTION

    - - - - - -
    -

    tiffsv saves all or part of the framebuffer in a -file using the Tag Image File Format, Revision 6.0. By -default, the image is saved with data samples packed -(PlanarConfiguration=1), compressed with the -Lempel-Ziv & Welch algorithm (Compression=5), and -with each strip no more than 8 kilobytes. These -characteristics can be overridden, or explicitly specified -with the options described below.

    -
    - -

    OPTIONS

    - - - - - - - - - - - - - - -
    - -

    −b

    -
    - -

    Save the image as a greyscale image as if it were -processed by tiff2bw(1). This option is included for -compatibility with the standard scrsave(6D) -program.

    -
    -
    - -

    −c

    -
    - -

    Specify the compression to use for data written to the -output file: none for no compression, packbits -for PackBits compression, jpeg for baseline JPEG -compression, zip for Deflate compression, and -lzw for Lempel-Ziv & Welch compression -(default).

    -
    -
    - - - - - -
    -

    LZW compression can be specified together -with a predictor value. A predictor value of 2 causes -each scanline of the output image to undergo horizontal -differencing before it is encoded; a value of 1 forces each -scanline to be encoded without differencing. LZW-specific -options are specified by appending a -‘‘:’’-separated list to the -‘‘lzw’’ option; e.g. −c -lzw:2 for LZW compression with horizontal -differencing.

    -
    - - - - - - - - - - - - - - -
    - -

    −p

    -
    - -

    Specify the planar configuration to use in writing image -data. By default, tiffsv will create a new file with -the data samples packed contiguously. Specifying −p -contig will force data to be written with multi-sample -data packed together, while −p separate will -force samples to be written in separate planes.

    -
    -
    - -

    −r

    -
    - -

    Specify the number of rows (scanlines) in each strip of -data written to the output file. By default, tiffsv -attempts to set the rows/strip that no more than 8 kilobytes -of data appear in a strip.

    -
    -
    - -

    NOTE

    - - - - - -
    -

    Except for the use of TIFF, this program -is equivalent to the standard scrsave program. This -means, for example, that you can use it in conjunction with -the standard icut program simply by creating a link -called scrsave, or by creating a shell script called -scrsave that invokes tiffgt with the -appropriate options.

    -
    - -

    BUGS

    - - - - - -
    -

    If data are saved compressed and in separate planes, then -the rows in each strip is silently set to one to avoid -limitations in the libtiff(3TIFF) library.

    -
    - -

    SEE ALSO

    - - - - - -
    -

    scrsave(6D) pal2rgb(1), tiffdump(1), -tiffgt(1), tiffinfo(1), tiffcp(1), -tiffmedian(1), libtiff(3TIFF)

    - -

    Libtiff library home page: -http://www.remotesensing.org/libtiff/

    -
    -
    - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/misc.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/misc.html deleted file mode 100644 index 4f8b829..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/misc.html +++ /dev/null @@ -1,116 +0,0 @@ - - - -Acknowledgments and Other Issues - - - - -

    - -Acknowledgments and Other Issues -

    - -

    -Silicon Graphics has seen fit to allow us to give this work away. It -is free. There is no support or guarantee of any sort as to its -operations, correctness, or whatever. If you do anything useful with -all or parts of it you need to honor the copyright notices. It would -also be nice to be acknowledged.

    - -
    - -

    Acknowledgements

    - -The libtiff software was written by Sam Leffler while working for -Silicon Graphics.

    - -The LZW algorithm is derived from the compress program (the proper attribution -is included in the source code). The Group 3 fax stuff originated as code -from Jef Poskanzer, but has since been rewritten several times. The latest -version uses an algorithm from Frank Cringle -- consult -libtiff/mkg3states.c and libtiff/tif_fax3.h for further -information. The JPEG support was written by Tom Lane and is dependent on the -excellent work of Tom Lane and the Independent JPEG Group (IJG) who distribute -their work under friendly licensing similar to this software. Joris Van Damme -implemented the robust Old JPEG decoder (as included in libtiff since version -3.9.0, there was another Old JPEG module in older releases, which was -incomplete and unsuitable for many existing images of that format). JBIG -module was written by Lee Howard and depends on JBIG library from the Markus -Kuhn. Many other people have by now helped with bug fixes and code; a few of -the more persistent contributors have been: - -

    -    Bjorn P. Brox
    -    Dan McCoy
    -    J.T. Conklin                
    -    Richard Minner
    -    Frank D. Cringle        
    -    Richard Mlynarik
    -    Soren Pingel Dalsgaard  
    -    Niles Ritter
    -    Steve Johnson           
    -    Karsten Spang
    -    Tom Lane               
    -    Peter Smith
    -    Brent Roman            
    -    Mike Welles
    -    Frank Warmerdam
    -    Greg Ward
    -    Stanislav Brabec        
    -    Roman Shpount
    -    Peter Skarpetis        
    -    Arvan Pritchard
    -    Bernt Herd             
    -    Joseph Orost
    -    Phil Beffery           
    -    Ivo Penzar
    -    Francois Dagand        
    -    Albert Chin-A-Young
    -    Bruce A. Mallett
    -    Dwight Kelly
    -    Andrey Kiselev
    -    Ross Finlayson
    -    Dmitry V. Levin
    -    Bob Friesenhahn
    -    Lee Howard
    -    Joris Van Damme
    -    Tavis Ormandy
    -    Richard Nolde
    -
    - -(my apology to anyone that was inadvertently not listed.) - -

    Use and Copyright

    - -

    -Copyright (c) 1988-1997 Sam Leffler
    -Copyright (c) 1991-1997 Silicon Graphics, Inc.
    -
    -Permission to use, copy, modify, distribute, and sell this software and 
    -its documentation for any purpose is hereby granted without fee, provided
    -that (i) the above copyright notices and this permission notice appear in
    -all copies of the software and related documentation, and (ii) the names of
    -Sam Leffler and Silicon Graphics may not be used in any advertising or
    -publicity relating to the software without the specific, prior written
    -permission of Sam Leffler and Silicon Graphics.
    -
    -THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
    -EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
    -WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
    -
    -IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
    -ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
    -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
    -WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
    -LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
    -OF THIS SOFTWARE.
    -
    - -

    -


    - - -Last updated: $Date: 2007-02-24 15:47:04 $ - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/support.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/support.html deleted file mode 100644 index a1255b9..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/support.html +++ /dev/null @@ -1,655 +0,0 @@ - - - - TIFF 6.0 Specification Coverage - - - - - - - - - - -
    -

    TIFF 6.0 Specification Coverage

    -

    - The library is capable of dealing with images that are written to - follow the 5.0 or 6.0 TIFF spec. There is also considerable support - for some of the more esoteric portions of the 6.0 TIFF spec. -

    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Core requirements -

    - Both "MM" and "II" byte orders are handled. - Both packed and separated planar configuration of samples. - Any number of samples per pixel (memory permitting). - Any image width and height (memory permitting). - Multiple subfiles can be read and written. - Editing is not supported in that related subfiles (e.g. - a reduced resolution version of an image) are not automatically - updated. -

    -

    - Tags handled: ExtraSamples, ImageWidth, - ImageLength, NewSubfileType, ResolutionUnit. - Rowsperstrip, StripOffsets, StripByteCounts, - XResolution, YResolution -

    -
    Tiled ImagesTileWidth, TileLength, TileOffsets, - TileByteCounts
    Image Colorimetry InformationWhitePoint, PrimaryChromaticities, TransferFunction, - ReferenceBlackWhite
    Class B for bilevel imagesSamplesPerPixel = 1
    - BitsPerSample = 1
    - Compression = 1 (none), 2 (CCITT 1D), or 32773 (PackBits)
    - PhotometricInterpretation = 0 (Min-is-White), 1 (Min-is-Black)
    Class G for grayscale imagesSamplesPerPixel = 1
    - BitsPerSample = 4, 8
    - Compression = 1 (none) 5 (LZW)
    - PhotometricInterpretation = 0 (Min-is-White), 1 (Min-is-Black)
    Class P for palette color imagesSamplesPerPixel = 1
    - BitsPerSample = 1-8
    - Compression = 1 (none) 5 (LZW)
    - PhotometricInterpretation = 3 (Palette RGB)
    - ColorMap
    Class R for RGB full color imagesSamplesPerPixel = 3
    - BitsPerSample = <8,8,8>
    - PlanarConfiguration = 1, 2
    - Compression = 1 (none) 5 (LZW)
    - PhotometricInterpretation = 2 (RGB)
    Class F for facsimile(Class B tags plus...)
    - Compression = 3 (CCITT Group 3), 4 (CCITT Group 4)
    - FillOrder = 1 (MSB), 2 (LSB)
    - Group3Options = 1 (2d encoding), 4 (zero fill), 5 (2d+fill)
    - ImageWidth = 1728, 2048, 2482
    - NewSubFileType = 2
    - ResolutionUnit = 2 (Inch), 3 (Centimeter)
    - PageNumber, - XResolution, - YResolution, - Software, - BadFaxLines, - CleanFaxData, - ConsecutiveBadFaxLines, - DateTime, - DocumentName, - ImageDescription, - Orientation
    Class S for separated imagesSamplesPerPixel = 4
    - PlanarConfiguration = 1, 2
    - Compression = 1 (none), 5 (LZW)
    - PhotometricInterpretation = 5 (Separated)
    - InkSet = 1 (CMYK)
    - DotRange, - InkNames, - DotRange, - TargetPrinter
    Class Y for YCbCr imagesSamplesPerPixel = 3
    - BitsPerSample = <8,8,8>
    - PlanarConfiguration = 1, 2
    - Compression = 1 (none), 5 (LZW), 7 (JPEG)
    - PhotometricInterpretation = 6 (YCbCr)
    - YCbCrCoefficients, - YCbCrSubsampling, - YCbCrPositioning
    - (colorimetry info from Appendix H; see above)
    Class "JPEG" for JPEG images (per TTN2)PhotometricInterpretation = 1 (grayscale), 2 (RGB), 5 (CMYK), 6 (YCbCr)
    - (Class Y tags if YCbCr)
    - (Class S tags if CMYK)
    - Compression = 7 (JPEG)
    -

    - In addition, the library supports some optional compression algorithms - that are, in some cases, of dubious value. -

    - - - - - - - - -
    Compression tag valueCompression algorithm
    32766NeXT 2-bit encoding
    32809ThunderScan 4-bit encoding
    32909Pixar companded 11-bit ZIP encoding
    32946PKZIP-style Deflate encoding (experimental)
    34676SGI 32-bit Log Luminance encoding (experimental)
    34677SGI 24-bit Log Luminance encoding (experimental)
    -
    -

    - Note that there is no support for the JPEG-related tags defined - in the 6.0 specification; the JPEG support is based on the post-6.0 - proposal given in TIFF Technical Note #2. -

    - - - - - -
    For more information on the experimental Log Luminance encoding - consult the materials available at - http://www.anyhere.com/gward/pixformat/tiffluv.html.
    -
    -

    - The following table shows the tags that are recognized - and how they are used by the library. If no use is indicated, - then the library reads and writes the tag, but does not use it internally. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Tag NameValueR/WLibrary's Use (Comments)
    NewSubFileType254R/Wnone (called SubFileType in <tiff.h>)
    SubFileType255R/Wnone (called OSubFileType in <tiff.h>)
    ImageWidth256R/Wlots
    ImageLength257R/Wlots
    BitsPerSample258R/Wlots
    Compression259R/Wto select appropriate codec
    PhotometricInterpretation262R/Wlots
    Thresholding263R/W 
    CellWidth264 parsed but ignored
    CellLength265 parsed but ignored
    FillOrder266R/Wcontrol bit order
    DocumentName269R/W 
    ImageDescription270R/W 
    Make271R/W 
    Model272R/W 
    StripOffsets273R/Wdata i/o
    Orientation274R/W 
    SamplesPerPixel277R/Wlots
    RowsPerStrip278R/Wdata i/o
    StripByteCounts279R/Wdata i/o
    MinSampleValue280R/W 
    MaxSampleValue281R/W 
    XResolution282R/W 
    YResolution283R/Wused by Group 3 2d encoder
    PlanarConfiguration284R/Wdata i/o
    PageName285R/W 
    XPosition286R/W 
    YPosition286R/W 
    FreeOffsets288 parsed but ignored
    FreeByteCounts289 parsed but ignored
    GrayResponseUnit290 parsed but ignored
    GrayResponseCurve291 parsed but ignored
    Group3Options292R/Wused by Group 3 codec
    Group4Options293R/W 
    ResolutionUnit296R/Wused by Group 3 2d encoder
    PageNumber297R/W 
    ColorResponseUnit300 parsed but ignored
    TransferFunction301R/W 
    Software305R/W 
    DateTime306R/W 
    Artist315R/W 
    HostComputer316R/W 
    Predictor317R/Wused by LZW codec
    WhitePoint318R/W 
    PrimaryChromacities319R/W 
    ColorMap320R/W 
    TileWidth322R/Wdata i/o
    TileLength323R/Wdata i/o
    TileOffsets324R/Wdata i/o
    TileByteCounts324R/Wdata i/o
    BadFaxLines326R/W 
    CleanFaxData327R/W 
    ConsecutiveBadFaxLines328R/W 
    SubIFD330R/Wsubimage descriptor support
    InkSet332R/W 
    InkNames333R/W 
    DotRange336R/W 
    TargetPrinter337R/W 
    ExtraSamples338R/Wlots
    SampleFormat339R/W 
    SMinSampleValue340R/W 
    SMaxSampleValue341R/W 
    JPEGTables347R/Wused by JPEG codec
    YCbCrCoefficients529R/Wused by TIFFReadRGBAImage support
    YCbCrSubsampling530R/Wtile/strip size calculations
    YCbCrPositioning531R/W 
    ReferenceBlackWhite532R/W 
    Matteing32995Rnone (obsoleted by ExtraSamples tag)
    DataType32996Rnone (obsoleted by SampleFormat tag)
    ImageDepth32997R/Wtile/strip calculations
    TileDepth32998R/Wtile/strip calculations
    StoNits37439R/W 
    -

    - The Matteing and DataType - tags have been obsoleted by the 6.0 - ExtraSamples and SampleFormat tags. - Consult the documentation on the - ExtraSamples tag and Associated Alpha for elaboration. Note however - that if you use Associated Alpha, you are expected to save data that is - pre-multipled by Alpha. If this means nothing to you, check out - Porter & Duff's paper in the '84 SIGGRAPH proceedings: "Compositing Digital - Images". -

    -

    - The ImageDepth - tag is a non-standard, but registered tag that specifies - the Z-dimension of volumetric data. The combination of ImageWidth, - ImageLength, and ImageDepth, - defines a 3D volume of pixels that are - further specified by BitsPerSample and - SamplesPerPixel. The TileDepth - tag (also non-standard, but registered) can be used to specified a - subvolume "tiling" of a volume of data. -

    -

    - The Colorimetry, and CMYK tags are additions that appear in TIFF 6.0. - Consult the TIFF 6.0 specification included in the doc directory - and online. -

    -

    - The JPEG-related tag is specified in - TIFF Technical Note #2 which defines - a revised JPEG-in-TIFF scheme (revised over that appendix that was - part of the TIFF 6.0 specification). -

    -
    -

    - Last updated: $Date: 2005-12-28 06:53:18 $ -

    - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/tools.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/tools.html deleted file mode 100644 index 65e9c0d..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/tools.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - -TIFF Tools Overview - - -

    TIFF -Tools Overview

    -

    This software distribution comes with a small collection of -programs for converting non-TIFF format images to TIFF and for -manipulating and interrogating the contents of TIFF images. Several -of these tools are useful in their own right. Many of them however -are more intended to serve as programming examples for using the -TIFF library.

    -

    Device-dependent Programs

    -There are two device-dependent programs that serve as simple -examples for writing programs to display and save TIFF images. - - - - - - - - - -
    -tiffgt    Display the contents of one or more TIFF images using OpenGL. -The software makes extensive use of the TIFFRGBAImage -facilities described elsewhere.
    tiffsvA program to save all or part of a screen dump on a Silicon -Graphics system. As for tiffgt this code, while written to -use the IRIS GL, can be easily tailored to other devices.
    -

    Device-independent Programs

    -The remaining programs should be device-independent: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    bmp2tiffConvert BMP images to TIFF
    fax2psConvert a Group 3- or Group 4- compressed TIFF to PostScript -that is significantly more compressed than is generated by -tiff2ps (unless tiff2ps writes PS Level II)
    fax2tiffConvert raw Group 3 or Group 4 facsimile data to TIFF
    gif2tiffA quick hack that converts GIF 87a (old) format images to TIFF
    pal2rgbConvert a Palette-style image to a full color RGB image by -applying the colormap
    ppm2tiffA quick hack that converts 8-bit PPM format images to TIFF
    ras2tiffA quick hack that converts Sun rasterfile format images to TIFF --- it's less than complete
    raw2tiffCreate a TIFF file from raw data
    rgb2ycbcrConvert an RGB, grayscale, or bilevel TIFF image to a YCbCr -TIFF image; it's mainly provided for testing
    sgi2tiffA program to convert SGI image files to TIFF. This program is -only useful on SGI machines as it uses -limage.
    thumbnailCopy a bilevel TIFF to one that includes 8-bit greyscale -"thumbnail images" for each page; it is provided as an example of -how one might use the SubIFD tag (and the library support -for it)
    tiff2bwA simple program to convert a color image to grayscale
    tiff2pdfConvert TIFF images to PDF
    tiff2psConvert TIFF images to PostScript
    tiff2rgbaConvert a TIFF image to RGBA color space
    tiffcmpCompare the contents of two TIFF files (it does not check all -the directory information, but does check all the data)
    tiffcpCopy, concatenate, and convert TIFF images (e.g. switching from -Compression=5 to Compression=1)
    tiffcropProvides selection of images from within one or more multi-image -TIFF files, with orthogonal rotation, mirroring, cropping, and -extraction of multiple sections and exporting to one or more files. -It extends the functionality of tiffcp to support additional bit -depths in strips and tiles and enhances the selection capabilities of -tiffsplit. Bilevel images can be inverted and images may be split into -segments to fit on multiple /pages/ (standard paper sizes), plus other -functions described in the tiffcrop man page
    tiffditherDither a b&w image into a bilevel image (suitable for use -in creating fax files)
    tiffdumpDisplay the verbatim contents of the TIFF directory in a file -(it's very useful for debugging bogus files that you may get from -someone that claims they support TIFF)
    tiffinfoDisplay information about one or more TIFF files.
    tiffmedianA version of Paul Heckbert's median cut program that reads an -RGB TIFF image, and creates a TIFF palette file as a result
    tiffsetSet a field in a TIFF header
    tiffsplitCreate one or more single-image files from a (possibly) -multi-image file
    -

    Check out the manual pages for details about the above -programs.

    -
    -Last updated: $Date: 2009-10-28 22:13:37 $ - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta007.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta007.html deleted file mode 100644 index e8b697e..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta007.html +++ /dev/null @@ -1,112 +0,0 @@ - - - -Changes in TIFF v3.4beta007 - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    - -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • bit order was corrected for Pentium systems -
    • a new define, HOST_BIGENDIAN, was added for code that - wants to statically use information about native cpu byte order -
    - -


    - -CHANGES IN LIBTIFF: - -
      -
    • the G3/G4 decoder was replaced by a new one that is faster and - has smaller state tables -
    • Niles Ritter's client tag extension hooks were added -
    • a new routine TIFFCurrentDirOffset was added for - applications that want to find out the file offset of a TIFF directory -
    • the calculation of the number of strips in an image was corected - for images with certain esoteric configurations -
    • a potential memory leak (very unlikely) was plugged -
    • the TIFFReadRGBAImage support was completely rewritten - and new, more flexible support was added for reading images into - a fixed-format raster -
    • YCbCr to RGB conversion done in the TIFFReadRGBAImage support - was optimized -
    • a bug in JPEG support calculation of strip size was corrected -
    • the LZW decoder was changed to initialize the code table to zero - to lessen potential problems that arise when invalid data is decoded -
    • tiffcomp.h is now aware of OS/2 -
    • some function prototypes in tiffio.h and tiffiop.h - that contained parameter - names have been changed to avoid complaints from certain compilers -
    - -


    - -CHANGES IN THE PORTABILITY SUPPORT: - -
      -
    • Makefile.in has been corrected to use the parameters - chosen by the configure script -
    - -


    - -CHANGES IN THE TOOLS: - -
      -
    • fax2ps has been rewritten and moved over from the user - contributed software -
    • an uninitialized variable in pal2rgb has been fixed -
    • ras2tiff now converts 24-bit RGB raster data so that - samples are written in the proper order -
    • tiff2ps has been updated to include fixes - and enhancements from Alberto Accomazzi -
    • tiffcp now has a -o option to select a directory - by file offset -
    • tiffinfo is now capable of displaying the raw undecoded - image data in a file -
    • tiffgt has been rewritten to use the new TIFFRGBAImage - support and to handle multiple files -
    - - TIFF home page.
    - -
    - -
    -Sam Leffler / sam@engr.sgi.com -Last updated $Date: 1999-08-09 20:21:21 $. -
    - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta016.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta016.html deleted file mode 100644 index f9b0078..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta016.html +++ /dev/null @@ -1,122 +0,0 @@ - - - -Changes in TIFF v3.4beta016 - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    - -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • support was added for configuring the Deflate codec -
    • support was added for the HTML documentation -
    • codecs that are not configured for inclusion in the library - are no longer compiled -
    - -


    - -CHANGES IN LIBTIFF: - -
      -
    • support was added for registering new codecs external to the library - and for overriding the codecs that are builtin to the library -
    • emulation support for the old DataType tag was improved -
    • suppport was added for the SMinSampleValue - and SMaxSampleValue tags -
    • the library no longer ignores TileWidth and TileLength - tags whose values are not a multiple of 16 (per the spec); this - permits old, improperly written, images to be read -
    • the support for the Predictor tag was placed in a reusable - module so that it can be shared by multiple codecs -
    • experimental compression support was added for the Deflate algorithm - (using the freely available zlib package) -
    • a new routine, TIFFWriteBufferSetup was added a la the - routine TIFFReadBufferSetup -
    • the DSO version of the library is now statically linked with the - JPEG and Deflate libraries; this means applications that link against - the DSO do not also need to link against these ancillary libraries -
    - -


    - -CHANGES IN THE TOOLS: - -
      -
    • all the tools now use common code to process compress-oriented arguments -
    • tiffdump should now compile on a Macintosh with MPW -
    - -


    - -CHANGES IN THE MANUAL PAGES: - -
      -
    • everything was updated -
    - -


    - -CHANGES IN THE DOCUMENTATION: - -
      -
    • everything was updated -
    - -


    - -CHANGES IN CONTRIBUTED SOFTWARE: - -
      -
    • contrib/dbs/xtiff was made to compile -
    • contrib/mac-mpw is new support for compiling the software on - a Macintosh under MPW; consult the documentation - for details -
    • contrib/tags is information on how to use the tag extenion - facilities; consult - contrib/tags/README for details -
    - - TIFF home page.
    - -
    - -
    -Sam Leffler / sam@engr.sgi.com -Last updated $Date: 1999-08-09 20:21:21 $. -
    - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta018.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta018.html deleted file mode 100644 index 17bf989..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta018.html +++ /dev/null @@ -1,84 +0,0 @@ - - - -Changes in TIFF v3.4beta018 - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    - -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • configure now recognizes IRIX 6.x systems -
    • configure now uses ENVOPTS when searching for an ANSI - C compiler; this fixes a problem configuring the software under - HP/UX with the native C compiler -
    • configure now correctly recognizes memory-mapped files are supported - under AIX -
    - -


    - -CHANGES IN LIBTIFF: - -
      -
    • make install now properly installs the include files -
    • some portability fixes from Bjorn Brox -
    • the G3/G4 codec now warns about decoded rows that are longer than - the image/tile width -
    • changes from Frank Cringle to make the library work with the - gcc-specific bounds checking software -
    • miscellaneous fixes to TIFFPrintDirectory -
    • bug fix to correct a problem where TIFFWriteRawStrip - could not be used to automatically grow an image's length -
    - -


    - -CHANGES IN THE TOOLS: - -
      -
    • fixes from Frank Cringle to update fax2tiff -
    • portability fixes to tiff2bw and tiffcmp -
    • tiffdump now uses the byte swapping routines in the library -
    - - TIFF home page.
    - -
    - -
    -Sam Leffler / sam@engr.sgi.com -Last updated $Date: 1999-08-09 20:21:21 $. -
    - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta024.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta024.html deleted file mode 100644 index 74cd6e8..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta024.html +++ /dev/null @@ -1,139 +0,0 @@ - - - -Changes in TIFF v3.4beta024 - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    - -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • It is now possible to setup the software to build only the - library; configure reconizes this is the intent when the - VERSION, tiff.alpha, and tif_version.c - files are in the local directory (i.e. ``.'') -
    • configure no longer tries to setup HTML materials -
    • include file directories needed in building the library are now - specified with a DIRS_LIBINC config parameter -
    • configure no longer checks for alternate compilers if CC - is set; if the specified compiler is not found or is not appropriate - the configuration procedure aborts -
    • the port.h file generated by configure is now used only by - the library and as such as have been moved to the libtiff - directory -
    • there is beginning support for building DSO's on systems other than IRIX -
    • configure now verifies the JPEG and zlib directory pathnames by - checking for well-known include files in these directories -
    • configure no longer creates the dist directory needed only - on SGI machines (for building SGI binary distributions) -
    • a bug was fixed whereby configure would incorrectly set - ENVOPTS when building the software with gcc under AIX -
    - -


    - -CHANGES IN LIBTIFF: - -
      -
    • two new typedefs were added to tiff.h: int8 - and uint8 for signed and unsigned 8-bit quantities, - respectively; these are currently used only by - programs in the tools directory -
    • the BadFaxLines, CleanFaxData, and - ConsecutiveBadFaxLines tags are now supported with - Group 4 compression -
    • byte order is now correctly identified on 64-bit machines -
    • a bug was fixed in the PackBits decoder where input data would - appear short when a no-op run was present -
    • a bug was fixed in calculations with very wide strips -
    • TIFFWriteEncodedStrip and TIFFWriteRawStrip - were extended to support dynamically growing the number of - strips in an image (must set ImageLength prior to - making calls though) -
    • TIFFDefaultTileSize now rounds tile width and height - up to a multiple of 16 pixels, as required by the TIFF 6.0 specification -
    • the file version.h is now built by a new mkversion - program; this was done for portability to non-UNIX systems -
    • support was added for the Acorn RISC OS (from Peter Greenham) -
    • the builtin codec table is now made const when compiling - under VMS so that libtiff can be built as a shared library -
    • support for the PowerPC Mac (from Ruedi Boesch) -
    • support for Window NT/Window 95 (from Scott Wagner) -
    - -


    - -CHANGES IN THE TOOLS: - -
      -
    • the tools no longer include port.h -
    • various portability fixes; mostly to eliminate implicit assumptions - about how long int32 data types are -
    • PostScript Level II additions to tiff2ps from Bjorn Brox -
    • sgi2tiff now handles RGBA images -
    - -


    - -CHANGES IN THE MANUAL PAGES: - -
      -
    • the documentation has been updated to reflect the current state of - the software -
    • some routines have been moved to different manual pages - to group like-routines together -
    - -


    - -CHANGES IN THE CONTRIBUTED SOFTWARE: - -
      -
    • support was added for the Acorn RISC OS (from Peter Greenham) -
    • support for Windows NT/Windows 95 contributed for a previous - version of this software was sort of incorporated (it's broken - right now) (from Scott Wagner) -
    - - TIFF home page.
    - -
    - -
    -Sam Leffler / sam@engr.sgi.com -Last updated $Date: 1999-08-09 20:21:21 $. -
    - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta028.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta028.html deleted file mode 100644 index 2b73c3d..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta028.html +++ /dev/null @@ -1,146 +0,0 @@ - - - -Changes in TIFF v3.4beta028 - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    - -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • a -noninteractive flag was added to configure to - control whether or not it prints and prompts for configuration information -
    • various typos and fixes were made in configure for the the - library-only build support (this and other configure fixes from - Richard Mlynarik <mly@adoc.xerox.com>) -
    • bugs were fixed in the handling of pathnames supplied for external - packages; e.g. DIR_JPEG -
    • the handling of SETMAKE is now done properly -
    • the default prototype function declaration for pow was corrected -
    • a bug was fixed in libtiff/Makefile.in that caused installation - to fail on systems without DSO support -
    - -


    - -CHANGES IN LIBTIFF: - -
      -
    • Acorn RISC O/S support that was accidentally left out of the - left out of the previous distribution is present (from Peter Greenham) -
    • complaints about unknown and/or unsupported codecs have been - delayed until they are invoked; this permits applications to open - images and look at tags even if the image data is compressed with - an unknown/unsupported compression scheme -
    • bugs in handling unknown tags have been corrected; applications - that use multiple codecs, each with codec-specific tags, no longer - generate confusing error messages -
    • a missing pseudo-tag definition in the CCITT G3 codec was fixed - (this problem caused core dumps in the tiffcp program) -
    • pseudo-tags are now treated specially; they are always considered - to be set (i.e. they do not use bits in the FIELD_* bit-vectors). -
    • the use of strip chopping can now be controlled on a per-file basis - through a mode parameter supplied when opening a file (``C'' to - enable strip chopping and ``c'' to disable) -
    • two bugs were fixed in the writing of opposite-endian byte-order - files -
    • support was added for three new fax-related tags registered to - SGI: FaxRecvParams, FaxRecvTime, and FaxSubAddress -
    • the bit order of image data read and written can now be controlled - on a per-file basis through a mode parameter supplied when opening - a file (``B'' to force MSB2LSB bit order, ``L'' for LSB2MSB bit - order, and ``H'' for the bit order of the native CPU) -
    • the byte order of image and tag data written to newly-created files - can now be controlled on a per-file basis through a mode parameter - supplied when openening a file (``b'' to force Big-Endian byte order - and ``l'' to force Little-Endian byte order) -
    • the use memory-mapped files for images opened read-only can now - be controlled on a per-file basis through a mode parameter supplied - when opening a file (``M'' to enable use of memory-mapped files - and ``m'' to disable use) -
    • the use of the WIN32 define in tiffiop.h has - been replaced by __WIN32__ -
    - -


    - -CHANGES IN THE TOOLS: - -
      -
    • fax2ps now does a save and restore - around each page of PostScript; this fixes a problem with VM - overflow when printing a many-page document on some printers -
    • a bug in the handling of 3-channel images by ras2tiff - was fixed -
    • tiffcp has new options to control the byte order of - newly created files: -B for Big-Endian byte order, -L - for Little-Endian byte order; a -M option to disable the - use of memory-mapped files, and a -C option to disable the - use of strip chopping -
    • bugs were fixed in tiffcp's handling of codec-specific tags -
    - -


    - -CHANGES IN THE MANUAL PAGES: - -
      -
    • the TIFFOpen page has been updated to reflect the new - optional open mode parameters -
    - -


    - -CHANGES IN THE CONTRIBUTED SOFTWARE: - -
      -
    • contrib/win95 contains information and code from Philippe Tenenhaus - <100423.3705@compuserve.com> - about using the software under Windows 95 -
    • contrib/winnt contains information and code from Dave Dyer - <ddyer@triple-i.com> - about using the software under Windows NT -
    - - TIFF home page.
    - -
    - -
    -Sam Leffler / sam@engr.sgi.com -Last updated $Date: 1999-08-09 20:21:21 $. -
    - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta029.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta029.html deleted file mode 100644 index bb06fa1..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta029.html +++ /dev/null @@ -1,86 +0,0 @@ - - - -Changes in TIFF v3.4beta029 - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    - -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • configure now relativizes pathname references given in - -L options (as frequently specified when configuring - ancillary packages) -
    • problems related to configuring the software on Ultrix 4.4 have - been corrected -
    • the shell to use in Makefiles and scripts can now be set with the - SCRIPT_SH configuration parameter -
    • comments in config.site now correctly indicate how to setup the - use of ancillary packages -
    - -


    - -CHANGES IN LIBTIFF: - -
      -
    • mods for building the software on a Mac using the - MetroWerks CodeWarrior compilers -
    • a bug in the CCITT T.4/T.6 decoder was fixed where the last codeword in - a strip/tile might not be decoded; this was seen only when decoding - multi-strip images -
    • a bug in the CCITT RLE codecs was fixed whereby the pseudo tags were not - being properly registered -
    - -


    - -CHANGES IN THE CONTRIBUTED SOFTWARE: - -
      -
    • contrib/mac-cw contains information and code from Niles Ritter - <ndr@tazboy.jpl.nasa.gov> - about building the software with the MetroWerks CodeWarrior compilers - on Macintosh systems -
    - - TIFF home page.
    - -
    - -
    -Sam Leffler / sam@engr.sgi.com -Last updated $Date: 1999-08-09 20:21:21 $. -
    - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta031.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta031.html deleted file mode 100644 index 9b645fa..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta031.html +++ /dev/null @@ -1,94 +0,0 @@ - - - -Changes in TIFF v3.4beta031 - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    - -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • configure now captures significantly more information - in the config.log file and provides more information when - it is unable to setup a configuration -
    • support was added for building shared libraries on more systems: - AIX, HPUX, Solaris, and Linux. -
    • a new configuration parameter LIBCOPTS was added for - passing arguments to the C compiler to use when building only - the library; this is part of the enhanced support for building - shared libraries -
    • include files for optional packages that reside in /usr/include - are now handled correctly -
    • build trees may now be configured using either relative or absolute - pathnames to the source distribution -
    • several new configuration parameters were added, mainly for building - shared libraries: DIST_MAJOR, DIST_MINOR, - DIST_ALPHA, and DSOSUF_VERSION -
    - -


    - -CHANGES IN LIBTIFF: - -
      -
    • the Deflate support has been revised: it requires version 0.99 of - the zlib software distribution, the output format has changed and - is incompatible with previous versions of this library (each - strip now includes a header read and written by the zlib library) -
    • the codec name printed by the TIFFPrintDirectory routine is now - taken from the codec table instead of from a builtin table; this means - that application-defined codecs are handled correctly -
    • a new symbol was added that contains the library version number; - this can be used to do a compile-time compatibility check of the - library version -
    - -


    - -CHANGES IN THE MANUAL PAGES: - -
      -
    • the creation and installation of manual pages was redone; it now - implements the documented ``configuration scheme'' -
    - - TIFF home page.
    - -
    - -
    -Sam Leffler / sam@engr.sgi.com -Last updated $Date: 1999-08-09 20:21:21 $. -
    - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta032.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta032.html deleted file mode 100644 index 61c3f4b..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta032.html +++ /dev/null @@ -1,90 +0,0 @@ - - - -Changes in TIFF v3.4beta032 - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    - -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • various fixups and subtle improvements to configure - from Richard Mlynarik -
    - -


    - -CHANGES IN LIBTIFF: - -
      -
    • a new codec from Pixar designed for high-resolution color images; - note that this codec is not configured by default -
    • a bug fix for reading tags with a single FLOAT value -
    • change to the TIFFGetField calling convention: - a tag that has a single value of - type DOUBLE is now retrieved by passing a - ``double*'' instead of a - ``double**'' (this change makes the handling of tags with - DOUBLE values identical to the handling of tags with - FLOAT values) -
    • fix to VMS support for the handling of floating point values -
    - -


    - -CHANGES IN THE TOOLS: - -
      -
    • tiffdump now handles tags with FLOAT and DOUBLE - values -
    - -


    - -CHANGES IN THE CONTRIBUTED SOFTWARE: - -
      -
    • updates to the Acorn OS support from Peter Greenham -
    - - TIFF home page.
    - -
    - -
    -Sam Leffler / sam@engr.sgi.com -Last updated $Date: 1999-08-09 20:21:21 $. -
    - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta033.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta033.html deleted file mode 100644 index 78c22f3..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta033.html +++ /dev/null @@ -1,82 +0,0 @@ - - - -Changes in TIFF v3.4beta033 - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    - -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • support was added for building the library as a DSO under OSF/1 -
    - -


    - -CHANGES IN LIBTIFF: - -
      -
    • fixes to the Pixar codec -
    • portability mods for VMS -
    - -


    - -CHANGES IN THE TOOLS: - -
      -
    • fixes to gif2tiff and ppm2tiff for building under MS/DOS -
    • portability mods to fax2ps and ycbcr for VMS -
    - -


    - -CHANGES IN THE CONTRIBUTED SOFTWARE: - -
      -
    • a new package from Alexander Lehmann - for building the library and tools under MS/DOS with DJGPP v2 -
    • updated VMS support from Karsten Spang -
    - - TIFF home page.
    - -
    - -
    -Sam Leffler / sam@engr.sgi.com -Last updated $Date: 1999-08-09 20:21:21 $. -
    - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta034.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta034.html deleted file mode 100644 index d928b1a..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta034.html +++ /dev/null @@ -1,68 +0,0 @@ - - - -Changes in TIFF v3.4beta034 - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    - -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • support was added for building the library as a DSO under NetBSD -
    • a bug was fixed in the DSO support for Linux -
    • the handling of version strings has changed slightly to simplify parsing -
    • a new parameter, TIFFLIBREF, was added to control how the - library is referenced when linking programs in the tools directory -
    - -


    - -CHANGES IN LIBTIFF: - -
      -
    • DSO creation under Solaris now forces the DSO name with a -h option -
    • the interface to the mkversion program was changed - to eliminate the need to parse files -
    • a bug was fixed in the EOL-detection logic of the T.4/T.6 decoder -
    • ANSI IT8 TIFF/IT tag definitions were added to tiff.h -
    - - TIFF home page.
    - -
    - -
    -Sam Leffler / sam@engr.sgi.com -Last updated $Date: 1999-08-09 20:21:21 $. -
    - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta035.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta035.html deleted file mode 100644 index ac5f493..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta035.html +++ /dev/null @@ -1,63 +0,0 @@ - - - -Changes in TIFF v3.4beta035 - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    - -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • support was added installing the HTML documentation -
    • support was added for building the library as a DSO under FreeBSD -
    - -


    - -CHANGES IN LIBTIFF: - -
      -
    • the interface to the mkversion program was restored to - the form used prior to v3.4beta034 -
    • several portability problems for 16-bit systems were fixed -
    - - TIFF home page.
    - -
    - -
    -Sam Leffler / sam@engr.sgi.com -Last updated $Date: 1999-08-09 20:21:21 $. -
    - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta036.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta036.html deleted file mode 100644 index aa7a876..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.4beta036.html +++ /dev/null @@ -1,117 +0,0 @@ - - - -Changes in TIFF v3.4beta036 - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    - -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • support was added for building the library as a DSO under HP-UX with - the native C compiler -
    • tools are now built with explicit pathnames for the DSO under IRIX, - Solaris, and Linux -
    • DSO configuration support for Linux was changed to require that - libc.so only be readable (not executable) -
    - -


    - -CHANGES IN LIBTIFF: - -
      -
    • support was add for ICC: NumberOfInks, and ICCProfile -
    • a memory leak caused by doing TIFFSetDirectory(0) was fixed -
    • a bug was fixed whereby certain multi-directory files were not - properly handled when accessed by mapping the data into memory -
    • the strip chopping support is now always compiled - into the library with the default usage controlled by a - STRIPCHOP_DEFAULT configuration parameter -
    • the strip chopping support no longer chops tiled images -
    • all static strings are now const--for shared libraries -
    • the logic for estimating the strip size of images without - a StripByteCounts tag was improved by handling - PlanarContig images differently from PlanarSeparate -
    • a bug was fixed in the G3 codec when converting the Y resolution - of data specified in metric units -
    • a bug was fixed in the G3/G4 decoder for data where lines terminate - with a v0 code -
    • the TIFFRGBAImage support was changed to scale 16-bit colormap - entries more conservatively to avoid problems with applications - that do not generate fully saturated pixel values -
    • the LZW decoder was changed to use a more conservative scheme when - bounds checking the hash table array; this avoids pitfalls with - systems that load objects into memory in unusual locations -
    • a bug was fixed in TIFFPrintDirectory's handling of the - InkNames tag -
    • TIFFPrintDirectory now understands NumberOfInks - and ICC-related tags -
    • the routines for reading image data now provide more useful information - when a read error is encountered -
    • support was added for compiling with Microsoft Visual C++ 4.0 -
    - -


    - -CHANGES IN THE TOOLS: - -
      -
    • a bug was fixed in pal2rgb's colormap handling -
    • tiff2ps now includes John Wehle's changes for maintaining - the aspect ratio - of images when scaling and for honoring the deadzone on a page when - generating PostScript Level II -
    • tiff2ps does a better job guarding against the mishandling - of greyscale images -
    • tiff2ps now correctly converts X- and Y-resolution values - specified in metric units -
    • tiffdump has a new -m option to control the maximum - number of indirect - data values printed for a tag (by default 24) -
    • tiffdump understands several new tags -
    • tiffdump now shows any terminating null in ASCII strings -
    • tiffinfo now suppresses strip chopping when interpreting an image; - a new -z option has been added to enable strip chopping -
    - - TIFF home page.
    - -
    - -
    -Sam Leffler / sam@engr.sgi.com -Last updated $Date: 1999-08-09 20:21:21 $. -
    - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.1.html deleted file mode 100644 index 9302cbb..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.1.html +++ /dev/null @@ -1,75 +0,0 @@ - - - -Changes in TIFF v3.5.1 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • None of consequence -
    - -


    - -CHANGES IN LIBTIFF: - - -
      -
    • Support was added for IPTC Newsphoto metadata (TIFFTAGE_IPTCNEWSPHOTO) -
    • Support was added for photoshop caption handling (TIFFTAG_PHOTOSHOP) -
    - -


    - -CHANGES IN THE TOOLS: - -
      -
    • Bill Radcliffe's iptcutil was -added to the "contrib" subdirectory . It can convert an IPTC binary -blob to ASCII text and vice-versa. The blob itself can be extracted -from or added to an image with the ImageMagick convert(1) -utility. -
    - - TIFF home page.
    - -
    - -Last updated $Date: 2006-01-03 01:42:30 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.2.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.2.html deleted file mode 100644 index ad70db8..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.2.html +++ /dev/null @@ -1,108 +0,0 @@ - - - -Changes in TIFF v3.5.2 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    - -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • Corrected alpha versioning. - -
    • Removed distinction between alpha and release targets in Makefile.in. - -
    • Added release.stamp target, which tags cvs tree, and updates - "RELEASE-DATE" - -
    • Added releasediff target, which diffs tree with source as of - date in "RELEASE-DATE" - -
    • Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving - away from alpha/non-alpha distinctions). - -
    - -


    - -CHANGES IN LIBTIFF: - - -
      -
    • Added IRIX/gcc, and OSF/1 4.x support on behalf of - Albert Chin-A-Young - -
    • Added TIFFReassignTagToIgnore() API on behalf of - Bruce Cameron . Man page still pending. - -
    • pre-remove so link before softlink in LINUXdso action in - libtiff/Makefile.in to avoid failure on LINUXdso builds other than - the first. - -
    • Fixed problem with cvtcmap() in tif_getimage.c modifying the - colormaps owned by the TIFF handle itself when trying to fixup wrong - (eight bit) colormaps. Corrected by maintaining a private copy of - the colormap. - -
    • Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in - tif_getimage.c. - -
    • Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested - by Christopher Lawton - -
    • Set O_BINARY for tif_unix.c open() ... used on cygwin for instance. - -
    • Added CYGWIN case in configure. - -
    • Applied Francois Dagand's patch to handle fax decompression bug. - (sizes >= 65536 were failing) -
    - -


    - -CHANGES IN THE TOOLS: - -
      -
    • Added addtiffo (add overviews to a TIFF file) in contrib. Didn't - put it in tools since part of it is in C++. -
    - - TIFF home page.
    - -
    - -Last updated $Date: 2004-11-26 14:37:20 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.3.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.3.html deleted file mode 100644 index 3103a6b..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.3.html +++ /dev/null @@ -1,132 +0,0 @@ - - - -Changes in TIFF v3.5.3 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -The ChangeLog will follow, but please note the most important change: -LZW compression has been removed. -

    -Unisys has the patent on LZW compression and have been very active in -their enforcement of late, demanding payments of $5000 or more from -websites using unlicensed software to create GIF's. They could well -do the same do persons using libtiff to create LZW compressed TIFF -images. -

    -From Burn All GIF's Day: -
    -The catch is that it appears to be difficult or impossible to get a -Unisys license to use LZW in free software that complies with the Open -Source Definition -

    -Unfortunatly, the removal of LZW compression means that saved image size has -grown dramatically. Without a change in the TIFF spec to support -another lossless compression format, this is unavoidable. -

    -The library can use zip for lossless compression, but as this is not -part of the spec, TIFFs using zip compression may not work with other -software -

    -We will be making a patch available that will contain the LZW -compression code for users who have either obtained a license from -Unisys or are willing to risk it. -

    -LZW decompression is unchanged. -

    -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • Added zip creation to release makefile target - - -
    - -


    - -CHANGES IN LIBTIFF: - - -
      - -
    • Added html for TIFFWriteTile.3t man page. - -
    • Added some changes to tif_write.c to support rewriting existing - fixed sized tiles and strips. Code mods disabled by default, only - enabled if REWRITE_HACK is defined for now. - -
    • Added TIFFWriteTile.3t man page. - -
    • Added notes on use of makefile.vc in build.html, and fixed - email subscription address. - -
    • Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c - -
    • Did some casts cleaning up to reduce compiler warnings in tif_fax3.c, - from Bruce Carmeron -- modifications of - changes made by Frank (sun cc still complained on cast). - -
    • fixed various VC++ warnings as suggested by Gilles Vollant - . - -
    • Modified TIFFquery.3t man pages info on TIFFIsByteSwapped() to - not imply applications are responsible for image data swapping. - -
    • HTML-ized the man pages, added to html/man - -
    • Removed LZW Compression to comply with Unisys patent extortion. - -
    • Corrected one remaining 16 -> 32 bit value in tif_fax3.c, - From Ivo Penzar Added patch from Ivo Penzar to have TiffAdvanceDirectory handle - memory mapped files. -
    - -


    - -CHANGES IN THE TOOLS: - -
      -
    • Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c -
    - - TIFF home page.
    - -
    - -Last updated $Date: 2004-11-26 14:37:20 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.4.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.4.html deleted file mode 100644 index 7b06daf..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.4.html +++ /dev/null @@ -1,88 +0,0 @@ - - - -Changes in TIFF v3.5.4 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • None - - -
    - -


    - -CHANGES IN LIBTIFF: - - -
      - -
    • Added Pixar tag support. Contributed by Phil Beffery - -
    • Made one more change to tif_dir.c for removal of LZW compression. Also added notice - when LZW compression invoked. - -
    • Fixed bug that caused LZW (non) compression to segfault. Added - warning about LZW compression removed being removed, and why. - -
    - -


    - -CHANGES IN THE TOOLS: - -
      -
    • Changed default compression in tools to TIFF_PACKBITS, and changed usage descriptions - in tools to reflect removal of LZW compression - -
    • Added nostrip to install in tools/Makefile.in so that debugging - symbols are kept. - -
    • Made Packbits the default compression in tools/tiff2rgba.c instead - of LZW. - - -
    - - TIFF home page.
    - -
    - -Last updated $Date: 2006-01-03 01:45:41 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.5.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.5.html deleted file mode 100644 index 38b1f6d..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.5.html +++ /dev/null @@ -1,155 +0,0 @@ - - - -Changes in TIFF v3.5.5 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      - -
    • configure: added test for libc6 for linux targets. Bug reported by - Stanislav Brabec - -
    • configure: fixed bugs in sed scripts - (applied sed script s:/@:s;@:;s:/s;;:;: to configure). - fix submitted by Stanislav Brabec - -
    • tools/iptcutil was not in files list, and wasn't being - added to tar archive. Updated Makefile.in. - -
    • Added 3.5 docs to html/Makefile.in. - Thanks to Stanislav Brabec - -
    • Fixed tools/tiffcmp so that stopondiff testing works. - Patch care of Joseph Orost . - -
    • Added fax3sm_winnt.c to distribution list in Makefile.in. - -
    • Added libtiff/libtiff.def to TIFFILES distribution list. -
    - -


    - -CHANGES IN LIBTIFF: - - -
      -
    • tif_fax3.c: Fixed serious bug introduced during the uint16->uint32 - conversion for the run arrays. - -
    • Set td_sampleformat default to SAMPLEFORMAT_UINT instead of - SAMPLEFORMAT_VOID in TIFFDefaultDirectory() in tif_dir.c. - -
    • Added "GetDefaulted" support for TIFFTAG_SAMPLEFORMAT in tif_aux.c. - -
    • Patched tif_fax3.c so that dsp->runs is allocated a bit bigger - to avoid overruns encountered with frle_bug.tif. - - -
    • Modified tif_unix.c to support 2-4GB seeks if USE_64BIT_API is - set to 1, and added default (off) setting in tiffconf.h. This - should eventually be set by the configure script somehow. - - The original work on all these 2-4GB changes was done by - Peter Smith (psmith@creo.com). - -
    • Modified tif_win32.c to support 2-4GB seeks. - -
    • tentatively changed toff_t to be unsigned instead of signed to - facilitate support for 2-4GB files. - -
    • Updated a variety of files to use toff_t. Fixed some mixups - between toff_t and tsize_t. - -
    • Set tif_rawdatasize to zero when freeing raw data buffer in - TIFFWriteDirectory(). - -
    • Enabled "REWRITE_HACK" in tif_write.c by default. - -
    • Fix bug in tif_write.c when switching between reading one directory - and writing to another. - -
    • Made TIFFWriteCheck() public, and added TIFFCreateDirectory() - -
    • Added TIFFmemory(3t) functions to libtiff.def. - -
    • Added libtiff/libtiff.def to TIFFILES distribution list. -
    - -


    - -CHANGES IN THE TOOLS: - -
      -
    • fax2ps: Fixed mixup of width and height in bounding box statement - as per submission by Nalin Dahyabhai . - -
    • fax2ps: Modified printruns to take uint32 instead of uint16. - Patch courtesy of Bernt Herd - - -
    • Largely reimplemented contrib/addtiffo to avoid temp files, - updating the TIFF file in place. Fixed a few other bugs to. - -
    • Altered descriptions in tools to reflect "by default" lzw not supported -
    - -


    - -CHANGES IN THE LZW COMPRESSION KIT -
      -
    • created mangle-src.sh -- sed scripts to munge src into LZW enabled format. Thanks to Stanislav Brabec - -
    • created Makefile - -
    • merged tif_dir.c with current source. - - -
    • Created lzw compression kit, as a new CVS module (libtiff-lzw-compression-kit). - -
    • Updated index.html to note lzw compression kit. - -
    - - TIFF home page.
    - -
    - -Last updated $Date: 2004-11-26 14:37:20 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.6-beta.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.6-beta.html deleted file mode 100644 index d4933a8..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.6-beta.html +++ /dev/null @@ -1,185 +0,0 @@ - - - -Changes in TIFF v3.5.6 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      - -
    • Added GNULDdso target and switched linux and freebsd to use it. -
    • tools/Makefile.in: Modified to install properly on SGI. -
    • configure: Fixed DSO test for Linux as per patch from - Jan Van Buggenhout . - -
    - -


    - -CHANGES IN LIBTIFF: - - -
      - -
    • tif_dir.c: Clear TIFF_ISTILED flag in TIFFDefaultDirectory - as per http://bugzilla.remotesensing.org/show_bug.cgi?id=18 - from vandrove@vc.cvut.cz. - -
    • Modified tif_packbits.c decoding to avoid overrunning the - output buffer, and to issue a warning if data needs to be - discarded. See http://bugzilla.remotesensing.org/show_bug.cgi?id=18 - -
    • Modified TIFFClientOpen() to emit an error on an attempt to - open a comperessed file for update (O_RDWR/r+) access. This is - because the compressor/decompressor code gets very confused when - the mode is O_RDWR, assuming this means writing only. See - bug http://bugzilla.remotesensing.org/show_bug.cgi?id=13 - -
    • Applied patch for 0x0000 sequences in tif_fax3.h's definition - of EXPAND1D() as per bug 11 (from Roman). - -
    • Fixed tiffcomp.h to avoid win32 stuff if unix #defined, to improve - cygwin compatibility. - -
    • Applied patch from Roman Shpount to tif_fax3.c. This seems to - be a proper fix to the buffer sizing problem. See - http://bugzilla.remotesensing.org/show_bug.cgi?id=11 - -
    • Fixed tif_getimage.c to fix overrun bug with YCbCr images without - downsampling. http://bugzilla.remotesensing.org/show_bug.cgi?id=10 - Thanks to Nick Lamb for reporting the - bug and proving the patch. - -
    • Fixed tif_jpeg.c so avoid destroying the decompressor before - we are done access data thanks to bug report from: - Michael Eckstein . - -
    • tif_open.c: Don't set MMAP for O_RDWR files. - -
    • tif_open.c: Set STRIPCHOP_DEFAULT for O_RDWR as well as O_RDONLY - so that files opened for update can be strip chopped too. - -
    • tif_read.c: fixed up bug with files missing rowsperstrip and - the strips per separation fix done a few weeks ago. - -
    • Tentatively added support for SAMPLEFORMAT_COMPLEXIEEEFP, and - SAMPLEFORMAT_COMPLEXINT. - -
    • index.html, bugs.html: added bugzilla info. - -
    • tif_read.c: fix subtle bug with determining the number of - rows for strips that are the last strip in a separation but - not the last strip of all in TIFFReadEncodedStrip(). - -
    • Applied 16/32 bit fix to tif_fax3.c. Fix supplied by - Peter Skarpetis - -
    • Modified tiffio.h logic with regard to including windows.h. It - won't include it when building with __CYGWIN__. - -
    • README: update to mention www.libtiff.org, don't list Sam's old - email address. - -
    • libtiff/tif_dirread.c: Don't use estimate strip byte count for - one tile/strip images with an offset, and byte count of zero. These - could be "unpopulated" images. - -
    • tif_win32.c: Applied patch to fix overreads and ovverwrites - caught by BoundsChecker. From Arvan Pritchard - (untested). - -
    • tif_getimage.c: Applied patch to silence VC6 warnings. From - Arvan Pritchard - -
    • tif_lzw.c: Applied patch to silence VC6 warnings. From - Arvan Pritchard - -
    • libtiff/tif_apple.c: Applied "Carbon" support patches supplied by - Leonard Rosenthol . May interfere - with correct building on older systems. If so, please let me know. - - -
    - -


    - -CHANGES IN THE TOOLS: - -
      - -
    • tools/rgb2ycbcr.c: fixed output strip size to account for vertical - roundup if rows_per_strip not a multiple of vertical sample size. - -
    • tools/tiffsplit.c: Copy TIFFTAG_SAMPLEFORMAT. - -
    • Modified tiff2bw to ensure portions add to 100%, and that - white is properly recovered. See bug - http://bugzilla.remotesensing.org/show_bug.cgi?id=15 Patch - c/o Stanislav Brabec - -
    - -


    - -CHANGES IN CONTRIB: - -
      - -
    • contrib/addtiffo: Added "averaging" resampling option. - -
    • Added contrib/stream (stream io) code submitted by Avi Bleiweiss. - -
    - -


    - -CHANGES IN THE LZW COMPRESSION KIT -
      - -
    • updated tif_dir.c to reflect changes to no-lzw tif_dir.c - -
    - - TIFF home page.
    - -
    - -Last updated $Date: 2006-03-18 17:12:47 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.7.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.7.html deleted file mode 100644 index 84dff1a..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.5.7.html +++ /dev/null @@ -1,259 +0,0 @@ - - - -Changes in TIFF v3.5.7 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - - - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • libtiff/libtiff.def: Brent Roman submitted new version adding -serveral missing entry points. Also add a few other entry points -later. - -
    • configure, Makefile.in, etc: added support for OPTIMIZER being - set from config.site. -
    • config.guess: updated wholesale to an FSF version apparently - from 1998 (as opposed to 1994). This is mainly inspired by - providing for MacOS X support. - -
    • configure/config.site: modified to check if -lm is needed for - MACHDEPLIBS if not supplied by config.site. Needed for Darwin. -
    • libtiff/tiff.h: Applied hac to try and resolve the problem - with the inttypes.h include file on AIX. (Bug 39) - -
    • configure, *Makefile.in: Various changes to improve configuration - for HP/UX specifically, and also in general. (Bug 40) They include: -
        -
      • Try to handle /usr/bin/sh instead of /bin/sh where necessary. -
      • Upgrade to HP/UX 10.x+ compiler, linker and dso options. -
      • Fixed mmap() test to avoid MMAP_FIXED ... it isn't available on HP -
      • Use -${MAKEFLAGS} in sub makes from makefiles. -
      • Fixed SCRIPT_SH/SHELL handling. -
      -
    • configure: Changes for DSO generation on AIX provided by - John Marquart . - -
    • configure, libtiff/Makefile.in: Modified to build DSOs properly - on Darwin thanks to Robert Krajewski (rpk@alum.mit.edu) and - Keisuke Fujii (fujiik@jlcuxf.kek.jp). - -
    • configure, libtiff/Makefile.in: applied OpenBSD patches as per bug 61. - -
    • Makefile.in: added DESTDIR support as per bug 60. - -
    • libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H - has been included. -
    • man/Makefile.in: add TIFFClientOpen link as per debian submitted - bug 66. -
    • libtiff/Makefile.in: Fixed @DSOSUB_VERSION to be @DSOSUF_VERSION@ - in two places. -
    - -


    - - - -CHANGES IN LIBTIFF: - - -
      -
    • tif_fax3.c: keep rw_mode flag internal to fax3 state to remember - whether we are encoding or decoding. This is to ensure graceful - recovery if TIFFClientOpen() discovers an attempt to open a compressed - file for "r+" access, and subsequently close it, as it resets the - tif_mode flag to O_RDONLY in this case to avoid writes, confusing the - compressor's concept of whether it is in encode or decode mode. -
    • tif_luv.c/tiff.h/tiffio.h: - New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward - (greg@shutterfly.com). He writes: - -
        -
      1. I improved the gamut-mapping function in tif_luv.c for imaginary - colors, because some images were being super-saturated on the input - side and this resulted in some strange color shifts in the output. - -
      2. I added a psuedotag in tiff.h to control random dithering during - LogLuv encoding. This is turned off by default for 32-bit LogLuv and - on for 24-bit LogLuv output. Dithering improves the average color - accuracy over the image. - -
      3. I added a #define for LOG_LUV_PUBLIC, which is enabled by default in - tiffio.h, to expose internal routines for converting between LogLuv and - XYZ coordinates. This is helpful for writing more efficient, - specialized conversion routines, especially for reading LogLuv files. -
      - -
    • libtiff/tif_dirinfo.c: don't declare tiffFieldInfo static on VMS. - -
    • Added TIFFTAG_COPYRIGHT support. -
    • tif_getimage.c: Added support for 16bit minisblack/miniswhite - images in RGBA interface. -
    • libtiff/tif_dirinfo.c: removed duplicate TIFFTAG_PHOTOSHOP as per - bug 44. -
    • libtiff/tif_dirwrite.c: Added support for TIFF_VARIABLE2 in the - case of writing TIFF_BYTE/TIFF_SBYTE fields as per bug 43. - -
    • libtiff/tif_dirinfo.c: Modified the TIFF_BYTE definition for - TIFFTAG_PHOTOSHOP to use a writecount of TIFF_VARIABLE2 (-3) to - force use of uint32 counts instead of short counts. - -
    • libtiff/tif_dirinfo.c: moved pixar and copyright flags to - ensure everything is in order. - -
    • Integrated experimental OJPEG support from Scott Marovich of HP. - -
    • libtiff/tif_open.c: Seek back to zero after failed read, - before writing header. - -
    • libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__ - when checking for 64 bit architectures as per bugzilla bug 67. -
    • libtiff/tif_getimage.c: Use memmove() instead of TIFFmemcpy() - in TIFFReadRGBATile() to avoid issues in cases of overlapping - buffers. See Bug 69 in Bugzilla. -
    • libtiff/tif_getimage.c: Don't complain for CMYK (separated) - images with more than four samples per pixel as per bug 73. - -
    • libtiff/tif_getimage.c: relax handling of contig case where -there are extra samples that are supposed to be ignored as per bug 75. This -should now work for 8bit greyscale or palletted images. - -
    • libtiff/tif_packbits.c: fixed memory overrun error as per bug 77. - -
    • libtiff/tif_getimage.c: Fixed problem with reading strips or -tiles that don't start on a tile boundary. Fix contributed by -Josep Vallverdu (from HP), and further described in bug 47. - -
    • libtif/tif_fax3.c: Removed #ifdef PURIFY logic, and modified to - always use the "safe" version, even if there is a very slight - cost in performance as per bug 54. -
    • libtiff/tif_lzw.c: added dummy LZWSetupEncode() to report an - error about LZW not being available. - -
    • libtiff/tif_dir.c: propagate failure to initialize compression - back from TIFFSetField() as an error status, so applications can - detect failure. - -
    • libtiff/tif_lzw.c: Avoid MS VC++ 5.0 optimization bug as per bug 78. - -
    • libtiff/tif_dirwrite.c: added TIFFRewriteDirectory() function. -Updated TIFFWriteDirectory man page to include TIFFRewriteDirectory. - -
    • libtiff/tiff.h: I have created COMPRESSION_CCITT_T4, - COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases - in keeping with TIFF 6.0 standard in tiff.h as per bug 83. - -
    • Added PHOTOMETRIC_ITULAB as per bug 90. - -
    - -


    - - - -CHANGES IN THE TOOLS: - -
      -
    • Brent Roman contributed updated tiffcp utility (and tiffcp.1) - with support for extracting subimages with the ,n syntax, and also - adding the -b bias removal flag. -
    • tiff2ps.c/tiff2ps.1: Substantial changes to tiff2ps by - Bruce A. Mallett, including a faster encoder, fixes for level - 2 PostScript, and support for the imagemask operator. -
    • fax2ps.c: Helge (libtiff at oldach.net) submitted fix -that corrects behaviour for non-Letter paper -sizes. (Bug 35) It fixes two problems: -
      - Without scaling (-S) the fax is now centered on the page size specified - with -H and/or -W. Before, fax2ps was using an obscure and practially - useless algorithm to allocate the image relative to Letter sized paper - which sometime sled to useless whitespace on the paper, while at the - same time cutting of the faxes printable area at the opposite border. -
      - - Second, scaling now preserves aspect ratio, which makes unusual faxes - (in particular short ones) print properly. - -
    • thumbnail.c: changed default output compression - to packbits from LZW since LZW isn't generally available. -
    • tiff2rgba.c: added -n flag to avoid emitting alpha component. Also added -a man page for tiff2rgba. - -
    • tiffcmp.c: Fixed multi samples per pixel support for ContigCompare -as per bug 53. -Updated bug section of tiffcmp.1 to note tiled file issues. - -
    • libtiff/tif_getimage.c: Fixed so that failure is properly - reported by gtTileContig, gtStripContig, gtTileSeparate and - gtStripSeparate as per bug 51. - - -
    - -


    - - - -CHANGES IN THE LZW COMPRESSION KIT: -
      -
    • Rewrote lzw patching process so that is required to enable full - LZW support is to drop the tif_lzw.c from the - libtiff-lzw-compression-kit over the one in the libtiff directory. - -
    • Some changes were made to make recovery from failure to - initialize the LZW compressor more graceful. - -
    • Note that as distributed libtiff support LZW decompression, but - not LZW compression. -
    - - - -CHANGES IN THE CONTRIB AREA: -
      -
    • Fixed distribution to include contrib/addtiffo/tif_ovrcache.{c,h}. -
    - - TIFF home page.
    - -
    - -Last updated $Date: 2004-11-26 14:37:20 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.6.0.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.6.0.html deleted file mode 100644 index 4d65197..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.6.0.html +++ /dev/null @@ -1,434 +0,0 @@ - - - -Changes in TIFF v3.6.0 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      -
    • New utility raw2tiff -for converting raw rasters into TIFF files. -
    • Lots of new tiff2ps options. -
    • Lots of new fax2tiff options. -
    • Lots of bug fixes for LZW, JPEG and OJPEG compression. -
    - -

    Custom Tag Support

    - -The approach to extending libtiff with custom tags has changed radically. -Previously, all internally supported TIFF tags had a place in the -private TIFFDirectory structure within libtiff to hold the values (if read), -and a "field number" (ie. FIELD_SUBFILETYPE) used to identify that tag. -However, every time a new tag was added to the core, the size of the -TIFFDirectory structure would changing, breaking any dynamically linked -software that used the private data structures.

    - -Also, any tag not recognised -by libtiff would not be read and accessable to applications without some -fairly complicated work on the applications part to pre-register the tags -as exemplified by the support for "Geo"TIFF tags by libgeotiff layered on -libtiff.

    - -Amoung other things this approach required the extension code -to access the private libtiff structures ... which made the higher level -non-libtiff code be locked into a specific version of libtiff at compile time. -This caused no end of bug reports!

    - -The new approach is for libtiff to read all tags from TIFF files. Those that -aren't recognised as "core tags" (those having an associated FIELD_ value, -and place for storage in the TIFFDirectory structure) are now read into a -dynamic list of extra tags (td_customValues in TIFFDirectory). When a new -tag code is encountered for the first time in a given TIFF file, a new -anonymous tag definition is created for the tag in the tag definition list. -The type, and some other metadata is worked out from the instance encountered. -These fields are known as "custom tags".

    - -Custom tags can be set and fetched normally using TIFFSetField() and -TIFFGetField(), and appear pretty much like normal tags to application code. -However, they have no impact on internal libtiff processing (such as -compression). Some utilities, such as tiffcp will now copy these custom -tags to the new output files.

    - -As well as the internal work with custom tags, new C API entry points -were added so that extension libraries, such as libgeotiff, could -define new tags more easily without accessing internal data structures. -Because tag handling of extension tags is done via the "custom fields" -mechanism as well, the definition provided externally mostly serves to provide -a meaningful name for the tag. - -The addition of "custom tags" and the altered approach to extending libtiff -with externally defined tags is the primary reason for the shift to the -3.6.x version number from 3.5.x.

    - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • configure, config.site: Fix for large files (>2GiB) support. New -option in the config.site: LARGEFILE="yes". Should be enougth for the large -files I/O. - -
    • configure: Set -DPIXARLOG_SUPPORT option along with -DZIP_SUPPORT. - -
    • html/Makefile.in: Updated to use groffhtml for generating html pages -from man pages. - -
    • configure, libtiff/Makefile.in: Added SCO OpenServer 5.0.6 support -from John H. DuBois III. - -
    • libtiff/{Makefile.vc, libtiff.def}: Missed declarations added. - -
    • libtiff/Makefile.in, tools/Makefile.in: Shared library will not be -stripped when installing, utility binaries will do be stripped. As per bug 93. - -
    • man/Makefile.in: Patch DESTDIR handling as per bug 95. - -
    • configure: OpenBSD changes for Sparc64 and DSO version as per bug 96. - -
    • config.site/configure: added support for OJPEG=yes option to enable -OJPEG support from config.site. - -
    • config.guess, config.sub: Updated from ftp.gnu.org/pub/config. - -
    • configure: Modify CheckForBigEndian so it can work in a cross -compiled situation. - -
    • configure, libtiff/Makefile.in: Changes for building on MacOS 10.1 -as per bug 94. - -
    • html/Makefile.in: added missing images per bug 92. - -
    • port/Makefile.in: fixed clean target per bug 92. -
    - -


    - - - -CHANGES IN LIBTIFF: - -
      - -
    • libtiff/tif_getimage.c: New function TIFFReadRGBAImageOriented() -implemented to retrieve raster array with user-specified origin position. - -
    • libtiff/tif_fax3.c: Fix wrong line numbering. - -
    • libtiff/tif_dirread.c: Check field counter against number of fields. - -
    • Store a list of opened IFD to prevent directory looping. - -
    • libtiff/tif_jpeg.c: modified segment_height calculation to always -be a full height tile for tiled images. Also changed error to just -be a warning. - -
    • libtiff/tif_lzw.c: fixed so that decoder state isn't allocated till -LZWSetupDecode(). Needed to read LZW files in "r+" mode. - -
    • libtiff/tif_dir.c: fixed up the tif_postdecode settings responsible -for byte swapping complex image data. - -
    • libtiff/tif_open.c: Removed error if opening a compressed file -in update mode bug (198). - -
    • libtiff/tif_write.c: TIFFWriteCheck() now fails if the image is -a pre-existing compressed image. That is, image writing to pre-existing -compressed images is not allowed. - -
    • html/man/*.html: Web pages regenerated from man pages. - -
    • libtiff/tif_jpeg.c: Hack to ensure that "boolean" is defined properly -on Windows so as to avoid the structure size mismatch error from libjpeg -(bug 188). - -
    • libtiff/tiff.h: #ifdef USING_VISUALAGE around previous Visual Age -AIX porting hack as it screwed up gcc. (bug 39) - -
    • libtiff/tiff.h: added COMPRESSION_JP2000 (34712) for LEAD tools -custom compression. - -
    • libtiff/tif_dirread.c: Another fix for the fetching SBYTE arrays -by the TIFFFetchByteArray() function. (bug 52) - -
    • libtiff/tif_dirread.c: Expand v[2] to v[4] in TIFFFetchShortPair() -as per bug 196. - -
    • libtiff/tif_lzw.c: Additional consistency checking added in -LZWDecode() and LZWDecodeCompat() fixing bugs 190 and 100. - -
    • libtiff/tif_lzw.c: Added check for valid code lengths in LZWDecode() -and LZWDecodeCompat(). Fixes bug 115. - -
    • tif_getimage.c: Ensure that TIFFRGBAImageBegin() returns the -return code from the underlying pick function as per bug 177. - -
    • libtiff/{tif_jpeg.c,tif_strip.c,tif_print.c}: Hacked tif_jpeg.c to -fetch TIFFTAG_YCBCRSUBSAMPLING from the jpeg data stream if it isn't -present in the tiff tags as per bug 168. - -
    • libtiff/tif_jpeg.c: Fixed problem with setting of nrows in -JPEGDecode() as per bug 129. - -
    • libtiff/tif_read.c, libtiff/tif_write.c: TIFFReadScanline() and -TIFFWriteScanline() now set tif_row explicitly in case the codec has -fooled with the value as per bug 129. - -
    • libtiff/tif_ojpeg.c: Major upgrade from Scott. Details in bug 156. - -
    • libtiff/tif_open.c: Pointers to custom procedures -in TIFFClientOpen() are checked to be not NULL-pointers. - -
    • libtiff/tif_lzw.c: Assertions in LZWDecode and LZWDecodeCompat -replaced by warnings. Now libtiff should read corrupted LZW-compressed -files by skipping bad strips as per bug 100. - -
    • libtiff/: tif_dirwrite.c, tif_write.c, tiffio.h: -TIFFCheckpointDirectory() -routine added as per bug 124. The -TIFFWriteDirectory -man page discusses this new function as well as the related -TIFFRewriteDirectory(). - -
    • libtiff/: tif_codec.c, tif_compress.c, tiffiop.h, tif_getimage.c: -Introduced -additional members tif->tif_decodestatus and tif->tif_encodestatus -for correct handling of unconfigured codecs (we should not try to read -data or to define data size without correct codecs). See bug 119. - -
    • tif_dirread.c: avoid div-by-zero if rowbytes is zero in chop func as -per bug 111. - -
    • libtiff/: tiff.h, tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c, -tif_dirwrite.c: Dwight Kelly added get/put code for new tag XMLPACKET as -defined in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 -spec INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes: -CLIPPATH, XCLIPPATHUNITS, YCLIPPATHUNITS, OPIIMAGEID, OPIPROXY and -INDEXED. Added PHOTOMETRIC tag value from TIFF technote 4 ICCLAB (=9). - -
    • libtiff/tif_getimage.c: Additional check for supported codecs added in -TIFFRGBAImageOK, TIFFReadRGBAImage, TIFFReadRGBAStrip and TIFFReadRGBATile now -use TIFFRGBAImageOK before reading a per bug 110. - -
    • libtiff/: tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c, -tif_dirwrite.c: Added routine -TIFFDataWidth for determining -TIFFDataType sizes instead of working with tiffDataWidth array -directly as per bug 109. - -
    • libtiff/: tif_dirinfo.c, tif_dirwrite.c: Added possibility to -read broken TIFFs with LONG type used for TIFFTAG_COMPRESSION, -TIFFTAG_BITSPERSAMPLE, TIFFTAG_PHOTOMETRIC as per bug 99. - -
    • libtiff/{tiff.h,tif_fax3.c}: Add support for __arch64__ as per bug 94. - -
    • libtiff/tif_read.c: Fixed TIFFReadEncodedStrip() to fail if the -decodestrip function returns anything not greater than zero as per bug 97. - -
    • libtiff/tif_jpeg.c: fixed computation of segment_width for -tiles files to avoid error about it not matching the -cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile -size.") for ITIFF files. Apparently the problem was incorporated since -3.5.5, presumably during the OJPEG/JPEG work recently. - -
    • libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1 -(defined in tiffconf.h - 1 by default) then the RGBA interface -will assume that a fourth extra sample is ASSOCALPHA if the -EXTRASAMPLE value isn't set for it. This changes the behaviour of -the library, but makes it work better with RGBA files produced by -lots of applications that don't mark the alpha values properly. -As per bugs 93 and 65. - -
    • libtiff/tif_jpeg.c: allow jpeg data stream sampling values to -override those from tiff directory. This makes this work with -ImageGear generated files. - -
    - -


    - - - -CHANGES IN THE TOOLS: - -
      - -
    • tiff2ps: Added page size setting -when creating PS Level 2. - -
    • tiff2ps: Fixed PS comment emitted when -FlateDecode is being used. - -
    • tiffsplit: increased the maximum -number of pages that can be split. - -
    • raw2tiff: Added option `-p' to -explicitly select color space of input image data. - -
    • tiffmedian: Suppiort for large -(> 2GB) images. - -
    • ppm2tiff: Fixed possible endless loop. - -
    • tiff2rgba: Switched to use -TIFFReadRGBAImageOriented() -instead of TIFFReadRGBAImage(). - -
    • tiffcmp: Fixed problem with unused data -comparing (bug 349). `-z' option now can be used to set the number of reported -different bytes. - -
    • tiffcp: Added possibility to specify -value -1 to -r option to get the entire image as one strip (bug 343). - -
    • tiffcp: Set the correct RowsPerStrip -and PageNumber values (bug 343). - -
    • fax2tiff: Page numbering fixed (bug -341). - -
    • ppm2tiff: PPM header parser improved: -now able to skip comments. - -
    • tiff2ps: Force deadzone printing when -EPS output specified (bug 325). - -
    • tiff2ps: Add ability to generate -PS Level 3. It basically allows one to use the /flateDecode filter for ZIP -compressed TIFF images. Patch supplied by Tom Kacvinsky (bug 328). - -
    • tiffcp: Fixed problem with colorspace -conversion for JPEG encoded images (bugs 23 and 275) - -
    • fax2tiff: Applied patch from -Julien Gaulmin. More switches for fax2tiff tool for better control -of input and output (bugs 272 and 293). - -
    • raw2tiff: -New utility for turning raw raster images into TIFF files -written by Andrey Kiselev. - -
    • tiff2ps: -Sebastian Eken provided patches (bug 200) to add new these new -switches: -
        -
      • -b #: for a bottom margin of # inches -
      • -c: center image -
      • -l #: for a left margin of # inches -
      • -r: rotate the image by 180 degrees -
      - -Also, new features merged with code for shrinking/overlapping. - -
    • tiff2ps: Don't emit BeginData/EndData -DSC comments since we are unable to properly include the amount to skip -as per bug 80. - -
    • tiff2ps: Added workaround for some -software that may crash when last strip of image contains fewer number -of scanlines than specified by the `/Height' variable as per bug 164. - -
    • tiff2ps: Patch from John Williams to add new -functionality for tiff2ps utility splitting long images in several pages as -per bug 142. New switches: -
        -
      • -H #: split image if height is more than # inches -
      • -L #: overLap split images by # inches -
      - -
    • tiff2ps: New commandline -switches to override resolution units obtained from the input file per bug 131: -
        -
      • -x: override resolution units as centimeters -
      • -y: override resolution units as inches -
      - -
    • fax2tiff: Updated to reflect -latest changes in libtiff per bug 125. - -
    • tiff2ps: Division by zero fixed as per bug 88. - -
    • tiffcp: -Added support for 'Orientation' tag. - -
    • tiffdump: -include TIFFTAG_JPEGTABLES in tag list. - -
    • tiffset: fix bug in error reporting. - -
    - -


    - - - -CHANGES IN THE CONTRIB AREA: -
      - -
    • Fixed distribution to include contrib/addtiffo/tif_ovrcache.{c,h}. -
    • libtiff/contrib/win95: renamed to contrib/win_dib. Added new -Tiffile.cpp example of converting TIFF files into a DIB on Win32 as per -bug 143. - -
    - - - -CHANGES IN THE LZW COMPRESSION -KIT: -
      - -
    • LZW compression kit synchronized with actual libtiff version. - -
    - - TIFF home page.
    - -
    - -Last updated $Date: 2003-10-04 11:38:17 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.6.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.6.1.html deleted file mode 100644 index 58e5605..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.6.1.html +++ /dev/null @@ -1,199 +0,0 @@ - - - -Changes in TIFF v3.6.1 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - - - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      - -
    • libtiff/makefile.vc, tools/makefile.vc: Support for IJG JPEG library. - -
    • Makefile.in: Add an absolute path to the test_pics.sh call. - -
    • Makefile.in: Add an absolute path to the test_pics.sh call. - -
    • libtiff/tiffcomp.h: #define _BSDTYPES_DEFINED when defining BSD typedefs. - -
    • configure, libtiff/{Makefile.in, mkversion.c}: Relative buildings fixed. - -
    • Makefile.in: Add an absolute path to the test_pics.sh call. - -
    - -


    - - - -CHANGES IN LIBTIFF: - -
      - -
    • libtiff/{tif_color.c, tif_getimage.c, tiffio.h}: Added support -for ReferenceBlackWhite tag handling when converted from YCbCr color space as -per bug 120. - -
    • libtiff/{tif_getimage.c, tif_aux.c}: Read WhitePoint tag from the -file and properly use it for CIE Lab 1976 to RGB transform. - -
    • libtiff/{tif_getimage.c, tiffio.h}: Finally resolved problems with -orientation handling. TIFFRGBAImage interface now properly supports all -possible orientations, i.e. images will be flipped both in horizontal and -vertical directions if required. 'Known bugs' section now removed from the -appropriate manual pages. - -
    • libtiff/tif_luv.c: Fixed bug in 48-bit to 24-bit conversion routine, -reported by Antonio Scuri. - -
    • libtiff/{tiffio.h, tif_codec.c}: Added new function -TIFFIsCODECConfigured(), suggested by Ross Finlayson. - -
    • libtiff/tif_ojpeg.c: TIFFVGetField() function now can properly extract -the fields from the OJPEG files. Patch supplied by Ross Finlayson. - -
    • libtiff/tif_dir.h: _TIFFFindOrRegisterdInfo declaration replaced -with _TIFFFindOrRegisterFieldInfo as reported by Ross Finlayson. - -
    • libtiff/tif_dirinfo.c: Implemented binary search in _TIFFMergeFieldInfo(). -Patch supplied by Ross Finlayson. - -
    • tif_dirread.c: do not mark all anonymously defined tags to be IGNOREd (as -it was done in 3.6.0). - -
    • libtiff/{tiff.h, tif_dirinfo.c}: Added support for IFD (13) datatype, -intruduced in "Adobe PageMaker TIFF Technical Notes". - -
    • libtiff/{tif_color.c, tif_getimage.c, tiffio.h}: New color space -conversion code: CIE L*a*b* 1976 images now supported by the TIFFRGBAImage -interface. YCbCr to RGB conversion code also moved there and now has -publicly available interface. These -routines currently used in TIFFRGBAImage interface only and not supported in -other libtiff tools yet. So if you want, for example, to convert CIE Lab image -into PostScript file you should do it in two steps: chnge colorspace to RGB -using tiff2rgba utility abd then process -it with the tiff2ps. - -
    • libtiff/tif_tile.c: Remove spurious use of "s" (sample) in the -planarconfig_contig case in TIFFComputeTile() as per bug 387 - -
    • libtiff/tiffiop.h: New macros: TIFFmax and TIFFmin. - -
    • libtiff/{tiffio.h, tif_strip.c}: Added TIFFRawStripSize() function -as suggested by Chris Hanson. - -
    • libtiff/{tif_lzw.c, tif_fax3.c}: Proper support for update mode -as per bug 424. - -
    - -


    - - - -CHANGES IN THE TOOLS: - -
      - -
    • tiff2pdf: New tool, written by -Ross Finlayson, to directly convert TIFF files to PDF. - -
    • tiffgt: Unmaintained and platform -dependent sgigt utility removed and replaced with the completely rewritten -portable tiffgt tool (depend on OpenGL and -GLUT). This tool will not build by default. - -
    • ras2tiff: Properly determine -SUN Rasterfiles with the reverse byte order (it is reported by the magic -header field). Problem reported by Andreas Wiesmann. - -
    • raw2tiff: Implemented image size -guessing using correlation coefficient calculation between two neighbour -lines. - -
    - -


    - - - -CHANGES IN THE CONTRIB AREA: -
      - -
    • contrib/pds/{tif_pdsdirread.c, tif_pdsdirwrite.c}: Use TIFFDataWidth() -function insted of tiffDataWidth array. - -
    - - - -CHANGES IN THE LZW COMPRESSION -KIT: -
      - -
    • Proper support for update mode as per bug 424. - -
    - - TIFF home page.
    - -
    - -Last updated $Date: 2003-12-24 22:14:15 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0.html deleted file mode 100644 index 7397756..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - Changes in TIFF v3.7.0 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      - -
    • Several bugs found after 3.7.0beta2 release were fixed. - -
    - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • ltmain.sh: Fix for MinGW compilation. -
    - -


    - - - -CHANGES IN LIBTIFF: - -
      - -
    • libtiff/{tif_dirread.c, tif_jpeg.c, tif_luv.c, tif_ojpeg.c, - tif_pixarlog.c, tif_write.c}: Handle the zero strip/tile sizes - properly (Dmitry V. Levin, Marcus Meissner). - -
    • libtiff/tif_dirinfo.c: Type of the TIFFTAG_SUBIFD field changed - to TIFF_IFD. - -
    • Preliminary support for BigTIFF files: now libtiff can - recognize and reject to open such images. ;-) - -
    • libtiff/tif_dir.c: Initialize td_tilewidth and td_tilelength fields - of the TIFFDirectory structure with the 0 instead of -1 to avoid - confusing integer overflows in TIFFTileRowSize() for striped images. - -
    • libtiff/tif_dir.c: Initialize td_tilewidth and td_tilelength fields - of the TIFFDirectory structure with the 0 instead of -1 to avoid - confusing integer overflows in TIFFTileRowSize() for striped images. - -
    • libtiff/tif_dirinfo.c: Fix bug with tif_foundfield and reallocation - of tif_fieldinfo as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=630 - -
    • libtiff/tif_compress.c: Improved error reporting in - TIFFGetConfiguredCODECs() (Dmitry V. Levin). - -
    - -


    - - - -CHANGES IN THE TOOLS: - -
      -
    • tiffcmp.c (leof): Renamed from 'eof' in order to avoid - conflict noticed under MinGW. - -
    • tiff2pdf.c: Fixed TransferFunction tag handling reported - by Ross A. Finlayson. - -
    - -


    - - - -CHANGES IN THE CONTRIB AREA: - -
      - -
    • No changes. - -
    - - - -CHANGES IN THE LZW COMPRESSION -KIT: -
      - -
    • This one is not longer needed. - -
    - - TIFF home page.
    - -
    - -Last updated $Date: 2004-12-20 19:31:44 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0alpha.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0alpha.html deleted file mode 100644 index d18de35..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0alpha.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - Changes in TIFF v3.7.0alpha - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      -
    • Significant changes in software configuration: we are switched - to GNU autotools now. - -
    • tiffset: tiffset now can set any libtiff supported tags. Tags - can be supplied by the mnemonic name or number. -
    - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • Get rid of the old configuration system and switch to - GNU autotools. -
    - -


    - - - -CHANGES IN LIBTIFF: - - - -


    - - - -CHANGES IN THE TOOLS: - -
      -
    • tiffset: tiffset now can set any libtiff supported tags. Tags - can be supplied by the mnemonic name or number. - -
    • ycbcr.c: fixed main() declaration as per: - - http://bugzilla.remotesensing.org/show_bug.cgi?id=513. - -
    • tiffsplit: Don't forget - to copy Photometric Interpretation tag. - -
    • tiffsplit: Fixed problem with - unproperly written multibyte files. Now output files will be written - using the same byte order flag as in the input image. See - . - -
    • tiffsplit: Copy JPEGTables - tag contents for JPEG compressed images. Reported by Artem Mirolubov. - -
    • tiffcp: Close output file - on normal exit. - -
    • tiffcp: Don't emit warnings - when Orientation tag does not present in the input image. - -
    • tiffcp: Properly set - Photometric Interpretation in case of JPEG compression of grayscale - images. - -
    • tiffcp: Fixed problem with wrong - interpretation of the InkNames tag as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=466. - Memory leak fixed. - -
    • tiffcp: Fixed problem with - wrong Photometric setting for non-RGB images. - -
    - -


    - - - -CHANGES IN THE CONTRIB AREA: - -
      - -
    • Outdated stuff removed. - -
    • Almost all programs are sinchronized with the current libtiff - and should compile without problems. - -
    - - - -CHANGES IN THE LZW COMPRESSION -KIT: -
      - -
    • No changes. - -
    - - TIFF home page.
    - -
    - -Last updated $Date: 2006-03-18 17:12:47 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0beta.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0beta.html deleted file mode 100644 index 81701f0..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0beta.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - Changes in TIFF v3.7.0beta - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      -
    • LZW compression enabled by default. You don't need the separate - compression kit anymore. - -
    • bmp2tiff: Added new utility to convert Windows BMP files - into TIFFs. - -
    • The first attempt to implement a test suite. -
    - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • Many portability fixes in the new autotooled build suite. -
    - -


    - - - -CHANGES IN LIBTIFF: - -
      -
    • libtiff/{tif_luv.c, tif_next.c, tif_thunder.c}: Several buffer - overruns fixed, as noted by Chris Evans. - -
    • BSD data types (u_char, u_short, u_int, u_long) is no longer - used internally in the libtiff. Should result in simpler configuration - and better portability. - -
    • libtiff/tiff.h: Fix column tagging. Reference current Adobe XMP - specification. Reference libtiff bug tracking system to submit - private tag additions. - -
    • libtiff/tif_dirread.c: Don't reject to read tags of the - SamplesPerPixel size when the tag count is greater than number of - samples as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=576. - -
    • libtiff/{tiffio.h, tif_open.c}: Applied patches from - Joris Van Damme to avoid requirement for tiffiop.h inclusion in - some applications. Look for details here: - - http://www.asmail.be/msg0054799560.html. - -
    • libtiff/{tiffiop.h, tif_dirinfo.c}: Fixed problem with the static - variable as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=593. - -
    • libtiff/tif_lzw.c: LZW compression code is merged back from the - separate package. All libtiff tools are updated to not advertise an - abcence of LZW support. - -
    • libtiff/tif_dir.c: Call TIFFError() instead of producing warnings - when setting custom tags by value. Reported by Eric Fieleke. - -
    - -


    - - - -CHANGES IN THE TOOLS: - -
      -
    • tiff2ps: Avoid zero division in setupPageState() function; - properly initialize array in PSDataBW(). - -
    • tiff2pdf: Multiple bugfixes. - -
    • ras2tiff: Fixed issue with missed big-endian checks as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=586. - -
    • bmp2tiff: Added new utility to convert Windows BMP files - into TIFFs. - -
    - -


    - - - -CHANGES IN THE CONTRIB AREA: - -
      - -
    • No changes. - -
    - - - -CHANGES IN THE LZW COMPRESSION -KIT: -
      - -
    • This one is not longer needed. - -
    - - TIFF home page.
    - -
    - -Last updated $Date: 2006-03-18 17:12:47 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0beta2.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0beta2.html deleted file mode 100644 index 151524a..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.0beta2.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - Changes in TIFF v3.7.0beta2 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      - -
    • The code has been reviewed by Dmitry Levin: added checks - for values, returned by the space allocation functions, fixed - problems with the possible integer overflows. - -
    - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • Several fixes in the test suite. -
    - -


    - - - -CHANGES IN LIBTIFF: - -
      - -
    • Preliminary support for BigTIFF files: now libtiff can - recognize and reject to open such images. ;-) - -
    • libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to - TIFFTAG_BYTE instead of TIFFTAG_UNDEFINED to comply with the info - in the Adobe XMP Specification. - -
    • Added many checks for integer overflow and for successful space - allocations in the different parts of library. Code review - completed by Dmitry V. Levin. - -
    • libtiff/{tiffio.h, tif_compress.c}: Added - TIFFGetConfiguredCODECs()function to get the list of configured codecs. - -
    - -


    - - - -CHANGES IN THE TOOLS: - -
      -
    • tiff2bw: Write ImageWidth/Height tags to output file, as - noted by Gennady Khokhorin. - -
    - -


    - - - -CHANGES IN THE CONTRIB AREA: - -
      - -
    • No changes. - -
    - - - -CHANGES IN THE LZW COMPRESSION -KIT: -
      - -
    • This one is not longer needed. - -
    - - TIFF home page.
    - -
    - -Last updated $Date: 2006-03-18 17:12:47 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.1.html deleted file mode 100644 index d3ffb7a..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.1.html +++ /dev/null @@ -1,233 +0,0 @@ - - - - Changes in TIFF v3.7.1 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      - -
    • This is mostly bugfix release. Most important fix is the one - related to wrong custom tag read/write code. - -
    - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      - -
    • autogen.sh: aclocal and autoheader should be executed after - libtoolize. Also add '-I .' to aclocal invocation to check - current directory for macros. - -
    • nmake.opt: Link with the user32.lib in windowed mode. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=697 - -
    • nmake.opt, makefile.vc: make it easier to rename the libtiff DLL. - -
    • configure, configure.ac: Added --enable-rpath option to embed - linker paths into library binary. - -
    - -


    - - - -CHANGES IN LIBTIFF: - - - -


    - - - -CHANGES IN THE TOOLS: - -
      - -
    • fax2ps.c: Be able to extract the first page (#0). As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=690 - -
    • tiff2ps.c: Fixed wrong variable data type when read Position - tags (Tristan Hill). - -
    • tiff2ps.c: Fixed wrong variable data type when read Resolution - tags (Peter Fales). - -
    • tiffset.c: Check the malloc return value (Dmitry V. Levin). - -
    - -


    - - - -CHANGES IN THE CONTRIB AREA: - -
      - -
    • No changes. - -
    - -Last updated $Date: 2004-12-20 19:31:44 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.2.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.2.html deleted file mode 100644 index 415ee6f..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.2.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - Changes in TIFF v3.7.2 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      - -
    • Maintainance release. Many bugfixes in the build environment - and compatibility improvements. - -
    - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - - - -


    - - - -CHANGES IN LIBTIFF: - - - -


    - - - -CHANGES IN THE TOOLS: - - - -


    - - - -CHANGES IN THE CONTRIB AREA: - -
      - -
    • No changes. - -
    - -Last updated $Date: 2005-03-15 15:17:44 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.3.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.3.html deleted file mode 100644 index 0eee449..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.3.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - Changes in TIFF v3.7.3 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      -
    • Replace runtime endianess check with the compile time one. - -
    • Added support for the new predictor type (floating point - predictor), defined at the TIFF Technical Note 3. - -
    • Added Support for custom tags, passed by value. - Added support for all DNG tags. -
    - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - - - -


    - - - -CHANGES IN LIBTIFF: - -
      -
    • tiffiop.h, tif_open.c: Added open option 'h' to avoid reading - the first IFD when needed. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=875 - -
    • tiff.h: Use correct int size on Sparc 64bit/Sun compiler - platform. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=855 - -
    • tif_dirinfo.c: Added support for ClipPath, XClipPathUnits - and YClipPathUnits tags. - -
    • tif_dirinfo.c, tif_dir.h, tif_dir.c, tif_print.c: Make - DocumentName, Artist, HostComputer, ImageDescription, Make, Model, - Copyright, DateTime, PageName, TextureFormat, TextureWrapModes and - TargetPrinter tags custom. - -
    • tif_jpeg.c: Cleanup the codec state depending on TIFF_CODERSETUP - flag (to fix memory leaks). - -
    • tif_dirwrite.c: Use tdir_count when calling - TIFFCvtNativeToIEEEDouble() in the TIFFWriteDoubleArray() function as - per bug - http://bugzilla.remotesensing.org/show_bug.cgi?id=845 - -
    • tif_dirinfo.c, tif_print.c: TIFFFetchByteArray() returns - uint16 array when fetching the BYTE and SBYTE fields, so we should - consider result as pointer to uint16 array and not as array of chars. - As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=831 - -
    • tif_dir.c: More efficient custom tags retrieval as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=830 - -
    • tif_win32.c: Use FILE_SHARE_READ | FILE_SHARE_WRITE share - mode in CreateFile() call as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=829 - -
    • tif_jpeg.c: Substantial fix for addtiffo problems with - JPEG encoded TIFF files. Pre-allocate lots of space for jpegtables - in directory. - -
    • tif_dirread.c: Changed the code that computes - stripbytecount[0] if it appears bogus to ignore if stripoffset[0] is - zero. This is a common case with GDAL indicating a "null" tile/strip. - -
    • tif_jpeg.c: added LIB_JPEG_MK1 support in JPEGDecodeRaw(). - -
    • tif_dirread.c: Ensure that broken files with too many - values in PerSampleShorts, TIFFFetchPerSampleLongs and - TIFFFetchPerSampleAnys work ok instead of crashing. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=843 - -
    • tif_predict.h, tif_predict.c: Added ability to decode and encode - floating point predictor, as per TIFF Technical Note 3. - See http://chriscox.org/TIFF_TN3_Draft2.pdf for details. - -
    • tiffio.h, tiffiop.h, tif_dir.c, tif_read.c, tif_swab.c: - Added _TIFFSwab24BitData() and TIFFSwabArrayOfLong() functions used to - swap 24-bit floating point values. - -
    • tiff.h: Added predictor constants. - -
    • tiffiop.h, tif_dir.c: Use uint32 type for appropriate values - in _TIFFVSetField() function. Inspired by the bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=816 - -
    • tif_open.c: Do not read header in case the output file should - be truncated (Ron). - -
    • tif_dirinfo.c, tif_config.h.vc: Use lfind() instead of bsearch() - in _TIFFFindFieldInfoByName() function (Ron). - -
    • tif_dir.c, tif_print.c: Properly handle all data types in custom - tags. - -
    • dirinfo.c: Added DNG tags. - -
    • tiff.h: Added missed DNG tag (LensInfo); added DNG 1.1.0.0 tags. - -
    • tif_dir.c, tif_print.c: Added Support for custom tags, passed - by value. - -
    • tiff.h, tif_dirinfo.c, tiffiop.h: Added EXIF related tags. -
    - -


    - - - -CHANGES IN THE TOOLS: - - - -


    - - - -CHANGES IN THE CONTRIB AREA: - -
      - -
    • addtiffo/{tif_overview.c, tif_ovrcache.c, tif_ovrcache.h}: - Make overviews working for contiguous images. - -
    - -Last updated $Date: 2006-01-04 22:04:46 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.4.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.4.html deleted file mode 100644 index 3ef394b..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.7.4.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - Changes in TIFF v3.7.4 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      -
    • Fixed important bug in custom tags handling code.. -
    - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • Applied patch from Patrick Welche (all scripts moved in the - 'config' and 'm4' directories). - -
    • SConstruct, libtiff/SConstruct: Added the first very preliminary - support for SCons software building tool (http://www.scons.org/). - This is experimental infrastructure and it will exist along with the - autotools stuff. - -
    • port/lfind.c: Added lfind() replacement module. -
    - -


    - - - -CHANGES IN LIBTIFF: - -
      -
    • tif_dir.c: When prefreeing tv->value in TIFFSetFieldV - also set it to NULL to avoid double free when re-setting custom - string fields as per: - - http://bugzilla.remotesensing.org/show_bug.cgi?id=922 - -
    • tif_dir.c: Fixed up support for swapping "double complex" - values (128 bits as 2 64 bits doubles). GDAL gcore tests now - pass on bigendian (macosx) system. - -
    • libtiff/{tif_dirread.c, tif_dirinfo.c}: Do not upcast BYTEs to - SHORTs in the TIFFFetchByteArray(). Remove TIFFFetchExtraSamples() - function, use TIFFFetchNormalTag() instead as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=831 - - Remove TIFFFetchExtraSamples() function, use TIFFFetchNormalTag() - instead. - -
    • tif_print.c: Fixed printing of the BYTE and SBYTE arrays. - -
    • tif_write.c: Do not check the PlanarConfiguration field in - the TIFFWriteCheck() function in case of single band images (as per - TIFF spec). - -
    • libtiff/{tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_print.c}: - Make FieldOfViewCotangent, MatrixWorldToScreen, MatrixWorldToCamera, - ImageFullWidth, ImageFullLength and PrimaryChromaticities tags custom. -
    - -


    - - - -CHANGES IN THE TOOLS: - -
      -
    • tiffcp.c: Fixed WhitePoint tag copying. -
    - -


    - - - -CHANGES IN THE CONTRIB AREA: - -
      -
    • tiffdump.c: Added support for TIFF_IFD datatype. - -
    • addtiffo/{tif_overview.c, tif_ovrcache.c, tif_ovrcache.h}: - Make overviews working for contiguous images. - -
    - -Last updated $Date: 2005-11-03 14:18:43 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.8.0.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.8.0.html deleted file mode 100644 index ecd5b74..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.8.0.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - Changes in TIFF v3.8.0 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      -
    • Read-only support for custom directories (e.g. EXIF directory). - -
    • Preliminary support for MS MDI format. -
    - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • Make the default strip size configurable via the - --with-default-strip-size and STRIP_SIZE_DEFAULT options. -
    - -


    - - - -CHANGES IN LIBTIFF: - -
      -
    • tiffio.h: Added VC_EXTRALEAN definition before including - windows.h, to reduce the compile time. - -
    • tif_jpeg.c: Improve compilation under MinGW. - -
    • {tif_aux.c, tif_dir.c, tif_dir.h, tif_dirwrite.c, - tif_print.c, tif_getimage.c}: Make InkSet, NumberOfInks, DotRange and - StoNits tags custom. - -
    • {tif_aux.c, tif_dir.c, tif_dir.h, tif_print.c}: Make - WhitePoint tag custom. - -
    • tiffio.h: fixed typo that potentially resulted in - redefininition of USE_WIN32_FILEIO - -
    • {tif_dir.c, tif_dir.h, tif_print.c}: Make RichTIFFIPTC, - Photoshop and ICCProfile tags custom. - -
    • libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling - newer code to get context indicator in error handler and still - remain compatible with older code: Done TIFFError calls everywhere - except in tools. - -
    • tiffinfo.c: Print EXIF directory contents if exist. - -
    • {tif_dirinfo.c, tif_dirread.c, tif_dir.h, tif_dir.c}: - Custom directory read-only support. - -
    • {tif_aux.c, tif_dirinfo.c, tif_dirread.c, tif_dir.h, - tif_dir.c, tif_print.c}: Make YCbCrCoefficients and ReferenceBlackWhite - tags custom. - -
    • tif_dirread.c: One more workaround for broken StripByteCounts - tag. Handle the case when StripByteCounts array filled with - completely wrong values. - -
    • tif_dirinfo.c: Release file descriptor in case of failure - in the TIFFOpenW() function as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1003 - -
    • tif_dirinfo.c: Correctly yse bsearch() and lfind() - functions as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1008 - -
    • tif_open.c, tiff.h, tiffdump.c: Incorporate preliminary support - for MS MDI format. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1002 - -
    • libtiff.def, tiffiop.h, tiffio.h: Made TIFFFreeDirectory - public. - -
    • /tif_dirinfo.c: Make XResolution, YResolution and - ResolutionUnit tags modifiable during write process. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=977 - -
    • if_dirread.c: Don't try and split single strips into "0" strips - in ChopUpSingleUncompressedStrip. This happens in some degenerate - cases (like 1x1 files with stripbytecounts==0 (gtsmall.jp2 embed tiff) - -
    • tif_fax3.c: changed 'at scanline ...' style warning/errors - with incorrect use of tif_row, to 'at line ... of - strip/tile ...' style. -
    - -


    - - - -CHANGES IN THE TOOLS: - - - -


    - - - -CHANGES IN THE CONTRIB AREA: - -
      -
    • contrib/addtiffo/*: Major upgrade by Joris to support subsampled - YCbCr images in jpeg compressed TIFF files. - -
    - -Last updated $Date: 2006-01-04 23:38:38 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.8.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.8.1.html deleted file mode 100644 index 9753093..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.8.1.html +++ /dev/null @@ -1,217 +0,0 @@ - - - - Changes in TIFF v3.8.1 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      -
    • Bug-fix release. -
    - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      -
    • libtool related stuff updated from the 2.1a branch. - -
    • Fix with_default_strip_size comparison as reported by - Norihiko Murase. -
    - -


    - - - -CHANGES IN LIBTIFF: - - - -


    - - - -CHANGES IN THE TOOLS: - - - -


    - - - -CHANGES IN THE CONTRIB AREA: - -
      -
    - -Last updated $Date: 2006-03-13 14:52:12 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.8.2.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.8.2.html deleted file mode 100644 index 0422975..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.8.2.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - Changes in TIFF v3.8.2 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      -
    • Bug-fix release. -
    - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - - - -


    - - - -CHANGES IN LIBTIFF: - -
      -
    • tif_strip.c: Take subsampling in account when calculating - TIFFScanlineSize(). - -
    • tif_jpeg.c, tif_fax3.c, tif_zip.c, tif_pixarlog.c, - tif_lzw.c, tif_luv.c: Use _TIFFSetDefaultCompressionState() in all - codec cleanup methods. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1120 - -
    • tif_jpeg.c: Do not cleanup codec state in TIFFInitJPEG(). As - per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1119 - -
    • tif_dir.c: Use double type instead of dblparam_t. - -
    • tif_dirread.c: Do not check the PlanarConfig tag presence - in TIFFReadDirectory, because it is always set at the start of - function and we allow TIFFs without that tag set. - -
    - -


    - - - -CHANGES IN THE TOOLS: - - - -


    - - - -CHANGES IN THE CONTRIB AREA: - -
      -
    - -Last updated $Date: 2006-03-23 14:54:01 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.9.0beta.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.9.0beta.html deleted file mode 100644 index d7d8821..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.9.0beta.html +++ /dev/null @@ -1,304 +0,0 @@ - - - - Changes in TIFF v3.9.0beta - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). -If you don't find something listed here, then it was not done in this -timeframe, or it was not considered important enough to be mentioned. -The following information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      -
    • New tiffcrop utility contributed by Richard Nolde. - tiffcrop does the same as tiffcp, but also can crop, - extract, rotate and mirror images. - -
    • tif_jbig.c: Added support for JBIG compression scheme - (34661 code), contributed by Lee Howard. - -
    • Totally new implementation of OJPEG module from - Joris Van Damme. No need to patch libjpeg anymore. Many OJPEG files - should be supported now that was not supported previously. - -
    - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      - -
    • tif_config.wince.h, tiffconf.wince.h, tif_wince.c: WinCE-specific - compatibility stuff from Mateusz Loskot. - -
    • Rename config.h.vc and tif_config.h.vc to config.vc.h and - tif_config.vc.h for easier identification by folks using an IDE. - -
    • configure, configure.ac: OJPEG support enabled by default (i.e., - whe the conformant JPEG support enabled). - -
    • README.vms, Makefile.am, configure.com, libtiff/{Makefile.am, - tif_config.h-vms, tif_stream.cxx, tif_vms.c, tiffconf.h-vms}: - Added support for OpenVMS by Alexey Chupahin. - -
    • nmake.opt: use /EHsc for VS2005 compatibility. Also define - _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005. - -
    - -


    - - - -CHANGES IN LIBTIFF: - -
      -
    • tif_dirinfo.c (_TIFFFindFieldInfo): Don't attempt to - bsearch() on a NULL fieldinfo list. - (_TIFFFindFieldInfoByName): Don't attempt to lfind() on a NULL - fieldinfo list. - -
    • tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it - will convert from decompressor to compressor or compress to decompress - if required by the force arguments. This works around a problem in - where the JPEGFixupTestSubsampling() may cause a decompressor to - be setup on a directory when later a compressor is required with the - force flag set. Occurs with the addtiffo program for instance. - -
    • tif_dirwrite.c: Fixed swapping of byte arrays stored - in-place in tag offsets as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1363 - -
    • tif_getimage.c: workaround for 'Fractional scanline' error - reading OJPEG images with rowsperstrip that is not a multiple of - vertical subsampling factor. This bug is mentioned in - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1390 and - - http://www.asmail.be/msg0054766825.html - -
    • tif_dirread.c: Added special function to handle - SubjectDistance EXIF tag as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1362 - -
    • tif_dirread.c, tif_read.c: Type of the byte counters - changed from tsize_t to uint32 to be able to work with data arrays - larger than 2GB. Fixes bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=89 - Idea submitted by Matt Hancher. - -
    • tif_dir.c: Workaround for incorrect TIFFs with - ExtraSamples == 999 produced by Corel Draw. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1490 - -
    • tif_write.c: TIFFAppendToStrip() - clear sorted flag if - we move a strip. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1359 - -
    • tif_fax3.c: Save the state of printdir codec dependent method. - -
    • tif_jpeg.c: Save the state of printdir codec dependent method - as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1273 - -
    • tif_win32.c: Fixed problem with offset value manipulation - as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1322 - -
    • tif_fax3.c, tif_next.c, tif_pixarlog.c: Fixed multiple - vulnerabilities, as per Gentoo bug (): - - http://bugs.gentoo.org/show_bug.cgi?id=142383 - -
    • tif_lzw.c, tif_zip.c: Fixed problems with mixing - encoding and decoding on the same read-write TIFF handle. The LZW - code can now maintain encode and decode state at the same time. The - ZIP code will switch back and forth as needed. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=757 - -
    • tif_msdos.c: Avoid handle leak for failed opens. - c/o Thierry Pierron - -
    • tif_dirwrite.c: take care not to flush out buffer of strip/tile - data in _TIFFWriteDirectory if TIFF_BEENWRITING not set. Relates - to bug report by Peng Gao with black strip at bottom of images. - -
    • tif_dirwrite.c: make sure to use uint32 for wordcount in - TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields. - It already seems to have been done for other field types. Needed - for "tiffset" on files with geotiff ascii text. - -
    • tif_dirinfo.c: Added missed EXIF tag ColorSpace (40961). - -
    • tif_dirread.c: Move IFD fetching code in the separate - function TIFFFetchDirectory() avoiding code duplication in - TIFFReadDirectory() and TIFFReadCustomDirectory(). - -
    • tif_readdir.c: Added case in EstimateStripByteCounts() for tiled - files. Modified TIFFReadDirectory() to not invoke - EstimateStripByteCounts() for case where entry 0 and 1 are unequal but - one of them is zero. - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1204 - -
    • tif_open.c, tif_dirread.c, tiffiop.h: Move IFD looping - checking code in the separate function TIFFCheckDirOffset(). - -
    • tif_aux.c: Added _TIFFCheckRealloc() function. - -
    • tif_fax3.c: Fixed problems in fax decoder as per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=1194 - -
    • tif_jbig.c: Added support for JBIG compression scheme - (34661 code) contributed by Lee Howard. As per bug - - http://bugzilla.remotesensing.org/show_bug.cgi?id=896 - -
    • tif_getimage.c: Added support for planarconfig separate - non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1]). - -
    • tif_getimage.c: Revision of all RGB(A) put routines: -
        -
      • Conversion of unassociated alpha to associated alpha - now done with more performant LUT, and calculation more - correct. -
      • Conversion of 16bit data to 8bit data now done with - more performant LUT, and calculation more correct -
      • Bugfix of handling of 16bit RGB with unassociated alpha -
      - -
    • tif_ojpeg.c: totally new implementation - -
    • tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling - of OJPEG images in favor of tif_getimage.c native handling of - YCbCr and desubsampling. - -
    • tif_jpeg.c: JPEGVSetField() so that altering the photometric - interpretation causes the "upsampled" flag to be recomputed. Fixes - peculiar bug where photometric flag had to be set before jpegcolormode - flag. - -
    - -


    - - - -CHANGES IN THE TOOLS: - - - -


    - - - -CHANGES IN THE CONTRIB AREA: - -
      - -
    • contrib/addtiffo/tif_overview.c: Fix problems with odd sized - output blocks in TIFF_DownSample_Subsampled() (bug 1542). - -
    • contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable. - Though it is still far from the state of being working and useful. - -
    - -Last updated $Date: 2009-08-20 22:57:39 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.9.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.9.1.html deleted file mode 100644 index c97d94f..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.9.1.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - Changes in TIFF v3.9.1 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). If you don't -find something listed here, then it was not done in this timeframe, or -it was not considered important enough to be mentioned. The following -information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      -
    • This is a bug-fix release for several bugs (two of which - are dire) which were discovered in the 3.9.0 release. - -
    - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      - -
    • Several defines were missing from tif_config.vc.h which - are necessary to compile the library using MSVC. - -
    • Colorized tests were actually not enabled as expected. - Parallel tests mode is now also enabled so that tests can be - run in parallel, and test output is sent to .log files. - -
    - -


    - - - -CHANGES IN LIBTIFF: - -
      -
    • libtiff/tif_write.c (TIFFAppendToStrip): Remove cast - which caused libtiff to output a wrong last strip with - byte-count and strip-offset of zero. This cast was added on - the day of the 3.9.0 release. - -
    • libtiff/tif_dirwrite.c: Back out changes from 2007-11-22 - that resulted in the final strip not being written in some - circumstances. - http://bugzilla.maptools.org/show_bug.cgi?id=2088 - -
    - -


    - - - -CHANGES IN THE TOOLS: - -
      -
    • None - -
    - -


    - - - -CHANGES IN THE CONTRIB AREA: - -
      - -
    • None - -
    - -Last updated $Date: 2009-08-28 18:54:11 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.9.2.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.9.2.html deleted file mode 100644 index bb76794..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v3.9.2.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - Changes in TIFF v3.9.2 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). If you don't -find something listed here, then it was not done in this timeframe, or -it was not considered important enough to be mentioned. The following -information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      - -
    • Fixes a number of bugs present in the 3.9.1 release. - -
    • OJPEG support updated to work with IJG JPEG 7 release. - -
    • Tiffcrop validated for most TIFF storage subformats and sample depths. - -
    - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      - -
    • x86_64 now uses the same default fill order as i386. - -
    - -


    - - - -CHANGES IN LIBTIFF: - -
      -
    • Writing tags with an array value of type TIFF_DOUBLE now - returns correct error status. The TIFFTAG_SMINSAMPLEVALUE and - TIFFTAG_SMAXSAMPLEVALUE tags failed to write without this fix. - -
    • OJPEG decoder now works with IJG JPEG 7. Resolves "Bug - 2090 - OJPEG crash with libjpeg v7". - http://bugzilla.maptools.org/show_bug.cgi?id=2090 - -
    • Eliminate most GCC "dereferencing type-punned pointer" - warnings. - -
    - -


    - - - -CHANGES IN THE TOOLS: - -
      - -
    • New tiffcrop from Richard Nolde. Major updates to add - significant functionality for reading and writing tile based - images with bit depths not a multiple of 8 which cannot be - handled by tiffcp. - -
    • Allow building tools with GCC using the "-Wformat - -Werror=format-security" flags. - -
    - -


    - - - -CHANGES IN THE CONTRIB AREA: - -
      - -
    • None - -
    - -Last updated $Date: 2009-11-04 17:38:13 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v4.0.0.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v4.0.0.html deleted file mode 100644 index 9694a1e..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v4.0.0.html +++ /dev/null @@ -1,269 +0,0 @@ - - - - Changes in TIFF v4.0.0 - - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). If you don't -find something listed here, then it was not done in this timeframe, or -it was not considered important enough to be mentioned. Please consult -the ChangeLog file in the source package for full change details. The -following information is located here: -

    -

    -


    - - - -

    MAJOR CHANGES:

    - -BigTIFF support changes: - -
      - -
    • The options parameter in the TIFFOpen and TIFFClientOpen funcs has - been extended. When creating new files, you can add option '4' to - specify you want to create a ClassicTIFF file, though that is the - default and the option is not strictly necessary. (As such, old - calling code will continue to function and create ClassicTIFF files.) - Or you can add option '8' to specify you want to create a BigTIFF file - instead. This new option is also reflected in some of the tools we - already upgraded. For instance, you can use the -8 option on tiffcp to - have tiffcp produce BigTIFF files instead of the default ClassicTIFF. - (Whilst on additional option is provided for version selection when - creating new files, no such option is necessary when reading TIFF - files. LibTiff reads ClassicTIFF and BigTIFF both, and the application - does not need to be aware which TIFF version an opened file is.) - -
    • Although the tag count in BigTIFF is 64bit, we restricted the - count in the implementation to a much more reasonable size. This is - necessary in current implementation, because all tag data gets read - automatically in the IFD reading stage, so if there's half a dozen - private tags with multiple gigabytes of data that causes considerable - overhead even if the application level is never interested in these - tags. Our choice to ignore tags with data longer then a certain sanity - value is much needed as things stand. We also recommend to step away - from writing tiles that are 8 kilobyte in their uncompressed form, or - writing single-line strips, in really big files, resulting in mega's - of tiles or strips. It's much more efficient to choose bigger tile or - strip sizes, up to several megabyte if needed, and have a few kilo of - tiles or strips instead. - -
    • Although it's rare, some application code does directly access - file offsets. Some of these are automatically upgraded because they - used the toff_t type, others need to be aware that the datatype - changed and need to start using toff_t or uint64. This impacts access - to tags like the EXIF IFD tag, for example, or the SubIfds tag, or to - StripOffsets or TileOffsets, the return type of functions like - TIFFCurrentDirOffset, and a parameter type to functions like - TIFFSetSubDirectory. - -
    • Although it's rare, some application code does use structures - like TIFFHeader or TIFFDirEntry that used to be an exact binary - representation of TIFF structures. These need to change. The old - TIFFHeader structure is replaced by the new TIFFHeaderClassic, - TIFFHeaderBig, and TIFFHeaderCommon structures that are an exact - binary representation of the ClassicTIFF and BigTIFF header, and of - the part that is common to both. There is no new equivalent for the - old TIFFDirEntry structure (or more precisely, there is still a - TIFFDirEntry structure, but it is changed, moved to library-private - definition, and no longer an exact binary representation of the tag - structure of either TIFF version). - -
    • Sizer functions, like TIFFTileSize or TIFFScanlineSize and the - like, return a tmsize_t value (tmsize_t is defined as int32 on 32bit - machines, and int64 on 64bit machines, and as such it is meant to - represent signed memory sizes). This is because we figure 98% of the - calling code uses the return value as sizes in allocations and the - like. So, any overflow that is theoretically possible with BigTIFF - when LibTiff is running on a 32bit system, is best detected inside the - sizer functions and it is best to return a type that makes sense as a - memory size. If your calling code is the exception and is interested - in actual file size, you best use the newer TIFFTileSize64 or - TIFFScanlineSize64 function that returns an uint64 type. - -
    • These TIFF tags require a 64-bit type as an argument in - libtiff 4.0.0: -
        -
      • TIFFTAG_FREEBYTECOUNTS -
      • TIFFTAG_FREEOFFSETS -
      • TIFFTAG_STRIPBYTECOUNTS -
      • TIFFTAG_STRIPOFFSETS -
      • TIFFTAG_TILEBYTECOUNTS -
      • TIFFTAG_TILEOFFSETS -
      - -
    - -Other important backward incompatible changes in the public API: - -
      -
    • TIFFRewriteField() renamed into _TIFFRewriteField() and moved out - from the public interface (from tiffio.h to tiffiop.h). Type of its - 'count' parameter changed from uint32 to tmsize_t. - -
    • TIFFMergeFieldInfo() returns non-void result now. It returns 0 - if successful and -1 if failed. Though this is now obsoleted function - and should not be used in new programs. Use the new tag extension - scheme instead. - -
    • TIFFFieldWithTag() and TIFFFieldWithName() functions now return - pointer to TIFFField constant object instead of TIFFFieldInfo. - -
    • TIFFReassignTagToIgnore() function and TIFFIgnoreSense enumeration - have been removed. They was unused and never been used properly. - Should be unneeded for high-level applications. - -
    • TIFFTagValue structure removed from the public tiffio.h - to private tif_dir.h and not accessible anymore. It should be unneeded - for high-level applications. - -
    - -


    - - -

    CHANGES IN THE SOFTWARE CONFIGURATION:

    - -
      - -
    • Updated autotools: Autoconf 2.68, Automake 1.11.1, libtool - 2.4. - -
    • Enabled support for Automake silent build rules - (--enable-silent-rules or 'make V=0') - -
    • Enabled support for Automake colorized and parallel tests. - -
    • Added detection of 64-bit integer types since libtiff 4.0 - requires use of 64-bit signed and unsigned integer types. - -
    • Libtiff now provides a more comprehensive test suite with - over 72 tests, which may be executed on Unix-like systems, or - under Microsoft Windows using MinGW/MSYS or Cygwin. - -
    • --disable-lzma configure option to disable use of liblzma. - -
    • --enable-defer-strile-load configure option to enable - experimental deferred strip/tile offset/size loading. May - cause some extremely sophisticated uses of libtiff to fail. - -
    • --enable-chunky-strip-read configure option to enable - experimental enable reading large strips in chunks in - TIFFReadScanline(). - -
    • Now always uses WIN32 native I/O functions for Microsoft - Windows except for under Cygwin. - -
    • Now provides a pkg-config support file (libtiff-4.pc). - -
    - -


    - - - -

    CHANGES IN LIBTIFF:

    - -
      - -
    • Patches/fixes made to stable libtiff (v3.9.X) are also - applied to 4.0.0. There are too many to list here. See the - distribution ChangeLog for a detailed change list. - -
    • There is considerable change in some files like - tif_dirread and tif_dirwrite. These changes don't impact - backwards compatibility, they are mostly a clean rewrite that - does allow BigTIFF support as well as somewhat more robust - reading of the unexpected already and will also serve future - API extension but does not impact current API or functionality - in a negative way that you need to know about. - -
    • Although there is still a functional definition for types - like toff_t (file offset), tstrip_t (strip index number), etc, - we recommend against using these in newer code. We have - learned that it is next to impossible to use these - consistently and make real abstraction of the binary format of - these types. Instead, at a certain level we always end up - doing casts anyway, and taking the exact binary format into - account, so these types are nothing but dangerously misleading - and obfuscating. You do not need to update calling code that - uses them, as 99.9% of such code will continue to work. But we - recommend against using them in newer calling code, and we - started replacing them with binary clear types like uint16, - uint32 and such in the library. - -
    • We do use and will continue to use one functional type - that is an exception to the above rule, being tmsize_t. This - is a signed memory size type, i.e. it is int32 on 32bit - machines, or int64 on 64bit machines. - -
    • Optionally support LZMA compression via TIFF tag 34925. - Tiffcp supports compression levels similar to "-c lzma:p1" or - "-c zip:p9 for setting the LZMA compression parameters. - -
    • Optionally defer the load of strip/tile offset and size - tags for optimized scanning of directories. Enabled with the - --enable-defer-strile-load configure option (DEFER_STRILE_LOAD - #define in tif_config.h). - -
    • Optionally enable experimental support for reading big - strips in chunks. Enabled with the --enable-chunky-strip-read - configure option. - -
    - -


    - - - -

    CHANGES IN THE TOOLS:

    - -
      - -
    • tiffset: add -d and -sd switches to allow operation on - a particular directory, not just the first. - -
    - -


    - - - -

    CHANGES IN THE CONTRIB AREA:

    - -
      -
    - -Last updated $Date: 2011-04-09 21:01:00 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v4.0.1.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v4.0.1.html deleted file mode 100644 index 1f113c1..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v4.0.1.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - Changes in TIFF v4.0.1 - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). If you don't -find something listed here, then it was not done in this timeframe, or -it was not considered important enough to be mentioned. The following -information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      - -
    • None - -
    - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      - -
    • --enable-ld-version-script: New configure option to - enable shared library symbol versioning on ELF-based systems - (e.g. Linux and FreeBSD) which use the GNU linker. This - allows multiple major versions of libtiff to be loaded - simultaneously into the same application or library without - conflict, as long as all libtiffs involved are built with - versioned symbols. This option is not enabled by default. - -
    • Added libtiff private dependency on -llzma for pkg-config. - -
    - -


    - - - -CHANGES IN LIBTIFF: - -
      -
    • libtiff/tif_dir.c, libtiff/tif_dirread.c: Extra caution around - assumption tag fetching is always successful. - -
    • libtiff/tif_jpeg.c: Extra caution for case where sp is NULL. - -
    - -


    - - - -CHANGES IN THE TOOLS: - -
      - -
    • None - -
    - -


    - - - -CHANGES IN THE CONTRIB AREA: - -
      - -
    • None - -
    - -Last updated $Date: 2012-02-18 21:53:27 $. - - - diff --git a/gtk+-mingw/share/doc/tiff-4.0.2/html/v4.0.2.html b/gtk+-mingw/share/doc/tiff-4.0.2/html/v4.0.2.html deleted file mode 100644 index 78d2008..0000000 --- a/gtk+-mingw/share/doc/tiff-4.0.2/html/v4.0.2.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - Changes in TIFF v4.0.2 - - - - - - - -TIFF CHANGE INFORMATION - - - - -

    -This document describes the changes made to the software between the -previous and current versions (see above). If you don't -find something listed here, then it was not done in this timeframe, or -it was not considered important enough to be mentioned. The following -information is located here: -

    -

    -


    - - - -MAJOR CHANGES: - -
      - -
    • None - -
    - - -


    - - -CHANGES IN THE SOFTWARE CONFIGURATION: - -
      - -
    • None - -
    - -


    - - - -CHANGES IN LIBTIFF: - -
      - -
    • tif_getimage.c: added support for _SEPARATED CMYK images. - -
    • tif_getimage.c: Added support for greyscale + alpha. - -
    • Added TIFFCreateCustomDirectory() and TIFFCreateEXIFDirectory() functions. -
    • tif_print.c: Lots of fixes around printing corrupt or - hostile input. - -
    • Improve handling of corrupt ycbcrsubsampling values. - -
    • tif_unix.c: use strerror to get meaningful error messages. - -
    • tif_jpeg.c: fix serious bugs in JPEGDecodeRaw(). - -
    • tif_jpeg.c: Fix size overflow (zdi-can-1221,CVE-2012-1173). - -
    - -


    - - - -CHANGES IN THE TOOLS: - -
      - -
    • tiff2pdf: Defend against integer overflows while - calculating required buffer sizes (CVE-2012-2113). - -
    - -


    - - - -CHANGES IN THE CONTRIB AREA: - -
      - -
    • None - -
    - -Last updated $Date: 2012-06-16 00:19:37 $. - - - -- cgit v1.2.3