Age | Commit message (Collapse) | Author |
|
Instead of having fz_new_XXXX(ctx, type, ...) macros that call
fz_new_XXXX_of_size etc, use fz_new_derived_...
Clearer naming, and doesn't clash with fz_new_document_writer.
|
|
Moves document_writers into the same style as
fz_new_{image,document,page} etc.
|
|
Allow mutool convert to output all image formats we can write.
Add sanity checks for pbm and pkm writers.
|
|
|
|
Move this into the same style as fz_new_document and
fz_new_image.
|
|
|
|
|
|
Emit characters with callbacks so we don't need to do two passes using
vsnprintf to count, format, and copy the result.
|
|
Call fz_append_string instead of fz_append_printf for static strings.
Call fz_write_string instead of fz_write_printf for static strings.
|
|
Rename fz_write to fz_write_data.
Rename fz_write_buffer_* and fz_buffer_printf to fz_append_*.
Be consistent in naming:
fz_write_* calls write to fz_output.
fz_append_* calls append to fz_buffer.
Update documentation.
|
|
Still need specialty tools for namedump and cmapdump.
|
|
|
|
|
|
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.
|