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
Nikolaus Waxweiler
ef1d4cd02d
load_masters: actually assign font attributes
2019-01-30 15:15:28 +00:00
Cosimo Lupo
0293a392ad
varLib: apply HIDDEN flag to fvar axis if hidden=1 in designspace axis
...
Fixes https://github.com/fonttools/fonttools/issues/1085
2019-01-27 10:57:08 +00:00
Cosimo Lupo
93e791ab24
[varLib] use magic -0x8000 to ignore post.underline* for MVAR
...
googlei18n/ufo2ft#308 (comment)
googlei18n/ufo2ft#310
2019-01-16 11:25:29 +00:00
Cosimo Lupo
7d947c9fd8
[varLib] use magic 0x8000 to ignore post.underline* for MVAR
...
https://github.com/googlei18n/ufo2ft/issues/308#issuecomment-454079704
https://github.com/googlei18n/ufo2ft/pull/310
2019-01-15 16:16:40 +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
48e72dab9b
varLib: use addMultilingualName for localised instance style names
...
designspaceLib: ensure instance localised names are set as unicode strings
2019-01-13 15:04:55 +00:00
Cosimo Lupo
acbc65c1a9
varLib: use addMultilingualName method to support localized axes 'labelname'
...
now that addMultilingualName method also adds mac names by default, we can use it in
varLib instead of addName.
The language identifiers are expected to be minimized, i.e. not contain default script/region
subtags -- until we implement the minimizeSubtags algorithm from ICU/CLDR:
https://github.com/fonttools/fonttools/issues/930
2019-01-13 13:39:15 +00:00
Cosimo Lupo
b0a00a806f
minor: docstring [skip ci]
2019-01-03 15:41:15 +00:00
Cosimo Lupo
448b946636
varLib/designspaceLib: require font-less source to have a path; remove getSourcePath
...
simpler is better. Also, refactored updatePaths and added more tests to it.
2019-01-03 14:21:09 +00:00
Cosimo Lupo
1470ef7258
designspaceLib: add getSourcePath method
...
and remove BaseDocReader.getSourcePaths as it was broken anyway (it was assuming 'sources'
attribute of DesignSpaceDocument object was a dict, whereas it is now a list of
SourceDescriptor objects
2019-01-02 14:06:55 +00:00
Cosimo Lupo
4001ded199
override SFNTReader __deepcopy__ for 'file' isn't copyable; use it in varLib
2018-12-20 14:18:59 +00:00
Cosimo Lupo
6f317aa362
ttFont: add copy() method that return new instance with same data
...
and use it in varLib to copy master font
2018-12-20 12:47:43 +00:00
Cosimo Lupo
04d506072c
rename _ensure_sources to load_masters, misc refactor
2018-12-20 12:28:31 +00:00
Nikolaus Waxweiler
596b2cef80
Extract Designspace font loader into own function
2018-12-20 08:53:28 +00:00
Nikolaus Waxweiler
79835176f3
Remove unused variable
2018-12-19 18:47:00 +00:00
Nikolaus Waxweiler
31c15b7c0e
Minor reorganization
2018-12-19 18:39:47 +00:00
Nikolaus Waxweiler
67d1f3598a
Be clever in what we accept
...
See https://github.com/fonttools/fonttools/pull/1416#issuecomment-448674815
2018-12-19 18:29:34 +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
acd2a61543
[varLib] downgrade default STAT version=0x00010001
2018-12-14 15:04:32 +00:00
Behdad Esfahbod
93633a85ef
[CFF] Move variations-specific CFF code to varLib.cff module
2018-12-04 19:22:02 -08:00
Behdad Esfahbod
31019eac8e
[CFF] Whitespace
2018-11-30 21:46:16 -05:00
ReadRoberts
331a55588b
[varlib] update model.reorderMasters() to support arbitrary mapping.
2018-11-30 10:37:34 -08:00
ReadRoberts
29b1246515
[varlib] Move master list reordering into models.py
...
It is useful to re-order the CFF2 master font list to match the sorted location order, but doing so means touching internal fields of the model, so we'll move this into the VariationModel class.
2018-11-30 09:12:27 -08:00
ReadRoberts
8d40bf8448
Merge commit '335c98512e674e8d130a36bd1e1391373d2c7f66' into varlib-build-cff2vf
2018-11-19 17:31:34 -08: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
776295b3d0
varLib. Add support for building CFF2 variable font with a call to varLib.build().
...
Add call to _addCFF2 in varLib.build().
2018-11-12 11:37:57 -08:00
Behdad Esfahbod
d067cb7df7
Revert "[varLib] Skip empty glyphs"
...
This reverts commit 446ee2a4d011909eaa14fa5ccbd8c4d6df3329de.
https://github.com/fonttools/fonttools/pull/1368#issuecomment-437689015
2018-11-12 09:53:28 -05:00
Behdad Esfahbod
5c1ca73123
[varLib] Rename allSame() to allEqual()
...
Being same ("is") is not the same as being equal ("=="), even though
the two are equal most of the time.
2018-11-10 15:06:07 -05:00
Behdad Esfahbod
83ea9f0f7c
[varLib] Merge GSUB as well
...
Again, currently this just checks that all masters have the same GSUB.
2018-11-08 23:04:49 -05:00
Behdad Esfahbod
96aa09203f
[varLib] Merge GDEF table
...
Currently, it just makes sure that all masters have the same GDEF.
2018-11-08 23:02:01 -05:00
Behdad Esfahbod
5cfb2fbb24
[varLib] Support sparse masters in MVAR
...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 18:02:28 -05:00
Behdad Esfahbod
881023c700
[varLib] Minor
2018-11-08 17:58:30 -05:00
Behdad Esfahbod
c2f0cdc31b
[varLib] Fixups
...
Sorry that this is a mixed bag.
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 16:39:11 -05:00
Behdad Esfahbod
70d5429c92
[varLib] Fixup
...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 15:02:04 -05:00
Behdad Esfahbod
6fb55304fc
[varLib] Remove stale comment
2018-11-08 15:01:16 -05:00
Behdad Esfahbod
4865f48c95
[varLib] Allow sparse masters in HVAR
...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 14:48:24 -05:00
Behdad Esfahbod
446ee2a4d0
[varLib] Skip empty glyphs
...
Untested.
https://github.com/fonttools/fonttools/pull/1368#issuecomment-437082906
2018-11-08 12:58:29 -05:00
Behdad Esfahbod
b95967dd07
[varLib] Add models.allSame() and use it
...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 11:36:58 -05:00
Behdad Esfahbod
fba530a548
[varLib] Add VariationModel.getDeltasAndSupports()
...
which automatically fetches submodel. Needs docstrings...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 11:31:44 -05:00
Behdad Esfahbod
6886075a23
[varLib] rename .modelFor() to .getSubModel()
...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 11:31:42 -05:00
Behdad Esfahbod
23c58e91d0
[varLib] Allow sparse masters for CVT tables
...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 11:31:41 -05:00
Behdad Esfahbod
40a5fb0808
[varLib] Allow sparse masters when merging hinting
...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 11:31:39 -05:00
Behdad Esfahbod
1527bb8afc
[varLib] Allow sparse masters in gvar
...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 11:31:36 -05:00
David Březina
7e33c427db
Better test for none-ness
2018-10-24 19:08:11 +02:00
David Březina
28245afe1e
Fix normalization error when condition’s minimum/maximum are missing in designspace, update test too
...
Fixes #1346
2018-10-24 18:46:45 +02:00
Cosimo Lupo
9f18570aac
implement building GSUB FeatureVariations from DS rules
...
Fixes https://github.com/fonttools/fonttools/issues/1176
2018-09-14 16:16:33 +02:00