Age | Commit message (Collapse) | Author |
|
|
|
Images, Document and Document Handlers.
|
|
The bug was introduced in commit ad09b038 where we adjust the y coordinate
in draw calls instead of using the top level matrix so that high level
output devices get reasonable page coordinates for objects.
We forgot to adjust the y coordinate for images.
|
|
|
|
This evenly spaces the sub-parts of a ligature.
|
|
|
|
harfbuzz puts all ligature component characters at the same coordinate
as the glyph.
|
|
|
|
Emit one <tspan> per line, so we only need to emit one 'y' coordinate
for the whole line, instead of repeating it for each character.
|
|
Update mutool to call it.
|
|
Annoyingly TGA requires lines to be written from bottom to top,
so require callers to flip the image.
Also fix TGA to cope with alpha or not.
Update mutool draw to use band writer interface for TGA.
|
|
Appears to have been broken since alphas were optional.
|
|
Remove needless parameter passing in fz_band_writer API.
We always know the bandstart, so why make the caller keep track
of it and pass it in?
Similarly, we know when we hit the end of the page, so why
require us to trigger the trailer writing manually?
|
|
Move implementation to be more in line with fz_streams. Much
closer parallels now.
|
|
fz_new_stream cleans up the passed in state if the allocation
fails, so don't free it in the caller too.
|
|
|
|
The bug report has an embedded truetype font with 7 different
mac roman cmaps. Only the first one has the expected behavior,
but we were picking up the last one.
|
|
When encoding truetype fonts via the mac roman cmap table, we should be
using the additional entries introduced in PDF 1.5, which are different
from the standard MacRomanEncoding table in the appendix.
|
|
Use xml:space="preserve" to remove the whitespace workaround.
Fix output of glyph clusters.
|
|
We used to bake in the page_top in all the y coordinates of all objects,
and use the top level matrix to subtract page_top.
If we subtract page_top from the y coordinates instead of using the
matrix to do it, we get smaller numbers in the device calls.
|
|
Use TJ array with individual glyph positioning adjustments when possible.
|
|
We accidentally used int for the page height when loading links, and in
the case where the page dimension is not an integer number of points that
would lead to rounding accumulation errors in the resulting bounding
boxes.
|
|
Loading outlines wants to look up all link destinations, and doing the
normal link destination lookups triggers loading all page objects used.
This means we need to parse a lot of objects, which can be quite slow.
We can load the page tree faster by only looking at intermediate page
tree nodes. If we load the page tree and create a reverse lookup
table for use when loading the outline, we can speed up the time to
run 'mutool show pdfref17.pdf outline' from 900ms to 100ms.
|
|
|
|
When scaling a single row pixmap with a flip, I was getting
the offset to the far end of the line wrong due to forgetting
to allow for the alpha plane.
Fixed here.
|
|
Customer request to enable finer control based on which
password authenticates.
|
|
Better to have this defined at the system level
rather than scattered about in various files.
|
|
|
|
Not number of coordinates.
|
|
Also add explicit viewBox and width/height to image symbol and use
elements, to work around a strange clipping/image scaling issue
with firefox.
|
|
We were emitting unbalanced quotes for the x and y attributes.
|
|
|
|
The aim is to put each tag on a line of its own.
|
|
Now mutool convert can write SVG documents.
|
|
When falling back from glyph cache based rendering to direct
rendering, we were applying the transform twice due to the
handling of dev->transform introduced in commit
ccaf716.
Fixed here.
|
|
|
|
Cope better with errors during rendering - avoid letting the
gstate stack get out of sync.
This avoids us ever getting into the situation of popping
a clip when we should be popping a mask or a group. This was
causing an unexpected case in the painting.
|
|
Pointer arithmetic for final special case was going wrong.
|
|
Build with this defined, and we no longer send text as
reusable symbols, but instead send it as genuine text,
with all the potential problems (mismatching fonts etc)
that this entails.
Requested by a customer.
|
|
|
|
|
|
This avoids allowing 0,z as a valid selection.
|
|
|
|
|
|
|
|
Copied from XPS implementation.
|
|
This was leading to memory leaks on the dev board.
|
|
|
|
Run 'make android' to invoke ndk-build with the proper arguments.
The results are placed in build/android.
|
|
|