Eliot Jones
3a025052c9
add test for type 1 cff glyph locations and add missing doc comments
2018-11-19 21:43:22 +00:00
Eliot Jones
8cd05807ca
#6 complete parsing of type 2 charstrings. subroutines now eager evaluated from raw bytes
2018-11-19 21:23:21 +00:00
Eliot Jones
6517a6201a
#6 more work on type 2 char string, stuck on a bug
2018-11-19 20:41:52 +00:00
Eliot Jones
2c159f71e8
#6 rename some cff classes, change protection levels and start fixing bugs with charstrings which include hints in routine calls
2018-11-18 16:32:28 +00:00
Eliot Jones
530410c996
#6 improve organisation of cff related classes. add failing font test for cff font file. fix bugs with cff parsing
2018-11-18 13:53:43 +00:00
Eliot Jones
8cd2faeb8b
#6 use the same base class for both type 1 and cff private dictionaries to enable comparisons and rationalise api
2018-11-17 22:16:27 +00:00
Eliot Jones
8f5c0fc77b
#6 fix bugs with vlineto and hlineto and decoding of charsets. dump results of type 2 path decoding to file for visual verification while debugging
2018-11-17 20:21:59 +00:00
Eliot Jones
aa6f55c9ad
#6 account for hintmask and cntrmask data when parsing a type 2 charstring
2018-11-17 19:06:21 +00:00
Eliot Jones
936e17b723
#6 add debugging code for inspecting svgs of generated cff glyphs fix small bugs
2018-11-17 16:23:17 +00:00
Eliot Jones
4d18a2478d
add charset interface, create class to store cff font data. add the command logic for type 2 charstrings #6
2018-11-17 14:59:58 +00:00
Eliot Jones
7358650b0a
add charset parsing for compact font formats #6
2018-11-16 23:32:18 +00:00
Eliot Jones
81935d5cdb
tidy up cff font classes and start adding type 2 charstring support for #6
2018-11-16 21:30:59 +00:00
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