Age | Commit message (Collapse) | Author |
|
To return the proper size from fz_bound_display_list, which has been
broken since the begin_page device call was removed.
|
|
Allows us to remove the out parameter 'transform' from fz_begin_page.
|
|
It was incorrectly missing the alpha in the header writing code.
|
|
Previously the API assumed that all bands had to be the same
height. By moving the multiplication into the caller, we can
lift that assumption.
|
|
This silences the many warnings we get when building for x64
in windows.
This does not address any of the warnings we get in thirdparty
libraries - in particular harfbuzz. These look (at a quick
glance) harmless though.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Commit 44d65838233baef2c16397847dca3061cde7ec4e accidentally omitted
the return type when adding TIFF SGI LUV decoding.
|
|
|
|
TIFF 5.0 uses a slightly laxer set of rules for TIFF decode.
Specifically, when we hit the maximum code, we are not required
to send a clear code immediately, but it can overrrun.
We don't bother storing codes > 12 bits, because they can never
be used. This avoids the need to extend the table.
|
|
|
|
If thirdparty/luratech is populated then this decoder will be preferred
over jbig2dec (even if both are present).
|
|
Normal glyphs and inital glyphs in ligatures have their start/stop (p
and q) set before determining whether to append to an existing span or
insert a space. For non-initial glyphs the start/stop were never set
which introduced uninitialized values into the span data structure.
Now, all glyphs have their start/stop set and then if it is a
non-initial glyph in a ligature the append and space detection is
ignored. This means that no values are uninitialized.
|
|
|
|
Missing qualifier from prototype.
|
|
This has knock on effects in the store.
fix
|
|
Calculations that involved non power of 2 bpps were going wrong.
|
|
When blanking pixmaps (or converting pixmap colors), watch out for
integer overflows.
|
|
I had changed some code to *3 when creating the routine from the
4 bpp variant, but this particular multiplication should still
have been *4, as it was looking up in an int table.
|
|
In C we can't have a label as the only thing in a block.
|
|
clang only accepts the unified format - so use the unified syntax
everywhere, and add .syntax unified to tell the gnu assembler we're
using the unified syntax.
|
|
Lab colorspaces had been broken due to incorrect clipping of
color values introduced in an effort to fix Bug 696796.
|
|
Update the test device so it can be used 'wrapping' another
device.
In particular, it can be used to wrap the display list device
so that we can evaluate 'color or not' while building the
display list rather than having to rerun the display list
afterwards.
Also, give improved control over whether we test every pixel
of images/shadings.
|
|
|
|
We store an hb_font in every font, and currently have fz_drop_font
know to call harfbuzz to destroy it. This causes harfbuzz to be
included even in builds that never use it.
We improve this situation by storing both an hb_font, and a
function pointer to destroy it within fz_font. This costs us
an extra pointer per fz_font, but solves the problem.
|
|
|
|
|
|
|
|
Introduce FZ_PLOTTER defines to set which defines we required.
Add FZ_ENABLE define to set which document handlers are built
by default.
|
|
|
|
Use do {} while(--w) rather than while(w--) {} as this safes a
test each time around the loop.
|
|
|
|
Again, mainly so profiling works nicely.
|
|
For the common cases, avoid the loop.
|
|
Profilers can't identify which of the switch arms we are in for
the inlined function calls, so rejig the code so that each of these
is a separate function.
In theory this code should be faster too, as the function 'lookup'
is only done one rather than once per line, but I don't expect this
to make a huge difference.
|
|
Use this for plotters so we can see which ones are being used
in any given build.
Build with -DTRACK_USAGE to enable.
|
|
|
|
PAM output was broken in the absence of alpha. Fixed now.
|
|
|
|
Converting a pixmap to an alpha only pixmap means "just keep
the alpha". If there IS no alpha, then a solid alpha is
assumed.
|
|
|
|
|
|
If we have alpha on the input, we preserve it. If we have no alpha
on the input, we have to create it in the output if the edges aren't
pixel aligned.
|
|
|
|
When no alpha present, we were omitting to decode the last
component.
|