Behdad Esfahbod
3746f75d7f
[varLib] Split _add_fvar_avar() into _add_fvar() and _add_avar()
2017-08-03 12:38:23 +01:00
Cosimo Lupo
19c4b377b8
[varLib] add predefined avar mappings to fix rendering in CoreText
...
Fixes https://github.com/googlei18n/fontmake/issues/295
2017-08-02 15:12:26 +01:00
Behdad Esfahbod
c55ef5257d
[varLib] Flatten multiple tail PairPosFormat2 subtables before merging
...
Reuses the aligner. Neat.
2017-08-01 19:06:40 +01:00
Behdad Esfahbod
eca0c441d1
[varLib] Factor out PairPosFormat2 matrix alignment code
2017-08-01 19:06:40 +01:00
Behdad Esfahbod
f2a1f3446b
[varLib] Minor
2017-08-01 19:06:40 +01:00
Cosimo Lupo
ca1bb10aa8
[varLib] test avar mappings are 'interesting' after normalizing values
...
otherwise we could end up with unnecessary avar tables only containing
the standard maps.
2017-08-01 12:08:44 +01:00
Cosimo Lupo
4153d792c5
Updated changelog
2017-08-01 11:35:55 +01:00
Cosimo Lupo
b5da19dc4b
Merge pull request #970 from mashabow/cff-bounds-recalc
...
CFF bounds recalculation
2017-08-01 11:09:30 +01:00
Masaya Nakamura
3708f2c8d3
Don't cache charString bounds
...
https://github.com/fonttools/fonttools/pull/970#discussion_r117903692
2017-08-01 10:54:47 +09:00
Masaya Nakamura
22dfcd94a1
[cffLib] Use None instead of initialBounds
...
https://github.com/fonttools/fonttools/pull/970#discussion_r117621101
2017-08-01 10:53:29 +09:00
Masaya Nakamura
68c7275945
[hhea,vhea] Refactor
2017-08-01 10:53:28 +09:00
Masaya Nakamura
69199b3225
[hhea,vhea] Ensure charString has bounds
2017-08-01 10:53:27 +09:00
Masaya Nakamura
423e829b73
[_v_h_e_a_test] Add tests for recalc()
2017-08-01 10:53:27 +09:00
Masaya Nakamura
a4fda12810
[_h_h_e_a_test] Add tests for recalc()
2017-08-01 10:51:48 +09:00
Masaya Nakamura
1b773c17d7
[hhea,vhea] Fix advance{Width,Height}Max calculations
...
Before this commit, empty glyphs were wrongly ignored.
2017-08-01 10:51:48 +09:00
Masaya Nakamura
994337ffe2
[ttLib] Update recalcBBoxes description
2017-08-01 10:51:48 +09:00
Masaya Nakamura
d13aab2c70
[hhea,vhea] Add recalcBBoxes support for CFF-flavored fonts
2017-08-01 10:51:48 +09:00
Masaya Nakamura
cf3474ba6a
[hhea,vhea] Refactor to support CFF bounds recalculation
2017-08-01 10:51:47 +09:00
Masaya Nakamura
d1bc55756f
[hhea,vhea] Use float('inf') instead of INFINITY
2017-08-01 10:51:47 +09:00
Masaya Nakamura
b22b59f730
[cffLib] Use intRect() for FontBBox rounding
...
AFDKO seems to calculate bounds and side bearings in this manner.
2017-08-01 10:51:47 +09:00
Masaya Nakamura
5fd38a762e
[head] Recalc bounds when compiling CFF-flavored fonts
2017-08-01 10:51:47 +09:00
Masaya Nakamura
b84ee6744d
[cffLib] Recalc CFF's FontBBox when compiling
2017-08-01 10:51:47 +09:00
Masaya Nakamura
a68bfc2458
[psCharStrings] Add recalcBounds() to T2CharString
2017-08-01 10:51:47 +09:00
Cosimo Lupo
c3df74f597
Release 3.14.0
2017-07-31 19:41:55 +01:00
Cosimo Lupo
ff29f791a3
Updated changelog
2017-07-31 19:39:22 +01:00
Behdad Esfahbod
3d1f5ae7d4
[varLib.merger] Fixup on previous commit
...
Also drop Extension from self.
2017-07-28 18:33:01 +01:00
Behdad Esfahbod
f7c20cf895
[varLib.merger] Remove Extensions subtables before merging
2017-07-28 18:17:21 +01:00
Behdad Esfahbod
24db8b015b
[varLib] Assert that avar -1,0,+1 mappings are as expected if they exist
2017-07-28 15:30:40 +01:00
Jens Kutilek
1136afd304
[varLib] Initialize the avar segment map with required default entries ( #1014 )
...
* Initialize the avar segment map with required default entries
* Set default values only after deciding that a segment map is needed for this axis
* Correct dict update call
2017-07-28 15:25:03 +01:00
Behdad Esfahbod
39ffa74128
Merge pull request #1019 from fonttools/varlib-iup-optimal
...
Varlib iup optimal
2017-07-28 12:09:27 +01:00
Cosimo Lupo
4398e3b26b
[Tests/varLib] fix up expected test data following latest IUP optimization algorithm
2017-07-27 17:06:32 +01:00
Cosimo Lupo
0ad14b67a9
[varLib] fix TypeError: zip object has no len on python3
2017-07-27 17:05:34 +01:00
Behdad Esfahbod
bb6ce80f63
[varLib] Speed up IUP optimizer by detecting more forced points
2017-07-26 14:13:18 -07:00
Behdad Esfahbod
3094926304
[varLib] Minor
2017-07-26 11:56:45 -07:00
Cosimo Lupo
dca96c9c55
[cffLib] get TopDict by index as well as by name
...
There can only be one TopDict in an OpenType font, whether CFF or CFF2;
plus in the latter, TopDict INDEX and Names INDEX are gone, just the
one TopDict is left. Most of the time, one simple wants to get to
that single TopDict instance.
So instead of doing this:
topDict = font['CFF '].cff.values()[0]
one can alternatively do this now:
topDict = font['CFF '].cff[0]
2017-07-26 18:53:42 +01:00
Cosimo Lupo
212ac26147
Merge pull request #1015 from robmck-ms/master
...
Add AxisValueFormat4 for STAT table v1.2 from OT v1.8.2.
2017-07-25 20:39:00 +01:00
Cosimo Lupo
ae89c0d5ca
[ttx] drop the 'n' from "an TTX"
2017-07-25 20:35:55 +01:00
Cosimo Lupo
2d9ca0b2bd
[ttx] remove mention to otf2ttf.py Snippet from help message
...
https://github.com/fonttools/fonttools/pull/1016#issuecomment-317847536
2017-07-25 20:33:41 +01:00
Cosimo Lupo
c2b59dffae
Merge pull request #1016 from fonttools/davelab6-clarify-help
...
ttx.py Clarify help text
2017-07-25 20:25:07 +01:00
Dave Crossland
32fa8bc86b
ttx.py Clarify help text
...
Confusion reported at https://groups.google.com/forum/#!topic/fonttools/7ocZWHbsCLw
2017-07-25 11:16:47 -04:00
Rob McKaughan
b8e2d90cda
Add AxisValueFormat4 for STAT table v1.2 from OT v1.8.2.
2017-07-24 16:12:31 -07:00
Cosimo Lupo
03064b60c4
[travis] run tests on latest pypy2.7-5.8.0
2017-07-24 16:48:04 +01:00
Cosimo Lupo
25aad9041d
minor: fix doctest failing on latest pypy
...
Expected:
[-0.0, -0.0, -0.0]
Got:
[0.0, 0.0, 0.0]
2017-07-24 16:47:07 +01:00
Cosimo Lupo
8ca53c6a17
[name] fix bcp46 language tag for Mac langID=9: 'si' -> 'sl'
...
Fixes #1013
2017-07-24 13:03:38 +01:00
Behdad Esfahbod
69206e290e
[varLib] "Document" IUP DP algorithm for the case when forced set is empty
2017-07-22 18:48:23 -07:00
Behdad Esfahbod
e5ac044969
[varLib] Speed up IUP DP some more when forced set is empty
...
Pass a maximum lookback of n to the circle-breaking DP of size 2*n.
This should theoretically speed up that DP by a factor of 4 or 8 or something...
Empirically it's far from that, but solidly measurable.
Again, gvar table size got a slight improvement, which I didn't expect... It
might be that my one test is hitting lucky cases with point encodings.. or it
might be just me wishfully thinking so.
2017-07-22 18:46:16 -07:00
Behdad Esfahbod
91e4220193
[varLib] Speed up IUP DP when forced set is empty
...
Drives it into acceptable speed now. Note that I'm getting better
gvar size after this patch, which I didn't expect. So, either this
algorithm or the previous one was buggy. :(
2017-07-22 18:31:10 -07:00
Cosimo Lupo
c0d672ba70
[subset] return value from _DehintingT2Decompiler.op_hintmask
...
The `_SimpleT2Decompiler.execute` method expects that handlers for
hintmask/cntrmask operators return a tuple of (hintMaskBytes, index).
The index value is used to skip to the next token following the
hintmask bytes.
However, the `_DehintingT2Decompiler.op_hintmask` method was returning
None, thus the hintmask bytes were evaluated as the following token
instead of being consumed as such; but since in legacy python 2
`isinstance(token, basestring)` is True for both operators and
hintmask bytes, the latter might sometimes be wrongly interpreted
as operators!
For example, the hintmask bits '0110111101110010', encoded as a
bytes string `'\x6f\x72'` was being confused for the unimplemented
`'or'` operator...
Fixes #1006
2017-07-20 21:45:30 +01:00
Cosimo Lupo
fcb40b27c8
Update changelog
2017-07-20 11:44:32 +01:00
Cosimo Lupo
1772bf70fb
Merge pull request #1007 from anthrotype/cfflib-cleanup
...
[cffLib/psCharStrings] remove cffCtx, pass down isCFF2
2017-07-20 11:24:10 +01:00