Commit Graph

351 Commits

Author SHA1 Message Date
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
Eliot Jones
ea55256e78 wire up retrieving glyph bounding box from a truetype font when retrieving a displacement vector. this is not used currently 2018-03-31 13:27:27 +01:00
Eliot Jones
0ae20c51f3 implement glyph index getter for the 3 implemented truetype cmap sub tables 2018-03-31 12:43:06 +01:00
Eliot Jones
92c0ef14cb support format 6 cmap sub tables for truetype fonts. pass the truetypefont to the ifont implementation so we can use it to access font data 2018-03-31 12:11:12 +01:00
modest-as
564e32e072 Return bounding boxes for letters 2018-03-30 23:16:54 +01:00
Eliot Jones
796a3d615e add infrastructure to font to retrieve character bounds, this is unused and will throw for now. add format 4 cmap subtable for truetype cmap table 2018-03-30 23:12:55 +01:00
modest-as
ab60a15d4c Merge remote-tracking branch 'upstream/master' 2018-03-30 22:04:47 +01:00
modest-as
6a9e466c8b Moved some internal properties to fields 2018-03-30 22:02:05 +01:00
Eliot Jones
70025edd79 truetype glyphs now contain the bounds 2018-03-30 21:26:21 +01:00
Eliot Jones
bd6427f26f start adding other tables for reading true type fonts 2018-03-03 16:25:32 +00:00
Eliot Jones
174d9906fb version 0.0.1 2018-02-26 21:30:30 +00:00
Eliot Jones
c94266bc81 remove the old version setting from the csproj v0.0.1 2018-01-22 21:27:24 +00:00
Eliot Jones
bbd1df57ce version 0.0.1-alpha-002 v0.0.1-alpha-002 2018-01-21 19:41:16 +00:00
Eliot Jones
c64e54d6c0 support opening from stream and improve performance of brute force searching since the seek operation is now slower. 2018-01-21 19:34:21 +00:00
Eliot Jones
07161cef28 unify raw byte access method 2018-01-21 18:08:00 +00:00
Eliot Jones
3172596b7c remove all old cos objects 2018-01-21 14:56:50 +00:00
Eliot Jones
e24a306c31 remove all old parsing logic 2018-01-21 14:48:49 +00:00