Behdad Esfahbod
b705bcdc8f
[interpolatable] When checking for contour start point error allow for 5% error
2022-03-31 20:16:55 -06:00
Behdad Esfahbod
745631d16b
[interpolatable] In diff-contour-order, allow for 5% cost difference
...
Reduces false-positives, as in this one in NotoSansArabic:
Glyph asteriskArt-ar was not compatible:
Contour order differs: [0, 1, 2, 3, 4, 5] in NotoSansArabic-CondensedBold, [0, 3, 2, 1, 4, 5] in NotoSansArabic-CondensedLight
2022-03-31 19:52:48 -06:00
Behdad Esfahbod
3a846a5389
[interpolatable] Remove the empirical high-cost error
...
This was very empirical and has no theoretical background. Experiment
shows that this is mostly false-positive.
2022-03-31 19:37:00 -06:00
Behdad Esfahbod
d0d8039bd3
[varLib.interpolatable] Check for wrong contour starting point
...
This seems to work already. Detects the example in the issue.
I also ran this on master-compatible UFOs built from Noto Sans,
and detected several issues. Confirmed visuall in AxisPraxis that
theta.sc for example has wrong starting point in that font:
Glyph theta.sc was not compatible:
Contour start point differs: NotoSans-DisplayRegular, NotoSans-DisplaySemiBoldCondensed
Contour start point differs: NotoSans-DisplayRegular, NotoSans-DisplaySemiBoldCondensed
Contour start point differs: NotoSans-DisplaySemiBoldCondensed, NotoSans-DisplaySemiBold
Contour start point differs: NotoSans-DisplaySemiBoldCondensed, NotoSans-DisplaySemiBold
There's a TODO item left to be done, which is to check for mirrored
contours and rotations thereof.
Towards fixing https://github.com/fonttools/fonttools/issues/1801
2022-03-31 19:17:22 -06:00
Khaled Hosny
4bb0e776a7
Merge pull request #2570 from fonttools/cff-TopDictIndex
...
[cffLib] Fix calls to TopDictIndex()
2022-04-01 00:24:17 +02:00
Behdad Esfahbod
c7781ec423
[cffLib] Remove leftover GlobalState
...
Fixes https://github.com/fonttools/fonttools/issues/1848
2022-03-31 15:34:11 -06:00
Behdad Esfahbod
64fc028eee
[cffLib] Fix calls to TopDictIndex()
...
Fixes https://github.com/fonttools/fonttools/issues/1847
2022-03-31 15:33:05 -06:00
Just van Rossum
eaafd6089e
Clear AxisValueArray if it is empty after instantiating. ( #2563 )
...
* Clear AxisValueArray if it is empty after instantiating. Fixes #2562
* rearrange the code a bit for clarity
2022-03-25 16:42:17 +01:00
Khaled Hosny
a83f07670e
Bump version: 4.31.2 → 4.31.3.dev0
2022-03-22 14:57:43 +02:00
Khaled Hosny
5e849a4479
Release 4.31.2
2022-03-22 14:57:32 +02:00
Khaled Hosny
47457b14d6
[varLib] Fix instantiating some SinglePos subtables ( #2555 )
2022-03-22 08:34:18 +00:00
Cosimo Lupo
0465f81b79
Bump version: 4.31.1 → 4.31.2.dev0
2022-03-18 13:30:10 +00:00
Cosimo Lupo
1a30ee825c
Release 4.31.1
2022-03-18 13:30:10 +00:00
Cosimo Lupo
315705a58f
[subset] fix subsetting OT-SVG when glyph id attribute is on the root <svg> element
...
Fixes https://github.com/fonttools/fonttools/issues/2548
2022-03-18 13:18:53 +00:00
Cosimo Lupo
caa32df25a
Bump version: 4.31.0 → 4.31.1.dev0
2022-03-18 11:12:10 +00:00
Cosimo Lupo
422a10b61b
Release 4.31.0
2022-03-18 11:12:10 +00:00
Cosimo Lupo
d7169774ac
Merge pull request #2551 from fonttools/unlazy
...
add ensureDecompiled method to decompile all the tables irrespective of lazy attribute
2022-03-18 10:55:48 +00:00
Cosimo Lupo
25746a3600
add clarifying comment as per review
2022-03-18 09:23:07 +00:00
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
Simon Cozens
4f8c01909a
Handle merging SinglePos with valueformat=0 ( #2550 )
2022-03-17 13:01:06 +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