8359 Commits

Author SHA1 Message Date
Cosimo Lupo
690080b14d
use 32-bit GlyphIDs in COLRv1 baseGlyphs and layers
For forward-compatibility, see https://github.com/googlefonts/colr-gradients-spec/issues/8
2020-07-01 19:50:48 +01:00
Cosimo Lupo
4578f96e9d
colorLib_test: minor cosmetic changes 2020-07-01 18:29:26 +01:00
Cosimo Lupo
b215c000df
Rename LayerV1Array to LayerV1List, like with BaseGlyphV1List
See https://github.com/googlefonts/colr-gradients-spec/issues/14#issuecomment-652542829
2020-07-01 18:22:03 +01:00
Cosimo Lupo
5f18d9891c
rename BaseGlyphV1Array to BaseGlyphV1List
As suggested by Peter Constable in https://github.com/googlefonts/colr-gradients-spec/issues/14 and https://github.com/googlefonts/colr-gradients-spec/issues/18
2020-07-01 18:16:07 +01:00
Cosimo Lupo
50546c03c4
[C_O_L_R_test] better annotate offsets in hex dump (2) 2020-07-01 16:14:47 +01:00
Cosimo Lupo
d98e231f4b
[C_O_L_R_test] better annotate offsets in hex dump 2020-07-01 16:13:38 +01:00
Cosimo Lupo
caf3c5d216
[C_O_L_R_test] fixed typo in hex dump 2020-07-01 15:59:47 +01:00
Frederik Berlaen
d0767138f7 make sure a list of possible case-insensitive file names is send
not a dict where the key is the case sensitive file name
2020-06-20 17:45:27 +02:00
Cosimo Lupo
19103d9acc
Bump version: 4.12.1 → 4.12.2.dev0 2020-06-16 15:50:18 +01:00
Cosimo Lupo
9e8d152b54
Release 4.12.1 2020-06-16 15:50:17 +01:00
Cosimo Lupo
43715c6f21
Update changelog [skip ci] 2020-06-16 15:50:03 +01:00
Just van Rossum
dc7d016538
[ttLib.tables._n_a_m_e] Fix #1997: Only attempt to recovered malformed data from bytes (#1998)
* don't attempt to recover malformed data from str, only from bytes. Fixes #1997
2020-06-16 16:35:40 +02:00
Cosimo Lupo
6b4430a8a3
Bump version: 4.12.0 → 4.12.1.dev0 2020-06-09 12:15:34 +01:00
Cosimo Lupo
b1b8026c15
Release 4.12.0 2020-06-09 12:15:33 +01:00
Cosimo Lupo
4018a05762
Update changelog [skip ci] 2020-06-09 12:13:48 +01:00
Just van Rossum
90c7c7fae1
Fix for #1985: ensure that the AxisNameID in the STAT table is > 255 (#1986)
Fix for #1985:
* ensure that the AxisNameID in the STAT table is not less than 256. This needed an additional argument to the addMultiLingualName() name table method.
* fvar axis name IDs must also not be less than 256, just like STAT axis names.
2020-06-08 19:39:28 +02:00
Khaled Hosny
df1b499dbc
Merge pull request #1987 from khaledhosny/voltlib-options
[voltLib] Accept DO_NOT_TOUCH_CMAP keyword
2020-06-08 17:39:03 +02:00
Simon Cozens
775dc6074e
fontTools.misc.* documentation, part 2 (#1981)
* Document misc.filenames
* Document misc.fixedTools
* Document misc.intTools
* Document misc.loggingTools
* Document misc.macCreatorType
* Document misc.macRes
* Document misc.plistlib
2020-06-08 15:53:48 +01:00
Khaled Hosny
d2167235e0 [voltLib] Accept DO_NOT_TOUCH_CMAP keyword
Corresponds to the “Do not overwrite camp table” option in VOLT.
2020-06-08 03:19:06 +02:00
Khaled Hosny
80dac9c0f4 [voltLib] Accept False for LookupDefinition.reversal 2020-06-08 02:52:58 +02:00
Cosimo Lupo
babca162e5
Merge pull request #1984 from liZe/master
Don’t calculate whole sets of unicode codepoints
2020-06-05 10:42:06 +01:00
Guillaume Ayoub
2a1f09dbb2 Don’t calculate whole sets of unicode codepoints
_getUnicodeRangeSets used to calculate sets containing lots of numbers, only to
get intersections between a set and ranges. Creating and manipulating a lot of
big sets requires a lot of memory.

The function has been replaced by _getUnicodeRanges, returning a list of range
starts boundaries and a list of range stops + corresponding bits.

Tests on intersectUnicodeRanges save about 130 MB (!) of RAM, with no
significant speed penalty.
2020-06-05 11:28:18 +02:00
Khaled Hosny
66a7751bd7
Merge pull request #1983 from khaledhosny/voltlib-str
[voltLib] Support writing back ast as VOLT data
2020-06-04 20:25:02 +02:00
Khaled Hosny
2956772c62 [voltLib] Plain dict is good now 2020-06-04 14:08:20 +02:00
Khaled Hosny
a1df9175ee [voltLib] Support writing back ast as VOLT data
Adds __str__() method to ast classes that writes back VOLT data. Tries
to replicate VOLT syntax idiosyncrasies as much as possible for better
round-trip conversion.
2020-06-04 14:08:20 +02:00
Khaled Hosny
3c4f5a75bf [voltLib] Unescape new line in lookup comments 2020-06-04 14:08:20 +02:00
Khaled Hosny
18886da333 [voltLib] Use NamedTuple for pos
Using a plain tuple here is ugly, it should have been another ast class,
using NamedTuple to not break backward compatibility. Needed for next
commit.
2020-06-04 14:08:20 +02:00
Khaled Hosny
5cc5d80871 [voltLib] Deduplicate some ast code
In preparation for next commits. Also remove unused classes.
2020-06-04 14:08:12 +02:00
Behdad Esfahbod
26ac716a8d [subset/merge] Fix namespace clash
Fixes https://github.com/fonttools/fonttools/issues/1955
2020-06-02 15:13:30 -07:00
Nikolaus Waxweiler
7a723b7344
Merge pull request #1977 from fonttools/afmlib-dont-write-out-doctest
[afmLib] Do not write doctest file to disk
2020-05-29 16:59:17 +01:00
Nikolaus Waxweiler
b5d2952c23 [afmLib] Do not write doctest file to disk
It writes into the current working dir on test runs.
2020-05-29 16:50:42 +01:00
Nikolaus Waxweiler
fe17d5937a
[feaLib] Builder.build(): proper error msg on unsupported tables (#1976)
Raise NotImplementedError instead of an assertion error.
2020-05-29 16:44:19 +01:00
Nikolaus Waxweiler
d0ad754bbf Bump version: 4.11.0 → 4.11.1.dev0 2020-05-28 18:24:55 +01:00
Nikolaus Waxweiler
647d428b7b Release 4.11.0 2020-05-28 18:24:54 +01:00
Nikolaus Waxweiler
9287a8354f
Update NEWS.rst (#1974) 2020-05-28 18:21:06 +01:00
Nikolaus Waxweiler
0e7a4460f3
[feaLib] Introduce includeDir on Parser and IncludingLexer (#1973)
This makes the directory to search for included files explicit.

Also use Python 3's FileNotFoundError to catch non-existant files instead of a workaround for Python 2.
2020-05-28 17:43:19 +01:00
Nikolaus Waxweiler
097b255e68
Merge pull request #1970 from tomarcher101/master
Remove duplicate glyphs from kerning groups.
2020-05-26 11:23:15 +01:00
Tom Archer
0b93480808 Change startwith or statement to use tupple of strings rather than or. 2020-05-22 15:56:48 +01:00
Tom
5c8c6b3c92
Merge pull request #2 from tomarcher101/add-error-when-duplicate-in-kerning-group
Add code that removes duplicates when parsing groups.plist
2020-05-22 11:19:38 +01:00
Tom Archer
0e04e039cf Add more glyphs to test group to prove order is preserved 2020-05-22 10:41:10 +01:00
Tom Archer
6f72429150 Small changes 2020-05-22 09:55:16 +01:00
Tom Archer
b88f717885 Get test working that shows duplicates are removed 2020-05-22 09:53:40 +01:00
Cosimo Lupo
9d8a7e27fe
[COLR] should set self.version after decompiling COLRv1
we set self.version for COLRv0 already; makes easier to check COLR.version
2020-05-21 16:57:35 +01:00
Tom Archer
2b654a1d2a Add code that removes duplicates when parsing groups.plist 2020-05-20 11:59:16 +01:00
Cosimo Lupo
dfdab70e10
Bump version: 4.10.2 → 4.10.3.dev0 2020-05-20 09:26:00 +01:00
Cosimo Lupo
bf70e5679b
Release 4.10.2 2020-05-20 09:25:59 +01:00
Cosimo Lupo
5cf648364f
Update changelog [skip ci] 2020-05-20 09:25:55 +01:00
Cosimo Lupo
02e51072a4
sfnt: must import SimpleNamespace
Thanks Zachary for reporting this
7ca42f6623 (commitcomment-39299386)

Amazingly we have no tests for reading TTCs
2020-05-20 09:16:06 +01:00
Cosimo Lupo
d2c9f12260
Bump version: 4.10.1 → 4.10.2.dev0 2020-05-19 16:44:05 +01:00
Cosimo Lupo
0c397d9b59
Release 4.10.1 2020-05-19 16:44:04 +01:00