Nikolaus Waxweiler
5cda8381f9
[feaLib] Check that glyph names referenced in the feature file are part of the glyph set ( #1828 )
...
This checks that glyph names that appear in a feature file are actually
in the glyph set provided in glyphNames. If the set is empty, no check
is done. This preempts a KeyError later during saving of a TTFont object
and makes this case much more easily catchable.
Closes #1723 .
2020-02-13 14:47:29 +00:00
Cosimo Lupo
b6467b7e85
ttGlyphPen: quantize component.transform to F2Dot14 to fix issue with bbox
...
Fixes https://github.com/googlefonts/fontmake/issues/558
When drawing a composite glyph with a scaled component using the TTGlyphPen, the bounding
box coordinates may change depending on whether one computes them *before* compiling or
*after* decompiling. Before compiling, component.transform holds double precision floats,
but after compiling and decompiling, these are necessarily clamped to F2Dot14 fixed precision.
The TTGlyphPen needs to quantize transform floats to F2Dot14 so that the values don't
change after compilation.
Without this change, it may happen that round-tripping fonts through ttx (which by default
recalcBBoxes) will produce different bounding boxes for composite glyphs that have
scaled or transformed components.
2020-02-13 13:49:01 +00:00
Cosimo Lupo
e35228603d
Merge pull request #1829 from anthrotype/empty-glyf
...
[glyf] compile empty table as 1 null byte to make OTS and Windows happy
2020-02-12 14:52:23 +00:00
Cosimo Lupo
9c7ceadc0e
[glyf] compile empty table as 1 null byte to make OTS and Windows happy
...
Fixes #899
See https://github.com/khaledhosny/ots/issues/52#issuecomment-289369267
2020-02-12 14:25:25 +00:00
Nikolaus Waxweiler
a10dd80c32
Merge pull request #1827 from fonttools/varLib-fill-in-mapped-location
...
[varLib] Fill in the forward-mapped location
2020-02-12 13:09:33 +00:00
Cosimo Lupo
16bff17483
head: when checking for extra padding at end of table, must compare bytes, not str
2020-02-12 12:53:09 +00:00
Cosimo Lupo
d2026bd651
WIP: otData: define draft COLRv1 structures
...
https://docs.google.com/document/d/1EPndWsdMK_M135FOIxQZ--dHpH727rXEBvLZqgIzZvs/edit#
2020-02-11 16:33:38 +00:00
Nikolaus Waxweiler
eb77a3be22
[varLib] Fill in the forward-mapped location
2020-02-11 15:45:49 +00:00
Cosimo Lupo
29422a49f3
C_O_L_R_: further simplify decompile
2020-02-11 13:46:45 +00:00
Cosimo Lupo
fb92f228af
C_O_L_R_: simplify toXML
2020-02-11 13:30:20 +00:00
Cosimo Lupo
67c97f214a
C_O_L_R_: use OTTableReader and Writer instead of struct to decompile/compile
...
But keep the existing C_O_L_R_ table interface for backward compatibility.
2020-02-10 13:45:44 +00:00
Cosimo Lupo
8e48c57a00
otTables: initialize a CountReference for LayerRecordCount in COLR.preWrite
2020-02-04 17:14:52 +00:00
Cosimo Lupo
b32a1072b5
otBase: propagate pre-initialized CountReferences so nested subtable see them
2020-02-04 17:14:12 +00:00
Cosimo Lupo
145bcd62bd
otTables: add COLR subclass to decompile LayerRecordCount before the rest
2020-02-04 17:03:40 +00:00
Cosimo Lupo
e56c0ee1a4
otConverters: BaseGlyphRecordCount and LayerRecordCount are 'propagated' counts
...
ie. they count things inside nested sub-tables
2020-02-04 17:01:31 +00:00
Cosimo Lupo
73b715732a
otData: define COLRv0 structures
2020-02-04 17:00:20 +00:00
Cosimo Lupo
40c79882d7
Bump version: 4.3.0 → 4.3.1.dev0
2020-02-03 15:44:33 +00:00
Cosimo Lupo
d6061a5288
Release 4.3.0
2020-02-03 15:44:32 +00:00
Cosimo Lupo
1c2fb0e3ef
Merge pull request #1809 from justvanrossum/demo-issue1808
...
[varLib] demonstrate and fix #1808
2020-02-03 15:39:32 +00:00
Khaled Hosny
b9bc128f2c
Merge pull request #1816 from khaledhosny/varlib-cff2-source
...
[varLib] Allow using CFF2 table as source
2020-02-03 17:17:02 +02:00
Cosimo Lupo
78abdf2299
Merge pull request #1818 from fonttools/eblc-index-subtable-3
...
EBLC: fix padding length calculation for Format 3 IndexSubTable
2020-02-03 15:15:24 +00:00
Khaled Hosny
09174b9129
[CFF2] Make recalcBBoxes work with CFF2 table
...
Add checks for CFF2 table next to CFF checks as applicable.
2020-01-31 23:39:47 +02:00
Khaled Hosny
366c08a9d6
[varLib, fontBuilder] Set Private.vstore as well
...
Otherwise T2OutlineExtractor.op_blend() would raise and exception unless
the font is saved and loaded again.
2020-01-31 23:39:47 +02:00
Khaled Hosny
38981b6dae
[varLib] Allow using CFF2 table as source
...
Nothing clever, if the source font has a CFF2 table use it as if it were
a CFF table (i.e. non-variable, not sure what would happen in the source
CFF2 was variable already).
2020-01-31 23:39:47 +02:00
Cosimo Lupo
c5dfbab521
EBLC: fix padding length calculation for Format 3 IndexSubTable
...
Fixes #1817
2020-01-31 17:30:12 +00:00
Khaled Hosny
014991d710
Merge pull request #1815 from khaledhosny/fealib-flag-fix
...
[feaLib] Don’t reset lookupflag in nested lookups
2020-01-30 13:06:42 +02:00
Khaled Hosny
42b51f084f
Merge pull request #1814 from khaledhosny/fealib-mult-fix
...
[feaLib] fix mixed single/multiple substitutions
2020-01-30 13:02:39 +02:00
Cosimo Lupo
39b02fd224
fix a coiple of SyntaxWarning on python 3.8
2020-01-30 10:47:57 +00:00
Khaled Hosny
eed252cb92
[feaLib] Don’t reset lookupflag in nested lookups
...
In makeotf, lookups defined inside feature blocks inherit the current
lookupflag of the feature, so don’t reset the lookupflag for such
lookups.
2020-01-29 23:46:40 +02:00
Khaled Hosny
22bfc305ee
[feaLib] fix mixed single/multiple substitutions
...
If the single substitution involved a glyph class, we were incorrectly
using only the first glyph in the class.
Broken since ec6ff821f0e72022d7aec8794b6bb589d8f81808, apparently no one
else uses this feature!
2020-01-29 22:36:54 +02:00
Cosimo Lupo
8c1654397d
Bump version: 4.2.5 → 4.2.6.dev0
2020-01-29 17:39:48 +00:00
Cosimo Lupo
fa77aac63c
Release 4.2.5
2020-01-29 17:39:47 +00:00
justvanrossum
950314a5a5
undo the more invasive changes, and only keep the change for #1808 ; maybe we'll add a test later
2020-01-29 12:24:03 +01:00
justvanrossum
49507a9de8
undo DesignSpaceDocument context manager changes, and explicitly (but opt-out) close master_fonts within varLib.build()
2020-01-29 11:55:39 +01:00
justvanrossum
703c2272bd
ensure we don't call close on objects that don't have it
2020-01-29 11:27:56 +01:00
justvanrossum
e18f63cfa3
make DesignSpaceDocument a context manager that closes source fonts, and use it in the varLib tests.
2020-01-29 11:17:57 +01:00
justvanrossum
51ff4a5d69
Move ensureDecompiled() calls to mergeObjects(). This makes more sense, but still needs the hasattr checks.
2020-01-29 11:05:01 +01:00
justvanrossum
033145adf6
this fixes #1808 , but I'm not sure this is the most elegant solution
2020-01-29 10:10:55 +01:00
David Corbett
62ed43ddb9
Do not fail on duplicate multiple substitutions
2020-01-26 10:30:17 -05:00
justvanrossum
874e74b834
demonstrate #1808
2020-01-24 10:47:48 +01:00
Cosimo Lupo
53c99df8f8
subset: downgrade SinglePos to format 1 if all ValueRecords are same
...
Fixes https://github.com/fonttools/fonttools/issues/1709
2020-01-16 18:34:12 -08:00
Nikolaus Waxweiler
680a271b00
Bump version: 4.2.4 → 4.2.5.dev0
2020-01-09 15:49:50 +00:00
Nikolaus Waxweiler
66a1473be6
Release 4.2.4
2020-01-09 15:49:49 +00:00
Nikolaus Waxweiler
d381609885
Update RTL_SCRIPTS for Unicode 11 and 12
...
Information taken from https://docs.google.com/spreadsheets/d/1Y90M0Ie3MUJ6UVCRDOypOtijlMDLNNyyLk36T6iMu0o .
2020-01-09 14:21:49 +00:00
Cosimo Lupo
a311e76338
Bump version: 4.2.3 → 4.2.4.dev0
2020-01-07 16:28:13 +00:00
Cosimo Lupo
e2de0a36da
Release 4.2.3
2020-01-07 16:28:12 +00:00
Cosimo Lupo
504450e053
otTables: update MarkRecord.Class in splitMarkBasePos
...
Fixes https://github.com/googlefonts/noto-source/issues/145
2020-01-07 13:24:40 +00:00
Antony Lee
4fa68d1989
Get rid of SyntaxWarning with py3.8.
...
On a clean clone (make sure there are no pycs present yet),
```
python -c 'import fontTools.ttLib.tables._c_m_a_p'
```
results in
```
.../fontTools/ttLib/tables/_c_m_a_p.py:21: SyntaxWarning: "is" with a literal. Did you mean "=="?
if gid is 0:
```
Fix that.
2020-01-06 11:30:30 +01:00
Jens Kutilek
864945df0b
Change log call
2019-12-18 14:12:02 +01:00
Jens Kutilek
720488ed4b
Merge branch 'master' into fealib-duplicate-sub-warning
2019-12-18 11:24:00 +01:00