summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2017-10-13Add fz_deflate family of functions.Robin Watts
This gives us a friendlier interface to zlib. Simplifies PNG output and PCLM output code.
2017-10-13Simple PCLm device.Robin Watts
Both bandwriter and document_writer interfaces cope with multi page docs. Update mudraw to output pclm format too. Incorporates fixes from Tor.
2017-10-13Fix further problem seen in PDF_2.0_FTS/fts_23_2311.pdfRobin Watts
This file has a type 3 font in it. It first uses a 'd1' glyph, that uses a pattern. Accordingly, we we render that pattern to a mask tile and store that tile. Then it uses a 'd0' glyph, which uses the same pattern. The cache is checked, and we erroneously pick up the cached tile to reuse it - but this is not a colored rendering, so we assert on plotting. The fix is to ensure that the required colorspaces match. This requires us to add the colorspace to the tile key. Unfortunately, this means that colorspaces have to become key_storable, so the patch is slightly larger than would otherwise be the case.
2017-10-12Don't cache page count in pdf_document.Tor Andersson
Make sure any changes to the page tree are always reflected immediately. The rev_page_map lookup cache exists when we load the outlines in order to resolve links faster, so we don't need to worry about that one. The linear_page_refs stuff is more troublesome, so don't mix editing a PDF with progressive loading!
2017-10-12Refactor image format magic signature recognition into its own function.Tor Andersson
2017-10-12Fix pdf_widget/pdf_annot typedefs. They are the same struct.Tor Andersson
2017-10-12Fix bug in murun when creating buffers from strings.Tor Andersson
The code only worked for string literals, not garbage collected or short strings.
2017-10-12Make fz_open_memory take a const buffer.Tor Andersson
2017-10-12Make image loading use const data pointers.Tor Andersson
2017-09-22Minor comment tweaks.Robin Watts
2017-09-20Remove comment markers about interfaces not throwing exceptions.Sebastian Rasmussen
2017-09-20gl: Scroll to link coordinates when following links.Tor Andersson
Also save link coordinates in outline nodes.
2017-09-13Consistently drop filter chain upon error.Sebastian Rasmussen
2017-09-12Fix Gradients in the presence of spots.Robin Watts
Incorporates fixes from Michael: When dealing with spot colors, if the destination space is pure CMYK and we have unsupported spots we can do a weighted addition of the spot CMYK colorant like Adobe does in the PSD image format. If the destination space is RGB we need to do a traditional color mapping of each pixel.
2017-09-12Remove redundant #define that is only used at the same place it's set.Tor Andersson
2017-09-12Move fz_strcasecmp to the header it belongs to.Tor Andersson
2017-09-08Update fz_separations equivalent color mechanism.Robin Watts
Incorporates fixes from Michael. Rather than specifically giving it rgb and cmyk values, separations now include the colorspace. Conversions can then be done into ANY colorspace we need. Note, that we maintain the old way of working for the gproof device. Also, fix pdf_page_separations to correctly find all separations. This involves recursively looking through colorspaces, forms and shadings for colorspaces therein, making sure we don't run into any circular references. We do 2 passes, so that we can pick up as many colorants as Separations as possible. On the second pass we pick up any colorants we missed in terms of DeviceN spaces. The purpose of this is to try to ensure that we get as many tint transforms as single input functions as we can. This may not be important in the grand scheme of things, but seems neater.
2017-09-08Update draw device to cope with spots.Robin Watts
If draw device is passed a pixmap with disabled separations, it may have to push an extra group at the top to allow for the actual rendering to properly happen in cmyk+spots, and then get folded down at the end. This pushing cannot happen at create time, due to it being dependent on the defualt_cs settings. Accordingly, we push it (just once) on the first drawing operation. This means we need to be able to convert from "colorspace + set of spots" to "different colorspace + different set of spots". This in turn means we need to be able to drive lcms slightly differently (to tell it whether to copy the spots unchanged or not), so we have to amend the CMS interface code a bit for that. Currently we lack plotters to properly cope with plotting images and shades with spots, so this will give a warning and do nothing. To be filled in in future commits. Ensure fz_get_icc_link accepts NULL to mean default color params. Incorporates fixes from Michel Vrhel: With transparency groups we can have RGB + spot pixmaps. When drawing into those we need a mixture of colorant polarity. Ensure that fz_convert_separation_colors takes account of this. Fix C1 of Altona_Technical_1v1_x3.pdf (allow for output intent in fz_clone_pixmap_area_with_different_seps).
2017-09-07Make sure to always drop a fz_device even upon error.Sebastian Rasmussen
2017-08-21Make fz_stext_block and fz_stext_line double linked lists.Tor Andersson
2017-08-21Remove fz_char_and_box struct.Tor Andersson
Use fz_stext_char directly instead.
2017-08-17Add PS document writer.Tor Andersson
2017-08-17Add PCL document writer.Tor Andersson
Fix color PCL writing bugs introduced when making alpha channels in pixmaps optional.
2017-08-17Add PWG document writer.Tor Andersson
Option parsing is not implemented yet.
2017-08-17Add direction of writing vector to fz_stext_line struct.Tor Andersson
For non-rotated text, this vector will always be [1 0].
2017-08-17Add FZ_REPLACEMENT_CHARACTER define for U+FFFD character.Tor Andersson
2017-08-17Simplify stext structure and device.Tor Andersson
* Use pool allocator and linked lists for all levels. * Remove separate fz_stext_sheet struct. * Remove unused 'script' style. * Remove 'span' level items. * Detect visual/logical RTL layouts. * Detect indented paragraphs.
2017-08-16Allow access to an indexed colorspace's color entries.Sebastian Rasmussen
2017-08-15Remove unused octal value printing support.Sebastian Rasmussen
2017-08-15Move S_ISDIR workaround to common header file.Sebastian Rasmussen
Might be useful in locations other than directory.c.
2017-08-09Render shadings to images in stext-device.Tor Andersson
2017-08-09Add common fz_write_image_as_data_uri function for HTML and SVG output.Tor Andersson
Also ensure we don't write CMYK JPEG images.
2017-08-02Sort FILE interface defines, to make sure all defined.Sebastian Rasmussen
2017-08-01If largefile=yes is set, make sure fz_remove is defined.Sebastian Rasmussen
2017-07-27Add text format document writer.Tor Andersson
Improve HTML output using absolute positioning, and add XHTML output for simpler semantic html output.
2017-07-27Add fz_write_base64 function.Tor Andersson
2017-07-25Make it possible to check for properties of PDF annotations.Sebastian Rasmussen
2017-07-21Reuse pattern tiles when running PDF interpreter directly.Tor Andersson
2017-07-19Add some consts to color conversions.Robin Watts
2017-07-19Update band writer (especially PSD) to cope with spotsRobin Watts
PSD writer now outputs spot colors. Ensure subtractive colorspaces are stored with proper polarity. The CMYK and spot components need to be 255-X in the PSD format Store PSD format resources using correct Pascal style strings. Photoshop will fail to open if the the ICC profile resource name is not in proper format. (Incorporates fixes from Michael).
2017-07-19Extend fz_colorspaces to better cope with DeviceN.Robin Watts
We now keep a list of colorant names for every colorspace, along with a an 'is_device_n' flag, set for all separation and deviceN spaces.
2017-07-19Add knowledge of spots to color conversions.Robin Watts
2017-07-19Add spots to fz_pixmaps.Robin Watts
Update separations interface further to cope with whether spots should be rendered separately, or as composite colors.
2017-07-19Rejig page separations interface.Robin Watts
Specifically this is aimed so we can efficiently get separation details for PDF files (which may require a lengthy search process).
2017-07-19Include all plotters by default.Robin Watts
2017-07-19Keep fz_store_hash to declared size.Robin Watts
Could shrink this further, but we can't go below another 4 bytes so it's not worth it.
2017-07-17Fix fz_copy_pixmap_rect to work properly in all cases.Robin Watts
2017-07-17Set colorspace name field.Tor Andersson
2017-07-17Add colorspace handling to transparency groupsMichael Vrhel
Also force softmasks to be isolated groups.
2017-07-17Rid the world of fz_ensure_pixmap_is_additive.Robin Watts
No longer required since we flipped subtractive spaces.