4679 Commits

Author SHA1 Message Date
Khaled Hosny
250eac4cae [feaLib] Correctly handle lookupflag 0 in asFea()
Part of https://github.com/fonttools/fonttools/issues/1538
2019-03-15 14:13:46 +02:00
Cosimo Lupo
abae80d730 [feaLib] make 'forceChain' an optional kwarg for barkward compat
See discussion at:
https://github.com/fonttools/fonttools/pull/1511#issuecomment-472425283
2019-03-13 15:11:53 +00:00
Cosimo Lupo
242ad6279d [merge] don't drop platformID=0 Unicode cmap subtables
instead treat them as equivalent to platformID=3 Windows Unicode subtables
2019-03-12 13:13:15 +00:00
Cosimo Lupo
2c3c74f108 [merge] support merging vhea table (same as hhea) 2019-03-12 12:26:54 +00:00
Cosimo Lupo
1fd11a3a0a psCharStrings: replace sys.stderr.write with log.warning 2019-03-12 11:43:10 +00:00
Nikolaus Waxweiler
754c1c6a2f Minor: Remove redundant comment 2019-03-10 23:03:08 +00:00
Nikolaus Waxweiler
5f7afa23b2 newDefaultLocation: Return location in design space 2019-03-10 22:20:00 +00:00
Nikolaus Waxweiler
c4899330c5 designspaceLib, findDefault: consider axis mapping 2019-03-10 22:12:06 +00:00
justvanrossum
d897a08fc8 more updated issue URLs 2019-03-06 16:52:35 +01:00
justvanrossum
723e7a1d3c updated inline github issue URLs 2019-03-06 16:01:28 +01:00
Cosimo Lupo
df3bbbb7ad varLib: use hhea.ascent and head.unitsPerEM for phantom pts when vmtx missing
https://github.com/anthrotype/fonttools/pull/new/gvar-vmtx-phantom-pts
2019-03-05 10:02:35 -08:00
Cosimo Lupo
52ec934a02 varLib: use vmtx to compute phantom pts; fix sign of bottomSideY
when 'vmtx' is present in a font, use that to compute the third and fourth 'phantom points'.
When not present, we use the glyph bbox yMax and yMin coords.

