5522 Commits

Author SHA1 Message Date
Cosimo Lupo
ab8fc321a7 otBase: also return name and index from iterSubTables
makes it more useful for constructing generic traversals of trees of otTables
2022-03-17 17:47:41 +00:00
Cosimo Lupo
43d2ee2822 Revert "return self so one can do font=TTFont(file).ensureDecompiled()"
This reverts commit 61e7b294483cbe729b1437804406b4571ae57cfb.
2022-03-17 15:55:20 +00:00
Cosimo Lupo
61e7b29448 return self so one can do font=TTFont(file).ensureDecompiled() 2022-03-17 15:44:02 +00:00
Cosimo Lupo
46f33357cb TTFont: don't load all tables upon opening even with lazy=False
one has to call TTFont.ensureDecompiled to load everything
2022-03-17 13:48:40 +00:00
Cosimo Lupo
795bccd966 TTFont: load all on open w/ lazy=False; add ensureDecompiled
Make lazy=False actually do what it says, 'load everything eagerly'. It feels weird that one has to, not only say, open with lazy=False, but also have to load each tables individually... Didn't I say don't be lazy?!

Also it can be useful to get to a eager, non-lazy font whether or not it was originally loaded lazily, so I added an ensureDecompiled method that decompiles all the tables and calls ensureDecompiled for those (e.g. cmap, glyf and otData-driven tables like GSUB, GPOS, etc.) that respect the lazy attribute.
2022-03-17 13:01:22 +00:00
Cosimo Lupo
ee27b73d7c BaseTTXConverter: add ensureDecompiled method
to unlazify a whole tree of otTables, recursively
2022-03-17 12:54:22 +00:00
Cosimo Lupo
64dc37fc01 otBase: add iterSubTables method to iterate over all BaseTables
can be useful to traverse a tree of otTables
2022-03-17 12:53:06 +00:00
Cosimo Lupo
7f1e5e1fc7 glyf: add ensureDecompiled method
to 'expand' all the lazy glyphs
2022-03-17 12:51:56 +00:00
Cosimo Lupo
4119d8f582 cmap: if lazy=False, decompile all cmap subtables upfront
previously cmap was completely ignoring lazy attribute, always loading lazily
2022-03-17 12:46:57 +00:00
Cosimo Lupo
83ee6bcdab ttCollection: don't close file inside init if lazy=True
Fixes 'seek of closed file' error #2549
2022-03-17 12:30:40 +00:00
Cosimo Lupo
71a5bf1b51
Merge pull request #2544 from fonttools/set-glyf-glyph-order
Also update glyf's glyphOrder when calling TTFont.setGlyphOrder()
2022-03-14 17:11:57 +00:00
Cosimo Lupo
c08bfc1e1a ttCollection: fix 'ResourceWarning: unclosed file'
Thanks Mike L.
2022-03-10 18:12:23 +00:00
Cosimo Lupo
ebe313d70e Bump version: 4.30.0 → 4.30.1.dev0 2022-03-10 11:38:46 +00:00
Cosimo Lupo
71e5ed001b Release 4.30.0 2022-03-10 11:38:45 +00:00
Cosimo Lupo
3529a44f75 Update glyf's glyphOrder when calling TTFont.setGlyphOrder()
https://github.com/fonttools/fonttools/issues/2060#issuecomment-1063932428
2022-03-10 11:29:17 +00:00
Adam Twardoch
54e2072ecc
Add debug logger showing the glyph name for which gvar is built
When building gvar, some situations cause fontmake/varLib to fail, for example if a component has a coordinate that's >32k or <-32k. This adds a debug line that prints each glyph name for which gvar is built, so it’s easier to pinpoint where the faulty glyph is.
2022-03-09 18:09:52 +01:00
Cosimo Lupo
ac4d5611ac VarLibMergeError has cause and stack attributes, use them in subclasses
https://github.com/googlefonts/fontmake/issues/858
2022-02-25 15:39:37 +00:00
Cosimo Lupo
180d8d7de9 varLib.errors: fix typo
Fixes #2534
2022-02-25 15:05:27 +00:00
Cosimo Lupo
c2ad857050
Merge pull request #2528 from moontypespace/improve_buildStatTable
Add windowsNames and macNames parameters to buildStatTable
2022-02-11 18:23:54 +00:00
Olli Meier
cf6d25cc9e As recommended from anthrotype I did: $ black Lib/fontTools/otlLib/builder.py 2022-02-11 15:55:01 +01:00
Olli Meier
68fa3bbd47 Cleaning code based on feedback from Just 2022-02-10 22:13:58 +01:00
Olli Meier
d77ec968a3
Update Lib/fontTools/otlLib/builder.py
Co-authored-by: Just van Rossum <justvanrossum@gmail.com>
2022-02-10 22:00:18 +01:00
Olli Meier
459f18ab4a
Update Lib/fontTools/otlLib/builder.py
Co-authored-by: Just van Rossum <justvanrossum@gmail.com>
2022-02-10 21:59:48 +01:00
Olli Meier
d5406feed7
Update Lib/fontTools/otlLib/builder.py
Co-authored-by: Just van Rossum <justvanrossum@gmail.com>
2022-02-10 21:59:09 +01:00
Olli Meier
e968e8fd7f Based on the discussion with Just and anthrotype: Undo the changes in the name table and extend unittests. If there are inconsistencies in the name table, it's ok to create new name IDs, even if this might not be the most efficient way of creating the name table. 2022-02-10 21:24:51 +01:00
Olli Meier
513307237b Get rid of findName and change the function. 2022-02-10 18:28:45 +01:00
Olli Meier
ad1d82f810 Some more changes. Not sure about this. 2022-02-10 17:56:42 +01:00
Olli Meier
9028a53d3b based on feedback 'anthrotype' I use 'windowsNames' and 'macNames' in STAT table functions and 'windows' and 'mac' in name table functions. 2022-02-10 15:57:56 +01:00
derwind
b437417b71
Added the ability to recreate the PS stream (#2504)
* added the ability to recreate the PS stream

This fixes #2503
2022-02-10 15:53:12 +01:00
Olli Meier
6014cd8ae5 based on Just Van Rossum's feedback: replace variables. 2022-02-10 15:39:51 +01:00
Olli Meier
512d1a219c cleaning code. 2022-02-10 15:16:28 +01:00
Olli Meier
7f21d5eee3 adding variable platforms 2022-02-10 15:14:20 +01:00
Olli Meier
b8792fc9f5 Based on feedback: undo name table changes. 2022-02-10 15:13:04 +01:00
Olli Meier
2a4b4a594a based on feedback, another idea 'force' 2022-02-10 14:24:41 +01:00
Olli Meier
42b272e5d9 fix failing unitest. Look and create only names about name IDn 255 (Private Use Area) 2022-02-10 14:01:04 +01:00
Olli Meier
0f17da0836 Bugfix: The script to create a STAt table created multiple unnecessary name table entries, because it did not take care a bout existing entries with the same name. 2022-02-10 13:44:42 +01:00
Olli Meier
5986107b43 based on feedback: Change name and add comments. 2022-02-09 17:57:55 +01:00
Olli Meier
8dddbf4a61 refactor based on feedback. 2022-02-09 17:48:51 +01:00
Olli Meier
1649973800 Make use of 'Best' in names 2022-02-09 17:44:28 +01:00
Olli Meier
6d05b938be fix typo 2022-02-09 17:40:28 +01:00
Olli Meier
79360a30bf Refactor based on feedback. 2022-02-09 17:34:40 +01:00
Olli Meier
c50f38ed0e extend name table with getFamilyName, getSubFamilyName and getNiceFullName + unittests 2022-02-09 17:06:02 +01:00
Cosimo Lupo
31ba5e6b24 Bump version: 4.29.1 → 4.29.2.dev0 2022-02-01 11:30:25 +00:00
Cosimo Lupo
fb9dcebd46 Release 4.29.1 2022-02-01 11:30:24 +00:00
Cosimo Lupo
f3b4c5b031
Merge pull request #2521 from fonttools/fix-round-radial-gradient-circle
[colrv1] use math.isclose with relative tolerance to check radial circles' inside-ness
2022-02-01 10:57:55 +00:00
Cosimo Lupo
5558ccd3bb [colorLib.geometry] use math.isclose with relative tolerance to check circle inside-ness
Fixes rounding of radial gradient in 'SING OF THE HORNS' (medium-light skin tone) noto emoji 🤘🏼
2022-01-31 18:05:26 +00:00
Takaaki Fuji
5f2c492635 freetypePen: format code with Black 2022-01-31 20:56:03 +09:00
Takaaki Fuji
48cbe7b054 freetypePen: prefer FT_CURVE_TAG enums 2022-01-31 20:55:33 +09:00
Takaaki Fuji
cd5c16f4d4 freetypePen: cosmetic changes 2022-01-31 18:08:51 +09:00
Takaaki Fuji
9eadd908c6 freetypePen: fix bits for cubic on-curve 2022-01-31 18:08:51 +09:00