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
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