2005-09-26 Marco Pesenti Gritti * glib/poppler-action.cc: Initialize window title even if the action is unknown 2005-09-26 Marco Pesenti Gritti * glib/poppler-action.cc: * glib/poppler-action.h: Implement launch action 2005-09-20 Albert Astals Cid * poppler/GlobalParams.[cc|h]: Merge from xpdf 3.01 * poppler/Link.cc: Merge from xpdf 3.01 * poppler/Parser.cc: Merge from xpdf 3.01 * poppler/TextOutputDev.[cc|h]: Merge from xpdf 3.01 * poppler/UnicodeMap.cc: More grealloc -> greallocn * poppler/UnicodeTypeTable.cc: Merge from xpdf 3.01 * poppler/XRef.cc: Merge from xpdf 3.01 2005-09-20 Marco Pesenti Gritti * poppler/XRef.cc: Remove duplicated initialization 2005-09-20 Marco Pesenti Gritti * poppler/GlobalParams.cc: s/G/Goo in not yet compiled plugins code 2005-09-20 Marco Pesenti Gritti * poppler/Makefile.am: Add XPDFPlugin*. Thanks to TSDgeos that noticed this. * poppler/XpdfPluginAPI.cc: Fixup 2005-09-16 Marco Pesenti Gritti * poppler/PDFDoc.cc: * poppler/PDFDoc.h: * poppler/XRef.cc: * poppler/XRef.h: Merge more from 3.01 2005-09-16 Marco Pesenti Gritti * poppler/XRef.cc: Merge some initialization that I lost before 2005-09-16 Marco Pesenti Gritti * poppler/XRef.cc: Merge change from 3.01 2005-09-16 Marco Pesenti Gritti * poppler/CharCodeToUnicode.cc: * poppler/CharCodeToUnicode.h: Improvements from xpdf 3.01 2005-09-16 Marco Pesenti Gritti * poppler/CMap.cc: Improvements from xpdf 3.01 2005-09-16 Marco Pesenti Gritti * poppler/NameToUnicodeTable.h: * poppler/UnicodeTypeTable.cc: * poppler/UnicodeTypeTable.h: Merge some unicode table changes from xpdf 3.01 2005-09-16 Marco Pesenti Gritti * poppler/SplashOutputDev.h: * splash/Splash.cc: * splash/Splash.h: Modified region support from xpdf 3.01 2005-09-16 Marco Pesenti Gritti * goo/Makefile.am: * poppler/DCTStream.h: * poppler/Decrypt.cc: * poppler/Decrypt.h: * poppler/FlateStream.h: * poppler/GlobalParams.cc: * poppler/GlobalParams.h: * poppler/Makefile.am: * poppler/PDFDoc.cc: * poppler/PDFDoc.h: * poppler/Parser.cc: * poppler/Parser.h: * poppler/Stream.cc: * poppler/Stream.h: * poppler/XRef.cc: * poppler/XRef.h: * poppler/poppler-config.h.in: Merge security plugins support from xpdf 3.01 2005-09-16 Marco Pesenti Gritti * configure.ac: * goo/Makefile.am: * splash/Makefile.am: * splash/SplashFTFont.cc: * splash/SplashMath.h: * splash/SplashTypes.h: * goo/FixedPoint.cc: * goo/FixedPoint.h: Merge support for fixed point 2005-09-16 Marco Pesenti Gritti * poppler/ArthurOutputDev.cc: * poppler/CairoFontEngine.cc: * poppler/TextOutputDev.cc: * poppler/UnicodeMap.cc: Use mallocn when possible 2005-09-16 Albert Astals Cid * splash/: Some merges from xpdf 3.01 2005-09-16 Albert Astals Cid * configure.ac * splash/SplashFTFontEngine.[cc|h] * poppler/CairoFontEngine.[cc|h]: Merge the xpdf 3.01 change that uses runtime detection of freetype version 2005-09-15 Albert Astals Cid * poppler/: Some minor merges from xpdf 3.01 2005-09-14 Albert Astals Cid * fofi/ * poppler/PSOutputDev.[cc|h]: Merge all xpdf 3.01 changes in fofi 2005-09-06 Kristian Høgsberg * configure.ac: Enable A4_PAPER and OPI_SUPPORT by default. There is no reason to not enable OPI and the paper size should be controlled by the application. * test/Makefile.am (EXTRA_DIST): Add pdf-operators.c 2005-09-03 Brad Hards * qt4/tests/ : * configure.ac: switch qt4 unit tests to use QtTestLib, a more capable system, and easier to maintain. 2005-09-02 Kristian Høgsberg * glib/poppler-page.cc: Apply Marcos rotation fix. 2005-08-31 Brad Hards * poppler/JArithmeticDecoder.cc * poppler/JArithmeticDecoder.h * poppler/JBIG2Stream.cc * poppler/JBIG2Stream.h: merge in some of the JBIG2 changes from xpdf 3.0.1. 2005-08-29 Kristian Høgsberg * configure.ac (HAVE_FREETYPE_H): Patch from Hiroyuki Ikezoe: Set HAVE_FREETYPE_217_OR_OLDER to 0 if we found freetype using pkg-config (#4223). 2005-08-28 Brad Hards * fofi/FoFiTrueType.cc: * goo/GooHash.cc: * goo/GooHash.h: * goo/GooList.cc: * goo/GooList.h: * goo/GooString.cc: * goo/GooString.h: * goo/gmem.c: merge the Goo* improvements from xpdf 3.0.1. This change is based on martink's work (7-xpdf-3.01-goo-improvements.patch) with some tweaking by me. 2005-08-27 Jeff Muizelaar * poppler/FlateStream.cc: Fix predictor leak. 2005-08-27 Jeff Muizelaar * configure.ac: Disable the zlib-based decoder by default. See #3948. 2005-08-27 Brad Hards * Merge the gmalloc -> gmallocn changes from xpdf 3.0.1. This change is based on martink's work (13-xpdf-3.01-goo-allocn.patch) with some tweaking by me. There may be some residual gmallocn changes still to be merged. 2005-08-24 Martin Kretzschmar * configure.ac: add /usr/include/qt4 to qt4_incdirs. That's what Debian and Ubuntu use. Maybe we should just use pkg-config. If it's usable with qt4. * test/.cvsignore: ignore pdf_inspector binary. 2005-08-24 Kristian Høgsberg * poppler/TextOutputDev.cc: Push rotation argument down to GfxState constructor. This is still not completely functional yet. * glib/poppler-page.cc (poppler_page_render_selection): Add rotation argument so API is useful. Not yet implemented. (poppler_page_prepare_output_dev): Patch from Marco to fix rotation using the cairo backend. Tue Aug 23 17:21:02 2005 Jonathan Blandford * test/Makefile.am (gtk_cairo_test_LDADD): add FREETYPE_{CFLAGS,LIBS} to the cairo deps Tue Aug 23 13:38:01 2005 Jonathan Blandford * configure.ac: * poppler/Gfx.cc: * poppler/Gfx.h: * poppler/GlobalParams.cc: * poppler/GlobalParams.h: * poppler/Makefile.am: * poppler/OutputDev.cc: * poppler/OutputDev.h: * poppler/ProfileData.cc: * poppler/ProfileData.h: * test/Makefile.am: * test/pdf-inspector.cc: * test/pdf-inspector.glade: * test/pdf-operators.c: Initial cut at a pdf inspector. This should help us look at PDF files. 2005-08-22 Kristian Høgsberg * glib/poppler-page.cc: * glib/poppler-page.h: * glib/poppler-private.h: * glib/test-poppler-glib.c: Patch from Marco to simplify the glib rotation API. 2005-08-21 Kristian Høgsberg * poppler/Makefile.am (INCLUDES): Add FREETYPE_CFLAGS. * configure.ac: Make freetype check use pkg-config if possible. 2005-08-17 Kristian Høgsberg * poppler/GfxFont.cc: Add fix discussed in #3131 to only use the MacRoman char map if the font has one or the font dicts specifies /MacRoman. 2005-08-08 Albert Astals Cid * poppler/PDFDoc.cc: Improve the checking for %%EOF 2005-08-06 Kristian Høgsberg * glib/poppler-page.cc: * glib/poppler-page.h: Use GdkColor for specifying selection colors, we alreay depend on GDK anyway. 2005-08-06 Albert Astals Cid * poppler/PDFDoc.cc: Increase the range for searching %%EOF up to the 1024 bytes pdf spec says adobe checks for, needed to work with http://bugs.kde.org/show_bug.cgi?id=110034 and some other private pdf i got sent 2005-08-06 Brad Hards * qt4/src/poppler-document.cc: * qt4/src/poppler-qt4.h: Add password arguments to document constructor. * qt4/src/Doxyfile: Add define so doxygen can extract the API for Qt4 bindings again. * qt4/tests/test-password-qt4.cpp: new test framework for encrypted files. 2005-08-05 Kristian Høgsberg * poppler/TextOutputDev.cc (visitLine): Round selection coordinates in device space, so selection isn't fuzzy. * poppler/GfxState.cc: * poppler/GfxState.h: Add simple Matrix class. 2005-08-05 Kristian Høgsberg * glib/poppler-page.cc: * glib/poppler-page.h: * poppler/TextOutputDev.cc: * poppler/TextOutputDev.h: Propagate selection colors to the glib API. 2005-08-04 Brad Hards * poppler/ArthurOutputDev.cc: Fix problem with drawing filled objects that was introduced in Rev 1.4. 2005-08-03 Brad Hards * qt4/tests/test-poppler-qt4.cpp (keyPressEvent): add support for page-up / page-down keys to change which page is displayed, and q to quit. 2005-08-01 Albert Astals Cid * poppler/DCTStream.[cc|h]: Fix problem in the patch to fix #3299 2005-08-01 Kristian Høgsberg Patch from Dan Winship * glib/poppler-page.cc (poppler_page_copy_to_pixbuf): Set alpha to 0xff (opaque), not 0x00. 2005-08-01 Brad Hards * poppler/ArthurOutputDev.cc: Fix up the fill problem with drawing text, where the "middle" of glyphs with a "hole" (like d, o, p, b, g) got filled. Also remove some debugging code. The glyphs are still ugly though. 2005-07-31 Brad Hards * poppler/ArthurOutputDev.cc: An initial version of proper font handling, based on work by Albert Astals Cid. I changed it to stroke the glyphs based on the SplashPath. In the longer term, Arthur should use FreeType paths directly - hopefully that will be less ugly, and not fill everything. 2005-07-29 Brad Hards * qt4/tests: add test cases for version and facing pagelayout. Also updated .cvsignore for these and a couple of older files. * poppler/ArthurOutputDev.cc (startPage): Make sure page is filled white. Earlier versions of Qt4 seemed to have an eggshell coloured background, but it changed to black at some point. * poppler/ArthurOutputDev.cc: remove a couple more TODOs, based on current Qt4 working OK. 2005-07-29 Kristian Høgsberg * poppler/TextOutputDev.cc: Finish TextSelectionDumper class for extracting the text from a selection. Add TextPage::getSelectionText() and TextOutputDev::getSelectionText() methods to expose the new functionality. * glib/poppler-page.cc (poppler_page_get_text): Use TextOutputDev::getSelectionText() to get the text from the selection. * glib/poppler-document.cc (poppler_document_new_from_file): * glib/poppler-page.cc (_poppler_page_new): Add extra NULL to g_object_new() constructor to silence gcc warning about missing sentinel. 2005-07-28 Albert Astals Cid * poppler/PageLabelInfo.[cc|h]: Fix memory leaks 2005-07-28 Albert Astals Cid * glib/poppler-document.cc: * poppler/CairoFontEngine.[cc|h]: * poppler/CairoOutputDev.cc: * poppler/GlobalParams.[cc|h]: * poppler/SplashOutputDev.[cc|h]: * qt/poppler-document.cc: * qt4/src/poppler-document.cc: * test/gtk-cairo-test.cc: * test/gtk-splash-test.cc: Use fontconfig for finding which font use for not embeded fonts 2005-07-28 Kristian Høgsberg * poppler/poppler-config.h.in: Add GCC_PRINTF_FORMAT macro to annotate printf-like functions (#3638). * poppler/Error.h: Add GCC_PRINTF_FORMAT to error(). * poppler/PSOutputDev.h: Add GCC_PRINTF_FORMAT to PSOutputDev::writePSFmt(). * poppler/PSOutputDev.cc, poppler/GlobalParams.cc: Quiet new printf warnings. * poppler/TextOutputDev.cc (TextBlock::visitSelection): Assign start and stop coordinates in one place so we don't assign the same point to both in some corner cases. (TextWord::visitSelection): Initialize begin to len, not len + 1 to fix crash. (TextWord::visitSelection, TextLine::visitSelection): Change selection trigger; now midpoint of glyph must be included in selection area for glyph to be in selection. 2005-07-27 Martin Kretzschmar * poppler/PSOutputDev.cc (PSOutputDev): change the constructor to take paper size and duplex setting parameters. (init): add paper size and duplex parameters. (writeDocSetup): add duplex parameter. * poppler/PSOutputDev.h: update declarations. * glib/poppler-private.h (struct _PopplerPSFile): store necessary information to eventually construct a PSOutputDev. * glib/poppler-page.cc (poppler_page_render_to_ps): initialize the output dev if it doesn't exist yet. * glib/poppler-document.cc (poppler_ps_file_new): don't create the PSOutputDev here, just store filename and page range. (poppler_ps_file_set_paper_size, poppler_ps_file_set_duplex): new functions. (poppler_ps_file_free): free the filename which we strdup now. * glib/poppler-document.h: add prototypes. 2005-07-26 Albert Astals Cid * qt/test-poppler-qt-cpp: Fix mem leak 2005-07-26 Kristian Høgsberg * fofi/FoFiType1.cc: Make check for end of encoding array a bit more liberal so we don't crash on complex encoding arrays. 2005-07-25 Albert Astals Cid * poppler/DCTStream.cc: Work on bad jpeg data that have garbage before the start marker. Fixes bug #3299 2005-07-22 Albert Astals Cid * poppler/CairoFontEngine.cc: Fix mem leak. Reported in bug #3586 by Kjartan Maraas, initial patch by Martin Kretzschmar. 2005-07-22 Albert Astals Cid * qt/test-poppler-qt.cpp: Make it possible to change the displayed page using Up and Down keys 2005-07-22 Albert Astals Cid * splash/Splash.cc: Fix bugs #3728 and #3750 2005-07-20 Martin Kretzschmar * glib/poppler-document.cc (poppler_fonts_iter_get_name): if the font is a subset, strip the ABCDEF+ tag. (poppler_fonts_iter_get_full_name): does what the old get_name did. (poppler_fonts_iter_get_font_type, poppler_fonts_iter_is_embedded) (poppler_fonts_iter_is_subset): new wrappers. * glib/poppler-document.h (PopplerFontType): new enum. Update prototypes. 2005-07-15 Martin Kretzschmar * test/gtk-cairo-test.cc: update for 2005-06-27 change to actually display something again. 2005-07-10 Brad Hards * poppler/ArthurOutputDev.cc: General cleanup - removing dead code, and some minor tweaks. No new features. 2005-07-08 Kristian Høgsberg * glib/poppler-page.cc (poppler_page_set_selection_alpha): Add this function to initialize the alpha channel when using the splash backend. * poppler/TextOutputDev.cc (visitLine): Add missing scaling of intra-line selection edges. 2005-07-07 Kristian Høgsberg * glib/poppler-page.cc (poppler_page_prepare_output_dev): Account for page rotation when creating the cairo surface. 2005-07-06 Kristian Høgsberg * glib/poppler-page.cc (poppler_page_copy_to_pixbuf): Add out of bounds checking (from Marco). 2005-07-07 Brad Hards * qt4/src/poppler-document.cc: * qt4/src/poppler-qt4.h: Add pageLayout() function for Qt4 bindings * qt4/tests/check_pagelayout_single.cpp: * qt4/tests/check_pagelayout_none.cpp: * Makefile.am: Add unit tests for pageLayout() * glib/poppler-document.cc (convert_page_mode): Update to reflect the Catalog API change. I'm not that good at glib, so this has a non-zero chance of being pure crackrock. * poppler/Catalog.cc: * poppler/Catalog.h: update page mode options to PDF 1.6 * qt4/src/poppler-qt4.h: * qt4/src/poppler-document.cc: add Qt4 bindings for additional pageMode() value created by change above * qt4/src/poppler-qt4.h: minor updates to API docs. * qt4/tests/Makefile.am: * qt4/tests/check_pagemode_*.cpp: unit tests for Qt4 pageMode() call and associated enum. This is the initial checkin for these files 2005-07-06 Albert Astals Cid * poppler/PDFDoc.[cc|h]: Add checkFooter to check document ends with %%EOF * poppler/GfxFont.[cc|h]: Extract family, stretch and weight from the font descriptor 2005-07-06 Brad Hards * qt4/tests/Makefile.am: * qt4/tests/check_linearised.cpp: Added unit test for linearised property * qt4/tests/poppler-fonts.cpp (main): update to reflect API change, and also to show "[none]" if the font is nameless. * qt4/src/poppler-document.cc (Poppler): * qt4/src/poppler-qt4.h: remove the unicode translation bool, it is really an internal thing. 2005-07-05 Albert Astals Cid * qt4/src/poppler-document.cc (Poppler): * qt4/src/poppler-qt4.h: Don't crash with files that have fonts with no name, for example the one found at http://bugs.kde.org/show_bug.cgi?id=101520. 2005-07-05 Brad Hards * qt4/tests/check_author.cpp: * qt4/tests/check_permissions.cpp: * Makefile.am: * .cvsignore: add a couple more test cases * qt4/src/poppler-document.cc (Poppler): * qt4/src/poppler-qt4.h: Add Qt4 bindings for the additional user permission properties. * poppler/XRef.h: * poppler/Xref.cc: * poppler/PDFDoc.h: Add some more user permissions properties - high resolution printing, document assembly, extraction for accessibility and form completion. 2005-07-04 Brad Hards * qt4/src/poppler-page.cc: fix typo bug that prevented correct detection of upside down pages * qt4/tests/check-orientation.cpp: fix path to point to test module. * qt4/.cvsignore: update to reflect new files * qt4/tests/Makefile.am: * qt4/tests/poppler-fonts.cpp: initial import of a simple font metadata listing application. * qt4/src/poppler-qt4.h: * qt4/src/poppler-document.cc complete Qt4 font metadata handling * qt4/src/poppler-qt4.h: * qt4/src/poppler-page.cc: change the render API to make it more Qt-like. * qt4/tests/test-poppler-qt4.cpp: * qt4/tests/stress-poppler-qt4.cpp: update to reflect changes to render API * poppler/FontInfo.h/cc: make FontInfo::type() return a enum instead of a GooString. As discussed on mailing list, if you want a string representation, you get to make one at the bindings layer (ie typeName() didn't make the grade in the final patch) * qt4/tests/poppler-fonts.cpp (main): change order in test code to reflect actual testcase file 2005-07-01 Kristian Høgsberg * poppler/TextOutputDev.cc: Make selection also work when dragging backwards in the text flow. Currently this is a big pile of if-statements, and there is certainly room for improvement. 2005-06-30 Kristian Høgsberg * glib/poppler-page.h: * glib/poppler-page.cc (poppler_page_copy_to_pixbuf): Fix splash compilation (patch from Marco). (poppler_page_render_to_pixbuf): Drop dest_x and dest_y coordinates from this function. This functionality can be achieved using a sub-GdkPixbuf. * glib/test-poppler-glib.c (main): Update test case. 2005-06-29 Kristian Høgsberg * glib/poppler-private.h: Move TextOutputDev.h include here from poppler-page.cc 2005-06-29 Kristian Høgsberg * configure.ac: * glib/poppler-page.cc: * glib/poppler-page.h: * glib/poppler-private.h: * poppler/CairoOutputDev.cc: * poppler/CairoOutputDev.h: * poppler/Page.cc: * poppler/Page.h: * poppler/TextOutputDev.cc: * poppler/TextOutputDev.h: Add support for rendering real selection (based on text flow). 2005-06-28 Albert Astals Cid * poppler/FontInfo.[cc,h]: Add FontInfo::getType() 2005-06-28 Albert Astals Cid * poppler/ArthurOutputDev.cc: use transformation matrix for image rendering 2005-06-28 Brad Hards * .cvsignore: * qt4/.cvsignore: * qt4/src/.cvsignore: * qt4/tests/.cvsignore: update to reflect the Qt4 bindings. 2005-06-28 Brad Hards * qt4/: * Makefile.am: * configure.ac: * poppler-qt4.pc.in: Initial import of Qt4 bindings, based on the Qt3 bindings. API is still in flux. * poppler/AuthurOutputDev.[cc,h]: * poppler/Makefile.am: Initial import of Qt4 backend renderer. Incomplete at this stage. 2005-06-27 Kristian Høgsberg * poppler/CairoOutputDev.cc: * poppler/CairoOutputDev.h: Change CairoOutputDev to render to a given surface and let the user create that surface. * glib/poppler-document.cc: * glib/poppler-page.cc: * glib/poppler-private.h: Create the cairo image surface here instead and pass it to the CairoOutputDev for rendering. * poppler/CairoOutputDevImage.cc: * poppler/CairoOutputDevImage.h: * poppler/CairoOutputDevX.cc: * poppler/CairoOutputDevX.h: * poppler/Makefile.am: Remove specialized cairo output devices. 2005-06-26 Kristian Høgsberg * poppler/CairoOutputDev.cc: * poppler/CairoOutputDev.h: Switch back to using drawChar() for text, but utilize the beginString() and endString() hooks so we can use cairo_show_glyphs() efficiently. 2005-06-26 Albert Astals Cid * qt/poppler-page.cc: * qt/poppler-page.h: Add PageTransition class and PageTransition* Page::getTransition() const; to the qt frontend. 2005-06-26 Martin Kretzschmar * glib/.cvsignore: add poppler-enums.[ch]. * configure.ac: require glib 2.4+ for g_value_take_string and G_DEFINE_TYPE. 2005-06-25 Jeff Muizelaar * poppler/Error.h: Maybe fix build on Solaris. 2005-06-20 Kristian Høgsberg * NEWS: * configure.ac: Bump version to 0.3.3 and sum up changes since last release. * glib/poppler-page.cc (poppler_page_find_text): Initialize xMin and yMin to avoid referencing unintialized memory (#3582). 2005-06-20 Martin Kretzschmar * glib/poppler-document.cc (info_dict_get_string): convert from PDFDocEncoding to UTF-8. 2005-06-20 Kristian Høgsberg * glib/poppler-page.cc: * glib/poppler-page.h: * glib/poppler.h: Clean up glib rotation implementation and add a getter for rotation. Patch from Marco. 2005-06-20 Kristian Høgsberg * glib/poppler-document.cc: * poppler/FontInfo.cc: Fixes from Marco to handle fonts without name (typically type 3 fonts) and fix an iterator bug. 2005-06-20 Kristian Høgsberg * glib/poppler-page.cc (poppler_page_get_link_mapping): Adjust link coordinates so they're relative to bounding box lower left corner (#3396). 2005-06-17 Kristian Høgsberg * autogen.sh: Patch from Emil Soleyman-Zomalan to enable checks for automake >= 1.7 (#3554). 2005-06-15 Kristian Høgsberg * glib/poppler-document.cc: * glib/poppler-document.h: Patch from Marco to get initial status (open or closed) for bookmark subtrees. 2005-06-13 Kristian Høgsberg * glib/poppler-document.cc: * glib/poppler-document.h: * glib/poppler-private.h: * glib/poppler.h: * glib/test-poppler-glib.c: * poppler/Makefile.am: Patch from Marco to extract font info from document. 2005-06-08 Kristian Høgsberg * poppler/CairoFontEngine.cc: Remember to delete tmpFileName. Patch from Nikolai Weibull (#3491). 2005-06-07 Kristian Høgsberg * qt/test-poppler-qt.cpp: Add stdlib.h include for exit(). 2005-06-02 Kristian Høgsberg * poppler/TextOutputDev.h: * qt/poppler-qt.h: Patch from Stanislav Brabec to fix gcc 4.0.1 warnings on undeclared friend classes. * test/gtk-splash-test.cc: Fix from Martin Kretzschmar to compile with OPI enabled (#2911). 2005-06-02 Kristian Høgsberg Patch from Stanislav Brabec : * configure.ac: * poppler-cairo.pc.in: * poppler-glib.pc.in: * poppler-qt.pc.in: * poppler-splash.pc.in: Misc fixes to pkg-config files. 2005-06-01 Jeff Muizelaar * poppler/Error.cc: * poppler/Error.h: Make error handling function setable through setErrorFunction. Based on a patch by Albert Astals Cid. 2005-05-29 Kristian Høgsberg * glib/*: Add more meta data properties to poppler document. Patch by Emil Soleyman-Zomalan (#3359). 2005-05-26 Kristian Høgsberg * poppler/CairoOutputDev.cc (clip): Remove snapToGrid so clip() prototype matches what Gfx actually calls (fixes clipping). * poppler/CairoOutputDev.cc: Update fill color, stroke color, fill opacity and stroke opacity from GfxState on restore, since they aren't handled by cairo_restore() (#3362). * poppler/CairoOutputDev.cc: Comment out tolerance setting until we figure out how cairo settings relate to pdf settings. * poppler/CairoOutputDev.cc: Support fill and stroke opacity. * poppler/GfxState.cc: * poppler/GfxState.h: Add GfxColorSpace::getRGBLine here and implement in subclasses. * poppler/CairoOutputDev.cc (drawImage): Use getRGBLine here. Mon May 23 00:22:41 2005 Jonathan Blandford * glib/poppler-document.h: Add a permissions flag to the glib bindings. 2005-05-21 Kristian Høgsberg * glib/poppler-document.cc (poppler_ps_file_new): Fix off-by-one error spotted by Jürg Billeter. 2005-05-20 Kristian Høgsberg * poppler/CairoOutputDev.cc: Account for different row vs. column vector conventions between cairo and poppler. * poppler/CairoFontEngine.cc: Only get the code to gid map if we're using freetype 2.1.7 or older (#3340). 2005-05-19 Kristian Høgsberg * poppler/CairoFontEngine.cc: Only cast to Gfx8BitFont when we know for sure we have a truetype font. GfxCIDFont::getCIDToGIDLen() can return 0 in which case codeToGID will be NULL, and we end up casting it to a Gfx8BitFont (#3265). 2005-05-18 Kristian Høgsberg * configure.ac: Require cairo 0.5.0, bump release to 0.3.2. * NEWS: Sum up latest changes. * glib/poppler-document.cc (poppler_ps_file_new): Take a page range here instead of just number of pages. 2005-05-17 Kristian Høgsberg * poppler/CairoOutputDevX.cc: * test/gtk-cairo-test.cc: Chase the cairo xlib constructor again. 2005-05-16 Kristian Høgsberg Patch from Christian Persch (#3300): * configure.ac: Check for glib-mkenums. * glib/Makefile.am (poppler-enums.h): Generate glib enums at compile time. * glib/poppler-enums.c: * glib/poppler-enums.h: Removed. 2005-05-16 Kristian Høgsberg * test/gtk-cairo-test.cc: Update this test case also. * poppler/CairoOutputDevX.cc: Track changes to cairo Xlib surface constructors. * poppler/CairoFontEngine.cc (cairo_font_face_destroy): Make this static. Thu May 12 23:10:45 2005 Jonathan Blandford * glib/poppler.gidl: add metadata file. 2005-05-12 Kristian Høgsberg * poppler/CairoOutputDev.cc: * poppler/CairoOutputDevX.cc: * poppler/CairoOutputDevImage.cc: * test/gtk-cairo-test.cc: Update to latest cairo changes, patch from Jens Taprogge (#3281) 2005-05-11 Kristian Høgsberg * glib/poppler.cc (poppler_get_backend, poppler_get_version): Add these functions so it's easy to tell if poppler is using cairo or splash and what version. * glib/test-poppler-glib.c (main): Print out version and backend. 2005-05-06 Kristian Høgsberg * glib/Makefile.am (libpoppler_glib_la_LIBADD): Link poppler-glib against poppler. * qt/Makefile.am (libpoppler_qt_la_LIBADD): Ditto for qt. * poppler-glib.pc (Libs): Drop -lpoppler from link. * poppler-qt.pc (Libs): Ditto for qt. * configure.ac: Test for both libqt-mt.la and libqt-mt.so in that order. 2005-05-04 Kristian Høgsberg * poppler/CairoOutputDev.cc (CairoOutputDev::drawImageMask, CairoOutputDev::drawImage): Track cairo cvs API changes; use cairo_mask() and cairo_paint() for drawing image masks and images. 2005-05-04 Kristian Høgsberg * poppler/CairoOutputDev.cc: Fix matrix convention confusion. 2005-05-04 Kristian Høgsberg Patches from Albert Astals Cid: * qt/poppler-page.cc (getText): Use QString::fromUtf8() instead of implicit latin1 cast constructor. * qt/test-poppler-qt.cpp (main): Use a QLabel for showing text instead of qDebug. Wed May 4 02:31:05 2005 Jonathan Blandford * glib/poppler-document.cc: * glib/poppler-document.h: * glib/poppler-enums.c: (poppler_permissions_get_type): * glib/poppler-enums.h: * glib/poppler-page.cc: * glib/poppler-page.h: * glib/poppler.h: Register a bunch of boxed types to test introspection, and for LBs. Also, remove unused 'popper_document_save()' (-: 2005-05-01 Kristian Høgsberg * poppler/CairoFontEngine.cc: * poppler/CairoFontEngine.h: * poppler/CairoOutputDev.cc: Back out workaround for cairo 0.4.0 font API and port to new cairo head. 2005-05-01 Jeff Muizelaar * splash/SplashFTFont.cc (SplashFTFont::getGlyphPath): Use FT_LOAD_NO_BITMAP to make sure we get outlines loaded instead of bitmaps for use in FT_Outline_Decompose. Patch from Albert Astals Cid. 2005-05-01 Jeff Muizelaar * goo/gmem.c: (gmalloc), (grealloc), (gfree): * goo/gmem.h: make memory functions use size_t instead of int. Patch from Takashi Iwai through Albert Astals Cid. 2005-04-30 Jeff Muizelaar * qt/poppler-document.cc (Document::unlock) : * qt/poppler-qt.h (Document::unlock): Add const to the password argument. Patch from Albert Astals Cid. 2005-04-30 Jeff Muizelaar * fofi/FoFiType1.cc (FoFiType1::parse): Don't assume Encoding array of Type1 fonts end in "foo def". http://partners.adobe.com/public/developer/en/font/T1_SPEC.PDF says "This sequence of assignments must be followed by an instance of the token def or readonly; such a token may not occur within the sequence of assignments." so it must end with "readonly" "def" "readonly def" (That is what most fonts are using and this is why it was not crashing) Patch from Albert Astals Cid. Fri Apr 29 14:54:44 2005 Jonathan Blandford * goo/GooTimer.h: New class to do simple timing checks. * glib/poppler-document.c: Patch from Martin Kretzschmar to really set the PDF version correct. Third time's the charm. 2005-04-29 Kristian Høgsberg * configure.ac: Bump release to 0.3.1. * NEWS: Write up news for 0.3.1 release. 2005-04-28 Kristian Høgsberg Patch from Martin Kretzschmar: * poppler/GlobalParams.cc: use UTF-8 as the default text encoding. Fixes Bug 2934. 2005-04-27 Jeff Muizelaar * configure.ac: * poppler/FlateStream.cc: * poppler/FlateStream.h: * poppler/Makefile.am: * poppler/Stream.cc: * poppler/Stream.h: Add a reimplementation of FlateStream using zlib. 2005-04-27 Kristian Høgsberg * poppler/Catalog.cc (NameTree::lookup): Fix bsearch return value NULL check. Found by Albert Astals Cid. Tue Apr 26 13:13:42 2005 Jonathan Blandford * glib/test-poppler-glib.c (main): add a quick dump-to-text test. 2005-04-24 Kristian Høgsberg * qt/Makefile.am (libpoppler_qt_la_SOURCES): Add poppler-private.h to SOURCES. 2005-04-23 Kristian Høgsberg * poppler/CairoFontEngine.cc: Use the right fileName for loading CID fonts (#3114). 2005-04-22 Kristian Høgsberg * configure.ac: Actually commit version number bump. 2005-04-22 Martin Kretzschmar * poppler/CairoFontEngine.cc: declare matrix variable before the first goto. Fixes build with gcc 3.3. Fri Apr 22 00:01:40 2005 Kristian Høgsberg * poppler/CairoFontEngine.cc: Hack around semi-broken cairo-0.4.0 font API to fix the problem where some glyphs would show up at the wrong sizes. We now create an FT_Face for each size and font combination we encounter, since an FT_Face can't be shared between several cairo_font_t. Thu Apr 21 15:43:52 2005 Kristian Høgsberg * poppler/Outline.cc: * poppler/Outline.h: Implement the documented behaviour for Outline::getItems() and OutlineItem::getKids() and make documentation more precise (Patch from Marco). Thu Apr 21 02:25:20 2005 Kristian Høgsberg * poppler/CairoFontEngine.cc (CairoFont::getFont): Cache cairo_font_t's for a given CairoFont. With this patch cairo will recognize glyphs coming from the same font as such and the glyph cache will actually work. * glib/poppler-document.cc (poppler_document_new_from_file): Add output device (cairo or splash) to PopplerDocument and initialize it in the constructor. * glib/poppler-page.cc (splash_render_to_pixbuf, cairo_render_to_pixbuf): Use output device from associated poppler document instead of creating a new one. * poppler-glib.pc.in (Requires): Add Requires: field. * poppler/Page.cc (loadThumb): Remove unecessary and buggy call to Stream::addFilters(), reported by Ryan Lortie (#3046). 2005-04-13 Jeff Muizelaar * qt/poppler-page.cc (Page::getText): * qt/poppler-qt.h: add a getText method for getting the text on a page * qt/test-poppler-qt.c (PDFDisplay::PDFDisplay): add the option to display the text on a page Patch from Albert Astals Cid. Tue Apr 19 17:21:19 2005 Jonathan Blandford * glib/poppler-document.cc (poppler_document_get_property): Use %.2g instead. Tue Apr 19 17:11:52 2005 Jonathan Blandford * glib/poppler-document.cc (poppler_document_get_property): Use %g instead of %f to avoid versioning like PDF-1.50000 Tue Apr 19 15:43:35 2005 Kristian Høgsberg * glib/poppler-action.cc (_poppler_action_new): Handle NULL links gracefully (fix from Jeff). Tue Apr 19 00:20:08 2005 Kristian Høgsberg * poppler/Catalog.cc: Fix from Marco to make sure we always initialize Catalog::pageLabelInfo. Sat Apr 16 14:53:15 2005 Jonathan Blandford * glib/Makefile.am: Create poppler-enums.[ch] * glib/poppler.h: * glib/poppler-page.cc: * glib/poppler-page.h: * glib/poppler-action.h: Try to clean up the headers a bit * glib/poppler-document.cc: * glib/poppler-document.h: Add support for document data. Implemented as a lot of GObject properties. * glib/poppler-enums.c: * glib/poppler-enums.h: New autogenerated files. * glib/test-poppler-glib.c: Test the new document metadata. Seems to work nicely, other than the PDF string and View Prefs. * poppler/Catalog.cc: * poppler/Catalog.h: Extend to support PageLayout. 2005-04-14 Kristian Høgsberg * glib/poppler-page.cc: * glib/poppler-page.h: * glib/poppler-private.h: * glib/poppler.h: Patch from Marco Pesenti Gritti to set page orientaton. 2005-04-13 Jeff Muizelaar * poppler/CairoOutputDevImage.cc (getBitmap): remove unused SplashBitmap. Patch from Albert Astals Cid. 2005-04-12 Kristian Høgsberg * configure.ac: Add fontconfig to PKG_CHECK_MODULES for the cairo backend too, since we shouldn't depend on cairo.pc to pull that in for us. * poppler/Makefile.am (INCLUDES): Add $(splash_includes) to INCLUDES to make sure the fontconfig include path is added when using the splash backend. 2005-04-09 Jeff Muizelaar * poppler-qt.h: * poppler-document.cc (okToPrint, okToChange, okToCopy): Patch from Albert Astals Cid adding more metadata exports 2005-04-08 Kristian Høgsberg * poppler-qt.pc.in (Libs): Add -lpoppler to Libs. 2005-04-07 Jeff Muizelaar * configure.ac: redo the qt tests from Albert Astals Cid 2005-04-07 Jeff Muizelaar * qt/poppler-document.cc: * qt/poppler-page.cc: * qt/poppler-qt.h: Patch from Albert Astals Cid adding consts and exporting some more metadata. 2005-04-07 Kristian Høgsberg * glib/poppler-document.cc: * glib/poppler-document.h: * glib/poppler-page.cc: * glib/poppler-page.h: * glib/poppler-private.h: Print to PS support from Marco Pesenti Gritti. Thu Apr 7 12:25:39 2005 Jonathan Blandford * configure.ac: check for qt, not glib, when enabling the qt subdir 2005-04-06 Jeff Muizelaar * .cvsignore, glib/.cvsignore, qt/.cvsignore: Add more things to .cvsignore. Patch from Martin Kretzschmar. 2005-04-06 Jeff Muizelaar * poppler-page.cc (Page::Page, Page::~Page): Construct and deconstruct the PageData object. Patch from Albert Astals Cid. 2005-04-06 Jeff Muizelaar * Makefile.am, configure.ac: Add configuration for qt wrapper. * poppler-qt.pc.in: * qt/Makefile.am: * qt/poppler-document.cc: * qt/poppler-page.cc: * qt/poppler-private.h: * qt/poppler-qt.h: * qt/test-poppler-qt.cpp: New files. 2005-04-05 Kristian Høgsberg * NEWS: Attempt to sum up changes since 0.1.2. * configure.ac: Bump release to 0.2.0, add AC_DEFINEs for cairo and splash availability. * poppler/CairoFontEngine.cc: Disable hinting. * glib/poppler-page.cc (poppler_page_render_to_pixbuf): Choose either splash or cairo rendering, based on configure choice. (cairo_render_to_pixbuf): New function to render using the cairo backend. (splash_render_to_pixbuf): Split out the splash code to this function. 2005-04-04 Kristian Høgsberg * ChangeLog: Add this entry to test commit mailer script. * TODO: Add reminder about using PDF font descriptors with fontconfig. * configure.ac: Add checks for mkstemp() and mkstemps(). * glib/poppler-page.cc (poppler_page_find_text): Reverse y-coordinates so we return PDF style coordinates. From Maro Pesenti Gritti : * configure.ac, poppler/Makefile.am: Check for fontconfig when we're building the splash backend. * glib/poppler-page.cc (poppler_page_get_text): New function to select text on page. 2005-04-04 Kristian Høgsberg * glib/poppler-page.cc (poppler_page_find_text): Reverse list of matches so we get them in the right order. 2005-04-03 Martin Kretzschmar * poppler/DCTStream.h: Wrap #include in extern "C" Fixes build with unpatched libjpeg. 2005-04-02 Jeff Muizelaar * poppler/Page.h: * poppler/Page.cc (Page::Page): Some initial infrastructure for supporting transitions. 2005-03-31 Kristian Høgsberg * glib/poppler-page.cc (poppler_page_render_to_pixbuf): Clip output to destination pixbuf and fix RGB order. 2005-03-31 Kristian Høgsberg * glib/poppler-page.cc (poppler_page_find_text): New function to seach a page for occurrences of a given text string. * glib/poppler-page.cc: Add g_return_if_fail() checks to a couple of functions. Thu Mar 31 00:26:20 2005 Jonathan Blandford * glib/poppler-page.cc: * glib/poppler-page.h (poppler_page_get_link_mapping, poppler_page_free_link_mapping): New functions to get a mapping of links to locations on the current document. 2005-03-30 Jeff Muizelaar * poppler/DCTStream.h: change x to unsigned int to eliminate comparision warning 2005-03-30 Jeff Muizelaar * poppler/Catalog.cc: delete pageLabelInfo on deconstruction Tue Mar 29 23:07:17 2005 Jonathan Blandford * glib/poppler-page.h: Reformat. Tue Mar 29 22:49:15 2005 Jonathan Blandford * glib/poppler-action.[ch]: New item to encapsulate links. * glib/poppler-document.[ch] (poppler_index_iter_get_action): New function to get the action. Also, fix some warnings. * glib/poppler-private.h (_poppler_action_new): New function. * glib/test-poppler-glib.c: Fix warnings. Tue Mar 29 02:36:00 2005 Jonathan Blandford * glib/poppler-document.[ch] (PopplerIndexIter): Add an iter to extract the index from the doc. Includes a bad hack, for now. Mon Mar 28 22:02:07 2005 Jonathan Blandford * glib/poppler-page.cc: * glib/poppler-page.h (poppler_page_get_thumbnail_size): New function. * poppler-glib.pc.in: add -lpoppler-glib to the libs line. 2005-03-28 Kristian Høgsberg * poppler/Page.cc (loadThumb): Backend agnostic method for extracting an embedded thumbnail iamge. * poppler/Dict.cc (lookupInt): New convenience method. * glib/poppler-page.cc (poppler_page_get_thumbnail): New glib function for getting the embedded thumbnail image for a page. 2005-03-25 Kristian Høgsberg * configure.ac: Check for fontconfig for glib bindings. 2005-03-24 Kristian Høgsberg * glib/Makefile.am: Use POPPLER_GLIB_CFLAGS and POPPLER_GLIB_LIBS instead of GTK_TEST_*. Reported by Adam Jackson . 2005-03-23 Kristian Høgsberg * poppler/Catalog.cc (indexToLabel, labelToIndex): Add stricter checking of incoming labels and indices. * glib/test-poppler-glib.c (main): Change test program to take the page label from the command line. * glib/poppler-page.cc: * glib/poppler-page.h: Add poppler_page_get_index() and rename popper_page_get_dimension() to popper_page_get_size() 2005-03-22 Kristian Høgsberg * glib/poppler-document.cc: Implement poppler_document_save(). * glib/poppler-document.h: Add prototype and format headers properly. 2005-03-22 Kristian Høgsberg * configure.ac: Fix --disable-popper typo reported by Albert. Require exactly cairo 0.4 since CVS cairo has API changes. 2005-03-22 Kristian Høgsberg * poppler/Array.cc: * poppler/Array.h: Add getString() convenience method. * poppler/Catalog.cc: * poppler/Catalog.h: Optimize lookup of named destinations. 2005-03-21 Kristian Høgsberg * NEWS, TODO: Update these. 2005-03-21 Kristian Høgsberg From Albert Astals Cid : * poppler/Catalog.cc, poppler/Catalog.h: Parse PageMode setting from the Catalog dict and expose it through getPageMode() method. 2005-03-21 Kristian Høgsberg * glib/poppler-document.cc: * glib/poppler-document.h: Expose the document title as a GObject property. * glib/poppler-page.cc: Expose the page label as a GObject property. * glib/poppler-private.h: Add the page index to PopplerPage. * glib/test-poppler-glib.c: Print out page label and document title. * poppler/Catalog.cc: * poppler/Catalog.h: Add page label accessors. * poppler/PageLabelInfo.cc: * poppler/PageLabelInfo.h: New files. * poppler/Makefile.am: Add new files to sources. 2005-03-20 Kristian Høgsberg * glib/poppler-document.cc: * glib/poppler-page.h: * glib/poppler.cc: * poppler/Array.cc: * poppler/Array.h: * poppler/Catalog.cc: Fix up filenames in #include statements and comments. 2005-03-19 Kristian Høgsberg Land the first bits of the glib wrapper. * Makefile.am: * configure.ac: Add new glib subdirectory and configure options for glib wrapper. * glib/Makefile.am: * glib/poppler-document.cc: * glib/poppler-document.h: * glib/poppler-page.cc: * glib/poppler-page.h: * glib/poppler-private.h: * glib/poppler.cc: * glib/poppler.h: * glib/test-poppler-glib.c: * poppler-glib.pc.in: New files. 2005-03-16 Jeff Muizelaar From Dan Sheridan * poppler/XRef.cc (XRef::checkEncrypted): The key length should be 5 for revision 2 documents. 2005-03-11 Kristian Høgsberg From Jeff Muizelaar : * poppler/CairoOutputDev.cc (CairoOutputDev::drawImageMask): Use getLine instead of getPixel. * configure.ac: Add checks for libjpeg. * DCTStream.cc, DCTStream.h, Stream.cc, Stream.h, Makefile.am: Conditionally use libjpeg instead of xpdf jpeg decoder. 2005-03-10 Kristian Høgsberg From Jeff Muizelaar : * poppler/CairoFontEngine.cc (CairoFontEngine::getFont): Don't print "Type 3 font!" message. * poppler/CairoOutputDev.cc (CairoOutputDev::drawImageMask): Enable image mask drawing and do it properly, albeit slowly. * poppler/CairoOutputDev.h (CairoOutputDev::interpretType3Chars): Return true so that Gfx.cc turns type3 characters into calls to drawImageMask 2005-03-09 Kristian Høgsberg * NEWS: Describe 0.1.2 (and 0.1.1) release. * configure.ac: Bump poppler version to 0.1.2 2005-03-09 Kristian Høgsberg * configure.ac: Bump cairo requirement to 0.4. 2005-03-04 Kristian Høgsberg Patch from Jeff Muizelaar . Changed to allocate glyphs using gmalloc. * poppler/CairoOutputDev.cc (CairoOutputDev::drawString): Implement drawString instead of drawChar. This change should make clipping to a text path work and has a performance improvement. Currently the code is a little ugly because we can't concat matrices to cairo without losing our current font. * poppler/CairoOutputDev.h (CairoOutputDev::useDrawChar): Tell Gfx.cc that it should use drawString instead of drawChar. 2005-03-04 Kristian Høgsberg * test/gtk-cairo-test.cc (view_load): * test/gtk-splash-test.cc (view_load): Fix missing return statement, and remove unused variables. * configure.ac: Add configure option to enable the default KDE flags as described by Albert Astals Cid . * TODO: Update with Jeff's items. * .cvsignore: * */.cvsignore: Add these to silence CVS. * configure.ac: Implement same check for gtk+-2.0 tests as for cairo. 2005-03-04 Kristian Høgsberg * configure.ac: Only fail hard in check for cairo if the user specified --enable-cairo-output (from Brad Hards ). Print summary of configure results at the end of configure script. * poppler/poppler-config.h: Remove this file (noticed by Brad Hards ). 2005-03-03 Kristian Høgsberg Patch from Jeff Muizelaar : * poppler/CairoOutputDev.cc (CairoOutputDev::drawImage, CairoOutputDev::drawImageMask): destroy the image surface and free the image buffer. 2005-03-03 Kristian Høgsberg * autogen.sh: Add -i to autoreconf invocation. * autogen.sh: Add to CVS. 2005-03-01 Kristian Høgsberg * poppler/*.h: Take config.h out of header files. * configure.ac: Bump release to 0.1.1 to build a tar ball that works with CVS evince. * poppler.pc.in (Cflags): Change include dir to be poppler. * poppler/Makefile.am (poppler_include_HEADERS): Add splash and cairo headers. 2005-02-27 Kristian Høgsberg * test/gtk-cairo-test.cc: Add cairo test case. * configure.ac, poppler/Makefile.am, poppler/Cairo*: Add Alex Larsons cairo output device. * configure.ac, Makefile.am: Make splash backend conditional. * test/*: Add optional GdkRGB based test program (taken from evince). * goo/*: rename files and functions to GooHash, GooString etc. to avoid nasty glib clash. * poppler.pc.in: New file. * configure.ac: Combining bits from evince configure.ac and removing checks only required by the xpdf applications. * everything: Created poppler as a fork of xpdf.