3170 Commits

Author SHA1 Message Date
Cosimo Lupo
8afa763ad2 [arrayTools] fix mixed indentation
This particual file originally contained spaces, so we revert to that...
sorry.
2017-10-11 21:13:23 +01:00
Cosimo Lupo
558dad9028 [arrayTools] add function to iterate over pairs in iterable 2017-10-11 20:43:08 +01:00
Behdad Esfahbod
ab02ce49d3 Implement more ops for arrayTools.Vector
Would be nice to add tests for these...
2017-10-10 13:06:15 +02:00
Behdad Esfahbod
c91f0323db Rename CVTValues to arrayTools.Vector
This is generic, and useful in other cases.
2017-10-10 12:43:15 +02:00
Jens Kutilek
55cda3901c Only emit a cvar tuple if any delta is not zero. 2017-10-09 17:30:27 +02:00
Jens Kutilek
8cc0df85c5 Merge branch 'master' into varlib-mutator-cvar 2017-10-09 15:21:26 +02:00
Jens Kutilek
eaeb366810 Remove debug prints 2017-10-09 13:16:58 +02:00
Jens Kutilek
5b39aa7af2 Implement building cvar tables 2017-10-09 13:08:55 +02:00
Cosimo Lupo
ae73c45e6a [hhea/vhea] cast to int when using math.ceil and floor
Fixes https://github.com/fonttools/fonttools/issues/1064
2017-10-05 13:27:13 +01:00
Jens Kutilek
80414303d0 Add interpolation of cvt/cvar table 2017-10-05 13:32:06 +02:00
Cosimo Lupo
72927cde87 Bump version: 3.16.0 → 3.16.1.dev0 2017-10-03 12:39:38 +01:00
Cosimo Lupo
53732c226a Release 3.16.0 2017-10-03 12:38:32 +01:00
Khaled Hosny
4b3a2eb1d9 Respect SOURCE_DATE_EPOCH for time stamp
For reproducible builds, check the presence of SOURCE_DATE_EPOCH
environment variable and use it for the time stamp. This affects the
head.modified (and head.created in merge.py).

See https://reproducible-builds.org/specs/source-date-epoch/
2017-10-02 11:37:00 +02:00
Denis Moyogo Jacquerye
7f352b028b TSI tables content as utf-8 and unicode instead of bytes (#1060)
* TSI tables content as unicode

* TSI1: update tests for utf-8
2017-09-21 18:04:57 +02:00
Martin Hosken
437b3ead2e Make python3 happy 2017-09-19 15:45:44 +02:00
Martin Hosken
9f44ce541c Run buildTableList.py 2017-09-19 15:45:44 +02:00
Martin Hosken
b0ae563d4d Add Graphite table tests 2017-09-19 15:45:44 +02:00
Martin Hosken
84ce740814 Bug fixes 2017-09-19 15:45:44 +02:00
Martin Hosken
1d164cc9c0 Make python3 happy with lambdas 2017-09-19 15:45:44 +02:00
Martin Hosken
0aab423993 Tidy up PR 2017-09-19 15:45:44 +02:00
Martin Hosken
e29a41bbe3 Fix Silf v2 support 2017-09-19 15:45:44 +02:00
Martin Hosken
a997fae488 Some light pep8ing 2017-09-19 15:45:44 +02:00
Martin Hosken
4400854ff0 Tidy up output 2017-09-19 15:45:44 +02:00
Martin Hosken
eb9eebf972 Use glyph names not glyph ids 2017-09-19 15:45:44 +02:00
Martin Hosken
860a8e0522 Handle all Graphite tables now 2017-09-19 15:45:44 +02:00
Martin Hosken
bb162e00b9 Support Silf table 2017-09-19 15:45:44 +02:00
Martin Hosken
575b44e1f6 Get Glat and Gloc working for ttx 2017-09-19 15:45:44 +02:00
Behdad Esfahbod
a302000023 [merge] Remove debug asserts
Fixes https://github.com/fonttools/fonttools/issues/1056
2017-09-18 13:10:03 -04:00
Cosimo Lupo
588f5246c0 [varLib] default to using "name" attribute if "labelname" is missing
Instead of raising AssertionError when users define custom axes
without explicit `<labelname xml:lang="en">ZZZZ</labelname>` element,
it's better to use the axis' name attribute, and treat it as "en"
language.

For example, if users generate the designspace from SuperPolator,
they can't edit the axis labelname attribute from the UI (or maybe
it's just me that couldn't figure out how to do it).
2017-09-15 16:49:16 -04:00
Behdad Esfahbod
556508b0e9 [merge] Remove unused features & lookups 2017-09-15 00:58:42 -04:00
Behdad Esfahbod
d802580cee [merge] Merge Script records, almost properly
Right now only merges DefaultLangSys.  Also, does not remove unused Feature's after merge.
Moreover, does not merge kind Lookups of the same Feature.

