548 Commits

Author SHA1 Message Date
Behdad Esfahbod
32bd6bcc31 [varLib] Add optimizeVarData()
Though not really effective right now since we don't split into
multiple VarData sets.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
47a7dde070 [varLib] Make VarData.NumShorts automatic 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
f11414c93b [varLib] Implement new VarData, aka. ItemVariationData, table 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
38c88f6996 [varLib] Rename VarTuple to VarRegion 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
e7163eddb0 [varLib] Rename VarTupleList to VarRegionList
Aka. ItemVariationRegionList.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
35a401f04d [varLib] Add support for VarIdxMap, aka. DeltaSetIndexMap.
Update HVAR / VVAR to latest draft.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
831bf051c0 [varLib] Shuffle code around 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
c1717224da [varLib] Generate direct HVAR 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
e2da17e032 [opentype-gx/varLib] More work towards VariationStore
And HVAR/VVAR tables.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
4506796b32 Minor 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
4d7b5f6472 [varLib] Start implementing VariationStore 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
9080151cd5 [varLib] Fix variations for composite glyphs using anchor points 2016-07-29 14:44:02 -07:00
Behdad Esfahbod
fc05fe74ec [varLib] Remove unused code 2016-07-29 14:40:16 -07:00
Behdad Esfahbod
0deb34829c [Snippets/interpolatable.py] Add preliminary script for detecting interpolation errors
Very basic.  Right now detects if glyphs have wrong order of contours / components.
2016-06-15 18:46:59 +04:00
Behdad Esfahbod
be27acbbd2 [varLib] Fix thinko 2016-06-10 19:49:45 -07:00
Behdad Esfahbod
b1474a3993 Minor 2016-06-07 16:21:43 -07:00
Behdad Esfahbod
c4f8cbb6a1 [varLib/mutator.py] Update hmtx lsb after updating glyf bounds 2016-06-07 15:51:54 -07:00
Behdad Esfahbod
18f70c75c5 [varLib] Add interpolation functions
Untested.
2016-05-26 13:34:37 -07:00
Behdad Esfahbod
18e53dbdf5 [varLib] Minor 2016-05-12 13:40:14 +02:00
Cosimo Lupo
70ec8513d0 varLib: use cElementTree if available to parse designspace
The C implementation of ElementTree is included in CPython since 2.5.
It's got the same API and is up to 20 times faster than the Python implementation.
We'd better use it.
2016-04-28 09:56:21 +01:00
Behdad Esfahbod
da4d097234 [varLib.mutator] Add minimal docstring 2016-04-27 01:41:48 -07:00
Behdad Esfahbod
5fdd980564 [varLib.mutator] Remove copy-pasta comments 2016-04-27 01:40:46 -07:00
Behdad Esfahbod
3238b4270e [varLib] Add mutator, which instantiates a variation font
Run, eg:

$ python mutator.py ./NotoSansArabic-GX.ttf wght=140 wdth=85

API to be cleaned up.
2016-04-27 01:30:59 -07:00
Behdad Esfahbod
e13f46c1dd [varLib] Add _SetCoordinates() 2016-04-27 01:30:12 -07:00
Behdad Esfahbod
ac26b33f48 [varLib] Copy coordinates before modifying 2016-04-27 00:25:31 -07:00
Behdad Esfahbod
e963a5b2c9 [varLib] Remove unused imports 2016-04-27 00:21:46 -07:00
Behdad Esfahbod
f7d390a955 [varLib] Minor refactoring, and bug fix 2016-04-27 00:15:07 -07:00
Behdad Esfahbod
c8b5b618e0 [varLib] Minor simplification 2016-04-26 23:59:39 -07:00
Sascha Brawer
fb6712f3ec Merge pull request #582 from brawer/varLib
[varLib] Unit test for loading .designspace files
2016-04-19 02:44:12 +02:00
Behdad Esfahbod
8384c1e482 [varLib] Fix import 2016-04-18 16:48:13 -07:00
Sascha Brawer
2664773032 [varLib] Unit test for loading .designspace files 2016-04-18 12:12:45 +02:00
Behdad Esfahbod
2312880d79 [varLib] Assert that we found the base master 2016-04-17 11:53:20 -07:00
Behdad Esfahbod
5f953db5ee [varLib] Document module a bit 2016-04-15 13:56:37 -07:00
Behdad Esfahbod
fe7f99de16 [varLib] Simplify things a bit
This seems to be created correct fonts now.
2016-04-15 13:49:27 -07:00
Behdad Esfahbod
908d1dac47 [varLib] use operator.iadd instead of operator.add
Reduces copying.
2016-04-15 09:00:57 -07:00
Behdad Esfahbod
fd238eb2ae [varLib] Build GX variation font using all masters
Needs some fixing, but the basics are there.
2016-04-15 08:56:04 -07:00
Behdad Esfahbod
99f97e13a3 [varLib] Clean up 2016-04-14 23:55:11 -07:00
Behdad Esfahbod
29bc9ea42e [varLib] Generate rudimentary GX variation font
To be improved.
2016-04-14 23:40:10 -07:00
Behdad Esfahbod
7625e25c0d [varLib] Parse .designspace documents 2016-04-14 15:54:06 -07:00
Behdad Esfahbod
ca4acf0fd0 [varLib] Move sample to doctest 2016-04-13 23:53:29 -07:00
Behdad Esfahbod
cc2fb5a400 [varLib] Rename MutatorModel to VariationModel 2016-04-13 23:46:12 -07:00
Behdad Esfahbod
0ee799fb03 [glyf] Add math operators to GlyphCoordinates 2016-04-13 22:54:39 -07:00
Behdad Esfahbod
0d0509a312 [varLib] Rename offsets to deltaWeights
Also negate the weights and add the current master's weight
as well (+1).
2016-04-13 16:44:59 -07:00
Behdad Esfahbod
cbda46c530 [varLib] Generate master offsets
TO be documented / renamed.  This is the contribution of other
masters, at each masters' location.
2016-04-13 16:37:16 -07:00
Behdad Esfahbod
ef4aa7e7f0 [varLib] Shuffle 2016-04-13 16:35:41 -07:00
Behdad Esfahbod
c16086afaa [varLib] Add MutatorModel
Computes the master supports pyramids already.
2016-04-13 16:35:41 -07:00
Behdad Esfahbod
9a604599a4 [varLib] Return axisPoints with sort key func 2016-04-13 16:35:41 -07:00
Behdad Esfahbod
458ebbf9d5 Start varLib, for gvar-style font variations
Right now, just reinventing some concepts form MutatorMath.objects
in a more compact (and more correct?) way.
2016-04-13 16:35:41 -07:00