1. 29 Aug, 2018 3 commits
  2. 20 Jul, 2018 1 commit
    • Martin's avatar
      Add -jpegopt optimize option support to utils · 0b4ad184
      Martin authored
      New option 'optimize=y' for utils that take a -jpegopt param,
      pdftocairo and pdftoppm. This corresponds to the cjpeg -optimize
      flag, and slightly reduces the size of the output jpeg but uses
      additional cpu and memory.
      
      New jpegOptimize boolean in splash/SplashBitmap WriteImgParams.
      
      New setOptimize method on goo/JpegWriter taking a boolean.
      
      Update manpages for new option.
      0b4ad184
  3. 17 Apr, 2018 1 commit
  4. 02 Feb, 2018 1 commit
  5. 09 Jan, 2018 1 commit
  6. 08 Jan, 2018 1 commit
  7. 15 Nov, 2017 1 commit
    • Adrian Johnson's avatar
      Support unicode on windows console · a6dd3f95
      Adrian Johnson authored
      The Win32Console should be used in programs that require unicode
      support for command line arguments and stdio ouput on windows. On
      windows it gets the command line arguments from GetCommandLineW and
      converts to UTF-8, and redefines the stdio output functions to convert
      UTF-8 to calls to WriteConsoleW. On other platforms this class is a
      no-op.
      a6dd3f95
  8. 03 Nov, 2017 1 commit
  9. 21 Oct, 2017 3 commits
  10. 16 Aug, 2017 1 commit
  11. 16 Jan, 2015 1 commit
  12. 14 Jan, 2015 1 commit
  13. 26 Nov, 2013 1 commit
  14. 13 Aug, 2013 1 commit
  15. 01 Jun, 2013 1 commit
  16. 24 Oct, 2012 1 commit
  17. 11 Sep, 2012 1 commit
    • Thomas Freitag's avatar
      Splash: Implement DeviceN support · 2e77799a
      Thomas Freitag authored
      Bug #53140
      
      Some copying from the bug tracker
      
       To explain
      it a little bit more I copy a few lines from "Patch 8.01 — DeviceN Support (6
      colors)" of the Ghent PDF workgroup:
      "This patch tests the DeviceN capabilities of a workflow. If DeviceN is not
      handled correctly the colors are converted to CMYK. Instead of the check marks
      an X will appear in the lower left corner of each image and in the gradient.
      In addition you could inspect the color separations. The objects should appear
      only in the Black, Pantone 265C and GWG Green separations as indicated in the
      captions."
      Without the patch all DeviceN colors are immediately converted to CMYK (with
      SPLASH_CMYK). This leads especially to problems, if overprint is used: in
      overprint mode a CMYK color will knockout the underlying CMYK components, BUT
      neither any spot colors. But if underlying spot colors are immediately
      converted to CMYK colors, they will be kocked out then, too!
      The patch now spends up to four (or up to SPOT_NCOMPS) additional spot colors
      in the splash bitmap, so the order in the bitmap will be
      CMYKSTUVCMYKSTUVCMYKSTUV... where S, T, U, V are spot colors (I would use
      S1,S2, S3, S4 if it's possible to use indexes), and all painting operations are
      done now in this new device. Only at the end, when we want to store the bitmap
      in a CMYK or RGB color, the spot colors are converted and their alternate CMYK
      components are added to the normal CMYK components.
      According to the PDF spec are PDF writer should use different spot color names
      if they have a different appearance in their alternate CMYK colorspace.
      "hasDifferntResultSet" (sorry for the typo) proofs that: if the same spot color
      name is reused BUT has a different appearance in the alternate colorspace, it
      will be converted immediately to its alternate colorspace.
      "createMapping" is used so that getDeviceN (color) returns the components in
      the correct order according their appearance in the splash bitmap, i.e. the
      fourth detected spot color must be placed in index 7 of the color array.
      updateFill- and updateStrokeColorspace are needed to create this mapping at the
      appropriate place. And they are not called once but everytime the colorspace
      changed in the PDF (but of course only once in Gfx).
      The GooList *getSeparationList() is used to store the functions for converting
      the spot colors to their alternate colorspace in order of their appearance in
      the splash bitmap. The functions are needed to compare if a spot color with the
      same name has really the same appearance and at the end when the splash bitmap
      has to be converted to a CMYK or RGB bitmap (s. ahead).
      deviceNTransfer is needed simular to rgbTransferX or cmykTransferX if a
      transfer function is specified in the ExtGState and splash uses the DeviceN8.
      "Do we really need splashModeDeviceN8?": Do we really need splashModeXBGR8? But
      kidding aside: splashModeDeviceN8 needs four more components than
      splashModeCMYK8, so the bitmap size in memory doubles the size of a pure CMYK
      bitmap, and it is only needed if the PDF uses spot colors. So I think it's a
      good idea to spend an additional mode and let it up to the calling application
      and the cirumstances if it wants to use this new mode or not.
      2e77799a
  18. 01 Mar, 2012 1 commit
  19. 28 Feb, 2012 1 commit
  20. 09 Feb, 2012 1 commit
  21. 06 Feb, 2012 1 commit
  22. 15 Jan, 2012 1 commit
    • Albert Astals Cid's avatar
      [xpdf] More Splash and Gfx changes from Thomas · 9c092e17
      Albert Astals Cid authored
      1. merge of blend changes
      Here I had not only merged the changed in blend modes, I made also a few
      changes in the SPLASH_CMYK area, so that the already sent PDF now also
      be rendered correctly with the -jpegcmyk option
      2. merge of font handling in SplashOutputDev.cc
      There were a few changes left in font handling, I took them over
      3. merge of getcolor-changes
      The getcolor changes win a price for well defined C++ code. I wouldn't
      have merged them, if there were not a lot of other things to merge.
      4. merge of image handling in SplashOutputDev.cc
      I merged the left changes in image handling including colorizing masks
      in pattern colorspace
      5. cleanup of overprint
      I tested the overprint implementation of Derek. They succeed only in 70
      % percent of the PDF where my solution had success, but Derek's solution
      is much cleaner, and I'm sure that I could also fix the rest in it. BUT:
      as I already considered, when I implemented overprint, there are some
      overprint situations, which can not be solved in a CMYK colorspace, we
      have to implement a DeviceN colorpace when also overprint from CMYK
      colors over spot colors should work. Therefore I decided to remove my
      overprint implementation completely from the code and let Derek's
      solution in, even if there could be done some enhancements in it.
      6. colorizing text in pattern colorspace
      When I saw Derek's implementation with a clean interface only at one
      place in Gfx.cc, I first was very surprised. My solution had a lot of
      places in Gfx.cc, where I looked if the current colorspace is a pattern
      colorspace. Therefore I first had a look into the PDF specification
      again, and really, it can be done in the way of Derek. Therefore I
      merged it and removed the fragments of my code.
      
      On this step I started a regtest against the version after the fourth
      patch. There were a lot of enhancements, especially in texts with
      symbolic chars like mathematical and so on, but there was one (and ONLY
      one) regression, shown in bug-poppler27482.pdf
      I examined that (that is also the reason for the delay) and encountered
      that on merging I removed my solution for this bug, therefore
      
      7. insert enhancements for colorizing masks in pattern colorspace
      I adapt the bug fix from bug 27482 to the merge.
      9c092e17
  23. 11 Sep, 2011 1 commit
  24. 01 Sep, 2011 1 commit
  25. 18 Aug, 2011 1 commit
  26. 28 Jul, 2011 1 commit
  27. 29 Dec, 2010 1 commit
  28. 28 Dec, 2010 1 commit
  29. 12 Dec, 2010 1 commit
  30. 09 Sep, 2010 1 commit
  31. 10 Aug, 2010 1 commit
  32. 15 Jul, 2010 1 commit
    • Albert Astals Cid's avatar
      Fix padding of names · fe69b474
      Albert Astals Cid authored
      The previous method returned 2 for documents with 100 pages, which is wrong as 100 needs 3
      characters, not 2
      fe69b474
  33. 05 Apr, 2010 2 commits
  34. 04 Apr, 2010 1 commit
  35. 18 Feb, 2010 1 commit