summaryrefslogtreecommitdiff
path: root/fitz
AgeCommit message (Collapse)Author
2011-09-20Move array/dict growing into separate functions.Sebastian Rasmussen
2011-09-17Use rate limited fitz warnings for openjpeg warnings/errors.Sebastian Rasmussen
2011-09-05Use 3-digit octal escapes in strings.Tor Andersson
Octal escapes in strings that are followed by a digit must use three digits, with leading zeros if needed, so that they can be unambiguously parsed.
2011-08-17pdfdraw: Add command line option to gamma correct and invert images.Tor Andersson
2011-08-09Fix bug 692253: handle curvetov with no current point set.Tor Andersson
Also ignore path components with no current point set and print a warning rather than doing an implicit moveto(0,0).
2011-08-06Cosmetic style fixes.Tor Andersson
2011-08-03Tweak to list playback code to pass flags as 0 or 1.Robin Watts
When playing back from a list, previously flags would just be 0 or non-zero. This makes no real difference, but looks odd when traced.
2011-08-02Squash some compiler type warnings.Robin Watts
unsigned char * is not the same as char *.
2011-08-01Add support for colored Type3 glyphs (ones that use d0).Robin Watts
Detect the d0 or d1 operators by writing a bit to the new device flags word. This can then be checked by the Type3 code to create the appropriate backing pixmap. In order to know what the appropriate backing pixmap is, we pass an additional colorspace into the glyph rendering code.
2011-07-26Fix bug 692354: Horizontal white lines in images.Robin Watts
The problem is due to abutting images showing gaps between them. These gaps are due to a combination of rounding errors, and anti-aliasing effects on the edge of images. The solution is to selectively 'grid fit' images. If an image is part of a type 3 font, we do NOT want to grid fit it, as this is where the sub pixel positioning makes a huge difference. If an image is displayed with alpha, then we don't want to grid fit it (as grid fitting will tend to make the edges of images overlap by 1 pixel, and will hence produce nasty effects). Otherwise, we will grid fit; Grid fit in this sense is where we expand an image to completely fill the pixel grid that it touches (i.e. the extents for the image are expanded to pixel boundaries; no half full pixels are left around the edges). The only real change of note here is in how we detect that we are in a type 3 charproc; we add a new draw device creation function that we call in the type3 charproc case that sets a flag that the drawing functions can check.
2011-07-13Non-isolated group support, and fix Bug 692336.Robin Watts
Firstly, this takes on some of Zenikos patch to correct the clip stack handling that was broken by the fix to bug 692287 (in commit 2c3bbbf). This bug should now be solved. We add a new 'shape' field to the draw device structure (and clip stack). When we are inside non-isolated groups, this is set to be a pixmap where we accumulate the 'shape' of the objects drawn. When we come to blend back, if we are blending a non-isolated group back, we have to use a different blending function that takes account of the shape. Various internal groups (the page group, and groups used to force blending) are set to be isolated to avoid carrying shape planes around when this is not required. All our rendering code now has to know how to maintain the shape plane as well as doing the basic rendering.
2011-07-08Clip area optimisations for displaylist case:Robin Watts
First, we add clipping rects to clipping functions. Various functions (the ones that handle clipping) are now additionally passed a rectangle that represents an additional bound for this clip in device space (i.e. it has already been mapped through the current ctm). Next, when constructing the displaylist, keep track of the bounding box for the contents of each clip. While writing the list, on every node we add, we add the bbox for that node to the enclosing clips content bbox (if there is an enclosing clip). When we pop a clip, write back to the corresponding push to update the bbox. This means if we get large clip regions, with only small areas used within them, we will only do the slow blending for those small areas. Finally, we fix a calculation in fz_bound_path which was incorrectly accounting for mitrelimits. This was showing up in testing on page 630 of the PDF reference v1.7.
2011-06-01Fix android build; bug 692222.Robin Watts
Bring the MuPDF android build up to date with the latest source changes. Many thanks to Dominic Battre for his helpful report in bug 692222.
2011-05-31Fix assert in scale: see Bug 692245.Robin Watts
Bug 692245 gives a file that produces a runtime assert in mupdf due to an extremely large ctm offset (unrepresentable in a float). We fix our code here so that such floats are always read as 1.0. In this particular case, the exact value read doesn't seem to matter. We match acrobat. We pick 1.0 rather than 0.0 as this is less likely to provoke division by 0 errors later on.
2011-04-20Revert part of "Tweak hinting flags to freetype."Tor Andersson
FT_LOAD_TARGET_LIGHT implies the autohinter, which causes spectacular failures on DynaLab fonts. The stripped down freetype we compile with using the "thirdparty" package does not have the autohinter, which is how this bug slipped through the regression testing.
2011-04-15Tweak hinting flags to freetype.Tor Andersson
2011-04-15Use artificial italics and emboldening for substitute font.Tor Andersson
2011-04-15Use DroidSans.ttf as substitute font.Tor Andersson
2011-04-11Add triangle caps; separate start, dash and end cap styles for XPS.Tor Andersson
2011-04-10Make display list struct opaque.Tor Andersson
2011-04-10Make global edge list struct opaque, and remove active edge list struct.Tor Andersson
2011-04-10Make blendmode opaque.Tor Andersson
2011-04-10Make fz_obj struct opaque.Tor Andersson
2011-04-09Throw an error if none of the content stream parts could be loaded.Tor Andersson
2011-04-08Add soft limit to pixmap allocation.Tor Andersson
All image loading functions call the new fz_new_pixmap_with_limit allocation function, which will return NULL if the total amount of pixmap memory would exceed a set limit. Other vital pixmap allocations which are not as easily recoverable (such as font rendering, and the various buffers in the draw device) ignore the limit.
2011-04-08Simplify arguments to fz_new_pixmap.Tor Andersson
2011-04-08Various patches from SumatraPDF.Tor Andersson
2011-04-08Remove inline keyword where it is not strictly necessary for performance.Tor Andersson
Also put the function on the same line for inline functions, so they stick out and are easy to find with grep.
2011-04-08Tweak the display list visibility culling.Tor Andersson
2011-04-08filt_jpxd.c: Fix reference counting error.Tor Andersson
2011-04-08Add special case non-aa scan converter with accompanying blit functions.Tor Andersson
Also turn on font hinting when rendering non-aa text.
2011-04-07Fix bug with gsave/grestore nesting when running tiled patterns.Tor Andersson
2011-04-07Add text antialiasing too.Robin Watts
Update the text rendering code to use the raster renderer in freetype rather than the smooth one. No change to the hinting methods used yet.
2011-04-07Add AA_BITS define to control antialias level of line art.Robin Watts
AA_BITS < 0 => Runtime configurable. AA_BITS = 0 => No antialiasing AA_BITS > 0 => At least that many bits of accuracy (to a max of 8). If unspecified, default is 8, so old behaviour is maintained.
2011-04-07Optimize file seeks that can be done within the buffered data.Tor Andersson
2011-04-07Update README files.Tor Andersson
2011-04-06Rename span to stride, and add gray->bgr fast path image drawing.Tor Andersson
2011-04-06First cut at halftone support. Mono only, 16x16 default halftone.Robin Watts
Add fz_bitmaps (1bpc versions of pixmaps, really). Add fz_halftones (arrays of fz_pixmaps used as threshold arrays). Add simple halftoning code. Add pdfdraw usage of the above (ask for a .pbm and you get a halftoned image).
2011-04-06Rename internal color conversion functions to reflect what they do.Tor Andersson
We used to convert through the XYZ colorspace. For various reasons we changed to convert through RGB instead, but the function names didn't follow suit.
2011-04-06Improve handling of JPX colorspaces.Tor Andersson
2011-04-06fitz: Simplify dev_bbox code.Tor Andersson
2011-04-05Update the display list device to use the new device functions.Tor Andersson
2011-04-05Makefile tweaks.Tor Andersson
2011-04-05Add wrapper functions around device calls.Tor Andersson
They test for NULL and make the code look nicer.
2011-04-04android: Conform to coding convention.Tor Andersson
Use tabs for indentation and no extra spaces to align stuff.
2011-04-04Le Roi est mort, vive le Roi!Tor Andersson
The run-together words are dead! Long live the underscores! The postscript inspired naming convention of using all run-together words has served us well, but it is now time for more readable code. In this commit I have also added the sed script, rename.sed, that I used to convert the source. Use it on your patches and application code.
2011-04-04xps: Convert CMYK with alpha to RGB early to avoid premul alpha headaches.Tor Andersson
2011-04-04Update win32 project files after reshuffling.Tor Andersson
2011-04-04draw: Purge old (fast but too ugly) image scaling code.Tor Andersson
2011-04-04Add device interface functions to draw tiled patterns.Tor Andersson