Behdad Esfahbod
4e31921634
[varLib] Remove nonsensical code
...
GSUB has no positioning, so cannot have any Device tables with variations.
2018-02-21 00:19:54 -08:00
Behdad Esfahbod
3c4203d985
[varLib.varStore] Implement VarStore optimizer
...
On NotoSans-VF.ttf (a 5MB font), saves 15% total size by optimizing
GDEF VarStore and resulting GPOS shrinkage.
2018-02-21 00:18:55 -08:00
Behdad Esfahbod
073227bbb0
[varLib.varStore] Start implementing a VarStore optimizer
...
Commandline takes varfont and optimizes its GDEF VarStore.
2018-02-20 20:58:18 -08:00
Behdad Esfahbod
d5efd2b7ee
[varLib] When optimizing NumShorts, drop zero columns
...
Related to https://github.com/fonttools/fonttools/issues/1184
2018-02-20 20:51:56 -08:00
Behdad Esfahbod
323783d41c
[varLib] Allow excluding arbitrary tables
2018-02-19 19:16:35 -08:00
Behdad Esfahbod
ba52a32fed
[varStore] Refactor code around
2018-02-19 19:07:22 -08:00
Behdad Esfahbod
64834d079d
[varStore] Add subset_varidxes as method on VarStore
2018-02-19 18:57:09 -08:00
Behdad Esfahbod
ca7cd85731
[varLib] Add a couple of commandline options
2018-02-19 17:18:27 -08:00
Behdad Esfahbod
2ca6cc2dc3
[varLib] Handle overflow in OnlineVarStoreBuilder
2018-02-19 16:42:51 -08:00
Behdad Esfahbod
3cfc4a4be2
[subset] Move code around
2018-02-18 23:16:00 -08:00
Behdad Esfahbod
48125e9812
[varLib] Fix HVAR generation
...
We cannot tail-optimize there.
2018-02-18 22:58:47 -08:00
Behdad Esfahbod
f3def2ea5a
[subset] Fix pruning of GDEF VarStore
2018-02-18 22:37:44 -08:00
Behdad Esfahbod
21cbab8ce9
Fix read/write of VarIdxMap to use glyph names
...
Was relying on glyph IDs. Ouch.
2018-02-18 22:33:32 -08:00
Behdad Esfahbod
eb6af2da72
[varLib] Fix pruning of HVAR
2018-02-18 21:49:39 -08:00
Behdad Esfahbod
23d373caac
[varLib] Comment
2018-02-18 21:45:27 -08:00
Behdad Esfahbod
e0f2848ef5
[subset] Subset Regions when subsetting VarStore
...
Part of https://github.com/fonttools/fonttools/issues/1179
2018-02-18 19:45:57 -08:00
Behdad Esfahbod
67814fd3b3
[subset] Prune GDEF VarStore
...
Mostly fixes https://github.com/fonttools/fonttools/issues/1179
2018-02-18 19:20:00 -08:00
Denis Moyogo Jacquerye
846f1afa95
varLib: don’t fail if STAT already in font
2018-02-05 13:12:24 +00:00
Behdad Esfahbod
633f44da39
[varLib.merger] Fix merging of PairPos Format2 with missing subtables
2018-01-08 10:49:25 +00:00
Behdad Esfahbod
e58499cc06
[varLib.merger] Minor
2018-01-08 10:31:50 +00:00
Behdad Esfahbod
b624e0c08e
[varLib.merger] Handle missing PairPos format1/2 subtables in AligningMerger
...
Fixes https://github.com/fonttools/fonttools/issues/1125
The Format2 is still failing in my test case. Investigating.
2018-01-08 10:27:33 +00:00
Behdad Esfahbod
8af430997d
[varLib] Start generating STAT table
...
Right now just reflects the axes, and even that with certain limitations:
- AxisOrdering is set to the order axes are defined,
- Name-table entries are not shared with fvar.
Towards https://github.com/LettError/designSpaceDocument/issues/8
2017-11-13 21:25:04 -08:00
Behdad Esfahbod
22f3b466b4
[varLib] Add TODO
2017-11-13 21:01:27 -08:00
Behdad Esfahbod
645b7a8355
[varLib] Pass fvar axis order ot VariationModel()
...
Update expected test results.
2017-10-25 15:43:47 -06:00
Behdad Esfahbod
3fbc4688eb
[varLib.mutator] Drop GDEF is nothing left in it
...
Part of fixing https://github.com/fonttools/fonttools/pull/1079#issuecomment-338710803
2017-10-25 11:58:44 -04:00
Behdad Esfahbod
0b5a923ef8
[varLib.mutator] Fix mutating of ValueRecord objects
...
Part of fixing https://github.com/fonttools/fonttools/pull/1079#issuecomment-338710803
2017-10-25 11:58:32 -04:00
Behdad Esfahbod
69bbddea92
[varLib.mutator] Correctly unset Device entries that are None
...
Part of fixing https://github.com/fonttools/fonttools/pull/1079#issuecomment-338710803
2017-10-25 11:58:32 -04:00
Jens Kutilek
97a31eb34e
Missed a change in return values
2017-10-22 17:56:12 -04:00
Cosimo Lupo
4bd57b9844
[mvar] rename MVAR_entries -> MVAR_ENTRIES
...
I like all-uppercase for global constants
2017-10-22 12:19:24 +01:00
Cosimo Lupo
28bb992c1f
replace int(round(...)) with round(...)
...
We don't need to cast to int when using the round function from py23,
as this is a backport of python3's built-in round and thus it returns
an int when called with a single argument.
2017-10-22 12:03:52 +01:00
Behdad Esfahbod
5eb3cbe2b0
[varLib.mutator] Mutate GPOS
...
Cleans up GDEF varstore as well.
What's left:
- In none of the varLib.merger Mergers we handle the CaretValueFormat3. That should be done,
even though no one uses this,
- GPOS/GSUB FeatureVariations are not applied. Shouldn't be hard.
- 'rvrn' should be folded into 'ccmp' or some other default feature.
2017-10-20 20:13:14 -04:00
Behdad Esfahbod
e05ece2715
[varLib.varStore] Cache scalars in VarStoreInstancer
2017-10-20 20:13:14 -04:00
Behdad Esfahbod
7494943c1b
[varLib.varStore] Add VarStoreInstancer
2017-10-20 20:13:14 -04:00
Behdad Esfahbod
8db7a65d39
[varLib.varStore] New module
2017-10-20 20:13:14 -04:00
Behdad Esfahbod
117f8f0eb3
[varLib.mutator] Quantize normalized location to F2Dot14
2017-10-20 20:13:14 -04:00
Behdad Esfahbod
1adacb34f0
[varLib.mutator] Apply avar
2017-10-20 20:13:14 -04:00
Behdad Esfahbod
acd2f490af
[mutator] Implement MVAR
...
Test expectation needs updating. Leaving for someone else to confirm
the new value is correct and update the test.
2017-10-20 20:13:14 -04:00
Behdad Esfahbod
cca7a79018
[varLib] Adjust for supportScalar() default ot=True change
...
Fixup for 028ed0125244531215d4d774474d929acda14d49
2017-10-19 10:07:08 -07:00
justvanrossum
2f6ec32ff0
oops, forgot to adapt doctests; thanks @anthrotype\!
2017-10-18 10:29:19 +02:00
justvanrossum
028ed01252
set default value of the ot argument to True, as discussed in a1629fa52b
2017-10-18 10:04:42 +02:00
Behdad Esfahbod
9d4991e20c
[varLib] Move MVAR data table to varLib.mvar
2017-10-17 11:09:50 -07:00
Behdad Esfahbod
f284b733a9
[varLib] Move IUP code into fontTools.varLib.iup
2017-10-15 18:16:01 -04:00
Cosimo Lupo
ca7c35900b
[mutator] Add instantiateVariableFont public function
...
Towards addressing https://github.com/fonttools/fonttools/issues/1070
The new instantiateVariableFont function takes a variable TTFont and a
dictionary of axes locations and returns a static TTFont instance.
The current code modifies the varfont in-place. To adapt it for
generating multiple instances from the same varfont, for now I simply
resorted to making a copy (can be optionally disabled by setting
inplace=True).
Also, replaced print() with log.info().
2017-10-15 17:43:06 +02:00
Jens Kutilek
a25a401fd2
Merging TT hinting ( #1069 )
...
Merge cvts; copy fpgm, prep, glyf programs from base master if compatible.
2017-10-12 10:40:40 +02:00
Behdad Esfahbod
c91f0323db
Rename CVTValues to arrayTools.Vector
...
This is generic, and useful in other cases.
2017-10-10 12:43:15 +02:00
Jens Kutilek
55cda3901c
Only emit a cvar tuple if any delta is not zero.
2017-10-09 17:30:27 +02:00
Jens Kutilek
eaeb366810
Remove debug prints
2017-10-09 13:16:58 +02:00
Jens Kutilek
5b39aa7af2
Implement building cvar tables
2017-10-09 13:08:55 +02:00
Jens Kutilek
80414303d0
Add interpolation of cvt/cvar table
2017-10-05 13:32:06 +02:00
Cosimo Lupo
588f5246c0
[varLib] default to using "name" attribute if "labelname" is missing
...
Instead of raising AssertionError when users define custom axes
without explicit `<labelname xml:lang="en">ZZZZ</labelname>` element,
it's better to use the axis' name attribute, and treat it as "en"
language.
For example, if users generate the designspace from SuperPolator,
they can't edit the axis labelname attribute from the UI (or maybe
it's just me that couldn't figure out how to do it).
2017-09-15 16:49:16 -04:00