Cosimo Lupo
2e2125f173
[minor] remove redundant sys import
2017-01-11 12:24:04 +00:00
Cosimo Lupo
e5dbc85463
[mtiLib] add __main__.py to allow running package as module
...
This now works:
$ fonttools mtiLib
or which is the same:
$ python -m fontTools.mtiLib
2017-01-11 12:15:33 +00:00
Cosimo Lupo
b7bb391033
don't use sys.exit(...) inside main(), but only under if __name__ == "__main__"
...
The convention is that sys.exit(...) is called only if a module is run as a script,
and that main() entry points use return statements to report exit codes: 0 (or None)
for successful execution, or any non-zero integer for errors.
E.g. see the console scripts generated when installing with pip.
2017-01-11 12:10:58 +00:00
Cosimo Lupo
ae05b2a583
[logging] for runnable modules, spell out module name instead of using __name__
...
If a module is run as script, as in `python module.py` or when using
`runpy.run_module()`, then __name__ == "__main__".
So when we instantiate modules' loggers with `logging.getLogger(__name__)`,
those loggers' name may become "__main__" when run as scripts, and hence
fall outside of the "fontTools" logging namespace.
fontTools.configureLogger() by default only configures the "fontTools"
library loggers, anything outside of it (e.g. logger called "__main__")
is not attached a handler.
So here I name loggers explicitly instead of relying on __name__, but
only for modules which can be run as "__main__".
Fixes #801
2017-01-11 11:58:17 +00:00
Behdad Esfahbod
0cc1721b8d
[MVAR] Update for OT 1.8.1 rename
2017-01-10 11:01:06 -08:00
Behdad Esfahbod
84c584cfc9
[cmap] When compiling format 0, fill in non-existing entries
...
Fixup for 88026de5100e4b3cedf0424bcc033f76782eb99e
Fixes https://github.com/fonttools/fonttools/issues/800
2017-01-10 10:48:48 -08:00
Sascha Brawer
155ec67ae6
[cvar] Implement cvar table
2017-01-10 17:57:04 +01:00
Sascha Brawer
7dd5c6e358
[cvar] Add test case for round-tripping TupleVariationStore for cvar
2017-01-10 10:52:19 +01:00
Sascha Brawer
6a67c6ee0f
[cvar] Fix crashing cvar compilation if deltas are None
2017-01-10 10:45:41 +01:00
Sascha Brawer
317c26418a
[cvar] Compile tuple variations whose deltas affect constants
2017-01-10 10:10:21 +01:00
Sascha Brawer
552b72c3d6
[gvar] Cosmetic cleanup of unit tests
2017-01-10 10:10:21 +01:00
Behdad Esfahbod
3e5335d335
When promoting a lookup to Extension type, set LookupType
...
Fixes https://github.com/fonttools/fonttools/issues/798
2017-01-09 19:52:32 -08:00
Sascha Brawer
689008a4f5
[gvar/cvar] Rename decompileVariationTuples to decompileVariationTupleStore
...
For consistency with the terminology of the OpenType 1.8 specification,
and for symetry with the compileVariationTupleStore function.
2017-01-09 19:00:39 +01:00
Sascha Brawer
5d3eae404c
[cvar] Compile TupleVariationStores in common library
2017-01-09 17:34:45 +01:00
Sascha Brawer
c3d68a684e
[cvar] Move compileSharedTuples() to module TupleVariation
2017-01-09 17:01:43 +01:00
Sascha Brawer
87d854e881
[cvar] Move decompilation of shared tuples to TupleVariation.py
2017-01-09 14:25:16 +01:00
Sascha Brawer
24a02fedd7
[cvar] Refactor decompilation of tuple variation stores
2017-01-09 14:05:52 +01:00
Sascha Brawer
625460836a
[cvar] Pass table tag to point decompilation routine
2017-01-09 13:23:51 +01:00
Sascha Brawer
de55ab2889
[cvar] Rename numPointsInGlyph to pointCount so it works for cvar
...
There are no glyphs in the `cvar` table.
2017-01-09 13:21:51 +01:00
Sascha Brawer
7c082600d3
[cvar] Move decompilation for single TupleVariation out of gvar
...
Rename local variables to match terminology of OpenType 1.8 specification
2017-01-09 12:14:12 +01:00
Cosimo Lupo
7ec4fd0605
[varLib] replace print() with logging
...
Fixes #795
2017-01-09 10:37:47 +00:00
Cosimo Lupo
4af078a629
[varLib] re-enable building HVAR for TTFs; remove --build-HVAR option
...
The option was meant to be temporary, and is no longer needed since
https://github.com/fonttools/fonttools/issues/705 is now fixed.
2017-01-09 10:34:34 +00:00
Behdad Esfahbod
dc1a3bdb1d
[OS/2] Don't fail if font does not have cmap table
2017-01-09 01:09:21 -08:00
Behdad Esfahbod
aeafda539b
Oops!
2017-01-09 00:38:46 -08:00
Behdad Esfahbod
e4d88b5a38
Extra protection
...
Fixes https://github.com/fonttools/fonttools/issues/797
Although for the XML->binary case, that bug was already fixed
on master because of the XML populate-default changes.
This adds extra protection!
2017-01-08 23:47:29 -08:00
Behdad Esfahbod
80535c224e
Fix XML->binary when LookupOrder is NOT specified
...
Fix for 495c6831e19ff9992fb801d2930e79c7d13736ae; bringing the intended
behavior documented in that commit.
2017-01-08 23:45:03 -08:00
Sascha Brawer
7f9ab7fc7f
[gvar] Remove unused function
2017-01-05 17:54:38 +01:00
Sascha Brawer
f5a679661d
[gvar] Use ttLib accessors for importing module and module class
2017-01-05 17:40:39 +01:00
Sascha Brawer
980ee57b0e
[gvar] Rename gvar.decompileSharedCoords() to decompileSharedTuples()
...
The new name is consistent with the terminology of the OpenType 1.8
specification, which calls the decoded structure the `SharedTuples`
array.
2017-01-05 14:18:52 +01:00
Sascha Brawer
039cb48927
[gvar] Move gvar.computeMinMaxCoord() to TupleVariation.inferRegion()
...
Document what this helper function does, using terminology from
the OpenType 1.8 specification.
2017-01-05 13:35:27 +01:00
Sascha Brawer
39c4ef621c
[cvar] Change warning message for out-of-range points
2017-01-05 08:55:36 +01:00
Cosimo Lupo
26679a9d73
feaLib.builder: fix order of {from,to}file arguments of difflib.unified_diff
2017-01-04 22:01:40 +01:00
Sascha Brawer
6275668840
[cvar] Support XML input/output for TupleVariations on constant values
...
OpenType TupleVariations can be used in two places:
* In the `gvar` table, they modify glyph contour points by shifting
them towards a point in 2D space.
* In the `cvar` table, they modify constant values.
Before this change, we only had code to handle the `gvar` version
which shifts points around by delta values.
After this change, the XML parsing and generation routines of
TupleVariations can handle deltas that modify constant values in the
CVT table, as used in `cvar`.
An upcoming change will add support for the binary encoding of
TupleVariations as needed for `cvar`.
2017-01-04 18:16:14 +01:00
Sascha Brawer
01f95fc190
[gvar] Rename header fields to match OpenType specification
...
The initial implementation had been written with Apple's TrueType
specification, before OpenType supported variations.
2017-01-04 16:24:32 +01:00
Sascha Brawer
271987a89f
[gvar] Adjust comment about broken variation fonts on macOS
2017-01-04 14:31:52 +01:00
Sascha Brawer
3420bb116c
[gvar] Move TupleVariation to its own source file
...
The TupleVariation structure is used both for `gvar` and `cvar`.
2017-01-04 14:07:38 +01:00
Cosimo Lupo
dd0cf31d4e
otlLib.builder: don't specialcase tuple as it's immutable and returns itself
...
https://github.com/fonttools/fonttools/pull/793#discussion_r94358989
2017-01-04 13:15:18 +01:00
Sascha Brawer
1d28abdb65
[gvar] Rename GlyphVariation to TupleVariation
...
In the OpenType 1.8 specification, this is called TupleVariation
so let's be consistent with the spec. (The initial implementation
in fonttools pre-dates OpenType 1.8).
2017-01-04 12:41:55 +01:00
Sascha Brawer
a837a3950f
[gvar] Use flag names from OpenType 1.8
...
FontTools has initially been implemented using the Apple TrueType
specification. When OpenType adopted variations, some identifier
names were changed.
2017-01-03 17:09:47 +01:00
Sascha Brawer
b61b92a96a
Fix inconsistent tab/space usage, for Python 3
2017-01-03 16:35:37 +01:00
Behdad Esfahbod
45fa26b28c
Set propagated counts while reading XML
...
Now reading XML and immediately writing it back to XML should be fully
supported and generate the same XML.
Code is a bit hacky (we don't have the reader object, so abuse font for
passing state down tree...).
2017-01-02 23:23:44 -05:00
Behdad Esfahbod
1eb8afbfa3
When reading from XML, populate all members that are computed
...
Not really all... Propagated counts are still not populated.
Most of mti_tests pass again. Four failing now.
NB: In the code being removed in this commit, this line:
"setattr(self, conv.repeat, len(seq)+conv.aux)"
had the wrong sign for conv.aux. Should have been a minus.
2017-01-02 23:23:44 -05:00
Behdad Esfahbod
6250b60ec3
[mtiLib] Test roundtripping XML->Python->XML as well
...
Most tests fail right now since when reading XML we don't set *Count
members for empty arrays; we don't set propagated counts either.
Fixes coming.
2017-01-02 23:23:44 -05:00
Behdad Esfahbod
3820a3006f
XMLReader: Allow parsing XML without <ttFont> root element
2017-01-02 23:23:44 -05:00
Cosimo Lupo
9d39007aa6
Bump version: 3.4.1.dev0 → 3.5.0.dev0
2017-01-02 17:03:59 +01:00
Cosimo Lupo
e44c4b90dd
Merge pull request #793 from anthrotype/fix-classdef-builder
...
[otlLib] only sort ClassDefBuilder input glyphs if they are unsorted
2017-01-02 14:46:20 +01:00
Cosimo Lupo
6bacc3e6f8
[feaLib.builder] use hex istead of float for GDEF.Version to avoid fixedToFloat warning
2017-01-02 13:08:36 +01:00
Cosimo Lupo
3b3e74f90b
builder.py: only sort ClassDefBuilder input glyphs if they are unsorted
...
This fixes broken tests after 9e76d16, and should finally close https://github.com/fonttools/fonttools/issues/766
2016-12-31 15:51:53 +01:00
Cosimo Lupo
3ff25948ef
Revert "builder.py: try to fix non-deterministic ClassDef"
...
This reverts commit 9e76d1677cf955369f6f98755ac646dcf8af26b0.
2016-12-31 15:22:26 +01:00
Cosimo Lupo
9e76d1677c
builder.py: try to fix non-deterministic ClassDef
...
See:
https://github.com/fonttools/fonttools/issues/766#issuecomment-269858646
7d1ddb237e (commitcomment-20333287)
Should fix https://github.com/fonttools/fonttools/issues/766
2016-12-31 13:53:08 +01:00