|
3a3e1533b4
|
Clean ByteString types to identify when a ByteString contains the representation of an integer in a given base and fix the last remaining PDF string (un)escaping issue
|
2019-10-14 10:17:15 +02:00 |
|
|
a96e36ec5a
|
Fix error silently discarding code ranges, make sure ByteString intervals are created with the correct byte length and decode utf16BE encoded values in single-value ranges
|
2019-10-14 10:17:15 +02:00 |
|
|
d07c286f8e
|
Clean exported ByteString custom functions
|
2019-10-14 10:17:15 +02:00 |
|
|
7a15113285
|
Try and re-implement string decoding — compiles but now fails to decode any string
|
2019-10-14 10:17:15 +02:00 |
|
|
36d7f9b819
|
Still debugging, broke pretty much everything and finally implementing a proper coderange parsing for CMap because apparently that's necessary
|
2019-10-14 10:17:15 +02:00 |
|
|
b8ca7281aa
|
Fix parsing errors forgetting to make sure there's a space after special operator arguments like names and stringObjects
|
2019-10-14 10:17:15 +02:00 |
|
|
32efdcdd6b
|
Try and fix stuff by generalizing a signature to ease debugging and add parenthesis which I think should have been here all along
|
2019-10-14 10:17:15 +02:00 |
|
|
3b59fd0c61
|
Separate CMap and Text in two distinct modules
|
2019-10-14 10:17:15 +02:00 |
|
|
0374b72920
|
Finish implementing reading, still bugs to investigate
|
2019-10-14 10:17:15 +02:00 |
|
|
1dd22c3889
|
Going to try with Text, naturally handling UTF-16 but will still have to parse «int codes» manually from strings
|
2019-10-14 10:17:15 +02:00 |
|
|
98d029c4d4
|
In complete debug, more or less implemented CMap parsing but apparently it uses UTF16 ?!
|
2019-10-14 10:17:15 +02:00 |
|
|
c349d9b4c2
|
Don't trust serializer, they have nothing todo with a reasonable binary encoding
|
2019-10-14 10:17:15 +02:00 |
|
|
e7484ef536
|
Completely lost, the same old Char8 / Word8 again, implemented all the text reading, still needing a couple details to parse CMaps
|
2019-10-14 10:17:15 +02:00 |
|
|
f9e5683bf4
|
WIP: Use previous changes to start implementing font caching and text parsing (still very broken, doesn't compile)
|
2019-10-14 10:17:15 +02:00 |
|
|
b8eb9e6856
|
Generalize the Parser type into a MonadParser class to use with MonadTrans and remove redundant code already defined in Applicative or Attoparsec
|
2019-10-14 10:17:15 +02:00 |
|
|
66d315b7fe
|
Reflect the distinction between eval and run from State monad into the Parser module
|
2019-10-14 10:17:15 +02:00 |
|
|
51db57ec67
|
Ugly commit, breaks everything, still trying to figure a grammar for text
|
2019-10-14 10:17:15 +02:00 |
|
|
6f3c159ea7
|
Adding a module to implement text reading and a demo program to go with it
|
2019-10-14 10:17:15 +02:00 |
|
|
68f90d20e2
|
Implement PDF's multilayer updates and use it in getObj to display only the current version of the object taken into account instead of the concatenation of all its versions
|
2019-09-22 01:40:39 +02:00 |
|
|
3a39c75e6a
|
Stop requiring an empty line between subsections in a xref section
|
2019-09-22 01:37:28 +02:00 |
|
|
29c5823f34
|
Fix precision bug caused by using Floats to represent PDF Number values sometimes used to represent a byte offset within a file
|
2019-09-22 01:34:17 +02:00 |
|
|
699f830a45
|
Simplify XRef structure, clarify integer types and remove nextLine
|
2019-09-20 22:39:14 +02:00 |
|
|
264b0dc92b
|
Stop requiring «trailer» keywords to live on a separate line as counter-examples have been found
|
2019-05-31 15:08:54 +02:00 |
|
|
9dac275f68
|
Keep comment-opening '%' along with the comment and support empty lines
|
2019-05-31 15:07:41 +02:00 |
|
|
85e4eb9273
|
Fix bypassed error message for lines + add one for occurrences
|
2019-05-31 15:06:20 +02:00 |
|
|
11cb6504d7
|
Go strict ByteStrings with attoparsec
|
2019-05-24 10:48:09 +02:00 |
|
|
0daa03d958
|
Remove commented out dead code
|
2019-05-21 09:07:37 +02:00 |
|
|
b60f337cc4
|
First useable version
|
2019-05-18 11:09:03 +02:00 |
|
|
5614a25048
|
Generate valid PDF
|
2019-05-18 09:01:13 +02:00 |
|
|
0336baa687
|
Fix output implementation with dynamic XRefs
|
2019-05-17 16:14:06 +02:00 |
|
|
e23618da68
|
Implement output
|
2019-05-16 22:41:14 +02:00 |
|
|
088637b2c0
|
Compat stuff for Monoid / Semigroup
|
2019-05-16 21:40:19 +02:00 |
|
|
645466024a
|
Starting to implement output with String builder
|
2019-05-16 17:04:45 +02:00 |
|
|
9b2f890227
|
Boyer-Moore is canceled, implement the rest of parsing with naive search
|
2019-05-16 11:01:50 +02:00 |
|
|
fc41f815a3
|
Broken state : trying to implement Boyer-Moore for fast-forwarding to the end of a section
|
2019-05-15 19:13:35 +02:00 |
|
|
379a821550
|
Fix bugs preventing the objects from loading
|
2019-05-15 15:03:55 +02:00 |
|
|
44508a204c
|
Reuse Parser type in PDF.Body (and generalize the type of the comment parser)
|
2019-05-15 09:04:17 +02:00 |
|
|
91292d6401
|
Implement retrieving objects in the body of the document and use it to populate the structure previously parsed
|
2019-05-14 18:42:11 +02:00 |
|
|
8043f84da8
|
Cut PDF module in two, implement basic parsing up to reading XRef table
|
2019-05-13 18:22:05 +02:00 |
|
|
6eacb55fc4
|
Fix bug preventing startXref to be found for files with a single byte EOL encoding
|
2019-05-13 11:34:15 +02:00 |
|
|
c036334b6f
|
Prototype successfully parsing (only last) startxref
|
2019-05-13 08:05:28 +02:00 |
|