4987 Commits

Author SHA1 Message Date
Cosimo Lupo
0ab40b772e
[feaLib.ast] default enumerated=False in PairPosStatement 2018-02-27 19:24:04 +00:00
Cosimo Lupo
1fb1529a18
[voltLib.ast] same as feaLib, location=None by default 2018-02-27 19:00:08 +00:00
Cosimo Lupo
e5c0bdd5df
[feaLib.ast] make location=None by default
This would make it easier to construct feaLib AST from code,
where the location is not defined and thus should be None.
Also, we can make other arguments as kwargs with a default
value, now that the first parameter is no longer 'location'.
2018-02-27 19:00:08 +00:00
Chris Simpkins
53117bcf88 [checksum.py] added description string, corrected file path description 2018-02-26 17:58:12 -05:00
Cosimo Lupo
ff2144ee6a
Bump version: 3.23.0 → 3.23.1.dev0 2018-02-26 12:25:44 +00:00
Cosimo Lupo
47a0bbb529
Release 3.23.0 2018-02-26 12:25:20 +00:00
Cosimo Lupo
0eba02dd07
Update changelog [skip ci] 2018-02-26 12:24:22 +00:00
Cosimo Lupo
8ca22ab002
designspaceLib: remove deprecated Element.getchildren 2018-02-26 12:09:45 +00:00
Cosimo Lupo
696edb6b6d
designspaceLib: try use cElementTree on py27 2018-02-26 12:09:05 +00:00
Cosimo Lupo
05e66d29d0
Merge pull request #1175 from belluzj/add-designspace-lib
Add properties to designspace documents
2018-02-26 12:01:49 +00:00
Cosimo Lupo
5b8826e4eb
Update changelog 2018-02-26 11:57:36 +00:00
Chris Simpkins
db38156b91 [checksum.py] fixed incorrect variable name in stderr message 2018-02-25 19:35:06 -05:00
Chris Simpkins
d8e5f5cc37 removed header text 2018-02-25 19:32:20 -05:00
Chris Simpkins
362db5c99a [checksum.py] added file path documentation to source header 2018-02-25 12:06:12 -05:00
Chris Simpkins
0f49e20675 [Snippets/checksum.py] adds checksum.py script for SHA1 hash checksum list generation from font binaries or ttx XML OT table dumps from font files, and checksum testing against valid checksum files 2018-02-24 21:43:59 -05:00
Miguel Sousa
efca91e7f1 [_n_a_m_e_test] ensure that struct format string is native str
https://github.com/fonttools/fonttools/pull/1193#issuecomment-367769342
2018-02-23 03:02:06 -08:00
Miguel Sousa
d401b2522b [cffLib_test] Test setting topDict.Encoding
#1177
2018-02-23 03:02:06 -08:00
Miguel Sousa
299dbcbe14 [cffLib_test] use boilerplate class; change class and method names 2018-02-23 03:02:06 -08:00
Miguel Sousa
432d9b4034 [misc.testTools] boilerplate unittest classes 2018-02-23 03:02:06 -08:00
Miguel Sousa
603e942f4c [misc.testTools] tabs to spaces 2018-02-23 03:02:06 -08:00
Miguel Sousa
dd5b52404c [misc.testTools] minor 2018-02-23 03:02:06 -08:00
Cosimo Lupo
2bed5e79d6
Merge pull request #1187 from derwind/fix-lazy-load
[cffLib] save file position against lazy-load of charset
2018-02-22 17:33:23 +00:00
derwind
66be456e62 [cffLib] restore try... finally... block 2018-02-23 02:22:57 +09:00
derwind
e5985ab63e [cffLib] reimplement SimpleConverter which is ready for lazy-loads and now all Converters are derived from it. 2018-02-23 02:01:35 +09:00
derwind
b9eb1b235f [cffLib] another implementation: prevent *Converter.read from changing file positions 2018-02-23 01:03:37 +09:00
Miguel Sousa
bf6852a7f6 [ttx_test] Test for split tables (-s) option
#1188
2018-02-22 07:38:25 -08:00
derwind
91fc3c5c41 [cffLib] prevent *Converter.read from changing file positions 2018-02-22 22:46:46 +09:00
Behdad Esfahbod
e299650f9f [varStore] In OnlikeVarStoreBuilder, dedup items
While we optimize VarStore later, just deduping here reduces amount
of data we have to work with later by 8x in NotoSans-VF.ttf test
case.  It's a cheap optimization, so do it.
2018-02-21 15:12:20 -08:00
Behdad Esfahbod
88343d2367 [varLib.mutator] Fix comment 2018-02-21 14:54:27 -08:00
Cosimo Lupo
97375135c4
lexer_test: catch IncludedFeaNotFound explicitly 2018-02-21 18:02:55 +00:00
Cosimo Lupo
77f038ce5a
Merge pull request #1189 from chrissimpkins/bugfix-ttlib-ttfont-xmlwriter-import
[ttFont] fixes xmlWriter import error in _saveXML method with ttx split tables request
2018-02-21 17:54:42 +00:00
Chris Simpkins
5f36f03311 [ttFont] fixes xmlWriter import error in _saveXML method with ttx split tables requests 2018-02-21 12:33:01 -05:00
Cosimo Lupo
ea5980b6ba
Merge pull request #1186 from anthrotype/included-not-found
feaLib: add IncludedFeaNotFound error
2018-02-21 17:12:27 +00:00
derwind
d0b4c4b360 [cffLib] save file position against lazy-load of charset 2018-02-22 02:00:09 +09:00
Cosimo Lupo
7d7212b01f
feaLib: add IncludedFeaNotFound error
subclass of FeatureLibError, only raised if IOError.errno == ENOENT (i.e. FileNotFoundError)

