2803 Commits

Author SHA1 Message Date
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
Behdad Esfahbod
e9eb1f3297 Fix __all__ entry
Fixes https://github.com/fonttools/fonttools/issues/920
2017-04-13 15:49:01 -07:00
Cosimo Lupo
94c88f56cb
[recordingPen] add DecomposingRecordingPen
Uses the DecomposingPen as mixin, and raise KeyError on missing glyphs

See https://github.com/fonttools/fonttools/pull/880#issuecomment-288558012
2017-04-13 14:22:39 +01:00
Cosimo Lupo
b438dbeee5
[basePen] add LoggingPen and DecomposingPen, subclass BasePen from DecomposingPen
This is so we can reuse addComponent with the recording pen, without having to
inherit from the BasePen (which also splits curveTo and qCurveTo commands).

Log warning message on missing glyphs by default, optionally raise KeyError
if skipMissingComponents = False
2017-04-13 14:22:29 +01:00
Behdad Esfahbod
932b938d7d [varLib] Minor 2017-04-12 21:56:49 -07:00
Behdad Esfahbod
968c25dd7f [varLib] Generate avar table
Fixes https://github.com/fonttools/fonttools/issues/916
2017-04-12 21:54:43 -07:00
Behdad Esfahbod
191cea5965 [varLib] Fixup for 91f4fd90d4fdee293052d9d226a31baa2e7edda8
Oops!  Too many Axis classes.
2017-04-12 21:54:43 -07:00
Behdad Esfahbod
0fa41c14b9 [varLib] Check all master and instance locations are valid
Ie. they don't specify any unknown axes, and location is within
axis minimum/maximum.  We also allow master / instance locations
to not specify some axes, and we fill in the axis default for those.
2017-04-12 21:54:43 -07:00
Behdad Esfahbod
9034f4f3f1 [varLib] Rewrite axis configuration code
We do not accept nonstandard axes if <axes> element is not present.
Breaks one test.  Needs updated expectations.

Soon we'll be generating avar as well and all will be better, much better.
2017-04-12 21:54:43 -07:00
Behdad Esfahbod
e73cc7ae34 [varLib] Move code around 2017-04-12 21:54:43 -07:00
Behdad Esfahbod
51fd216c62 [varLib] Towards encoding all name languages 2017-04-12 21:54:43 -07:00
Behdad Esfahbod
80c020d260 [varLib] Remove "custom" axis
This was added before when glyphsLib was always exporting the (unused)
custom axis.  It doesn't now, so remove.
2017-04-12 21:54:43 -07:00