6139 Commits

Author SHA1 Message Date
Cosimo Lupo
8c597b5375
mutator: round to closest width class
this is the mapping between the half of each percentage intervals and
the associated usWidthClass:

{56.25: 1,
 68.75: 2,
 81.25: 3,
 93.75: 4,
 106.25: 5,
 118.75: 6,
 137.5: 7,
 175.0: 8}

Notice how wdth=80 (in the adjusted test case) will fall in width class
3, instead of 4, because it is < 81.25, thus closer to the nominal 75
than to 87.5.
2018-06-19 14:16:17 +01:00
Cosimo Lupo
0234b9dbd5
mutator: also clamp usWeightClass between valid 1...1000 2018-06-18 19:45:20 +01:00
Cosimo Lupo
8fcbf78d8b
Tests: adjust expected usWeightClass and usWidthClass 2018-06-18 19:41:03 +01:00
Cosimo Lupo
dbe08a62ad
mutator: set usWeightClass, usWidthClass and italicAngle
https://github.com/fonttools/fonttools/issues/1264
2018-06-18 19:40:30 +01:00
Cosimo Lupo
b2d47132bf
Update changelog
[ci skip]
2018-06-18 15:16:31 +01:00
Cosimo Lupo
e94cd9f373
Merge pull request #1275 from moyogo/feaLib-subtable
[feaLib] asFea() shouldn’t fail when `subtable` is used
2018-06-18 15:14:38 +01:00
Cosimo Lupo
82bb498647
Update changelog
[ci skip]
2018-06-18 12:33:00 +01:00
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
Tal Leming
1d6dddc8f5 Unneeded import. 2018-06-14 13:34:19 -04:00
Tal Leming
c008e20854 Use lxml for reading. 2018-06-14 13:28:20 -04: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
Tal Leming
5ec6b5ef65 Use len(element). 2018-06-14 11:55:54 -04:00
Tal Leming
dab4800f12 Add indentation to the self-closing prevention. 2018-06-14 10:59:51 -04: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
Ben Kiel
e9df5bec13 fix writing lib with lxml 2018-06-14 09:22:24 -05:00
Tal Leming
5f39650425 Write the note the old way. 2018-06-14 08:43:30 -04:00
Tal Leming
4c52a516f4 Height before width. 2018-06-14 08:39:53 -04:00
Tal Leming
3cfb942441 Trick lxml into not writing self-closing tags for outline and contour elements. 2018-06-14 08:36:52 -04:00
Ben Kiel
3ae4f10092 Make attrs OrderedDicts
Get encoding right for py2 and py3
2018-06-14 00:31:29 -05:00
Tal Leming
213b90a4ba Found some attrib type errors. 2018-06-13 21:34:41 -04:00
Ben Kiel
c8608c2fd7 Need to pass an OrderedDict to get correct order. 2018-06-13 16:42:33 -05:00
Ben Kiel
c54c54b2ce Remove slice from splitlines that isn't needed for lxml 2018-06-13 16:22:40 -05:00
Ben Kiel
f3b0703d03 Need to force text to a string and not bytes for Py3 2018-06-13 15:48:29 -05:00
Ben Kiel
6d774d7e8b Add lxml to requirements 2018-06-13 15:21:20 -05:00
Tal Leming
739ec8a169 Use lxml for writing. 2018-06-13 14:22:51 -04:00
Tal Leming
382271c706 Typo and fallback. 2018-06-13 12:46:40 -04:00
Tal Leming
5867e9bc8b Don't rebuild the list of existing file names each time a glyph is written. That's expensive. 2018-06-13 12:37:49 -04:00
Tal Leming
efd2575a6a Remove some validation escaping. 2018-06-12 20:40:32 -04:00
Tal Leming
34681b8a38 Remove some validation escaping when it comes to file existence tests. Those should always fail. 2018-06-12 17:40:25 -04:00
Ben Kiel
ffad0c6f83
Merge pull request #148 from unified-font-object/pyup-scheduled-update-2018-06-11
Scheduled weekly dependency update for week 23
2018-06-12 11:39:35 -05:00
Cosimo Lupo
c4950ecc8b
py23: add 'zip' (alias to izip in py2) to __all__ 2018-06-12 17:29:10 +01:00
Ben Kiel
f81e9b8c6f Fix tests, needed named arg. 2018-06-12 09:15:36 -05: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
Ben Kiel
83303d56a7 Add in more valiator switches 2018-06-11 23:13:00 -05: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
Tal Leming
4c75212ee6 Relax the point data validation. 2018-06-11 21:44:50 -04:00
Ben Kiel
62dba9b6fa
Merge pull request #150 from benkiel/master
Make validation optional
2018-06-11 17:49:21 -05:00
Ben Kiel
a7aa115fd8 Update glyphLib.
Update tests.
Fix errors.
Add documenation.
2018-06-11 15:03:54 -05:00