summaryrefslogtreecommitdiff
path: root/source
AgeCommit message (Collapse)Author
2017-03-23Introduce fz_new_derived_...Robin Watts
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.
2017-03-23Add fz_new_writer function.Robin Watts
Moves document_writers into the same style as fz_new_{image,document,page} etc.
2017-03-23Add generic pixmap document writer.Tor Andersson
Allow mutool convert to output all image formats we can write. Add sanity checks for pbm and pkm writers.
2017-03-23Fix bug with printing integer zero in printf.Tor Andersson
2017-03-22Update fz_new_page.Robin Watts
Move this into the same style as fz_new_document and fz_new_image.
2017-03-22Fix threaded muraster build.Robin Watts
2017-03-22Extend our printf formatting to take width and precision.Tor Andersson
2017-03-22Simplify string formatter API.Tor Andersson
Emit characters with callbacks so we don't need to do two passes using vsnprintf to count, format, and copy the result.
2017-03-22Always use %g for short-as-possible format character.Tor Andersson
Call fz_append_string instead of fz_append_printf for static strings. Call fz_write_string instead of fz_write_printf for static strings.
2017-03-22Rename fz_putc/puts/printf to fz_write_*.Tor Andersson
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.
2017-03-21Replace fontdump, bin2hex and cquote with one tool: hexdump.Tor Andersson
Still need specialty tools for namedump and cmapdump.
2017-03-20Remove fz_drop_image_base.Robin Watts
2017-03-20Fix threaded mutool build breakage.Robin Watts
2017-03-20Update API header documentationRobin Watts
Images, Document and Document Handlers.
2017-03-20epub: Fix disappearing images bug.Tor Andersson
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.
2017-03-15Silence warning.Tor Andersson
2017-03-15svgwrite: Use width of glyph to position characters in cluster maps.Tor Andersson
This evenly spaces the sub-parts of a ligature.
2017-03-15svgwrite: Use #RRGGBB color syntax.Tor Andersson
2017-03-15svgwrite: Fix pen advance for ligatures.Tor Andersson
harfbuzz puts all ligature component characters at the same coordinate as the glyph.
2017-03-15Add PDF_ANNOT_UNKNOWN enum.Tor Andersson
2017-03-15Optimize svg text output.Tor Andersson
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.
2017-03-14Update PWG writer to be a band_writer.Robin Watts
Update mutool to call it.
2017-03-14Recast TGA output as a band writer.Robin Watts
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.
2017-03-11Fix PS image output.Robin Watts
Appears to have been broken since alphas were optional.
2017-03-11Simplify fz_band_writer API.Robin Watts
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?
2017-03-11Improve API documentation for fz_output.Robin Watts
Move implementation to be more in line with fz_streams. Much closer parallels now.
2017-03-10Fix potential double frees in error cases.Robin Watts
fz_new_stream cleans up the passed in state if the allocation fails, so don't free it in the caller too.
2017-03-03Add warning message when we trigger a repair pass.Tor Andersson
2017-03-03Fix 697554: Use the first 'cmap' table that matches.Tor Andersson
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.
2017-03-03pdf: Additional entries in Mac OS Roman encoding not in MacRomanEncoding.Tor Andersson
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.
2017-03-02Improve SVG text output.Tor Andersson
Use xml:space="preserve" to remove the whitespace workaround. Fix output of glyph clusters.
2017-03-01epub: Adjust y coordinate for page_top in draw calls, not by top matrix.Tor Andersson
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.
2017-03-01Optimize pdf-device text output.Tor Andersson
Use TJ array with individual glyph positioning adjustments when possible.
2017-03-01Don't truncate page height when loading links.Tor Andersson
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.
2017-03-01Add page lookup cache for faster link destination lookups in outlines.Tor Andersson
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.
2017-03-01Bug 697620: Avoid clash with "isprint".Robin Watts
2017-03-01Bug 697395: Fix underflow in special case scaler.Robin Watts
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.
2017-02-23Improve return codes from pdf_authenticate_password.Robin Watts
Customer request to enable finer control based on which password authenticates.
2017-02-22Move PATH_MAX to system.hMichael Vrhel
Better to have this defined at the system level rather than scattered about in various files.
2017-02-21Fix typo in ffi_PDFAnnotation_setColor.Tor Andersson
2017-02-21The 'count' array in pdf_annot_set_ink_list takes number of points.Tor Andersson
Not number of coordinates.
2017-02-20Add no-reuse-images option to SVG device.Tor Andersson
Also add explicit viewBox and width/height to image symbol and use elements, to work around a strange clipping/image scaling issue with firefox.
2017-02-20Fix svg text output when text span is all whitespace or empty.Tor Andersson
We were emitting unbalanced quotes for the x and y attributes.
2017-02-20Add fz_font_is_bold and italic functions. Use them for svg output.Tor Andersson
2017-02-20Emit more newlines in svg output.Tor Andersson
The aim is to put each tag on a line of its own.
2017-02-20Add svg writer.Tor Andersson
Now mutool convert can write SVG documents.
2017-02-17Bug 697592: Fix double application of transform.Robin Watts
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.
2017-02-14Make svg text output format a runtime option.Tor Andersson
2017-02-09Bug 697500: Fix NULL ptr access.Robin Watts
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.
2017-02-09bug 697515: Fix out of bounds read in fz_subsample_pixmapRobin Watts
Pointer arithmetic for final special case was going wrong.