Age | Commit message (Collapse) | Author |
|
fz_encode_character_with_fallback finds the first font in the fallback
chain that has the glyph encoded, and if none do then try to encode
a bullet character.
|
|
The font is an immutable opaque structure, no need to add the const
keyword since users aren't expected or expecting to change it.
|
|
|
|
Make the import follow mupdf style (better, if not perfect).
Use ucdn where possible to avoid duplicating tables.
Shrink the types, make them explicit (e.g. use fz_bidi_level rather
than int) and make tables const.
Use 32-bit integers for text.
|
|
After we parse html text from an ebook run it through the
unicode bidirectional algorithm to determine the directionality
of each fragment. This may require splitting of fragments.
Currently we don't do anything with this information.
|
|
|
|
Forgot these in my previous pass.
|
|
Use a pointer to the top error stack slot instead of access via
array and index. Return the stack slot from fz_push_try.
|
|
In general, we should use 'const fz_blah' in device calls whenever
the callee should not alter the fz_blah.
Push this through. This shows up various places where we fz_keep
and fz_drop these const things.
I've updated the fz_keep and fz_drops with appropriate casts
to remove the consts. We may need to do the union dance to avoid
the consts for some compilers, but will only do that if required.
I think this is nicer overall, even allowing for the const<->no const
problems.
|
|
|
|
It's slower, but will work for CJK fonts as well.
|
|
|
|
|
|
stm.avail_out is only set if !only_metadata.
Reverse the order of the if tests to silence valgrind.
|
|
|
|
Add a caching table for the lower planes of unicode, which cover the
latin, greek, cyrillic, hebrew and arabic scripts.
|
|
|
|
|
|
|
|
|
|
During pdf_save_document the main performance bottleneck is the formatting
of floats to decimal ASCII representations in fz_ftoa.
Fix this by using the Grisu2 algorithm, the fastest known algorithm for
accurate printing of IEEE floating point numbers while minimizing the number
of produced decimal digits.
This requires no libc support, only integer arithmetic.
|
|
|
|
The +1's for zero terminating bytes are not needed: printf to a fz_buffer
or fz_output does not write a zero terminator. The extra code to add
space for a zero terminator when calling snprintf internally are
merely confusing.
|
|
|
|
|
|
|
|
In preparation of adding pdf_write_document that writes a document
to a fz_output stream.
|
|
|
|
|
|
|
|
Separate naming of functions that save complete files to disk
from functions that write data to streams.
|
|
Will be required for JNI bindings.
|
|
Will be required for JNI bindings.
|
|
This highlights the fact that we never alter the internals,
and allows callers to pass in static const pointers.
|
|
This may help the MuPDF JNI code, so it's likely to be useful for
other users too.
|
|
Seen with MSVC.
|
|
We can now group all clipped text into one fz_text object and simplify
the device interface.
|
|
|
|
Less risk of confusion with the text type used in the device interface.
|
|
Use fz_output in debug printing functions.
Use fz_output in pdfshow.
Use fz_output in fz_trace_device instead of stdout.
Use fz_output in pdf-write.c.
Rename fz_new_output_to_filename to fz_new_output_with_path.
Add seek and tell to fz_output.
Remove unused functions like fz_fprintf.
Fix typo in pdf_print_obj.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Respect default widths when creating the glyph width table.
|
|
|
|
Make fz_link reference counting threadsafe.
Remember to free dests of GOTO links. Accordingly, ensure that XPS
does not create links with uninitialised dests.
|