NOTE that previously the bottomSideY was incorrectly set to -glyph.yMin (with a minus sign).
However, the minus is not needed when we use the bbox.
Positive vertical advance grows towards negative Y axis.
2019-03-04 18:33:23 -08:00
Cosimo Lupo
a15f94f0c6
Merge pull request #1527 from anthrotype/tuplevar-ttx-ordered-attrs
TupleVariation.toXML: sort attrs min/value/max in TTX dump
2019-03-04 17:02:08 -08:00
Cosimo Lupo
2dedea5f8f models: remove unused axisOrder argument from _computeMasterSupports private method
it's no longer used in the body of the method. If needed, it's accessible from self.axisOrder
2019-03-04 16:58:15 -08:00
Cosimo Lupo
f8c7950e48 models: minor: explicitly test for axisOrder is None
389cf7c56a (r32585140)
2019-03-04 16:51:53 -08:00
Cosimo Lupo
71e44a52ee TupleVariation.toXML: sort attrs min/value/max in TTX dump
It's more legible if the peak value is written after the min and before the max value
defining a given region.
2019-03-04 16:41:26 -08:00
Cosimo Lupo
694b57754c
Merge pull request #1526 from anthrotype/varLib-models-tests
[varLib.models] minor tests cleanups
2019-03-04 16:34:43 -08:00
Cosimo Lupo
05824b8616 VariationModel: assert that locations are unique 2019-03-04 11:42:54 -08:00
Cosimo Lupo
d8152feb21 VariationModels: remove unused lowerBound/upperBound static methods 2019-03-04 11:15:06 -08:00
Cosimo Lupo
389cf7c56a VariationModel: don't use mutable list default value for 'axisOrder' parameter 2019-03-04 10:58:47 -08:00
justvanrossum
92e722365f whitespace 2019-03-04 11:32:32 +01:00
justvanrossum
26ec6054a9 no need for a variable with only one use of len(vorgs) 2019-03-04 11:31:26 +01:00
justvanrossum
65b337d4b9 removed unneeded use of operator.gititem and operator.setitem and replaced with idiomatic code 2019-03-03 13:12:50 +01:00
justvanrossum
26b986e7c9 removed unused import 2019-03-03 13:03:58 +01:00
justvanrossum
7c6239ac84 Changed map(operator...) into explicit for loop 2019-03-03 13:02:27 +01:00
justvanrossum
ce6dbdef92 Changed map(operator...) into idiomatic list comprehensions 2019-03-03 12:55:05 +01:00
justvanrossum
0acf7c7681 removed unused import 2019-03-03 12:27:44 +01:00
justvanrossum
7c319abbec remove some unused variables; test empty cmap for format 4 2019-03-03 11:59:59 +01:00
justvanrossum
d4a2d935c4 [cmap] changed some uses of list(map(...)) to list comprehensions an explicit loops, avoiding possibly large unneeded tmp lists; replaced use of oval() with int(); adding tests to verify all changes are covered 2019-03-03 10:30:05 +01:00
Khaled Hosny
835ee4a84b [subset] Update documentation to reflect reality [ci skip]
CBLC/CBDT are no longer dropped by default since
9189d1a1f04a7a808ad9940dc14eb072ff25f115.
2019-03-03 02:30:35 +02:00
Cosimo Lupo
fe42e1b555 varLib.plot: support 2D plots with only 1 variation axis 2019-03-01 15:29:12 -08:00
Cosimo Lupo
148b421705 models.main: actually pass normalized master locations to VariationModel 2019-03-01 13:04:52 -08:00
Khaled Hosny
c82fb8fa13 [feaLib] Support Python < 3.5 in previous commits 2019-03-01 01:48:48 +02:00
Khaled Hosny
7d03e93e67 [feaLib] Make unsupported "subtable" a warning
AFDKO’s makeotf warns and ignores the statement, so do the same. I’m
abusing FeatureLibError() as a lazy way to keep reporting the location.
2019-03-01 01:48:48 +02:00
Khaled Hosny
10cad7be3a [feaLib] Refactor almost duplicated subtable code
Also make the code a little less ugly.
2019-03-01 01:48:48 +02:00
Khaled Hosny
226f5518b7 [feaLib] "subtable" in single substitutions 2019-03-01 01:48:48 +02:00
Khaled Hosny
3be73365a5 [feaLib] Reverse chain need not handle subtable 2019-03-01 01:48:48 +02:00
Khaled Hosny
d9893ab05a [feaLib] "subtable" in multiple substitutions 2019-03-01 01:48:48 +02:00
Khaled Hosny
c87e5cf4ad [feaLib] "subtable" in alternate lookups 2019-03-01 01:48:48 +02:00
Khaled Hosny
7454a3eb48 [feaLib] "subtable" in ligature lookups 2019-03-01 01:48:48 +02:00
Khaled Hosny
cc1b6baff7 [feaLib] "subtable" in contextual positioning 2019-03-01 01:48:48 +02:00
Khaled Hosny
47d30499a5 [feaLib] "subtable" in contextual substitution 2019-03-01 01:48:48 +02:00
Khaled Hosny
6bb0545655 [feaLib] Don’t hard-code "subtable" support
Allow for making more lookups support subtabe breaks. Although AFDKO’s
makeotf supports subtable breaks only in pair pos lookups, I believe
that is an implementation limit that we don’t have to follow; all
OpenType lookups has subtables and it should be possible to code that in
the feature files.
2019-03-01 01:48:48 +02:00
Cosimo Lupo
0cc1dda00d grUtils: must import lz4.block
otherwise one gets AttributeError: 'module' object has no attribute 'block'

I noticed this by change. The whole SIL lz4-compressed Glif/Silf tables is still untested...
2019-02-28 11:00:29 -08:00
Cosimo Lupo
a4c6abbbb6 mutator: --no-overlap option doesn't belong to logging group of options
copypasta error
2019-02-28 09:50:58 -08:00
Cosimo Lupo
67d9830978 mutator: add --no-overlap cli option to disable setting OVERLAP glyf flags
can be useful for debugging
2019-02-28 09:46:16 -08:00
Chris Simpkins
16bb3fd605 [varLib.mutator] set OVERLAP_SIMPLE and OVERLAP_COMPOUND by default in instantiateVariableFont (#1518) 2019-02-28 09:34:43 -08:00
Cosimo Lupo
fdb3974dd9 add identifier parameter to PointToSegmentPen.addComponent method
'identifier' param is part of the AbstractPointPen interface.
Even though it is unused by the segment pen protocol, the caller may attempt
to pass it by positional argument instead of keyword argument, e.g.
2920ddd07c/Lib/fontMath/mathGlyph.py (L486)

this patch avoids the resulting TypeError exception
2019-02-27 16:30:20 -08:00
Cosimo Lupo
2dfb7bf0ff whitespace [skip ci] 2019-02-27 15:25:59 -08:00
Cosimo Lupo
a979af2019 designspaceLib: use axis maps with normalizeLocation
fixes https://github.com/fonttools/fonttools/issues/1226
2019-02-27 15:17:24 -08:00