Behdad Esfahbod
e5ac044969
[varLib] Speed up IUP DP some more when forced set is empty
...
Pass a maximum lookback of n to the circle-breaking DP of size 2*n.
This should theoretically speed up that DP by a factor of 4 or 8 or something...
Empirically it's far from that, but solidly measurable.
Again, gvar table size got a slight improvement, which I didn't expect... It
might be that my one test is hitting lucky cases with point encodings.. or it
might be just me wishfully thinking so.
2017-07-22 18:46:16 -07:00
Behdad Esfahbod
91e4220193
[varLib] Speed up IUP DP when forced set is empty
...
Drives it into acceptable speed now. Note that I'm getting better
gvar size after this patch, which I didn't expect. So, either this
algorithm or the previous one was buggy. :(
2017-07-22 18:31:10 -07:00
Behdad Esfahbod
7fa1ce1ca7
[varLib] Finish optimal IUP DP, however!
...
This slows down the DP by factor of 8 or so! So, going to replace this last
brute-force step with something else.
2017-05-31 20:29:00 -04:00
Behdad Esfahbod
bd5fa12520
[varLib] A bit more refactoring towards optimal IUP
2017-05-31 20:12:59 -04:00
Behdad Esfahbod
05b1bed63b
[varLib] Towards truly optimal IUP DP solution wrt circularity
2017-05-31 19:58:12 -04:00
Behdad Esfahbod
4a27f60d35
[varLib] More refactoring
2017-05-31 19:22:48 -04:00
Behdad Esfahbod
5ee58772cf
[varLib] Improve IUP DP
...
Previously, it was always encoding first and last point. Now it only always
encodes last point. Soon resolving that too. Shows another 0.5% savings in
gvar table size with Noto Sans Arabic.
2017-05-31 19:14:17 -04:00
Behdad Esfahbod
0b8c9e3a0c
Revert "[varLib] Flip IUP DP to go back-to-front"
...
This reverts commit 3e35441c805b03d6d6eea5b24ce44f555c5fad56.
The DP is cleaner to work out front-to-back.
Will achieve the same effect by flipping the lists in a later commit.
2017-05-31 19:11:30 -04:00
Behdad Esfahbod
28ce62b782
[varLib] Refactor DP code into functions
2017-05-31 19:06:42 -04:00
Behdad Esfahbod
7db5868dba
[varLib] Minor
2017-05-31 19:00:33 -04:00
Behdad Esfahbod
c79c27a841
[varLib] Add commentary of IUP DP mechanism
2017-05-29 16:13:46 -04:00
Behdad Esfahbod
3e35441c80
[varLib] Flip IUP DP to go back-to-front
...
Saves a few bytes (really, a few!).
2017-05-29 16:03:42 -04:00
Behdad Esfahbod
eeb13bba88
[varLib] Prepare IUP DP code to go back-to-front
...
That would produce smaller point numbers, which sometimes, results in
smaller encoding.
2017-05-29 15:59:29 -04:00
Behdad Esfahbod
c87c592d9e
[varLib] Minor IUP renaming
...
Same functionality
2017-05-29 15:29:20 -04:00
Behdad Esfahbod
db8d0eeb5f
[varLib] Speed up IUP optimization DP by 7.5x!
2017-05-29 15:06:55 -04:00
Behdad Esfahbod
2e80784ca7
[varLib] Use geometric distance for tolerance calculations
2017-05-28 23:45:36 -07:00
Behdad Esfahbod
1d148b10c5
[varLib] Start implementing optimal IUP solution
...
Not optimal right now, since first and last point are always included.
Also rather slow. Takes about 12s for NotoSansArabic, and saves just
one percent in gvar size with a tolerance of 0.5 font units.
2017-05-28 23:45:36 -07:00
Cosimo Lupo
9785e0e92d
Bump version: 3.13.0 → 3.13.1.dev0
2017-05-24 11:56:18 +01:00
Cosimo Lupo
6fc7671360
Release 3.13.0
2017-05-24 11:52:11 +01:00
Cosimo Lupo
d429fdafab
Update changelog
2017-05-24 11:51:42 +01:00
Cosimo Lupo
fd3cd6f367
Merge pull request #969 from fonttools/varlib-iup
...
Varlib iup
2017-05-24 11:44:59 +01:00
Cosimo Lupo
41fb1ba1bc
Merge pull request #975 from googlei18n/master
...
[varLib.interpolate_layout] Allow disabling avar mapping
2017-05-24 10:07:08 +01:00
Cosimo Lupo
a4861a16cc
use logging.warning() instead of deprecated logging.warn()
...
functionality is identical, the latter is deprecated:
https://docs.python.org/3/library/logging.html#logging.Logger.warning
2017-05-24 09:49:37 +01:00
Cosimo Lupo
a3d199e06c
Merge pull request #974 from khaledhosny/warnings
...
Use logging module for a couple of warnings
2017-05-24 09:46:54 +01:00
Khaled Hosny
61670fc652
Use logging module for these warnings
...
Not sure if warnings module was used intentionally here, but the
messages looked odd compared to other FontTools messages.
2017-05-24 10:00:55 +02:00
Behdad Esfahbod
c96f83cc30
[varLib.interpolate_layout] Allow disabling avar mapping
...
See https://github.com/fonttools/fonttools/issues/950#issuecomment-303641054
2017-05-24 00:26:35 -07:00
Cosimo Lupo
9b2967fa39
Merge pull request #971 from mt-caret/fix-ttx-tests
...
Fix broken ttx tests
2017-05-23 12:01:16 +02:00
Behdad Esfahbod
dbc54a2429
[varLib.models] Mark VariationModel.interpolateFromDeltasAndScalars static
...
This correctly reflects that all we need to interpolate is deltas and
scalars.
2017-05-23 01:01:07 -07:00
Behdad Esfahbod
39d059ef08
Revert "[varLib.models] Minor"
...
This reverts commit 49df768cd3d1dd2c39933e3c07d214013d50ef60.
That was accidentally pushed!
2017-05-23 00:54:23 -07:00
Behdad Esfahbod
7ee1d2e2d5
[varLib.merger] In InstancerMerger, compute scalars once
...
Using new VariationModel API to separate scalar calculation from
interpolation.
2017-05-23 00:54:11 -07:00
Behdad Esfahbod
bc546dec10
[varLib.models] Add VariationModel.interpolateFromMastersAndScalars()
2017-05-23 00:54:11 -07:00
Behdad Esfahbod
53b7ea4612
[varLib.models] Add VariationModel.interpolateFromDeltasAndScalars()
2017-05-23 00:54:11 -07:00
Behdad Esfahbod
489c80c83b
[varLib.models] Add VariationModel.getScalars()
...
To factor out scalar computation out of each interpolation.
2017-05-23 00:54:11 -07:00
Behdad Esfahbod
adc4fe960e
[varLib.models] Remove unused line
2017-05-23 00:54:11 -07:00
Behdad Esfahbod
fdbe93e33c
[varLib.models] Minor; move computing scalars out of inner loop
2017-05-23 00:54:11 -07:00
Behdad Esfahbod
49df768cd3
[varLib.models] Minor
2017-05-23 00:31:48 -07:00
Behdad Esfahbod
877ac7540c
Fix test after 0ed2df3f22bd4172e439b8deeb2070e3f62b26d3
...
interpolate_layout now accepts axis names in designspace name
format, NOT axis tags.
2017-05-23 00:31:15 -07:00
Behdad Esfahbod
a08fb27f17
[varLib.models] Minor
2017-05-23 00:26:53 -07:00
Behdad Esfahbod
0ed2df3f22
[varLib.interpolate_layout] Import designspace-loading logic from varLib
...
When varLib was updated for avar table, this was not. Share code such
that they don't get out of sync again. All of this to be made into
proper API some time...
2017-05-22 19:40:20 -07:00
Behdad Esfahbod
245d457fe6
[varLib.interpolate_layout] Change finder to master_finder
...
To be in line with varLib.build().
2017-05-22 18:46:41 -07:00
Masayuki Takeda
c4fcb2da3d
add test font files to MANIFEST
2017-05-22 11:53:19 +09:00
Behdad Esfahbod
81498e5baf
[varLib] Fix bug with recombining PairPosClass2 subtables that don't
...
Ouch. I have no idea why I made two separate if's to begin with, but the
continue should have also been aligned with the inner block...
Fixes root cause of https://github.com/fonttools/fonttools/issues/914
but now we hit an unimplemented feature there...
2017-05-20 23:03:25 -07:00
Behdad Esfahbod
997c073e26
[varLib.mutator] Implement IUP
2017-05-20 22:13:51 -07:00
Behdad Esfahbod
10ff112e6a
[varLib.mutator] Inching towards implementing IUP
2017-05-20 21:08:11 -07:00
Behdad Esfahbod
462b7f8683
[cffLib.specializer] When copying iterables, cast to list specifically
...
See 41445b8449
2017-05-20 18:34:20 -07:00
Jens Kutilek
92c8b3f754
Add test and test data for mutator with interpolated points
2017-05-18 16:40:33 -07:00
Behdad Esfahbod
bfb4a2c648
[varLib] Pass down tolerance to IUP routines
2017-05-18 16:29:02 -07:00
Behdad Esfahbod
74f6715f27
[varLib] Minor speedup
2017-05-18 16:08:36 -07:00
Behdad Esfahbod
af041259ee
Fix tests for recent changes
2017-05-18 16:06:10 -07:00
Behdad Esfahbod
3db5be2195
[gvar] Remove GlyphCoordinates.__abs__()
...
It's not wel-defined, as abs typically is supposed to return a scalar...
Also combine the tolerance-check with the zero-check in varLib.
2017-05-18 16:06:10 -07:00