Age | Commit message (Collapse) | Author |
|
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!
|
|
|
|
|
|
The code only worked for string literals, not garbage collected or
short strings.
|
|
|
|
|
|
|
|
|
|
Also save link coordinates in outline nodes.
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
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).
|
|
|
|
|
|
Use fz_stext_char directly instead.
|
|
|
|
Fix color PCL writing bugs introduced when making alpha channels
in pixmaps optional.
|
|
Option parsing is not implemented yet.
|
|
For non-rotated text, this vector will always be [1 0].
|
|
|
|
* 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.
|
|
|
|
|
|
Might be useful in locations other than directory.c.
|
|
|
|
Also ensure we don't write CMYK JPEG images.
|
|
|
|
|
|
Improve HTML output using absolute positioning, and add XHTML output
for simpler semantic html output.
|
|
|
|
|
|
|
|
|
|
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).
|
|
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.
|
|
|
|
Update separations interface further to cope with whether spots
should be rendered separately, or as composite colors.
|
|
Specifically this is aimed so we can efficiently get separation
details for PDF files (which may require a lengthy search process).
|
|
|
|
Could shrink this further, but we can't go below another 4 bytes
so it's not worth it.
|
|
|
|
|
|
Also force softmasks to be isolated groups.
|
|
No longer required since we flipped subtractive spaces.
|
|
No longer required, and causes leaks.
Also, fix some reference counting problems with colorspaces.
|
|
Add some helpful functions for doing quick checks on pointer validity.
Use these in the reference counting functions.
|
|
Avoid defining any functions/variables beginning with hb_ to avoid
potential namespace clashes.
Clarify language about why the Harfbuzz workarounds are needed.
|