Age | Commit message (Collapse) | Author |
|
|
|
Also update the comment in the code to mention the
optional encoding argument.
|
|
Previously these were not set to NULL, which caused
spurious segmentation errors.
|
|
While running 'ensure_space', we can drop and retake the alloc lock.
This can enable other threads to perform store operations, which can
trigger reaps.
When reaps happen, fz_item's are discarded. This is particularly bad
when ensure_space happens to be holding onto a pointer to one (prev).
The fix, implemented here, is to move items out of the store list
(and hash table), and put them onto a local 'to_be_freed' list.
Once on this local list we can be sure that they won't be found
by other threads doing store operations, and they can be safely
freed from there (dropping/retaking the lock as required).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If Bitmap.lockPixels fails with an allocation error, scavenge in
the store.
|
|
If a call to Bitmap_lockPixels() fails, then previously we
would have continued on blindly and tried to use it anyway.
Now, spot failures and return so we get a java exception.
|
|
Ken reports that a VS2008 import of the projects fails with
complaints about __restrict whereever stdlib.h is included.
Fix the #ifdeffery so that we don't mess with it on VS2008.
|
|
The strdup function is not part of the strict C++ standard.
Use gnu++0x instead of c++0x when building Harfbuzz, which uses
this function.
|
|
Use pdf_dict_put_* convenience functions.
Use pdf_dict_get instead of pdf_dict_gets with constant strings.
|
|
|
|
Create a new empty dictionary, add it to the xref and return
a new indirect reference object that points to it.
This indirect reference needs to be dropped, since it was
created with a function using the 'new' keyword.
|
|
|
|
pdf_dict_put_dict creates a new empty dictionary, inserts it
into the parent dictionary, and returns a borrowed reference to it.
These functions should simplify document creation by removing the
need to wrap creation with try/catch for reference counting cleanup.
|
|
|
|
|
|
Does not layout the table boxes properly yet.
|
|
|
|
|
|
|
|
|
|
_WIN32 is always defined on windows (it means the WinAPI is available).
_WIN64 is also defined on 64-bit targets.
This means the test for defined(_WIN32) || defined(_WIN64) is redundant,
since if _WIN64 is defined, then _WIN32 is always also defined.
MSC_VER is only defined for MSVC, so split the ifdef sections in
include/fitz/system.h into separate MSVC and WIN32 parts so that
we can build with MinGW and other non-MSVC compilers on windows.
|
|
Ignore page boundaries and CSS page breaks when page height is 0.
|
|
Always recurse for the native library, so that it will be rebuilt if
the sources change.
|
|
Filter out Link and Popup annotations.
Links are not comments, popup annotations are auxiliary information
for other annotations, so neither of these types should be present
in our list of annotations, but all other annotations should be there,
whether they have appearance streams or not.
Ensure has_new_ap is zero when first loaded, and changed if either
the active AP object is changed or the current AP content stream
is updated.
|
|
Previously crypt->len / 8 could be 0..32. In the case
of crypt->len == 256 this meant that when an 16 byte
MD5 was computed, uninitalized key data would be
accessed because 32 bytes of key data was accessed.
Now crypt->len / 8 is limited to 0..16. So when the
16 byte MD5 is computed and later accessed only the
initialized part of the key data is accessed.
Because crypt->len / 8 is now limited to 0..16 the key
data buffer can also be shrunk to 16 bytes without
risking the code stepping over its boundaries.
|
|
pdf_authenticate_user_password() now looks similar to
pdf_compute_user_password(), easing readability.
|
|
|
|
|
|
|
|
If a widget DR is missing the font name given in the DA, create a new
simple font for it.
|
|
|
|
Don't create a useless pdf_font_desc when writing font resources.
Simplify reference counting by using fewer intermediate variables.
|
|
Use KOI8-U for Cyrillic, and ISO 8859-7 for Greek.
Use with 'mutool create' using an extra argument to the %%Font directive:
%%Font TmRmC Times-Roman Cyrillic
BT
/TmRmC 16 Tf 10 10 Td
<fa c4 d2 c1 d7 d3 d4 d7 d5 ca d4 c5 21> Tj
ET
The alternatives are "Latin", "Greek", and "Cyrillic".
|
|
Create a non-embedded CJK font using UTF-16 encoding. This can be used
in mutool create like so:
%%CJKFont Ming GB1
BT
/Ming 10 Tf
100 100 Td
<4F60 597D> Tj
ET
|
|
|
|
|
|
|
|
|
|
|
|
The Border property is long since deprecated.
|
|
|
|
|
|
|