4898 Commits

Author SHA1 Message Date
Miguel Sousa
a7fcde030e
[feaLib] cvXX feature test 2018-03-01 10:25:23 +00:00
Miguel Sousa
f6bcea960d
[feaLib] asFea methods for statements in cvParameters 2018-03-01 10:25:23 +00:00
Miguel Sousa
d0fd2759d4
[feaLib] Build cvParameters block 2018-03-01 10:25:23 +00:00
Miguel Sousa
9c38b8a9d0
[feaLib] Method to parse 'name' records in cvXX features 2018-03-01 10:23:54 +00:00
Miguel Sousa
0667875538
[feaLib] Method to parse Character statements 2018-03-01 10:23:54 +00:00
Miguel Sousa
82c54f4601
[feaLib] Method to parse cvParameters block 2018-03-01 10:23:54 +00:00
Miguel Sousa
dbe4dce070
[feaLib] Special handle Character Variants features (cvXX) 2018-03-01 10:23:54 +00:00
Miguel Sousa
7bad066995
[feaLib] Simplify builder.add_featureName() 2018-03-01 10:22:09 +00:00
Miguel Sousa
a4c055c18a
[feaLib] Generalize FeatureNamesBlock 2018-03-01 10:22:09 +00:00
Cosimo Lupo
fd807bd70a
Merge pull request #1203 from anthrotype/absolute-include
[feaLib.lexer] pass included filename token to IncludedFeaNotFound
2018-02-28 19:52:05 +00:00
Cosimo Lupo
d98fe0f1be
[lexer_test] test absolute include, relative to cwd, and
featurefilepath=None
2018-02-28 19:40:36 +00:00
Cosimo Lupo
b30704114b
[feaLib.lexer] pass included filename token to IncludedFeaNotFound ...
In the IncludedFeaNotFound error, pass on the filename token as
it was included in the include statement, so that a client can do their
thing (e.g. issue a warning to suggest the user to write the path
relative to the UFO itself, instead of relative to the feautures.fea
which is inside a UFO).

Also. resolve includes relative to current working directory when the
IncludingLexer' filename is None because it originates from an in-memory stream.
2018-02-28 18:44:17 +00:00
Cosimo Lupo
ad7b97a7b2
[varLib.mutator] clamp width to 0 if left/right phantom points are swapped
https://github.com/fonttools/fonttools/pull/1198
2018-02-28 15:13:59 +00:00
Cosimo Lupo
0459aaacdf
Update changelog
[skip ci]
2018-02-28 10:53:47 +00:00
Cosimo Lupo
8d95de387b
Merge pull request #1201 from anthrotype/fea-location-none
[fealib] set AST element's location=None by default
2018-02-28 10:26:06 +00:00
Behdad Esfahbod
54fd71f73c [varLib/subset] Fix subsetting of GPOS variation data
Was not picking up ValueRecord Device objects. Ouch!
2018-02-27 18:52:07 -08:00
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
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
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