Commit Graph

375 Commits

Author SHA1 Message Date
Michael R Sweet 6c1db141a1
Switch string pool code to an insertion sort - provides a modest 25% improvement
to open speeds on typical files.
2024-01-27 20:58:50 -05:00
Michael R Sweet b117959725
Make sure all output code paths set the locale information (Issue #61) 2024-01-27 19:23:51 -05:00
Michael R Sweet e882622233
Fix locale support (Issue #61) 2024-01-27 18:22:16 -05:00
Michael R Sweet c13b5a5e90
Bump version. 2024-01-27 18:20:36 -05:00
Michael R Sweet cd1406e158
Update docos.
Fix static library build commands - remove archive before building it fresh.
2024-01-24 11:03:58 -05:00
Michael R Sweet 59deee020a
Fix some Clang warnings. 2024-01-24 10:58:11 -05:00
Michael R Sweet 476013706e
Prep for 1.2.0 release, bump copyright. 2024-01-24 10:53:53 -05:00
Michael R Sweet a43a9d9e32
Fix whitespace. 2023-12-18 10:04:24 -05:00
Michael R Sweet abc69b3361
Save work. 2023-12-18 10:04:00 -05:00
Michael R Sweet 83bfb135c6
Add some more debug printfs, relocate extra newline detection after stream
token.
2023-12-15 12:57:31 -05:00
Michael R Sweet 2dfb560f8b
Add more debug logging. 2023-12-14 17:05:10 -05:00
Michael R Sweet 7330cc35ba
Defer object/value decryption to after the object is loaded (Issue #42) 2023-12-14 16:02:26 -05:00
Michael R Sweet 5d760e7315
Update some debug printfs. 2023-12-13 12:48:31 -05:00
Michael R Sweet 2a85baaf81
Increase the maximum number of object streams in a file (Issue #58) - most files
only contain 1 or 2...

Change the implementation of add/find object to use a custom binary insertion
sort algorithm rather than doing a qsort after every addition.  This results in
a significant improvement in open speed - from 2371 seconds (about 39.5 minutes)
to 3.1 seconds for one large test file (an ESRI standard).
2023-12-13 12:26:25 -05:00
Michael R Sweet 2b92044504
Support per-object file IDs (Issue #42) 2023-12-12 21:48:58 -05:00
Michael R Sweet f4aa951165
Fix _pdfioFileSeek with whence==SEEK_CUR
Fix seek offset after trailer.

Look at the last 1k of the file to find the startxref marker.
2023-12-12 12:24:49 -05:00
Michael R Sweet 038fd8686b
Fix trailer dictionary handling (Issue #58)
Fix generation number handling for object 0 (Issue #59)
2023-12-11 19:56:00 -05:00
Michael R Sweet 7084105dc4
Merge pull request #57 from eli-schwartz/pdfio-pc-redundancy
pdfio.pc: use -lm as specified in configure
2023-12-10 19:35:37 -05:00
Eli Schwartz 9f06f22281
pdfio.pc: use -lm as specified in configure
It is already configured in, in the correct place. Currently, it is
listed twice in Libs.private, if --enable-shared is used. And it is
redundant if the build is static instead, since it is recorded in Libs.
2023-12-10 16:32:52 -05:00
Michael R Sweet cb6b493df6
Update configure script. 2023-12-10 15:38:35 -05:00
Michael R Sweet 2753a82eb9
Merge pull request #56 from eli-schwartz/misspelled
fix misspelled variable: PKCONFIG
2023-12-10 15:38:12 -05:00
Eli Schwartz ddb8ddff9c
fix misspelled variable: PKCONFIG
This prevented using pkg-config for zlib lookup.
2023-12-10 01:39:23 -05:00
Michael R Sweet c992b2ba89
Update the token reading code to protect against obvious format abuses.
Update the xref loading code to protect against looping xref tables.
2023-12-07 17:50:52 -05:00
Michael R Sweet ed723a46dc
Make sure buffer is terminated on error. 2023-12-06 11:21:33 -05:00
Michael R Sweet 6906a9a708
Fix docos for pdfioFileOpen. 2023-12-05 19:22:47 -05:00
Michael R Sweet 6a381a55fe
Update macOS build docos. 2023-12-05 18:41:26 -05:00
Michael R Sweet fc3580a948
Update build docos. 2023-12-05 18:39:20 -05:00
Michael R Sweet 6b5c30b4be
Remove PDFIO_ENCRYPTION_AES_256 from docos. 2023-12-05 14:30:41 -05:00
Michael R Sweet a0cdb261ff
Update CONTRIBUTING docos. 2023-12-05 14:07:52 -05:00
Michael R Sweet 34dbf6c2fe
Documentation cleanup. 2023-12-05 13:49:58 -05:00
Michael R Sweet 86d842167a
Bring back mis-named pdfioContentTextNextLine. 2023-12-05 13:33:07 -05:00
Michael R Sweet 16c8b830b8
Add pdfioFileCreateNumber/StringObj functions (Issue #14) 2023-12-05 08:16:41 -05:00
Michael R Sweet 7ff051fc8b
Add pdfioContentTextNewLineShow/f functions (Issue #24) 2023-12-05 07:49:49 -05:00
Michael R Sweet 927452d1eb
Changelog and exports updates. 2023-12-04 21:22:13 -05:00
Michael R Sweet f1ad982fd1
Update docos. 2023-12-04 21:21:18 -05:00
Michael R Sweet c188cb8dad
Finish implementation of pdfioContentTextMeasure (Issue #17) 2023-12-04 21:20:51 -05:00
Michael R Sweet 4919783da5
Save work on string measure support (Issue #17) 2023-12-04 18:54:33 -05:00
Michael R Sweet 86281750e5
Fix man page installation to use mandir (Issue #55) 2023-12-04 08:50:28 -05:00
Michael R Sweet d92b72ed02
Add math library. 2023-12-03 20:26:27 -05:00
Michael R Sweet a195c023af
Fix CI scripts. 2023-12-03 20:20:23 -05:00
Michael R Sweet 43000ff01f
Fix up targets. 2023-12-03 19:56:25 -05:00
Michael R Sweet c6f17cc20f
Fix some warnings. 2023-12-03 19:23:36 -05:00
Michael R Sweet 41146adbdf
Adopt autoconf (Issue #54) 2023-12-03 19:16:34 -05:00
Michael R Sweet cd80c3037d
Prep for 1.1.4 release. 2023-12-03 16:55:57 -05:00
Michael R Sweet 97934ab995
Add ToUnicode map. 2023-11-19 20:49:30 -05:00
Michael R Sweet 088646e1cf
Drop the FEFF prefix on Unicode strings. 2023-11-19 07:30:17 -05:00
Michael R Sweet 3f0aad7564
Fix another bug in the CMAPv4 code, and a bug in the unit test program. 2023-11-19 07:06:35 -05:00
Michael R Sweet d36df63b57
Fix a TrueType CMAP decoding bug and add a NotoSans-Regular test page. 2023-11-18 22:15:52 -05:00
Michael R Sweet a5dfac7495
Bump version. 2023-11-18 18:23:22 -05:00
Michael R Sweet 0258384d53
Range check encrypted string length (Issue #52) 2023-11-18 18:22:11 -05:00