235 Commits

Author SHA1 Message Date
Cosimo Lupo
eff5a6310d
instancer_test: adjust expected cvar test result 2019-03-25 12:22:42 +00:00
Cosimo Lupo
05c22b9122
instancer_test: added tests for instantiateCvar 2019-03-25 11:09:46 +00:00
ReadRoberts
ecf738b964 Add support for building VVAR table from vmtx and VORG tables.
Add test case.
2019-03-21 10:06:47 -07:00
Cosimo Lupo
6281f87cb6 rename partialInstancer.py to instancer.py 2019-03-21 15:30:48 +00:00
Cosimo Lupo
126a2d9c38 Add partialInstancer_test.py and PartialInstancerTest-VF.ttx
Currently tests the instantiateGvar function only.
The test font contains two axes and a single glyph.
I shall make add more complexity later.
2019-03-12 19:44:33 +00:00
Cosimo Lupo
df3bbbb7ad varLib: use hhea.ascent and head.unitsPerEM for phantom pts when vmtx missing
https://github.com/anthrotype/fonttools/pull/new/gvar-vmtx-phantom-pts
2019-03-05 10:02:35 -08:00
Cosimo Lupo
cf9f866943 varLib: fix expected test results after bottomSideY changed sign 2019-03-04 18:41:43 -08:00
Cosimo Lupo
71e44a52ee TupleVariation.toXML: sort attrs min/value/max in TTX dump
It's more legible if the peak value is written after the min and before the max value
defining a given region.
2019-03-04 16:41:26 -08:00
Cosimo Lupo
c813b65d32 models_test: test default 0.0 input locations are omitted internally 2019-03-04 12:38:32 -08:00
Cosimo Lupo
0811834b3c models_test: VariationModel input locations should be in normalized space
not only base should be at 0, but min/max respectively at -1.0 and +1.0.
that's how varLib constructs models internally, so update test case to reflect that
2019-03-04 12:31:08 -08:00
Cosimo Lupo
05824b8616 VariationModel: assert that locations are unique 2019-03-04 11:42:54 -08:00
Cosimo Lupo
b9aa815d06 models_test: bundle test methods under VariationModelTest class
in preparation for adding more unit tests to VariationModel class.
2019-03-04 11:03:34 -08:00
Cosimo Lupo
7e85782900 models_test: parametrize VariationModel tests
I noticed there were two functions called 'test_VariationModel', the second one
shadowing the first.
2019-03-04 11:00:11 -08:00
Chris Simpkins
16bb3fd605 [varLib.mutator] set OVERLAP_SIMPLE and OVERLAP_COMPOUND by default in instantiateVariableFont (#1518) 2019-02-28 09:34:43 -08:00
Nikolaus Waxweiler
e50733df21 Make simpler test in cffLib tests 2019-02-05 14:33:58 +00:00
Nikolaus Waxweiler
3011f3b7d4 Add smoke-test for layout interpolation of OTFs 2019-02-05 13:57:01 +00:00
Nikolaus Waxweiler
8bff72139c Reinstate fixed load_masters() 2019-02-05 13:02:53 +00:00
Nikolaus Waxweiler
1e746e34ee
Revert "load_masters: actually assign font attributes" (#1486)
* Revert "load_masters: actually assign font attributes"

This reverts commit ef1d4cd02d1e46f5dac3914f547a6e4275cf3077, which caused a
crash in `interpolate_layout()` when `deepcopy`ing OTFs.

Amend code and tests while I work on a real fix.
2019-02-05 11:38:46 +00:00
Nikolaus Waxweiler
63a56b98fd _add_MVAR: set model only once, after a tables have been fetched 2019-02-04 16:03:47 +00:00
Cosimo Lupo
7740d1736c
varLib_test: add test for sparse masters 2019-01-16 11:25:29 +00:00
Cosimo Lupo
b2fac2333e
[varLib] allow loading masters from TTX files as well
in a designspace document, the sources' filename attribute can now contain
a relative path to a .TTX file for that master, in addition to .TTF or .UFO
(the latter, resolved through a master_finder callable as before).
2019-01-14 16:32:51 +00:00
Cosimo Lupo
57f6e310f3
varLib_test: test axes with non-english labelnames 2019-01-13 13:43:00 +00:00
Cosimo Lupo
7d688ff18a
varLib_test: read TTFonts from compiled binary files
instead of importing from TTX, and set lazy=True so we exercise the special SFNTReader.__deepcopy__
2019-01-03 11:26:53 +00:00
Cosimo Lupo
5b250db6cb
varLib_test: test loading master with layerName but without required font object 2019-01-02 13:39:39 +00:00
Cosimo Lupo
ba197cb84c
varLib_test: no need to reload master_ttfs; reuse the reload_font helper func in the other tests 2019-01-02 12:52:57 +00:00
Nikolaus Waxweiler
e464e450ac Make build and load_designspace accept a DS object 2018-12-19 13:40:11 +00:00
Denis Moyogo Jacquerye
f998688c00
Merge pull request #1413 from moyogo/STAT-1.1
Pin STAT to version 1.1
2018-12-17 20:30:32 +00:00
Behdad Esfahbod
9c3dde3ce6 [varLib] Always write tuple entries for composite glyphs (#1383)
* [varLib] Always write tuple entries for composite glyphs

Fixes https://github.com/fonttools/fonttools/issues/1381
Fixes https://github.com/googlei18n/fontmake/issues/481 partially

* Make sure at least one gvar delta is written for composites

* Add test data for composite fix

* Put in the correct issue link

* Typo

* Fix typos

* Expand comment, add link to issue

* Add ttx files for test font
2018-12-17 14:03:40 +01:00
Denis Moyogo Jacquerye
c48a7b94c1 [varLib] downgrade STAT to version=0x00010001 in tests 2018-12-17 10:31:35 +00:00
justvanrossum
8812f9072b tests for #1400 2018-12-05 19:54:14 +01:00
ReadRoberts
63c94beb20 Merge commit '889d683064cea426ac692431ee599752519cea18' into varlib-build-cff2vf
# Conflicts:
#	Lib/fontTools/misc/psCharStrings.py
2018-11-30 09:21:18 -08:00
ReadRoberts
ad8130e1a4 [varlib] Remove path compatiblization logic from CFF2CharStringMergePen
Agreed that paths glyphs form source fonts shoudl be fully compatible before varLib.build is called.

Updated test files
2018-11-29 15:07:08 -08:00
ReadRoberts
c2abd045b3 [varLib.mutator] Add interpolation of glyph metrics.
Added interpolation of glyph advance width, from HVAR/hmtx, and derivation of new LSB.
Updated tests to match.
Needed to cherrypick from another branch an update for psCharstrings to allow the CFFSubr.draw() method to work.
2018-11-20 12:44:21 -08:00
ReadRoberts
bde62cd653 [varLib.mutator] Move test for interpolating CFF2 tables
from varLib_test.py to mutator_test.py
2018-11-19 20:08:10 -08:00
ReadRoberts
617b8c6396 [varLib.mutator] Interpolating CFF2 tables. Make more fixes per recommendations
varStore.py. Commit the correct function references.
psCharstrings.py. Add decompiler class specifically for flattening subroutinized charstrings.
mutator.py. Flatten the subroutinized charstrings, delete the Subrs.
TestCFF2VF.otf, Updated to version with subroutinization. Updated expected ttx output.
2018-11-19 20:08:00 -08:00
ReadRoberts
fddd5b2bae [varLib.mutator] Interpolating CFF2 tables. Makes fixes per recommendations
varLib.py. restore import of 'fontTools.misc.py23 import *'
varStore.py. Rename 'applyScalar' to 'interpolateFromDeltasAndScalars', and refactor common code with __git__item to a static method.
mutator.py. Update to reflect function name change to interpolateFromDeltasAndScalars. Changed some logic from one line to several lines for readability, and i to avoid flake8 warnings about line too long.
2018-11-19 20:06:16 -08:00
ReadRoberts
b5f12785e1 [varLib.mutator] Add test case for interpolating CFF2 tables 2018-11-19 20:06:10 -08:00
ReadRoberts
8d40bf8448 Merge commit '335c98512e674e8d130a36bd1e1391373d2c7f66' into varlib-build-cff2vf 2018-11-19 17:31:34 -08:00
Cosimo Lupo
15e8df218a
Merge pull request #1384 from nyshadhr9/idef
Add IDEF for GETVARIATION opcode
2018-11-19 10:33:21 +00:00
Nyshadh Reddy Rachamallu
dbfba397e0 maxp attributes maxInstructionDefs and maxStackElements should be modified when idef is added 2018-11-16 13:01:38 -05:00
Behdad Esfahbod
f530e3e398
Merge pull request #1372 from fonttools/varLib-faster-featureVars
[varLib] Far faster featureVars
2018-11-15 14:59:48 -08:00
Nyshadh Reddy Rachamallu
512bccf49e Add IDEF for GETVARIATION opcode 2018-11-15 15:18:03 -05:00
ReadRoberts
a460eee80b varLib. Add support for building CFF2 variable font
Fix syntax error reported by build system: can't mix string string types when doing literal concatenation

Fix local import reference - doesn't work in Python3.

Addressed issues raised by @msousa for PR 1345 yesterday.

Will change cff2_merge_funcs.py and cff2mergePen.py from tab to space indentations after the current comments are resolved.

Add various improvements from comments:
- do not edit the post table under varLib.build(). Setting post table format 2 or 3 is now expected to be managed by whatever calls varLib.build().
- In the t2CharStringPen module, rename closure _round() nested in makeRoundFunc to an exportable function, and use it in cff2mergePen.
- remove TypeSupply copyright from cff2mergePen.
- use modulo function to convert float to int when it is meant to be 0 in cff2mergePen.

cff2_merge_funcs.py:merge_PrivateDicts() should only be blending the hint related fields in the PrivateDict. This oversight that was surfaced by @madig reporting an error building his Cantrell font. The bug appeared when the font was subroutinized, as the pen draw method then has to interpret the Subr field in order to access T2Charstring subroutines.

Fix expected ttx output file. When I removed the logic to add glyph names to the post table, glyph names in the ttx file changed.

Miguel prefers a simple list for readability in cff2_merge_funs.py:138.
2018-11-12 11:38:18 -08:00
ReadRoberts
9de373455a varLib. Add support for building CFF2 variable font with a call to varLib.build().
Add test for building CFF2 variable font with a call to varLib.build().

The 'dollar' glyph in the test font is deliberately slightly malformed, with flat curves, in order to exercise the code for dealing with some of the differences in masters designs that can arise from T2 charstring optimization.
2018-11-12 11:38:12 -08:00
Behdad Esfahbod
16aa66c384 [varLib.featureVars] Update test expectation 2018-11-10 15:24:11 -05:00
justvanrossum
29cc726363 fix test expected data 2018-11-10 15:07:18 -05:00
Behdad Esfahbod
f6bfc4139d [varLib.featureVars] Add quadratic test
We get the optimal solution.
2018-11-09 18:59:28 -05:00
Behdad Esfahbod
8005d43146 [varLib.featureVars] Enable test now that it passes 2018-11-09 16:04:21 -05:00
Behdad Esfahbod
5a34805d05 [varLib.featureVars] Improve test 2018-11-09 11:55:11 -05:00
Behdad Esfahbod
133607f4b1 [varLib.featureVars] Add test 2018-11-09 11:47:49 -05:00