Age | Commit message (Collapse) | Author |
|
|
|
When saving a PDF to the same file name as the one that is open,
we risk clobbering it by truncating the source file. Remove the old
file first! Removing an open file will not work on windows,
but there we will throw an EACCESS error rather than clobber the file!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Actually an assert. This is caused by a paragraph separator in the
text. The Unicode Bidirectional Algorithm says we should operate
paragraph by paragraph, and includes code to split paragraphs
at paragraph markers, changing their type to boundary neutrals
as it goes.
The use of this code was left "as an exercise for the reader" in
the example code, so we simply hook it up here.
|
|
|
|
's' is char * and unsigned char * is expected.
|
|
|
|
Move internal functions from public to private headers.
|
|
Move the definition of the structure contents into new fitz-imp.h
file. Make all code outside of fitz access the buffer through the
defined API.
Add a convenience API for people that want to get buffers as
null terminated C strings.
|
|
A line width of 0 has special meaning in PDF files. SVGs don't
understand it, so modify our SVG output device to send all line
widths smaller than 1 as being 1.
|
|
Correctly transformed target coordinates for PDF.
Target coordinates for EPUB and HTML.
|
|
Add missing API comments.
Move private definitions to implementation headers or C files.
Move internal functions to implementation headers.
|
|
|
|
|
|
Move function definition to the bottom of the file. This
keeps the debug/config #definery at the top of the file
where it belongs.
|
|
Non rectangular clips are currently handled by rendering to a
'isolated' background, and then plotting that through a mask.
This runs into problems when the rendering needs to use non
standard blend modes that need to access the background
colors.
Instead, copy the background to the new pixmap, render to that
then plot that through the mask.
This simplifies the painting code, because we now never have
mismatched source and destination alphas.
|
|
fz_save_pixmap_as_png has changed signature since this was
last used.
|
|
while (i >= 0) { ... i -= 4; } doesn't work well when i is unsigned.
|
|
|
|
|
|
|
|
For security and x64 builds.
|
|
ulong is not defined on windows.
|
|
All seen in MSVC, mostly in 64bit builds.
|
|
|
|
Previously, if fz_new_image() threw an exception both
fz_new_image_from_compressed_buffer() and
fz_new_image_from_buffer attempted to drop the supplied
fz_compressed_buffer. Now the full responsibility is handed
over to fz_new_image_from_compressed_buffer().
|
|
|
|
|
|
|
|
All link destinations should be URIs, and a document specific function
can be called to resolve them to actual page numbers.
Outlines have cached page numbers as well as string URIs.
|
|
Ideographic and full-width punctuation inherit the script from the
surroundings, like all other punctuation. This does not play well
with our fallback font lookups.
Add special cases for ideographic and fullwidth unicode blocks.
|
|
Reduce the amount of extra space required to insert a synthetic space
character, but check the sign so we only trigger on extra space,
never on reduced space.
|
|
In addition, make all callers passing 0 as a point pass NULL
instead.
|
|
Also don't check for NULL unnecessarily.
|
|
Commit 3059b6908208fbb9547e6876332a5b42a6406d1a
accidentally caused colorspace to not be set when reading
image information.
|
|
|
|
|
|
|
|
|
|
This caused us to introduce extra space characters after clusters that
come from ligatures such as 'fi' which are composed of two characters
but only one glyph.
|
|
Previously it was not possible to disable all options, but now this
is the default.
|
|
Previously both a space character and the original whitespace
character were emitted.
|
|
Previously, when the ligatures were not preserved, the ligature glyph
itself was remembered but not each individual character it expanded
to.
|
|
tests_private/pdf/sumatra/1297_-_interpolate_at_lower_resolutions.pdf
times out in the cluster.
This is due to us having empty t3 glyphs defined that define d1
rectangles that are wildly different to the default font bbox.
Add code to spot that t3 glyphs are empty, and to use a tiny font
bbox for them.
(It might be nicer to drop the empty display lists, but then this
produces knock on problems further on, where non-existent display
lists lead to NULL pixmaps, which lead to us think that renders
failed etc).
|
|
fz_contains_rect was improperly implemented (the logic in the
final test was reversed). This was causing us to use the font
bbox for some t3 glyphs, resulting in massive bboxes, that could
never be cached. Rerendering these each time was taking ages,
even though there was nothing actually in them.
|