11967 Commits

Author SHA1 Message Date
Erik
9abd4beec1 Convenience method that returns font objects for all the existing sources in the document. Defaults to defcon font object, but you can BYO. 2016-11-22 22:47:34 +01:00
Just van Rossum
cae8916f06 Merge pull request #742 from mashabow/patch-1
Fix "Private Use (plane 15)" range
2016-11-21 07:05:38 +01:00
Masaya Nakamura
08a0d550db Fix "Private Use (plane 15)" range
https://twitter.com/ken_lunde/status/796564061206913024
https://www.microsoft.com/typography/otspec/errata.htm
2016-11-21 11:26:57 +09:00
Erik
5174dfb238 Tweaks in the read me. 2016-11-20 17:46:11 +01:00
Erik
733c4ea755 Smaller check. 2016-11-20 15:48:22 +01:00
Erik
079771dd76 Merge branch 'master' of https://github.com/LettError/designSpaceDocument
# Conflicts:
#	Lib/designSpaceDocument/__init__.py
2016-11-20 10:14:25 +01:00
Erik
8a0ad4bac8 - changed axis "labelName" element name to lowercase.
- actually also read the labelnames.
- added tests for axis data roundttrip
2016-11-20 10:05:55 +01:00
Erik van Blokland
fff6760d3e Merge pull request #1 from moyogo/patch1
Minor: whitespace, gitignore and py23 (print function and unicode_literals)
2016-11-18 11:23:38 +01:00
Denis Moyogo Jacquerye
90b2171ef2 gitignore: .DS_Store, __pycache__, *.py[co] and .cache 2016-11-18 10:08:21 +00:00
Denis Moyogo Jacquerye
050f5731b2 py23: unicode_literals 2016-11-15 20:17:57 +00:00
Denis Moyogo Jacquerye
a62918cb72 py23: print function 2016-11-15 20:16:48 +00:00
Denis Moyogo Jacquerye
6770d6a02f whitespace 2016-11-15 20:15:04 +00:00
Erik van Blokland
947e524a74 Update README.md 2016-11-15 16:35:01 +01:00
Erik van Blokland
e348a06e82 Update README.md 2016-11-15 16:27:46 +01:00
Erik van Blokland
3e8175569d Update README.md 2016-11-15 14:29:14 +01:00
Erik van Blokland
1bd59c3ef6 Update README.md 2016-11-15 14:25:19 +01:00
Erik
41f5cd7e5d more things to ignore. 2016-11-15 13:47:48 +01:00
Erik
2fbdd37362 Initial commit
- independent reader / writer object for designspace documents.
- imports and exports easy to subclass objects for instance, source and axis data.
- roundtrips
- intended to be compatible with use in MutatorMath, Superpolatpor and varlib.
2016-11-15 13:27:39 +01:00
Behdad Esfahbod
78d3cbea57 [subset] Fix subsetting MathVariants
Was failing on Caudex-Regular.ttf for example.
2016-11-11 10:58:02 -08:00
James Godfrey-Kittle
c66ba36b50 Merge pull request #59 from anthrotype/print-incompatible-glyphs
[ufo] print name of incompatible glyphs
2016-11-10 10:22:30 -08:00
Behdad Esfahbod
25083502e4 [perimeterPen] Update check for cusps
If p1 coincides with p0 or p2, we still can use the lineTo()
code.
2016-11-08 16:39:38 -08:00
Behdad Esfahbod
7915a45ddf [varLib] Handle fonts without GPOS
Fixes https://github.com/fonttools/fonttools/issues/699
2016-11-08 15:44:39 -08:00
Behdad Esfahbod
a11bc5655d [merge] Ignore LangSys if None
Fixes https://github.com/fonttools/fonttools/issues/739
for now, though proper fix is more complicated.