But it works!
2017-09-15 00:58:42 -04:00
Behdad Esfahbod
d76d6c1a5f [merge] Remove lookup_id() / feature_id(), use custom dict
I added the id() trick because normal objects are not hashable in Python3.
Remove that hack and use a custom dict subclass that allows us to use
objects as keys as long as they don't change.

The custom dict has a different, desirable, property as well: upon seeing
keys it does not know, it just adds them to the end of the list.  Will use
this feature in next commits to merge ScriptList properly.
2017-09-15 00:58:42 -04:00
Behdad Esfahbod
93763eec0b Minor 2017-09-15 00:58:42 -04:00
Behdad Esfahbod
9d5a468781 [merge] Define lookup_id() and feature_id()
Prepare to merge ScriptRecords properly
2017-09-15 00:58:42 -04:00
Cosimo Lupo
de59719db4 move stuff to fontTools.svgLib.path sub-package
in case later on we want to add things to svgLib which don't have to do with paths specifically
2017-09-12 22:21:20 -04:00
Cosimo Lupo
ecf781cfce move fontTools.misc.svgPath to fontTools.svgLib 2017-09-12 08:46:04 -04:00
Cosimo Lupo
ce530a51d3 [svgPath] tag ImportError with '# pragma nocover'
It appears that cElementTree is still present as a deprecated alias in python 3
We tell coverage to skip this branch since it is not (currently) being hit
2017-09-11 17:35:46 +01:00
Cosimo Lupo
cb72f9499c [svgPath/parser] typo 2017-09-11 17:34:04 +01:00
Cosimo Lupo
d6f54f90bd [svgPath/parser] handle open paths with endPath() 2017-09-11 17:31:58 +01:00
Cosimo Lupo
d093eba098 [svgPath] add SVGPath class supporting the Pen protocol 2017-09-08 19:26:57 +01:00
Cosimo Lupo
433c7a4f91 [svgPath.parser] add standard __future__ and py23 imports 2017-09-08 18:17:34 +01:00
Cosimo Lupo
cb91e3d742 [svgPath] export parse_path function from svgPath.parser submodule 2017-09-08 18:17:34 +01:00
Cosimo Lupo
e431bc2dc2 make svgPath into a package; mv svgPath.py svgPath/parser.py 2017-09-08 18:16:02 +01:00
Cosimo Lupo
ed4cfcdf82 [svgPath] add docstring to parse_path; make 'current_pos' a tuple 2017-09-08 18:16:02 +01:00
Cosimo Lupo
1ba2c3fe9c [svgPath] modify parse_path so it calls pen object directly 2017-09-08 18:16:02 +01:00
Cosimo Lupo
e2bb8f3053 [svgPath] add copy of parser module from svg.path package
The upstream code comes from here:

https://github.com/regebro/svg.path

I prefer to 'vendor' the svg path parser instead of adding it as a
requirement to fonttools, because this way we can patch it to call a
pen object directly instead of returning a list of Path instances.

Also I'm only interested in the parser module, the rest of svg.path
is not useful here.

The license of svg.path is MIT, so it's compatible with fonttools
license (BSD 2-clause).

I added the original code so it's clear from the subsequent commits
what changes are being applied.
2017-09-08 17:41:19 +01:00
Sascha Brawer
db0d193db6 [AAT] Support cidg table with CID-to-glyph mapping 2017-09-06 12:52:22 +02:00
Sascha Brawer
0f05f824d2 [AAT] Support gcid table with glyph-to-CID mapping 2017-09-06 01:40:49 +02:00
Sascha Brawer
ee1662e57e [AAT] Support morx tables with contextual substitution 2017-09-05 23:01:21 +02:00
Sascha Brawer
31b02d0bed [AAT] Support morx tables with Rearrangement subtables 2017-09-04 21:26:53 +02:00