11493 Commits

Author SHA1 Message Date
Behdad Esfahbod
4714c37028 [varLib.interpolatable] Speed up m0idx finding
Don't use list.index() which would compare vectors...
2023-10-14 17:25:52 -04:00
Behdad Esfahbod
d29856b2e4 [varLib.interpolatable] Micro-optimize a check 2023-10-14 17:09:27 -04:00
Behdad Esfahbod
9f42783d6f [varLib.interpolatable] Reduce imports in bipartite-matching
Choose the right implementation upfront
2023-10-14 17:01:08 -04:00
Behdad Esfahbod
67be79d77a [glyf] Use a boundsCache within _setCoordinates
Speeds up "pixel" fonts that reuse the same component a lot.
Speeds up instantiating Handjet by 47%.
2023-10-14 13:02:21 -04:00
Behdad Esfahbod
e1117da0af [glyf] Speed up getGlyphID()
Speeds up compiling of fonts with lots of composite glyphs.
For example, 40% speedup in decompile/compiling Handjet font:

./fonttools ttLib Handjet\[ELGR,ELSH,wght\].ttf -t'*' -o out.ttf
2023-10-14 12:57:32 -04:00
Behdad Esfahbod
cc09d5f381 [TupleVariation] Slightly speed up compileCoords
Small but measurable speedup.
2023-10-14 12:57:32 -04:00
Behdad Esfahbod
9eeee75b03 [glyf] Speed up recalcBounds() 2023-10-13 13:53:44 -04:00
Behdad Esfahbod
fe37e91258 [glyf] Speed up recalcBounds of composite glyphs
Brings down decompile/compiling of Handjet font from 11s to 0.3s.

Test with:
time ./fonttools ttLib Handjet.ttf -o out.ttf -tglyf

Part of fixing https://github.com/fonttools/fontbakery/discussions/4301
2023-10-13 13:52:19 -04:00
Behdad Esfahbod
089afcbccd [arrayTools] Allow None bounds in updateBounds 2023-10-13 13:13:26 -04:00
Behdad Esfahbod
377105f0c1 [glyf] Speed up coordinates slice access 2023-10-13 12:22:48 -04:00
Behdad Esfahbod
36eec087c4 [ttLib.main] Accept list of tables to decompile
Useful for performance measurement of load / save.
2023-10-13 12:13:21 -04:00
Behdad Esfahbod
54bf9723a8 [varLib.interpolatable] Sort glyphs by glyphname by default 2023-10-12 20:57:28 -04:00
Behdad Esfahbod
ca11333bab [varLib.interpolatable] Close over component glyphs
...when processing variable font.

Continuation of 636295a7ee558c5712a719c632a91d6c65bfc6d8

Part of fixing https://github.com/fonttools/fontbakery/discussions/4301
2023-10-12 20:45:23 -04:00
Behdad Esfahbod
89b6b95ba9 [varLib.interpolatable] Combine vdiff() and vlen()
Faster.
2023-10-12 20:07:57 -04:00
Behdad Esfahbod
5eff55e654 [varLib.interpolatable] Don't iterate over all glyphs if not needed 2023-10-12 19:23:51 -04:00
Behdad Esfahbod
408dea84bc [varLib.interpolatable] Speed up complex_vlen() 2023-10-12 19:15:29 -04:00
Behdad Esfahbod
739868f78e [varLib.interpolatable] Skip "drawing" glyphs with only one master
Speeds up Handjet another 10x.

Part of fixing https://github.com/fonttools/fontbakery/discussions/4301
2023-10-12 18:49:58 -04:00
Behdad Esfahbod
636295a7ee [varLib.interpolatable] Speed up working on variable fonts
Only check each glyph at its own "master" locations instead of at
all master locations across the font.

Incomplete.

