Commit Graph

753 Commits

Author SHA1 Message Date
Eliot Jones
d6d3869fe2 fix brute force searcher offsets
the brute force searcher offsets were off by one. this change means the offset returned is now aligned with the object number in the object number/generation/operator triple.
2020-02-24 12:24:18 +00:00
Eliot Jones
7ac3fb2a39 remove old clipping rule code and make enum byte
removes the unused set winding rule method and makes the clipping rule enum a byte which will save 3 bytes per pdfpath instance.
2020-02-24 11:29:06 +00:00
BobLd
0afaa19d15 Handle null CurrentPath 2020-02-24 11:20:56 +00:00
BobLd
74413fa6a4 Add PdfPath.IsCounterClockwise tests 2020-02-24 11:20:56 +00:00
BobLd
1d095af974 Implement Modify Clipping operations 2020-02-24 11:20:56 +00:00
BobLd
b0eaccf56f Add PdfRectangle.Contains(PdfRectangle) and tests 2020-02-23 14:44:35 +00:00
BobLd
8e5aaf068d use MemberData for all Geometry tests 2020-02-23 11:23:27 +00:00
BobLd
bbdb778d5e use Count == 0 i.o. !Any() 2020-02-23 11:23:27 +00:00
BobLd
514a5eff20 use MemberData in PdfRectangle.Area tests 2020-02-23 11:23:27 +00:00
BobLd
41c8af0de4 use MemberData in PdfRectangle.Rotate tests 2020-02-23 11:23:27 +00:00
BobLd
c6669679d6 use MemberData in Line.Length tests 2020-02-23 11:23:27 +00:00
BobLd
1b15238e31 avoid creating PdfLines in IntersectsWith 2020-02-23 11:23:27 +00:00
BobLd
49caa071ba improve length computation
tidy up IntersectsWith()
2020-02-23 11:23:27 +00:00
BobLd
7d7a7fc5ee remove useless code 2020-02-23 11:23:27 +00:00
BobLd
42245d70ca Improve PdfRectangle.GetWidthHeight();
Improve and simplify Word's oriented bounding box
2020-02-23 11:23:27 +00:00
BobLd
67c5abf2b6 fix Intersect(BezierCurve, Line) and add tests 2020-02-23 11:23:27 +00:00
BobLd
2878e74017 Add bezier curve test 2020-02-23 11:23:27 +00:00
BobLd
36566f42e6 Create generic methods for lines in GeometryExtensions 2020-02-23 11:23:27 +00:00
BobLd
6fe0ef0351 Add line tests and improve GeometryExtensions 2020-02-23 11:23:27 +00:00
BobLd
b8d1eba8ee PdfLine.Insersect() 2020-02-23 11:23:27 +00:00
BobLd
d2ac2f598a update Centroid, GetWidthHeight and tests 2020-02-23 11:23:27 +00:00
BobLd
2c8c6cda87 add GeometryExtensions tests 2020-02-23 11:23:27 +00:00
Eliot Jones
c6dc4d9eb8 handle tokenizing invalid numeric string correctly
rather than throwing when an invalid numeric string is read, our tokenizer now returns false so that error recovery methods can be attempted.
2020-02-21 11:16:31 +00:00
Eliot Jones
8d415fd162 use type 1 font handler for mmtype1
multiple master fonts are an extension of the adobe type 1 font format. we don't have any special case handling for them so for now we default to attempting to use the adobe type 1 font handler. it may be that we need some special parsing logic but the test file using the mmtype1 fonts didn't actually specify any font bytes so we can't check.
2020-02-21 10:49:29 +00:00
Eliot Jones
28faf1c22c default to .notdef for type 2 charstrings
if the glyph with a specific name isn't found in the set of type 2 charstrings we default to using the .notdef glyph if present.
2020-02-21 10:37:58 +00:00
Eliot Jones
c635b919d2 make numbers culture invariant in document builder
decimal numbers were dependent on the current thread culture for the output file. this meant values like '70.679' were output as '70,679' for cultures using a comma rather than period separator for the floating point (i.e. the whole world). this resulted in the file displaying incorrectly.
2020-02-20 13:06:12 +00:00
BobLd
848d687910 Add kd tree and improve clustering 2020-02-19 11:12:54 +00:00
Eliot Jones
ed894baffc Merge pull request #135 from BobLd/rxycut-stackoverflow
Fix RecursiveXYCut
2020-02-15 10:52:20 +00:00
BobLd
3229574345 Correcting typo 2020-02-12 12:00:14 +00:00
BobLd
6a72ce655c Merge branch 'master' of https://github.com/UglyToad/PdfPig into rxycut-stackoverflow 2020-02-12 11:40:51 +00:00
BobLd
f0be3e99ee Add Projection class 2020-02-11 10:04:04 +00:00
BobLd
dd8baa0d2f Fix stack overflow error in RecursiveXYCut
Was linked to the new rotated rectangle methods
2020-02-10 13:53:59 +00:00
BobLd
b49740d093 add test for index increment when children are present 2020-02-10 11:23:19 +00:00
BobLd
ec68231ab3 remove useless using 2020-02-10 11:23:19 +00:00
BobLd
ac1e2c49ba Fix bounding box for artifact
Add tests
2020-02-10 11:23:19 +00:00
BobLd
588648d30b Fix #133 Marked content extraction issue 2020-02-10 11:23:19 +00:00
BobLd
6dfc7aea30 add test for index increment when children are present 2020-02-09 18:01:18 +00:00
BobLd
f66c25103f remove useless using 2020-02-09 17:54:20 +00:00
BobLd
905559e282 Fix bounding box for artifact
Add tests
2020-02-09 17:46:35 +00:00
BobLd
635693f032 Fix #133 Marked content extraction issue 2020-02-09 15:23:55 +00:00
BobLd
f05101ad07 TransformationMatrix: add comment and improve multiplication 2020-02-09 14:20:47 +00:00
BobLd
1a11e49124 Add TransformationMatrix.Inverse() tests 2020-02-09 14:20:47 +00:00
BobLd
df73206788 try rerun failed tests 2020-02-09 14:20:47 +00:00
BobLd
6a86cdab73 make GeometryExtensions.OrientedBoundingBox() internal 2020-02-09 14:20:47 +00:00
BobLd
288beab39d limit access to array and add comments 2020-02-09 14:20:47 +00:00
BobLd
7364e53bb9 Improve bounding box for word 2020-02-09 14:20:47 +00:00
Eliot Jones
f3fcd1b3a1 ignore form dictionaries that do not contain fields #131
though a form dictionary should always contain fields (as required by the spec) it is possible for this entry to be missing. in this case we return false for trygetform.
2020-02-05 10:56:01 +00:00
Eliot Jones
40dc80c281 handle type 1 font with no descriptor information #132
though required by the spec an adobe type 1 font may be missing all width data. in this case we default to empty values and treat it like a normal adobe type 1 font.
2020-02-05 10:46:39 +00:00
Eliot Jones
10ca77a034 move values back to computed properties
the additional stored fields made the struct slower to copy and had an impact on the performance. this moves non-essential fields back to computed properties.
2020-01-31 16:24:59 +00:00
BobLd
6dfbd45eb3 Add image example with new bounding box method 2020-01-31 16:24:59 +00:00