Commit Graph

380 Commits

Author SHA1 Message Date
Michael R Sweet
63a7a2cdbd
Add unit tests for new pdfioFileGetCatalog API (Issue #67)
Fix pdfioDictGetString to convert (formerly) encrypted binary strings to
regular strings.
2024-06-24 11:46:15 -04:00
Michael R Sweet
f040cc41c2
Add #define guard to allow MingW to build PDFio; note that MingW is NOT a supported toolchain for PDFio (Issue #66) 2024-06-24 09:03:46 -04:00
Michael R Sweet
23883268e3
Add pdfioFileGetCatalog function (Issue #67)
Refactor the pdfioFileCreateXxx functions to use a common (private) function to
handle creating/initializing the pdfio_file_t object and base file objects.

Update unit tests to display the filename for the pdfioFileClose test.
2024-06-24 08:56:16 -04:00
Michael R Sweet
a1e14503fd
Bump version in other files, update makesrcdist to support checking. 2024-06-24 07:28:54 -04:00
Michael R Sweet
0766869ad1
Bump version to 1.3.0. 2024-06-24 07:12:01 -04:00
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