summaryrefslogtreecommitdiff
path: root/source/fitz
AgeCommit message (Collapse)Author
2016-04-19Add mutool mergeMichael Vrhel
This commit adds a page merging tool. The tool demonstrates the use of object grafting. The object grafting function recursively goes through the object to add all referenced objects. A map is maintained to ensure that objects that have already been copied are not copied again.
2016-04-12Silence some warnings in release builds.Robin Watts
2016-04-06Split encoded ligatures (as from PDF) properly in text extraction.Tor Andersson
2016-04-05Handle many-to-one and many-to-many clusters in structured text extraction.Tor Andersson
2016-04-05Clean up bidi enum names.Tor Andersson
And use the same enum for both the internal bidi code and the layout code.
2016-04-04Fix multi-threaded leak of style context.Robin Watts
Either the style context shouldn't be shared, or it shouldn't be incremented when we clone it. Sharing it seems correct to me, but we should protect reading it against simultaneous changes.
2016-04-04epub: Add harfbuzz bypass for fonts without opentype tables.Tor Andersson
In certain simple circumstances, we can bypass harfbuzz shaping and gain a lot of performance.
2016-04-04Always set glyph_count!Tor Andersson
We were setting it to zero if not building a bbox table, which caused havoc with the advance width caching.
2016-04-04Add glyph names to trace device output.Tor Andersson
2016-04-04epub: Add stripped Charis SIL font to use as the default font for EPUB.Tor Andersson
2016-03-31html: Tweak how builtin font families are loaded.Tor Andersson
2016-03-30Use the font bbox for bounding empty glyphs.Robin Watts
This avoids the displaylist device not playing back space glyphs.
2016-03-29bmp: Optimize reading of bitmap image data.Sebastian Rasmussen
2016-03-29bmp: Add support for decoding 24-bit RLE images.Sebastian Rasmussen
2016-03-29bmp: Add support for extra alpha mask.Sebastian Rasmussen
2016-03-29bmp: Add support for embedded PNG images.Sebastian Rasmussen
2016-03-29bmp: Add support for embedded JPEG images.Sebastian Rasmussen
Reintroduce fz_load_jpeg() (previously removed in 12c1466) improved with: * application agnostic memory handler support from 6a8abce * colorspace context from 93bd1ff * resolution detection from 4dc6cbe
2016-03-29bmp: Add support for 4-bit bitmasks.Sebastian Rasmussen
2016-03-29bmp: Improve fallback handling of palette color entries.Sebastian Rasmussen
* Use a better 4-bit fallback palette (use vga palette as indicated by variable name instead of 16 color web palette) * Determine if existing palette entries are grayscale and if so use a grayscale palette instead of the vga or web palette * Extend the web palette with black entries to make it eaiser to copy from.
2016-03-29bmp: Parse OS/2 header compression field correctly.Sebastian Rasmussen
2016-03-29bmp: Only allow in range bitcounts for uncompressed images.Sebastian Rasmussen
2016-03-29bmp: Add identifiers for compression instead of hardcoded values.Sebastian Rasmussen
2016-03-29bmp: Parse component bitmasks correctly.Sebastian Rasmussen
* The component bitmasks in the header are only valid for bitfields compression * The extra component bitmasks are only present if using bitfields compression and for 16-/32-bit images if not already present in header
2016-03-29bmp: Fix typo in bitmask comparison.Sebastian Rasmussen
2016-03-29bmp: Fix typo in end of input data check.Sebastian Rasmussen
The rle8 encoding already uses the same comparison
2016-03-29bmp: Fix typo in supported bits per pixel check.Sebastian Rasmussen
2016-03-28Memento: Add facility to cope with 'known' leaked blocks.Robin Watts
Harfbuzz allocates blocks that it keeps around as statics. There are a finite number of these, and they are never freed (at least not in the build we use). Having Memento report them as leaks is a pain. So we extend Memento so that we can label blocks as being leaks, and thus never have to be bothered by them.
2016-03-28Strengthen Harfbuzz code against outside use.Robin Watts
2016-03-28Add missing hb_lock/unlock around shaper freeing.Robin Watts
This was causing blocks to be free'd rather than fz_free'd.
2016-03-26Memento: Cope with wrapped blocks.Robin Watts
If another routine 'wraps' memento blocks (such as a chunk allocator or the 'trace' allocator in mudraw), then the address passed to Memento_label, Memento_takeRef etc, can be inside the block rather than at the start of the block. Update Memento to cope with this.
2016-03-25Fix PS output banded mode operation.Robin Watts
2016-03-25Refactor pcl output to work in bands.Robin Watts
2016-03-25Tweak the PCL page size handling/options.Robin Watts
Introduce a 'generic' PCL setting (basically ljet4 with custom page sizes for now). Ensure we send explicit sizes before the custom page sizes, and don't use Ricoh page sizes unless we are allowed to.
2016-03-25Add 24 bit RGB PCL output mode.Robin Watts
Output uses adaptive compression mode.
2016-03-25Add optimised cmyk image plotters.Robin Watts
2016-03-25Optimise fz_paint_solid_color_5Robin Watts
2016-03-25Rename ARCH_ARM_CAN_LOAD_UNALIGNED to be ARCH_UNALIGNED_OKRobin Watts
Now covers non-ARM arch's too, and both load/stores.
2016-03-25More ARM code thresholding work.Robin Watts
Fix do_threshold_1 and implement do_threshold_4. do_threshold_1 checks for white and shortcuts the work if it can. There are 2 ARM variants of do_threshold_4. One for ARMs that support unaligned loads, and one for the (rare configurations) that don't. The former checks for white and shortcuts the work.
2016-03-25Speed CMYK pixmap clearing.Robin Watts
Both C and ARM versions. ARM version is noticably faster than C version.
2016-03-23Fix declaration after statements.Tor Andersson
2016-03-23Fix MSVC builds.Robin Watts
Update generate.bat to generate generate/fontname.c files rather than generate/fontname.{ttc,ttf,cff} etc. Add a new libfonts target that builds those, and make libmupdf depend on it. Fix build problem in load-bmp.c - don't declare in the middle of blocks.
2016-03-23Bug 696630: Avoid needless (and potentially wrong) dereference.Robin Watts
2016-03-23Tweak Memento to avoid suprious valgrind warnings.Robin Watts
2016-03-23Add support for BMP images.Sebastian Rasmussen
2016-03-23Clamp too large image resolution values.Tor Andersson
2016-03-23Compile embedded fonts in separate C files.Tor Andersson
Also change unsigned char into const char for embedded data.
2016-03-23Update halftoning to use shorter line buffer.Robin Watts
Use the LCM of the different tile widths rather than a complete line copy. This should play better with caches on devices like the pi.
2016-03-23ARM code do_threshold_1Robin Watts
No clever SIMD tricks.
2016-03-22Optimise the C for do_threshold_1.Robin Watts
Simple unrolling.
2016-03-22Remove dead code.Robin Watts