Commit Graph

49 Commits

Author SHA1 Message Date
Eliot Jones
a6cdb4d508 remove more unused code 2017-12-26 14:40:58 +00:00
Eliot Jones
7a849639ae move and rename the pdf stream object 2017-12-26 14:31:30 +00:00
Eliot Jones
b042ad7919 purge outdated code 2017-12-26 14:24:13 +00:00
Eliot Jones
a97bac2c69 start creating interface structure for cid fonts to be used elsewhere. port most encoding classes from pdfbox 2017-12-26 14:02:47 +00:00
Eliot Jones
cab46f1ecf handle error case where the descendant font for a type 0 composite font is not a dictionary 2017-12-25 22:30:34 +00:00
Eliot Jones
8d3c65b6cd fix bug where the end of data bytes were missing from an ascii 85 stream 2017-12-25 22:19:02 +00:00
Eliot Jones
a3010e20ef add support for ascii 85 decoding 2017-12-24 22:34:08 +00:00
Eliot Jones
b0960872a5 remove more unused classes 2017-12-22 23:58:16 +00:00
Eliot Jones
f4d58e8aa9 create Type0 font, notes about font format, heavy duty refactoring to inject dependencies rather than god object 2017-12-22 23:54:54 +00:00
Eliot Jones
206eb91ff1 finish reading the encoding cmap for the type 0 font 2017-12-21 22:45:18 +00:00
Eliot Jones
a0205ab637 test all predefined cmaps and fix bugs 2017-12-20 22:52:42 +00:00
Eliot Jones
078e67893d add predefined cmaps as resources and include in type0 font parsing 2017-12-20 22:14:47 +00:00
Eliot Jones
e5aa752248 fix problems with parsing the glyph table and other bugs with truetype parsing 2017-12-17 09:51:37 +00:00
Eliot Jones
7bde49d019 scaffold the code for reading the glyph data table 2017-12-06 21:12:56 +00:00
Eliot Jones
7a0c4aaf9f add index to location table and remove old version of opencover from the tools folder 2017-12-05 23:59:41 +00:00
Eliot Jones
6b11d570c9 add a different way of running open cover since it doesn't work on app veyor 2017-12-05 22:44:37 +00:00
Eliot Jones
70b01deb38 add tools for code coverage metrics 2017-12-05 21:26:07 +00:00
Eliot Jones
8d9960ef98 add postscript table 2017-12-04 23:00:57 +00:00
Eliot Jones
c0618a303f add maximum profile table 2017-12-04 22:15:47 +00:00
Eliot Jones
236cdd286e add horizontal header table parsing 2017-12-04 21:52:10 +00:00
Eliot Jones
207b0ebe7b remove old debugging code 2017-12-04 07:46:43 +00:00
Eliot Jones
0ca417e21c create javascript to verify the output of the true type font parser. fix bugs 2017-12-04 01:36:30 +00:00
Eliot Jones
33c10a3ff7 start adding true type font parsing logic 2017-12-03 21:31:59 +00:00
Eliot Jones
644fd3e19d rename contentstreamdictionary to pdfdictionary. add initial structure for cid fonts 2017-12-03 15:01:17 +00:00
Eliot Jones
b4cddbec7b start porting the afm parser from pdf box, so many comments! 2017-12-03 00:10:40 +00:00
Eliot Jones
bb07bd5cd4 reorganise code for parsing font dictionaries and add the afm files as resources for adobe font metrics 2017-12-02 23:50:58 +00:00
Eliot Jones
b8aff65e1a add assertion to the document parsing test 2017-12-02 19:33:18 +00:00
Eliot Jones
3d082ef236 get the text out of the google docs document finally 2017-12-02 19:08:38 +00:00
Eliot Jones
257439b8a3 make classes internal and scaffold reading of glyphs 2017-12-02 14:57:44 +00:00
Eliot Jones
188c6efa61 add a run method to all graphics state operations 2017-12-02 14:11:20 +00:00
Eliot Jones
ced3a86293 add gethashcode for transformation matrix 2017-11-30 23:49:53 +00:00
Eliot Jones
90b67586dc add empty run methods to operations we are not implementing yet 2017-11-30 23:47:24 +00:00
Eliot Jones
1de60d7479 implement text positioning operations and general operations. as well as cm operation. 2017-11-30 23:34:38 +00:00
Eliot Jones
ab5377884f add operation processing for text state operations, support for matrix multiplication with tests and td operation support 2017-11-29 22:55:53 +00:00
Eliot Jones
157030ea31 fix failing test due to bug in deep clone of graphics state 2017-11-26 22:23:40 +00:00
Eliot Jones
ed634e86fe arrange operations into folders in line with grouping from the specification and start creating a context to mutate through operations. 2017-11-26 22:19:42 +00:00
Eliot Jones
b0e53efbfe delete old code and start an approach for parsing fonts and page content streams 2017-11-22 18:41:34 +00:00
Eliot Jones
4b91300466 split out classes for parsing the cmap format and add assertions to tests. add bytes to int method for hex token and test 2017-11-20 16:42:18 +00:00
Eliot Jones
0fd433240b add initial port of base font range parsing 2017-11-19 15:29:05 +00:00
Eliot Jones
2e5aa37c85 change hex token construction to use a lookup for mapping to bytes. add parsing for codespace range and base font characters in the cmap 2017-11-14 22:58:06 +00:00
Eliot Jones
511385a253 begin porting the character map parser over to use the new core tokenizer. add the comment tokenizer and some tests around dictionary token 2017-11-13 23:48:25 +00:00
Eliot Jones
879563dd0c add dictionary tokenizer with tests and unify other tokens under operator token 2017-11-12 17:06:19 +00:00
Eliot Jones
158cd5f2e3 support for tokenizing arrays and nested arrays 2017-11-12 14:42:01 +00:00
Eliot Jones
00e3d06513 add some more tokens and test the core token scanner for some initial test cases, seems like the approach should be valid. 2017-11-12 01:08:09 +00:00
Eliot Jones
096278de50 create name tokenizer and approach for reading non variable data tokens 2017-11-10 23:58:28 +00:00
Eliot Jones
f986e16c97 rename hex tokenizer and add numeric tokenizer 2017-11-10 21:13:45 +00:00
Eliot Jones
8dbeb4b822 quick initial draft of the hex parser. very inefficient 2017-11-09 23:26:21 +00:00
Eliot Jones
83cc1a6bf1 fixes for octal in strings and tests for string and hex tokenizing 2017-11-09 22:52:48 +00:00
Eliot Jones
fd53d91c28 move code into correct directory structure 2017-11-09 19:22:52 +00:00