Behdad Esfahbod
81498e5baf
[varLib] Fix bug with recombining PairPosClass2 subtables that don't
...
Ouch. I have no idea why I made two separate if's to begin with, but the
continue should have also been aligned with the inner block...
Fixes root cause of https://github.com/fonttools/fonttools/issues/914
but now we hit an unimplemented feature there...
2017-05-20 23:03:25 -07:00
Behdad Esfahbod
462b7f8683
[cffLib.specializer] When copying iterables, cast to list specifically
...
See 41445b8449
2017-05-20 18:34:20 -07:00
Cosimo Lupo
0ff0d022e0
Bump version: 3.12.1 → 3.12.2.dev0
2017-05-18 11:38:34 +01:00
Cosimo Lupo
7545539bf5
Release 3.12.1
2017-05-18 11:37:31 +01:00
Behdad Esfahbod
7ade0096de
[pens.t2CharStringPen] Call BasePen constructor
...
Fixes https://github.com/fonttools/fonttools/issues/965
2017-05-17 17:06:00 -07:00
Cosimo Lupo
1ced13124a
Bump version: 3.12.0 → 3.12.1.dev0
2017-05-17 15:16:33 +01:00
Cosimo Lupo
f798f52236
Release 3.12.0
2017-05-17 15:15:16 +01:00
Cosimo Lupo
71486bc0a9
[_g_l_y_f] use 'd' instead of 'f' as array.array typecode in GlyphCoordinates
...
Fixes #963
2017-05-16 10:50:56 +01:00
Behdad Esfahbod
4fd719159a
[cffLib.specializer] Enforce minimum number of arguments in all ops
2017-05-08 14:09:02 -06:00
Behdad Esfahbod
0cbe43483d
[cffLib.specializer] Fix width-extraction code when stack is empty
2017-05-08 14:06:26 -06:00
Behdad Esfahbod
a3743828ce
[cffLib.specializer] Default ignoreErrors to False
...
Ouch. I meant False. I think I changed it to True for testing and accidentally committed it.
2017-05-08 14:05:10 -06:00
Behdad Esfahbod
a71639f8b6
[cffLib.specializer] Add minor TODO items
2017-05-08 13:01:43 -06:00
Cosimo Lupo
41445b8449
t2CharStringPen: specializeCommands expects command args to be list, not tuples
...
In the docstring of programToCommands, it says that:
> Each command is a two-tuple of commandname,arg-list
Previously the T2CharStringPen was passing command args as tuples instead
of lists to the specializeCommands function with option generalizeFirst=False,
which would only make a shallow copy of the input commands to modify them
in place. The problem is that it attempted to call list-only methods, leading
to errors like:
File "fontTools/cffLib/specializer.py", line 432, in specializeCommands
args.insert(pos, 0)
AttributeError: 'tuple' object has no attribute 'insert'
Since the expectation of the code here and elsewhere is that args is a
list, it makes sense that the T2 pen passes lists instead of tuples to the
specializeCommands function.
2017-05-08 10:51:39 +01:00
Behdad Esfahbod
30b804003e
[cffLib.specializer] Add programToString and stringToProgram from _test.py
2017-05-07 22:12:19 -06:00
Behdad Esfahbod
3720c6e020
[cffLib.specializer] Fix combining of more ops into rlinecurve / rcurveline
...
Fixes failing tests.
2017-05-07 12:54:31 -06:00
Miguel Sousa
3f9eeec58d
[cffLib.specializer] Fix DeprecationWarnings in py3
2017-05-06 23:20:11 -07:00
Behdad Esfahbod
8432c04bb1
[cffLib.specializer] Remove -3 hack that was to match AFDKO
2017-05-06 17:54:05 -06:00
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