8176 Commits

Author SHA1 Message Date
Nikolaus Waxweiler
647d428b7b Release 4.11.0 2020-05-28 18:24:54 +01:00
Nikolaus Waxweiler
9287a8354f
Update NEWS.rst (#1974) 2020-05-28 18:21:06 +01:00
Nikolaus Waxweiler
0e7a4460f3
[feaLib] Introduce includeDir on Parser and IncludingLexer (#1973)
This makes the directory to search for included files explicit.

Also use Python 3's FileNotFoundError to catch non-existant files instead of a workaround for Python 2.
2020-05-28 17:43:19 +01:00
Nikolaus Waxweiler
097b255e68
Merge pull request #1970 from tomarcher101/master
Remove duplicate glyphs from kerning groups.
2020-05-26 11:23:15 +01:00
Tom Archer
0b93480808 Change startwith or statement to use tupple of strings rather than or. 2020-05-22 15:56:48 +01:00
Tom
5c8c6b3c92
Merge pull request #2 from tomarcher101/add-error-when-duplicate-in-kerning-group
Add code that removes duplicates when parsing groups.plist
2020-05-22 11:19:38 +01:00
Tom Archer
0e04e039cf Add more glyphs to test group to prove order is preserved 2020-05-22 10:41:10 +01:00
Tom Archer
6f72429150 Small changes 2020-05-22 09:55:16 +01:00
Tom Archer
b88f717885 Get test working that shows duplicates are removed 2020-05-22 09:53:40 +01:00
Cosimo Lupo
9d8a7e27fe
[COLR] should set self.version after decompiling COLRv1
we set self.version for COLRv0 already; makes easier to check COLR.version
2020-05-21 16:57:35 +01:00
Tom Archer
2b654a1d2a Add code that removes duplicates when parsing groups.plist 2020-05-20 11:59:16 +01:00
Cosimo Lupo
dfdab70e10
Bump version: 4.10.2 → 4.10.3.dev0 2020-05-20 09:26:00 +01:00
Cosimo Lupo
bf70e5679b
Release 4.10.2 2020-05-20 09:25:59 +01:00
Cosimo Lupo
5cf648364f
Update changelog [skip ci] 2020-05-20 09:25:55 +01:00
Cosimo Lupo
02e51072a4
sfnt: must import SimpleNamespace
Thanks Zachary for reporting this
7ca42f6623 (commitcomment-39299386)

Amazingly we have no tests for reading TTCs
2020-05-20 09:16:06 +01:00
Cosimo Lupo
d2c9f12260
Bump version: 4.10.1 → 4.10.2.dev0 2020-05-19 16:44:05 +01:00
Cosimo Lupo
0c397d9b59
Release 4.10.1 2020-05-19 16:44:04 +01:00
Cosimo Lupo
200838cbb6
Update changelog [skip ci] 2020-05-19 16:43:52 +01:00
Cosimo Lupo
7ca42f6623
Merge pull request #1967 from anthrotype/pickle
sfnt: add __getstate__ and __setstate__ to SFNTReader to make it pickelable
2020-05-19 14:03:52 +01:00
Cosimo Lupo
cdd10373f0
sfnt_test: add test for deepcopy and pickle 2020-05-19 13:19:01 +01:00
Cosimo Lupo
cbe84da8c3
varLib_test: comment why font.close() is needed 2020-05-19 10:57:09 +01:00
Cosimo Lupo
e838cd8dca
Merge pull request #1961 from fonttools/feaLib-ast-compat
[feaLib.ast] Restore compatibility with 4.9.0
2020-05-19 10:01:47 +01:00
Simon Cozens
76902b7129
[docs] fontTools.misc.* part 1 (#1956)
* Document misc.arrayTools
* Document misc.bezierTools
* Document cliTools
* Document eexec
2020-05-19 09:51:17 +01:00
David Corbett
d5ff621276 Add my name to README.rst 2020-05-18 13:22:20 -04:00
David Corbett
42a17500a3 [feaLib.ast] Restore compatibility with 4.9.0 2020-05-18 13:22:20 -04:00
Cosimo Lupo
a6612aa6b5
varLib_test: close TTFont otherwise shutil.rmtree fails on Win
https://ci.appveyor.com/project/fonttools/fonttools/builds/32948704/job/hc91qjisv4nv603m#L400
2020-05-18 13:16:05 +01:00
Cosimo Lupo
72f9e7794a
SFNTReader: define __getstate__/__setstate__ to reopen external file
Instead of copying to BytesIO, we can return the file name in getstate and reopen the file in setstate. This keeps the TTFont truly lazy as it avoids the extra copy
2020-05-18 12:41:25 +01:00
Cosimo Lupo
942fbfe07a
sfnt: custom __deepcopy__ not needed with __getstate__
also, we only need to copy file to stream when self.file is _not_ already an io.BytesIO.
2020-05-18 11:57:03 +01:00
Cosimo Lupo
d767061e8d
sfnt: add __getstate__ to SFNTReader to make it pickelable
Fixes https://github.com/fonttools/fonttools/issues/1962
2020-05-18 11:33:50 +01:00
Just van Rossum
db26cf804e
[ttLib.name] Fix findMultilingualName() (#1963)
* when reading from binary, name.string may be an encoded bytes sequence: we should call toUnicode() before we compare to the requested string

* fix expected output
2020-05-16 11:29:23 +02:00
Cosimo Lupo
e86988acc8
Bump version: 4.10.0 → 4.10.1.dev0 2020-05-15 19:14:50 +01:00
Cosimo Lupo
9d281adfa8
Release 4.10.0 2020-05-15 19:14:49 +01:00
Cosimo Lupo
6763b54c97
NEWS.rst: minor [skip ci] 2020-05-15 19:14:16 +01:00
Cosimo Lupo
eb0766482d
Update changelog [skip ci] 2020-05-15 19:12:10 +01:00
Nikolaus Waxweiler
45a8fcefc2
[varLib] Allow feature variations to be active across the entire space (#1957)
* Allow feature variations to be active across the entire space

* Add test with empty condition set

* Skip initial box instead of removing it

* Correct comment
2020-05-15 09:27:15 -07:00
Simon Cozens
ecc764ecc0
[docs] Document cu2qu library (#1937)
[docs] Document cu2qu library

Reorganise the documentation so that everything is in one place and users are more clearly pointed to the modules which are likely to be useful for their purposes. (I still think it’s worth having at least a brief reference to ``cu2qu.cli`` in there, as a way of reminding users that there is a command-line implementation.) Docstrings are provided for non-API methods where I could understand them - trusting these will be useful for future maintainers.
2020-05-15 10:53:41 +01:00
Cosimo Lupo
3d705b29de
add 'fontTools' package to default pytest testpaths
so that it will run the embedded doctests when simply invoking 'pytest' with no arguments

see https://github.com/fonttools/fonttools/pull/1957#issuecomment-629116982
2020-05-15 10:42:59 +01:00
Cosimo Lupo
d3bd81335e
Merge pull request #1958 from anthrotype/tox-skip-missing-interpreters
tox: add skip_missing_interpreters=true
2020-05-15 10:30:06 +01:00
Cosimo Lupo
0c3efde05e
developer.rst: minor editorial change [skip ci] 2020-05-15 10:23:34 +01:00
Cosimo Lupo
c1f6b4d0f1
tox: add skip_missing_interpreters=true
https://tox.readthedocs.io/en/latest/config.html#conf-skip_missing_interpreters

Runing `tox` with no options runs the tests agaist all the python
environments listed in the `tox.ini`'s `envlist` (currently 3.6, 3.7 and 3.8).

Before this change, if any of these versions was not available, tox would exit with an error. Now it will simply continue (with a warning).

This can be useful when on a developer box, one might only have a subset of all our supported interpreters installed but we don’t want to mark the build as failed because of it.

Note that on the CI I am passing the opposite command line switch to override this setting, because there I want to make sure none of the specified interpreters is skipped.
2020-05-15 10:06:35 +01:00
Simon Cozens
8d32a24710
[docs] Source documentation for cffLib (#1935)
* [docs] Source documentation for cffLib

* Address feedback
2020-05-14 17:04:34 +01:00
Cosimo Lupo
847c31c4f2
Merge pull request #1786 from anthrotype/ufo-minor-format-version
ufoLib: support UFO formatVersionMinor and GLIF formatMinor
2020-05-14 12:09:06 +01:00
Cosimo Lupo
f4752fd412
Merge remote-tracking branch 'origin/master' into ufo-minor-format-version 2020-05-14 11:01:39 +01:00
Simon Cozens
f3f2793444
[docs] Document fontTools.merge (#1949)
[docs] Document fontTools.merge
2020-05-14 10:06:13 +01:00
Nikolaus Waxweiler
37beca3a33
Merge pull request #1954 from fonttools/fix-test_addRuleDescriptor
Fix test_addRuleDescriptor
2020-05-13 16:36:19 +01:00
Nikolaus Waxweiler
b07940421d Fix test_addRuleDescriptor
Use API correctly.
2020-05-13 15:45:27 +01:00
Cosimo Lupo
abf70934bc
Merge pull request #1952 from anthrotype/fix-merge-os2-mixed-versions
[merge] Fix merging different versions of OS/2 table
2020-05-13 14:33:01 +01:00
Cosimo Lupo
b6601f61ec
merge: handle OS/2 attributes only present in subsequent versions
Also, implement merging version 5 (by taking the min/max of the optical
point sizes), and rename `usMaxContex` to the correct name `usMaxContext`.
The typo was fixed in the OS/2 table some time ago, but we forgot to
also update the merge module.

Fixes #1865
2020-05-13 13:12:31 +01:00
Cosimo Lupo
669b1395cb
merge_test: test merging all possible OS/2 versions with one another 2020-05-13 13:07:17 +01:00
Simon Cozens
c89c9487f1
[docs] encodings library (#1940)
Document the ``encodings.codecs`` part which might be useful to some people, and add a brief note about MacRoman.
2020-05-13 10:22:06 +01:00