Commit Graph

1017 Commits

Author SHA1 Message Date
Eliot Jones
946ad1aec6 #10 some tidying for a couple of tokens 2018-11-16 20:08:00 +00:00
Eliot Jones
0f68dfeb19 #10 move tokens to the root namespace for discoverability. upgrade xunit versions. there is a bug with test discovery for stringtokenizertests 2018-11-16 20:00:12 +00:00
Eliot Jones
c72f3796e2 add inkscape document. fix bug with truetype width where no font program present 2018-11-15 22:51:46 +00:00
Eliot Jones
d8bf977842 add tests for another type 1 font file 2018-11-15 21:36:52 +00:00
Eliot Jones
099f270986 add visual verification for type 1 output, currently seems off by some amount, could be font matrix 2018-11-15 20:21:13 +00:00
Eliot Jones
b76cfcee57 fix reading nested array for page content 2018-11-15 20:05:15 +00:00
Eliot Jones
7e1bcf6f64 bug fixes for reading from type 1 fonts. test all pages in documents. use content rather than embedded resources for #4 2018-11-15 19:52:42 +00:00
Eliot Jones
64a35e3217 support other types of callothersubr. calculate bounding rectangle from glyph path 2018-11-14 22:22:51 +00:00
Eliot Jones
b477b3b560 implement more type 1 commands to modify the context 2018-11-13 22:22:24 +00:00
Eliot Jones
904f773525 add code for drawing type 1 glyphs and converting to svg 2018-11-13 20:45:54 +00:00
Eliot Jones
ab9de799f9 more tidy up of api for type 1 fonts 2018-11-01 22:26:10 +00:00
Eliot Jones
1fb2f879d9 prepare type 1 private dictionary for public api. fix typo 2018-11-01 22:08:40 +00:00
Eliot Jones
1d4dc7767d change type1 commands to be static and lazily evaluated and return the command sequences from the parser 2018-11-01 19:34:22 +00:00
Eliot Jones
61e2a0814d add more type1 charstring commands and fix type1 tests 2018-10-30 22:59:21 +00:00
Eliot Jones
d8a4f0f521 create command classes for each of the commands in type 1 charstrings 2018-10-29 22:05:18 +00:00
Eliot Jones
7fab13e877 start parsing private dictionaries for type 1 fonts. subroutines and charstrings left to implement. 2018-10-27 19:45:45 +01:00
Eliot Jones
2a8777a93a fix type 1 font tests and port more parsing logic 2018-10-24 19:11:44 +01:00
Eliot Jones
df0b60c2e1 port type 1 lexer from pdf box and add test data 2018-10-23 20:02:20 +01:00
Eliot Jones
c8c32eab24 fix glyph boxes for an offset glyph index range in true type fornt format 4 cmap table 2018-04-29 19:27:34 +01:00
Eliot Jones
f4db97a998 implement full kerning table loader for true type font 2018-04-29 15:51:27 +01:00
Eliot Jones
2bf4922c47 postscript table load for true type font now uses postscript header table 2018-04-29 15:16:03 +01:00
Eliot Jones
1a213caf26 start adding kerning table as a break from compact font format 2018-04-29 15:15:11 +01:00
Eliot Jones
b51ebfd70c fix a bug where the mediabox being defined on the pages node would throw. a lot more work on parsing compact font format 2018-04-29 14:42:54 +01:00
Eliot Jones
85d1f84965 more compact font format parsing 2018-04-28 19:33:50 +01:00
Eliot Jones
1deefdc987 begin implementing support for compact font format fonts in type 1 font handling 2018-04-28 13:00:43 +01:00
Eliot Jones
1fe54c5f49 add xobjects to pages, fix parsing truetype fonts where the glyphs use the repeat flag. 2018-04-26 22:22:29 +01:00
Eliot Jones
b6585292fb start adding support for reading and applying XObjects 2018-04-21 16:24:37 +01:00
Eliot Jones
787bcd1cd2 create a test document with some rotated text to validate the transformations 2018-04-18 22:34:06 +01:00
Eliot Jones
99674f31e1 use image from another source since gimp positions appear wrong 2018-04-18 21:42:07 +01:00
Eliot Jones
0e844d88df return both glyph and character bounding boxes for each letter, glyph is the actual outline of the letter whereas character is the surrounding space as defined in the pdf 2018-04-18 19:24:10 +01:00
Eliot Jones
e5cfc20b30 missing letters with width less than 1 are now drawn in the visual tests 2018-04-17 23:00:16 +01:00
Eliot Jones
4b66addf6d always use cidtogid map over truetype cmap where available 2018-04-17 00:14:53 +01:00
Eliot Jones
8d591ca913 fix bounding boxes for type 0 truetype fonts 2018-04-16 23:58:27 +01:00
Eliot Jones
53f693bc77 add tests to visually verify the output for glpyh bounding boxes and use advance widths for empty glyphs in truetype fonts 2018-04-15 12:47:08 +01:00
Eliot Jones
9700ee03b8 Merge pull request #3 from GowenGit/master
letter boundaries - todo: review changes for non latin characters, it seems like we need both the bounding box and the origin to be stored for each letter since the origin is on the baseline while the bounding box can extend below.
2018-04-15 11:41:30 +01:00
modest-as
4570427a6f merge from upstream 2018-04-14 22:20:36 +01:00
Eliot Jones
8def7d7e0b unify truetype glyphs to a single class. build composite glyphs from elements 2018-04-14 22:16:26 +01:00
Eliot Jones
731a1a3956 add xfinium data validations for non latin characters 2018-04-14 19:18:19 +01:00
Eliot Jones
f1c01b5576 wire up cidtogid map for type2cid fonts 2018-04-14 18:53:31 +01:00
Eliot Jones
983933b6e8 tidy up glyph reading code, simple glyphs now contain glyph points rather than 3 related arrays 2018-04-14 15:44:07 +01:00
Eliot Jones
ebdda46098 make rectangle a struct. add infrastructure for handling composite glyphs 2018-04-14 14:11:10 +01:00
modest-as
fcc0e06bef fallbacks to true type font bounding boxes 2018-04-14 12:39:53 +01:00
modest-as
fe3f627f9c merge from upstream 2018-04-13 00:32:12 +01:00
modest-as
05da4d0726 more work on boundaries and unit tests 2018-04-13 00:18:38 +01:00
Eliot Jones
08f11343d3 more integration tests 2018-04-12 23:32:51 +01:00
Eliot Jones
a7c8efa6f7 move getting the bounding box from a truetype font to the cid font program interface so it can be used from the type 0 and truetype font. comment the pfb parsing logic in type1 fonts 2018-04-12 23:11:09 +01:00
Eliot Jones
e063ac45fe add support for parsing pfb files in type 1 fonts and an extra integration test 2018-04-12 22:34:38 +01:00
modest-as
d65f50dfd1 fixed coordinate space transformations 2018-04-11 23:18:24 +01:00
modest-as
1da3975325 merge from upstream 2018-04-11 23:17:37 +01:00
Eliot Jones
7af2b1bcb9 start adding code and tests for reading metrics of type 1 fonts 2018-04-11 22:51:31 +01:00