https://github.com/googlei18n/fontmake/issues/157#issuecomment-367380471

Will be useful in ufo2ft to detect when an included feature file doesn't exist and print a nicer error message
explaining that includes must be relative to the UFO itself, and not relative to the embedded features.fea file.

https://github.com/unified-font-object/ufo-spec/issues/55
2018-02-21 16:41:11 +00:00
Cosimo Lupo
767b9311eb
[varStore] don't import unicode_literals
Tests were failing on python 2.7.6 because array module doesn't accept
unicode strings (fixed in later 2.7.x releases).

An alternative fix would have been to cast array(str('h'), [...]) but
that seemed a bit too much, especially since varStore module doesn't
really do heavy text manipulation (there aren't other string literals).

We cannot use unicode_literals unconditionally, because of this and
similar issues in the stdlib. We should use it only when it makes sense
and reduces the frequency of u"".
2018-02-21 12:11:59 +00:00
Cosimo Lupo
58d3818b4f
make tests less verbose to avoid incurring in Travis log limit 2018-02-21 12:11:36 +00:00
Behdad Esfahbod
d46d40dc9e [varLib] Actually remove duplicates while optimizing VarStore!
Ouch!  Shrinks NotoSans-VF.ttf GDEF VarStore further down.
Original was 1016278 bytes. Before this change it was optimizing
to 256145 bytes. With this change, it goes down to a mere 57127
bytes!!!
2018-02-21 01:27:58 -08:00
Behdad Esfahbod
e910309952 [varLib] Optimize HVAR VarStore and indirection 2018-02-21 01:22:59 -08:00
Behdad Esfahbod
1adf7fd2c0 [varLib] Update tests for VarStore optimization
Also, don't emit GDEF if VarStore is empty.
2018-02-21 01:10:36 -08:00
Behdad Esfahbod
398f7169c8 [varLib] Optimize MVAR VarStore 2018-02-21 00:55:39 -08:00
Behdad Esfahbod
7aef5c8072 [varLib] Optimize GDEF VarStore when generating varfonts
Sweet...
2018-02-21 00:22:14 -08:00
Behdad Esfahbod
4e31921634 [varLib] Remove nonsensical code
GSUB has no positioning, so cannot have any Device tables with variations.
2018-02-21 00:19:54 -08:00
Behdad Esfahbod
3c4203d985 [varLib.varStore] Implement VarStore optimizer
On NotoSans-VF.ttf (a 5MB font), saves 15% total size by optimizing
GDEF VarStore and resulting GPOS shrinkage.
2018-02-21 00:18:55 -08:00
Behdad Esfahbod
073227bbb0 [varLib.varStore] Start implementing a VarStore optimizer
Commandline takes varfont and optimizes its GDEF VarStore.
2018-02-20 20:58:18 -08:00
Behdad Esfahbod
d5efd2b7ee [varLib] When optimizing NumShorts, drop zero columns
Related to https://github.com/fonttools/fonttools/issues/1184
2018-02-20 20:51:56 -08:00
Behdad Esfahbod
38a0ffb815 Accept old version of HVAR XML
21cbab8ce9 (commitcomment-27649836)
2018-02-20 17:42:49 -08:00
Cosimo Lupo
2cc182ce58
Revert "Revert "t2CharStringPen: specializeCommands expects command args to be list, not tuples""
This reverts commit fe2e897d13aab383d03b7759a15787ed2db99c77.

ufo2ft tests are failing with fonttools master with this error:

fontTools/cffLib/specializer.py:497:
>   commands[i-1] = (new_op, args1+args2)
    TypeError: can only concatenate list (not "tuple") to list
2018-02-20 17:35:10 +00:00
Behdad Esfahbod
323783d41c [varLib] Allow excluding arbitrary tables 2018-02-19 19:16:35 -08:00
Behdad Esfahbod
ba52a32fed [varStore] Refactor code around 2018-02-19 19:07:22 -08:00