Behdad Esfahbod
a3a25e09b2
[varLib.models] Rename variables for clarity
2018-06-17 18:47:53 -04:00
Behdad Esfahbod
09ae567070
[varLibs.models] Another fix
...
Though, the previous work was also working; the bug couldn't be hit.
2018-06-16 14:17:44 -04:00
Behdad Esfahbod
1801248938
[varLib.models] Fix model resolution
...
Oops. Was introduced when I last changed modeling.
The problem was, for checking that a previous master m is outside the current
influence box of the current master, I was doing "not (lower < m[loc] < upper)".
This is wrong, where lower,peak,upper is the support of previous master.
This fails if lower == peak == m[loc], or m[loc] == peak == upper.
Fixes https://github.com/fonttools/fonttools/issues/1269#issuecomment-397655016
2018-06-16 14:07:18 -04:00
Behdad Esfahbod
be9a304dc4
[varLib.models] Allow solving for a .designspace doc from cmdline
...
Like varLib.plot does.
2018-06-16 13:53:56 -04:00
Cosimo Lupo
867a6b0c28
Merge pull request #1274 from anthrotype/otRound
...
add otRound func to round floats to integer towards +Infinity
2018-06-15 11:26:30 +01:00
Denis Moyogo Jacquerye
632192804f
Add PairPosSubtable test
2018-06-15 11:10:49 +01:00
Denis Moyogo Jacquerye
b3edba70e9
[feaLib] implement SubtableStatement.asFea()
2018-06-15 10:53:38 +01:00
Cosimo Lupo
0337fc92fc
Tests: adjust to use new otRound function
2018-06-14 17:49:37 +01:00
Cosimo Lupo
d570fc038a
use otRound when rounding visual coordinates or deltas
...
So we now round towards +Infinity in:
- floatToFixed (which fully examplify that quotes from OT spec)
- psCharStrings: when packing floats as fixed 16.16
- t2CharStringPen: when rounding coordinates and advance widths
- subset: when rounding advance widths to compute average
- TupleVariation: rounding gvar deltas
- _g_l_y_f: when rounding coordinates: both in GlyphComponent.{x,y}
and for GlyphCoordinates.toInt()
- _h_m_t_x: for rounding horiz/vert metrics
- varLib: rounding horiz metrics and deltas
2018-06-14 17:40:11 +01:00
Cosimo Lupo
585b87023f
fixedTools: add otRound to round floats to nearest int towards +Infinity
...
https://github.com/fonttools/fonttools/issues/1248
2018-06-14 17:15:47 +01:00
Cosimo Lupo
e75d6a8ca1
[varLib.models] add assertion debug message
...
Fixes #1268
2018-06-14 15:34:27 +01:00
Cosimo Lupo
03c57a0f5f
Merge pull request #1240 from fonttools/add-feature-variations
...
[varLib] Add Feature Variations
2018-06-14 15:25:30 +01:00
Cosimo Lupo
6e9a24b45b
featureVars: mark module as experimental/subject-to-change
2018-06-14 15:25:09 +01:00
Cosimo Lupo
c4950ecc8b
py23: add 'zip' (alias to izip in py2) to __all__
2018-06-12 17:29:10 +01:00
Cosimo Lupo
f9f06ecc10
allow to run tests when zopfli/brotli are not installed
2018-06-12 11:00:40 +01:00
Behdad Esfahbod
2e28fa4a31
[subset] Remove activeLookup tracking during GSUB closure
...
The memoize handles this as well...
This alone contributes a 10% speedup to the closure op.
2018-06-12 01:01:41 -04:00
Behdad Esfahbod
a856e83112
[subset] Another improvement to GSUB closure algorithm
...
Save number of subset-glyphs each lookup was closed at, and don't redo work
if number didn't change. 10% speedup with NotoNastaliqUrdu-Regular.
2018-06-11 23:53:22 -04:00
Behdad Esfahbod
40ca30a82b
[subset] Improve GSUB closure memoize algorithm
...
Instead of memoizing the tuple of <lookup-idx,current-glyphs>, use a mapping of
lookup-idx->current-glyphs instead. Saves some work. Speeds up 5%ish on
NotoNastaliqUrdu-Regular.
2018-06-11 23:46:42 -04:00
Cosimo Lupo
1eddd0dcd2
Bump version: 3.27.1 → 3.27.2.dev0
2018-06-11 19:37:29 +01:00
Cosimo Lupo
05c3a6f44a
Release 3.27.1
2018-06-11 19:37:28 +01:00
Cosimo Lupo
955d7b158c
Update changelog
2018-06-11 19:37:26 +01:00
Cosimo Lupo
79449bc2d4
ttGlyphPen: always skip non-existing components
...
It doesn't make sense to add components that reference non-existing base glyphs
(ie. glyphs not in the input glyphSet, hence missing from the generated glyf table).
Even if we let them in here, it will fail immediately as soon as we attempt to
compile this glyf table containing 'dangling' component references.
Better to warn and skip.
2018-06-11 19:25:15 +01:00
Cosimo Lupo
ae69133924
ttGlyphPen: gracefully handle missing components while decomposing
2018-06-11 18:40:11 +01:00
Cosimo Lupo
bf87025826
designspaceLib: fix formatting of DesigSpaceError exception
...
https://travis-ci.org/googlei18n/fontmake/jobs/390821469#L498
2018-06-11 16:35:02 +01:00
Cosimo Lupo
7a38a711be
ttx_test: last version digit may contain '\n' char
...
fixes https://travis-ci.org/fonttools/fonttools/jobs/390768657#L668
2018-06-11 14:15:18 +01:00
Cosimo Lupo
bf5c3a42c6
Bump version: 3.27.0 → 3.27.1.dev0
2018-06-11 14:05:04 +01:00
Cosimo Lupo
4cfb4f8389
Release 3.27.0
2018-06-11 14:05:03 +01:00
Cosimo Lupo
1c7c639b28
Update changelog
2018-06-11 14:04:47 +01:00
Cosimo Lupo
e35151a051
Merge remote-tracking branch 'origin/master' into add-feature-variations
2018-06-11 12:49:31 +01:00
Cosimo Lupo
2e797a902d
Merge pull request #1271 from anthrotype/pr/1211
...
rebase #1211
2018-06-11 12:33:40 +01:00
ReadRoberts
c239d1a03d
[cffLib] Fix bug in cffLib.py.CFFFontSet.convertCFFToCFF2() that broke converting name-keyed fonts.
...
Also clean up setting FontDict to support CFF2.
2018-06-11 12:09:00 +01:00
ReadRoberts
528bc8ff17
[cffLib] Use std operator delattr() instead of exec ("del ...")
2018-06-11 12:09:00 +01:00
ReadRoberts
942a7610fd
[cffLib] Fix bugs in converting CFF to CFF2 when the font has an FDArray.
...
The FontDict as well as the PrivateDict needs to have fields removed when these are deprecated in CFF2.
2018-06-11 12:09:00 +01:00
ReadRoberts
21bbb15cd0
[cffLib] Fix bugs in compiling a CFF2 font with an FDArray.
...
A FontDict in CFF2 is permitted only a subset of the fields supported by CFF 1.0.
2018-06-11 12:09:00 +01:00
Cosimo Lupo
6bc44c8b05
Merge pull request #1230 from anthrotype/fix-coords-overflow
...
Fix GlyphCoordinates overflow
2018-06-07 15:59:23 +01:00
Cosimo Lupo
d9f7a26027
_g_l_y_f_test: test _checkFloat upgrades to double when overflowing short int
2018-06-07 15:40:50 +01:00
Cosimo Lupo
846941c8ef
[glyf] ensure GlyphCoordinates never overflow
...
in _checkFloat (used whenever we're about to update the inner array) we check whether the value exceeds a short integer, and if so we convert the array to floats.
Also, we make sure we call __setitem__ (which in turn calls _checkFloat) instead of updating the inner array directly in the rest of the math methods.
2018-06-07 12:53:42 +01:00
Cosimo Lupo
e48e8ea7c9
Revert "models: convert delta array to float if overflows signed short integers"
...
This reverts commit 0055f9414ca5094b0c9beb0176ac4998cdbbba70.
2018-06-07 12:53:42 +01:00
Cosimo Lupo
565e835c92
designspaceLib: cleanup formatting, remove unused vars, etc.
2018-06-07 12:44:49 +01:00
Cosimo Lupo
cafb373bfb
Doc: fix RST formatting
2018-06-07 12:00:29 +01:00
Cosimo Lupo
d7714ead35
designspaceLib: use LogMixin; fix undefined name
...
'ruleObject' name in _readConditionElements was undefined
2018-06-07 11:43:14 +01:00
Cosimo Lupo
fbab1227ce
loggingTools: memoize 'log' property of LogMixin
...
the logger name is constant (based on the user class's name and module)
so we can cache it.
(this means the LogMixin will only work on regular dict-based classes,
not on 'slotted' classes. But that's ok
2018-06-07 11:40:33 +01:00
Cosimo Lupo
65eac8ef92
Merge pull request #1267 from fonttools/designspaceLib-checkDefault
...
designspaceLib remove checkDefault, checkAxes
2018-06-07 11:14:43 +01:00
Cosimo Lupo
a84c097c10
py23: alias itertools.izip as 'zip'
...
so we consistently use python3 zip iterator on both py2 and py3
2018-06-06 18:21:15 +01:00
Cosimo Lupo
b38e2bd8ac
varLib.plot: use plot, not plot_wireframe, as we are using 1D lists
...
plot_wireframe requires 2D arrays.
In recent versions of matplotlib passing a 1D array fails with an error:
https://stackoverflow.com/questions/47225830/axes3d-plot-wireframex-y-z-error
https://github.com/matplotlib/matplotlib/pull/5166
https://github.com/matplotlib/matplotlib/issues/3116
2018-06-06 12:43:05 +01:00
Cosimo Lupo
80bfc3ccd5
Snippets: add rename-fonts.py to append a suffix to all family names
2018-06-05 21:41:11 +01:00
Erik van Blokland
e4c90b9afe
WIP uncomment test for conditions without min or max.
...
Add _axesAsDict to the test because there it is needed.
2018-05-30 22:26:59 +02:00
Erik van Blokland
554aa362bd
WIP Change warnings.warn to logger.info and logger.warning.
...
findDefault only looks for the sourceDescriptor on the default of all axes. Returns None otherwise.
Remove _axesAsDict - not needed.
Shortened logger name to "DesignSpaceLog"
2018-05-30 22:21:05 +02:00
Erik van Blokland
855a475ad2
WIP removed test for incomplete rules. Added test for stray conditions. Removed high unicode character from lib test. Read stray unwrapped conditions, put them in a conditionset.
2018-05-27 19:18:13 +02:00
Erik van Blokland
a24b00ba14
WIP Comments.
2018-05-27 12:36:57 +02:00