This was hit now because the subsetter was changed a while back
to retain script systems even if empty...  I don't like that.
2016-11-08 14:06:50 -08:00
Behdad Esfahbod
4868a631b9 [Snippets/interpolatable] Improve error reporting
Also enable full vector.  It's necessary for accurate report.
2016-11-07 20:30:57 -08:00
Cosimo Lupo
86207144ae Merge pull request #736 from robmck-ms/master
[varLib] Do not emit null axes in fvar (default==min==max)
2016-11-05 12:51:46 +00:00
Rob McKaughan
1bebcec00d Do not emit null axes in fvar (default==min==max) 2016-11-04 14:53:43 -07:00
Cosimo Lupo
6618095c36
ufo: raise custom IncompatibleGlyphsError exception with the name(s) of incompatible glyphs
Fixes https://github.com/googlei18n/cu2qu/issues/46
2016-11-04 15:30:40 +00:00
Cosimo Lupo
9b4e755219
MANIFEST.in: also include tox.ini and .coveragerc 2016-11-04 09:17:49 +00:00
Cosimo Lupo
1ee9f58608
.coveragerc: add coverage.py configuration file 2016-11-04 09:17:26 +00:00
Cosimo Lupo
d1bbdbbc90
Bump version: 1.0 -> 1.1.0 2016-11-03 19:13:47 +00:00
Cosimo Lupo
9b57baad2f
travis: set up PyPI deployment on tags; upload test coverage to Coveralls.io 2016-11-03 19:13:23 +00:00
Cosimo Lupo
a3d004dbfe
tox.ini: add Tox configuration file, with py27, py35, coverage and coveralls environments 2016-11-03 19:09:45 +00:00
Cosimo Lupo
0f59ce3730
setup.py: set fonttools & ufoLib as install_requires, add package metadata, pytest-runner and wheel support 2016-11-03 19:08:13 +00:00
Cosimo Lupo
4e4f058b12
add setup.cfg with packaging and test configuration 2016-11-03 19:03:32 +00:00
Cosimo Lupo
ccbd964e59
convert README.md to reStructuredText so it can be used for both Github and PyPI 2016-11-03 19:02:31 +00:00
Cosimo Lupo
ad90b06ec9
update .gitignore 2016-11-03 19:01:13 +00:00
Cosimo Lupo
85bbe112ce
ufo_benchmark: move defcon and robofab imports inside respective setup functions
otherwise, pytest test collection fails to import ufo_benchmark mode, as defcon/robofab are not specified as install requirements, thus may not be present when running the test suite.
2016-11-03 18:59:00 +00:00
Cosimo Lupo
66d847e365
Update changelog for 3.2.1 2016-11-03 14:32:15 +00:00
Cosimo Lupo
6e0b952441
Bump version: 3.2.0 → 3.2.1 2016-11-03 14:21:51 +00:00
Cosimo Lupo
c66a2bc327
Bump version: 3.1.2 → 3.2.0
I had forgotten to bump the version for 3.2.0... Sorry :(

This is not a problem for the released packages, since versioneer correctly writes the tagged version.
It's only the hard-coded version string that's used as a fallback if git fails to compute the version which I forgot to update.
2016-11-03 14:21:51 +00:00
Cosimo Lupo
c653e1408c Merge pull request #734 from moyogo/revert-OS2
Fix "OS/2: fsSelection bits 0 and 5 should match head.macStyle bits 1 and 0"
2016-11-03 13:35:49 +00:00
moyogo
acfb137881 OS2/2: fix checking fsSelection bits matching head.macStyle bits 2016-11-03 11:37:00 +00:00
Cosimo Lupo
df967e70fc
varLib: rename --buildHVAR option to --build-HVAR; add 'build_HVAR=False' kwarg to 'build' function
better not having to pass an argparse.Namespace object to varLib.build
2016-11-03 10:59:00 +00:00
Rob McKaughan
bdbb8c5374 Add commandline switch to build HVAR 2016-11-02 20:54:50 -07:00
James Godfrey-Kittle
641a4cfc42 Merge pull request #56 from anthrotype/fix-py3-random-seed
Fix tests on py2 because of differences with py3 random module
2016-11-02 11:33:10 -07:00
Cosimo Lupo
11c640bf86
MANIFEST.in, setup.py: include test data in sdist, and install with the package 2016-11-02 18:13:08 +00:00
Cosimo Lupo
61dff00a17
travis: test on both py27 and py35; drop py34 as it's redundant
install deps from requirements.txt

no need to install cu2qu to run `setup.py test`.
2016-11-02 17:56:39 +00:00
Cosimo Lupo
f178972b5b
add requirements.txt file with fonttools and ufoLib dependencies 2016-11-02 17:54:10 +00:00
Cosimo Lupo
4fb661f01a
cu2qu.test: load test package data using pkg_resources
The test suite is installed as a sub-package, so the test data must also be installed along with it.

The `__file__` attribute can be missing when importing a zipped package, so we load test files with `pkg_resources.resource_filename()`.
2016-11-02 17:51:08 +00:00
Cosimo Lupo
5e8f036edd
cu2qu_test: don't use 'random' to gen test curves for py23 compat, load from json file
`random.randint`, which is used in `cu2qu.benchmark.generate_curve` function, yields
different results when run in Python 2.7 or 3, despite using the same `random.seed(1)`.

For this reason, the `test_results_unchanged` and `test_results_unchanged_multiple` tests
in `cu2qu_test` module fail when run under Python 2.

Backward compatibility was broken with Python 3.2 `random` module, as a side effect of
fixing a non-uniformity bug. For mor info see:

https://groups.google.com/forum/#!topic/comp.lang.python/KwALjKjF6Y4
http://bugs.python.org/issue9025

To work around this, I dumped the result of generate_curve (running from Python 3.5.2 on
OSX) to a json file, and use that to run the tests.

I also stripped the white space to reduce the file size.

```python
import random
import json
from cu2qu.benchmark import generate_curve

random.seed(1)
curves = [generate_curve() for i in range(1000)]

with open("Lib/cu2qu/test/data/curves.json", "w") as fp:
    fp.write(json.dumps(curves).replace(" ", ""))
```

fixup
2016-11-02 17:51:07 +00:00