120 Commits

Author SHA1 Message Date
Behdad Esfahbod
0bf5044d12 [cffLib.specializer] Implement width extraction in programToCommands()
Test:

./fonttools cffLib.specializer 7 0 8 rmoveto 1 2 3 4 5 0 rrcurvet
2017-05-06 13:12:58 -06:00
Behdad Esfahbod
bef46993f6 [cffLib.specializer] Use bool() cast instead of comparison to 0
Makes it work on custom types better.
2017-05-06 05:02:22 -06:00
Behdad Esfahbod
d1d36ce66b [cffLib.specializer] Minor 2017-05-06 04:58:59 -06:00
Behdad Esfahbod
d3947b86d2 [cffLib.specializer] Fix bug introduced in c9653e98c6da7770a13faebd4a218f5d1d362536
Test case (which apparently is not covered by our current tests!):

./fonttools cffLib.specializer 1 2 3 4 5 0 rrcurveto
2017-05-06 04:28:45 -06:00
Behdad Esfahbod
050bcc0c8a [cffLib.specializer] Minor adjustments to previous commit 2017-05-06 03:49:06 -06:00
Behdad Esfahbod
c9653e98c6 [cffLib.specializer] Fix curve merging logic!
Found that elegant model I've been looking for, yay!  My previous modeling
was overly complicating the problem, and failing at solving all corner cases.
New one should fix them all!
2017-05-06 03:23:00 -06:00
Behdad Esfahbod
e35976900a [cffLib.specializer] Fix typo in peephole optimization 2017-05-06 03:00:39 -06:00
Behdad Esfahbod
d8fcb3a12a [cffLib.specializer] Fix orientation propagation through a pizza spline 2017-05-06 02:06:58 -06:00
Behdad Esfahbod
a5ca6c49f2 [cffLib.specializer] Fix hvcurveto/vhcurveto argument swapping logic
Fixes remaining 2 failing tests.
2017-05-06 01:44:19 -06:00
Behdad Esfahbod
df7f36e234 [cffLib.specializer] Fix logic for choosing vhcurveto vs hvcurveto
Fixes 2 of the 4 failing tests.
2017-05-06 01:41:07 -06:00
Behdad Esfahbod
b81250b10d [cffLib.specializer] Fix typo 2017-05-06 01:25:57 -06:00
Behdad Esfahbod
c3a94fd4e5 [cffLib.specializer] Finish specializing curves
This is complete now.  Unhooked and lightly tested.
2017-05-05 21:07:43 -06:00
Behdad Esfahbod
86a398b5c3 [cffLib.specializer] Implement rlinecurve and rcurveline 2017-05-05 17:05:04 -06:00
Behdad Esfahbod
a3c1ebbfce [cffLib.specializer] Make progress on specialization
The core is in.  The real fun is not yet.
2017-05-05 16:56:00 -06:00
Behdad Esfahbod
f32ad88953 [cffLib.specializer] Making progress on specialization 2017-05-05 16:56:00 -06:00
Behdad Esfahbod
dabbc3077f Rename cffLib.opSpecializer to cffLib.specializer 2017-05-05 16:56:00 -06:00
Behdad Esfahbod
271e95bc73 [cffLib.opSepcializer] Minor 2017-05-05 16:56:00 -06:00
Behdad Esfahbod
547aed4006 [cffLib.opSpecializer] Rename 2017-05-05 16:56:00 -06:00
Behdad Esfahbod
9d9a9e2461 [cffLib] Start adding opSpecializer module
Implements a Generalizer.  Lightly tested.
2017-05-05 16:56:00 -06:00
Behdad Esfahbod
7d6392f258 [cffLib] Make it into a directory
We should, at some point, move fontTools.misc.ps* into either cffLib or t1Lib.
2017-05-05 16:56:00 -06:00