2613 Commits

Author SHA1 Message Date
Behdad Esfahbod
621759b3a8 [symfont] Add endPath() 2017-02-21 12:01:10 -06:00
Behdad Esfahbod
d8e8a657fa [areaPen] Remove unnecessary docstrings 2017-02-21 12:01:10 -06:00
Behdad Esfahbod
821ea7385f Minor 2017-02-21 12:01:10 -06:00
Behdad Esfahbod
0a2c5ef7ae [symfont] Write generator code as main function in printPen() output 2017-02-21 12:01:10 -06:00
Cosimo Lupo
b39f3b613c
explicitly require 'head' table in TTFont.save()
it's implicitly required anyway, e.g. by ttx's ttCompile, maxp's recalc, OS/2 compile, etc.
2017-02-21 12:57:34 +00:00
justvanrossum
9de3d1a5ae tweak comment 2017-02-21 13:47:30 +01:00
justvanrossum
c5aa43238f Make sure to load the 'head' table when recalculating the time stamp. Fixes #847. 2017-02-21 13:45:50 +01:00
Behdad Esfahbod
f3224d7d34 Move StatisticsPen into fontTools.pens.statisticsPen 2017-02-20 13:19:35 -06:00
Behdad Esfahbod
a8db22a077 Move MomentsPen into fontTools.pens.momentsPen 2017-02-20 12:33:12 -06:00
Behdad Esfahbod
8712c20156 [perimeterPen] Use Gauss-Legendre instead of Lobatto-Gauss for qudratic
Uses one fewer point and is no uglier.
2017-02-20 11:16:12 -06:00
Behdad Esfahbod
6738305fb1 [perimeterPoint] Minor 2017-02-20 11:09:14 -06:00
Behdad Esfahbod
3d4bd76a76 [perimeterPen] Add Gauss-Lobatto implementation for quadratic Bezier as well
Is twice faster than the exact algorithm.
2017-02-20 10:17:07 -06:00
Behdad Esfahbod
9f1067a991 [perimeterPen] Optimize Lobatto code 2017-02-20 10:17:07 -06:00
justvanrossum
4d92fcb9be do a bare 'raise' so the original traceback doesn't get lost 2017-02-20 10:03:16 +01:00
Cosimo Lupo
a226c4772b
[perimeterPen] move source encoding declaration to the first line
Otherwise I get this error on python2.7:

SyntaxError: Non-ASCII character '\xc2' in file perimeterPen.py on line 87, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
2017-02-19 20:08:57 -08:00
Behdad Esfahbod
3e74798499 [perimeterPen] Add Gauss-Lobatto quadrature approximation implementation
Is about 30 percent faster than recursive approach for the default .005
error tolerance.  To be optimized more.
2017-02-19 16:08:21 -06:00
Cosimo Lupo
31d856b2f6
Bump version: 3.7.2 → 3.7.3.dev0 2017-02-17 17:02:52 -08:00
Cosimo Lupo
31b8c7f64f
Release 3.7.2 2017-02-17 17:02:03 -08:00
Sascha Brawer
a2e7d96cf4 [feaLib] Merge SinglePos chain targets
Fixes https://github.com/fonttools/fonttools/issues/514.
2017-02-17 12:49:12 +01:00
Sascha Brawer
7c67e4a63d [feaLib] Compile zero values to different formats based on context
If a zero value appears in a SinglePos statement, feaLib continues to
produce ValueRecords of format 0. But if a zero value appears in a
PairPos statement inside a horizontal compilation context, feaLib now
produces ValueRecords of format 4. Likewise, if a zero value appears
in a PairPos statement inside a vertical compilation context, feaLib
now produces ValueRecords of format 8.

The OpenType Feature Syntax specification is completely silent about this,
but the new behavior matches that of makeotf.

https://github.com/fonttools/fonttools/issues/633
2017-02-16 15:37:40 +01:00
Sascha Brawer
40474f1aab Distinguish value records format A from format B with zero values
Fixes https://github.com/fonttools/fonttools/issues/848.
2017-02-16 13:53:55 +01:00
Masaya Nakamura
87527d7261 [subset] Don't assign the unused second item of getItemAndSelector() to sel
It was confusing, since `sel` is used for FDSelect elsewhere in this script.
2017-02-16 11:41:44 +09:00
Masaya Nakamura
4d315892af [subset] Set the correct glyph width for blank .notdef
`font.FDSelect[i]` returns a GID, not an index of `font.FDArray`.