Fixes https://github.com/fonttools/fontbakery/discussions/4301
2023-10-12 16:03:22 -06:00
Nikolaus Waxweiler
bbc30738cf Accept empty condition sets 2023-10-12 14:47:10 +01:00
Cosimo Lupo
98242634c4
Bump version: 4.43.1 → 4.43.2.dev0 2023-10-06 11:28:53 +01:00
Cosimo Lupo
f8857f6256
Release 4.43.1 2023-10-06 11:28:49 +01:00
Cosimo Lupo
bfd5e5675c Update changelog [skip ci] 2023-10-06 11:26:46 +01:00
Cosimo Lupo
5c8bce194b
Merge pull request #3162 from robhagemans/bugfix-ebdt-reversebytes
Bug fix for `TypeError` in `_reverseBytes()` in module `E_B_D_T_`, currently breaks on `bytes` arguments longer than 1
2023-10-06 11:14:10 +01:00
Cosimo Lupo
6288e9e3de
Merge pull request #3290 from fonttools/vhhea-without-vhmtx
Fix UnbouldLocalError and let {h,v}hea be no-op when no {v,h}mtx is present
2023-10-06 11:12:20 +01:00
Cosimo Lupo
442576fb1f Fix UnbouldLocalError and let {h,v}hea be no-op when no {v,h}mtx is present
Fixes https://github.com/fonttools/fonttools/issues/3289
2023-10-06 10:30:33 +01:00
Cosimo Lupo
4e2f80cc08
Merge pull request #3288 from fonttools/fix-calc-quadratic-arc-length
bezierTools: fix incorrectly typed cython local variable
2023-10-06 10:21:47 +01:00
Cosimo Lupo
21dea1e18d fix incorrectly typed cython local variable
Fixes https://github.com/fonttools/fonttools/issues/3287
2023-10-06 10:10:46 +01:00
Simon Cozens
c5295d2f16
Better OTL builder errors (#3286)
* Raise a sensible error for keyerror

* Try harder to find error locations

* Chain exception
2023-10-05 11:09:22 +01:00
Cosimo Lupo
05dc231072
Create SECURITY.md 2023-10-03 11:47:25 +01:00
Cosimo Lupo
f95105b669
Bump version: 4.43.0 → 4.43.1.dev0 2023-09-29 11:26:16 +01:00
Cosimo Lupo
145460e77f
Release 4.43.0 2023-09-29 11:26:15 +01:00
Cosimo Lupo
64f3fd83d9
Update changelog [skip ci] 2023-09-29 11:21:57 +01:00
dependabot[bot]
fc40f90d94
Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-29 09:42:46 +00:00
Cosimo Lupo
7aea49e88c
Merge pull request #3283 from hugovk/main
Add support for Python 3.12
2023-09-29 10:41:56 +01:00
Hugo van Kemenade
4470c4401d Bump requirements.txt to support Python 3.12 2023-09-29 10:57:05 +03:00
Hugo van Kemenade
0c87cbad6e Bump scipy for Python 3.12 support 2023-09-29 10:33:59 +03:00
Hugo van Kemenade
eda6fa5cfb Add support for Python 3.12 2023-09-29 10:33:59 +03:00
dependabot[bot]
0e033b0e5c Bump reportlab from 3.6.12 to 3.6.13 in /Doc
Bumps [reportlab](http://www.reportlab.com/) from 3.6.12 to 3.6.13.

---
updated-dependencies:
- dependency-name: reportlab
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-28 16:44:41 -06:00
Behdad Esfahbod
60126435df [iup] Work around cython bug
Fixes https://github.com/fonttools/fonttools/issues/3282

Ref https://github.com/cython/cython/issues/3928
2023-09-28 16:39:03 -06:00
Behdad Esfahbod
b14268a23c [iup] Remove copy/pasta 2023-09-28 12:30:10 -06:00
Behdad Esfahbod
0a3360e527 [varLib.avar] New module to compile avar from .designspace file
Fixes https://github.com/fonttools/fonttools/issues/3275
2023-09-22 10:09:18 -06:00
dependabot[bot]
7aec2da86b
Bump docker/setup-qemu-action from 2.2.0 to 3.0.0
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2.2.0 to 3.0.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2.2.0...v3.0.0)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-18 19:46:51 +00:00
Cosimo Lupo
532a771b98 fix minor typo [skip ci] 2023-09-15 16:58:17 +02:00
Cosimo Lupo
9f61271dc1 subset: parse OT-SVG with resolve_entities=False
to guard against XXE attacks as recommended in https://codeql.github.com/codeql-query-help/python/py-xxe/
2023-09-15 16:50:38 +02:00
Behdad Esfahbod
74240afc35 Revert "[varLib] Fix comment"
This reverts commit a54e45a6eafe6006b24b654c6933dd15bdbd436d.
2023-09-15 07:53:09 -06:00
Behdad Esfahbod
964685ae44 [avarPlanner] A couple more minor changes to main() 2023-09-15 07:48:00 -06:00
Behdad Esfahbod
ebbe869367 [avarPlanner] Move a couple lines around 2023-09-15 07:44:27 -06:00
Behdad Esfahbod
a54e45a6ea [varLib] Fix comment 2023-09-15 07:40:29 -06:00
Cosimo Lupo
1ef5569959
CI: install latest cibuildwheel
fork no longer needed, as patch was fixed upstream
2023-09-08 12:20:42 +01:00
Cosimo Lupo
9b1dae4765
CI: also build wheels for Python 3.12 2023-09-08 12:17:57 +01:00