Cosimo Lupo
4af078a629
[varLib] re-enable building HVAR for TTFs; remove --build-HVAR option
...
The option was meant to be temporary, and is no longer needed since
https://github.com/fonttools/fonttools/issues/705 is now fixed.
2017-01-09 10:34:34 +00:00
Sascha Brawer
1d28abdb65
[gvar] Rename GlyphVariation to TupleVariation
...
In the OpenType 1.8 specification, this is called TupleVariation
so let's be consistent with the spec. (The initial implementation
in fonttools pre-dates OpenType 1.8).
2017-01-04 12:41:55 +01:00
Behdad Esfahbod
cada4607fb
[varLib] Use "VF" (for variable-font" instead of "GX" in output name
2016-12-08 20:48:08 -08:00
Rob McKaughan
1bebcec00d
Do not emit null axes in fvar (default==min==max)
2016-11-04 14:53:43 -07:00
Cosimo Lupo
df967e70fc
varLib: rename --buildHVAR option to --build-HVAR; add 'build_HVAR=False' kwarg to 'build' function
...
better not having to pass an argparse.Namespace object to varLib.build
2016-11-03 10:59:00 +00:00
Rob McKaughan
bdbb8c5374
Add commandline switch to build HVAR
2016-11-02 20:54:50 -07:00
Behdad Esfahbod
b4ebe12b31
[varLib] Reenable HVAR for CFF2 fonts
...
https://github.com/fonttools/fonttools/issues/705
2016-10-31 16:15:24 -07:00
Behdad Esfahbod
b39772b256
[varLib] Fix interpolate_layout for non-similar SinglePos
...
Has to be ported to varfont merger as well.
2016-10-12 16:11:20 -07:00
Behdad Esfahbod
b9c38af1ff
Disable HVAR generation until I fix it
...
https://github.com/fonttools/fonttools/issues/705
2016-10-12 13:30:52 -07:00
Cosimo Lupo
79d755a837
[varLib] use both Macintosh and Windows names for fvar names; use addName method from _n_a_m_e.NameRecord; use unicode_literals
...
We must coerce name strings with `tounicode` because, on Python 2, the ElementTree library that we use to parse the designspace's XML will return ASCII-encoded `bytes` (PY2 `str`) whenever it can; and only returns `unicode` (PY3 `str`) when strings can't be encoded as ASCII... :(
However the `addName` method requires unicode strings (it wouldn't be able to encode them with multiple platform-specific encodings otherwise).
So we decode bytes as ASCII before passing them to addName.
2016-10-04 17:08:29 +01:00
Behdad Esfahbod
e8117f6443
[varLib] Merge same-structured kerning lookups
...
Code from Read Roberts.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
caa353d5dd
[varStore] Generate variation for Anchors and store in GDEF
...
Finally! Phew...
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
cfd7bfbb2c
[varLib] Start creating variations for GPOS using Merger
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
60e8bab524
[varLib] Unbreak gvar generation
...
Was completely broken by 15dd7181b47b8c8225b6054c6bb257fab91eea1c as master location
tags were mismatched with fvar. Too bad gvar was silently ignoring that. Fix coming.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
e713f75930
[varLib] Add gvar only if base font has glyf table
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
0546a4296b
[varLib] Fix typo
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
ecce5cf344
[varLib] Minor
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
402d726692
[ot] Change Version to be an integer instead of float
...
API Change:
This will change XML output for GSUB/GPOS/GDEF/MATH/BASE/JSTF/...
Scripts that set the Version for those to 1.0 or other float values
also need fixing. A warning is emitted when code or XML needs fix.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
ae93928275
[varLib] Rename fields in fvar, to accommodate for postscriptNameID
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
24346aaa88
[varLib] Store name entries with Windows English encoding instead of MacRoman
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
4e5145ac41
[varLib] Move code around
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
d916e18595
[varLib] Refactor main() code into build()
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
06b1840866
[varLib] Move code around
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
4fc2a3e5e1
[varLib] Move code around
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
c5ad2cb267
[varLib] Explicitly round values
...
It's annoying that python2's struct module doesn't err if float
is passed to it for an integer, whereas python3 does.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
3da7de7452
[varLib] Use Tag() in fvar
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
d9ee2609be
[varLib] Move VariationModel and supporting code to fontTools.varLib.models
...
More code to be moved there in the future.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
4512a162b6
[varLib] Move designspace loading code into its own module
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
44fda3ac0b
[varLib] Start OnlineVarStoreBuilder
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
a85dc19378
[varLib] Reuse base font's layout tables
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
72fe29359b
[varLib] Start building Device table for variations
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
12a5c5895d
[varLib] Enable building gvar again
...
Was dropped accidentlaly in 680059d0.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
76ce34b06c
[varLib] Implement mapping tail optimization
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
687c2c1812
[varLib] Build indirect advance-width in HVAR
...
Fixes VarIdxMap implementation as well.
2016-09-27 19:49:41 +02:00
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
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
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
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