2814 Commits

Author SHA1 Message Date
Behdad Esfahbod
2fd2e4a7cf [cffLib.specializer] Add TODO item 2017-05-06 14:14:54 -06:00
Behdad Esfahbod
0e94f909a6 [pens.t2CharStringPen] Disallow glyph width in CFF2 2017-05-06 13:16:07 -06:00
Behdad Esfahbod
2abacb9366 [pens.t2CharString] Bump CFF2 stack size from 193 to 513
That's happening in the next version of OpenType spec (and maxstack
operator deprecated.)
2017-05-06 13:14:25 -06:00
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
4b5c1be29b [pens.t2CharStringPen] Add CFF2 mode 2017-05-06 04:54:07 -06:00
Behdad Esfahbod
72ec474f74 [pens.t2CharStringPen] Simplify drastically 2017-05-06 04:50:24 -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
c8cf233e26 [pens.t2CharStringPen] Hook up to cffLib.specializer
Tests are failing now, as cffLib.specializer combines operations whereas
previous pen didn't.  I checked all failures and they all look like the
expectation needs to be updated to me.

Fixes https://github.com/fonttools/fonttools/issues/403
2017-05-05 21:21:30 -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
Jens Kutilek
6d5ebcc4a9 Change name of MaxpValues to CompositeMaxpValues 2017-05-04 12:35:09 +02:00
Jens Kutilek
d1cf59d2c9 Use a namedtuple for maxp values 2017-05-04 12:28:02 +02:00
Jens Kutilek
0eb3bb9d25 Use lambda expression for sorting as per @anthrotype’s suggestion 2017-05-04 12:08:04 +02:00
Jens Kutilek
539ef3786a Sort glyphs by component depth before processing (#945) 2017-05-03 19:13:49 +02:00
Cosimo Lupo
cfbe344216
Bump version: 3.11.0 → 3.11.1.dev0 2017-05-03 12:42:21 +01:00
Cosimo Lupo
715109262a
Release 3.11.0 2017-05-03 12:41:32 +01:00
Adrien Tétar
fbb9060311 Merge pull request #941 from adrientetar/warn-dupl-markclass
builder: throw when a mark is defined in multiple mark classes
2017-05-01 21:38:14 +02:00
Sascha Brawer
017fa4e9c6 [fvar] Expose flags in XML
Fixes https://github.com/fonttools/fonttools/issues/932.
2017-05-02 00:51:44 +08:00
Adrien Tétar
3e3ff0051e builder: throw when a mark is defined in multiple mark classes
(within the same lookup)

See #453.
2017-05-01 13:14:38 +02:00
Miguel Sousa
70c695f8f6 [t2CharStringPen] Make it more clear that the variables hold offsets 2017-04-28 03:34:41 -07:00
Miguel Sousa
c757cf7b70 [t2CharStringPen] Support more path construction operators 2017-04-28 03:26:37 -07:00
Behdad Esfahbod
1b5e1c4b06 [varLib.merger] Fix _ClassDef_invert() to limit classes to allGlyphs
Fixes https://github.com/fonttools/fonttools/issues/939

We should rename this function and expose it publicly somewhere.
2017-04-27 16:41:22 -07:00
Sascha Brawer
3f839878eb [name] Fix issues with name.addMultilingualName()
Fixes https://github.com/fonttools/fonttools/issues/931.
2017-04-21 13:14:24 +08:00
Behdad Esfahbod
b4827ae965 Add recordingPen.replayRecording 2017-04-20 14:54:13 -07:00
Sascha Brawer
a5c8977dd3 [name] Fix platform ID for names whose language code is in ltag table
https://github.com/fonttools/fonttools/issues/931
2017-04-20 17:38:31 +08:00
Behdad Esfahbod
656478fc6d [varLib] Add notes re encoding multilingual names 2017-04-19 11:10:00 -07:00
Behdad Esfahbod
f056c124e5 [misc.classifyTools] Make classification order stable
Sets don't have a welldefined comparison function, so sort them...

Not the most efficient implementation, but good enough.

Fixes https://github.com/fonttools/fonttools/issues/927
2017-04-18 15:57:14 -07:00
Sascha Brawer
e8530360bd [name] Add helper for building multi-lingual names
Fixes https://github.com/fonttools/fonttools/issues/921.
2017-04-19 02:26:32 +08:00
Sascha Brawer
068ca5afbb [ltag] Helper method for adding language tags 2017-04-18 18:15:32 +08:00
Behdad Esfahbod
787b39d9b5 [subset] Add MVAR and STAT as no-susbetting-needed tables 2017-04-14 15:27:52 -07:00
Behdad Esfahbod
806b7dcd8d Minor 2017-04-14 14:30:51 -07:00
Cosimo Lupo
8fbd1e5f6d
Bump version: 3.10.0 → 3.10.1.dev0 2017-04-14 22:06:44 +01:00
Cosimo Lupo
8e3c48fbe2
Release 3.10.0 2017-04-14 22:05:06 +01:00
Behdad Esfahbod
e886617ab0 [avar] Remove fixupSegments
Fixes https://github.com/fonttools/fonttools/issues/923
2017-04-13 15:50:44 -07:00