Before this commit `.notdef` might have wrong glyph width in CharStrings,
if its fdSelectIndex is not 0 in the input font.
2017-02-16 11:09:52 +09:00
Cosimo Lupo
43914430f4
Bump version: 3.7.1 → 3.7.2.dev0 2017-02-15 12:56:30 -08:00
Cosimo Lupo
c10bc762b7
Release 3.7.1 2017-02-15 12:55:48 -08:00
Cosimo Lupo
f1673e46dd
[psCharStings] remove unused T2OutlineExtractor.hints attribute 2017-02-15 11:10:34 -08:00
Behdad Esfahbod
65f0f98dba [subset.CFF] Drop empty subroutines 2017-02-15 01:17:26 -08:00
Behdad Esfahbod
079e10f31b [subset] Refactor code; hopefully didn't break it! 2017-02-15 00:52:55 -08:00
Behdad Esfahbod
8f03413aef [subset] Fix for 1ec6d30aa9b03ee40148ae8115848340ffd852a1 2017-02-15 00:33:37 -08:00
Behdad Esfahbod
32f2d6c3e8 Revert "[subset] Minor; towards refactoring"
This reverts commit 2348522167838132c06b0eecbce9c77e2ca07d02.
2017-02-14 23:52:38 -08:00
Behdad Esfahbod
684cdeef41 Revert "[subset] Minor; towards refactoring"
This reverts commit 697811178503edefd7c1f00ae8a8dcebf32d8fbb.
2017-02-14 23:52:24 -08:00
Behdad Esfahbod
2a171c852b Revert "[subset] Minor; towards refactoring"
This reverts commit 17dfafdd158c59cb34d15a2dd2f37db1d6f7b68b.
2017-02-14 23:52:18 -08:00
Behdad Esfahbod
17dfafdd15 [subset] Minor; towards refactoring 2017-02-14 23:49:02 -08:00
Behdad Esfahbod
6978111785 [subset] Minor; towards refactoring 2017-02-14 23:44:17 -08:00
Behdad Esfahbod
2348522167 [subset] Minor; towards refactoring 2017-02-14 23:42:45 -08:00
Behdad Esfahbod
e4a853466d [subset] Adjust comment for previous fix 2017-02-14 23:25:37 -08:00
Cosimo Lupo
3ae59d3dce
[subset] minor: use for ... else 2017-02-14 22:56:48 -08:00
Behdad Esfahbod
0fd22766b8 Merge pull request #709 from anthrotype/cff-dehint-2
[subset] second attempt at fixing --no-hinting with CFF
2017-02-14 22:05:25 -08:00
Sascha Brawer
eac7ef89c0 [feaLib] Make nameid parsing more robust
We now correctly handle nameid statements with surrogate pairs and
old-style macOS-encoded names (provided that fonttools supports the
specified encoding).

Resolves https://github.com/fonttools/fonttools/issues/842.
2017-02-14 14:28:10 +01:00
Sascha Brawer
b22df7ff48 [feaLib]Escape nameid strings when writing feature files
https://github.com/fonttools/fonttools/issues/780
2017-02-14 11:02:12 +01:00
Miguel Sousa
75133fc4d1 [feaLib] Make include() work like makeotf 2017-02-13 08:42:03 +01:00
Cosimo Lupo
78d11e3a0f
Bump version: 3.7.0 → 3.7.1.dev0 2017-02-11 10:04:59 -08:00
Cosimo Lupo
9207b1397a
Release 3.7.0 2017-02-11 10:02:58 -08:00
Sascha Brawer
706858646a Preserve ordering of glyph alternates when round-tripping through TTX
Also fixes a bug where glyph alternates in MTI feature files were
wrongly sorted by glyph name. After this change, the output is using
the same ordering as in the input MTI feature file.

Fixes https://github.com/fonttools/fonttools/issues/833.
2017-02-11 17:08:56 +01:00
Sascha Brawer
b31ed09421 Support glyph names with dashes
The OpenType Feature File Syntax has been changed to support dashes:
https://github.com/adobe-type-tools/afdko/issues/152

Resolves https://github.com/fonttools/fonttools/issues/559.
Needed for https://github.com/googlei18n/fontmake/issues/249.
2017-02-11 15:57:17 +01:00
Behdad Esfahbod
d7e8af9510 [varLib] Fix regression where GPOS values were stored as 0
Another fallover from merging of VariationMerger and InstancerMerger.

New code is closer to the selfless merger we want to have.

Fixes https://github.com/fonttools/fonttools/issues/834
2017-02-09 19:35:24 -08:00
Behdad Esfahbod
d801056100 [varLib] Allow merging of class-based kerning when ClassDef1's are different
This should allow building varfonts for a whole class of font sources
that failed so far.
2017-02-08 14:29:02 -08:00
Behdad Esfahbod
9544a538ee [varLib] Minor rename in prep for ClassDef1 merging 2017-02-08 14:14:08 -08:00
Behdad Esfahbod
dc07fe4f8f [varLib] Allow merging of class-based kerning when ClassDef2's are different
With this, we can build varfont for NotoSansThai and a couple more.

This is the first use of fontTools.misc.classifyTools module.
2017-02-07 16:09:14 -08:00
Cosimo Lupo
2ebd861eff
Bump version: 3.6.3 → 3.6.4.dev0 2017-02-06 13:40:40 +00:00