Age | Commit message (Collapse) | Author |
|
Remove UTF8 and UTF32 CMap resources that are not needed for PDF.
Add Identity-H and Identity-V resources.
Process UCS2/UTF16 and GBK CMaps to usecmap a common subset.
|
|
A dumping script written in python.
A flattening script written in python (for easier editing).
A subsetting script written in shell to minimize CMaps by reusing subsets.
Use 'mutool cmapdump' to bootstrap or verify cmap dumps.
|
|
|
|
Also remove useless pdf_new_null and pdf_new_bool functions.
Use the PDF_NULL, PDF_TRUE, and PDF_FALSE macros instead.
|
|
|
|
|
|
Add a PDF_NAME(Foo) macro that evaluates to a pdf_obj for /Foo.
Use the C preprocessor to create the enum values and string table
from one include file instead of using a separate code generator tool.
|
|
Belt and braces:
1) Don't attempt to close a NULL output stream.
2) If an output stream is NULL when we do close it, don't SEGV.
|
|
Previously if an xref entry looked like:
0000000000 65535 f
1 0 n
2
the xref entry parsing would try to access the scratch buffer
outside of the part populated by the read leading to possibly
using uninitalized data.
|
|
|
|
I did not foresee the case where a transparency groups color
space could be a Cal color space. I had always thought of them
as only be source color spaces not destination color spaces.
This commit makes sure that we have the equivalent ICC profile
when the destination is a Cal space.
|
|
Stray line, presumably a merge edit failure.
|
|
|
|
|
|
|
|
|
|
|
|
Increment the value after adding the mapping, not before.
|
|
Force the face_flags to include TRICKY if we detect a DynaLab font
name instead of trying to force hinting ourselves.
|
|
|
|
|
|
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.
|