6440 Commits

Author SHA1 Message Date
Cosimo Lupo
15b450e4a6
[ttx] support reading font/xml file from standard input as '-'
Fixes https://github.com/fonttools/fonttools/issues/3019
2023-03-03 14:13:06 +00:00
Simon Cozens
b22887c6b6 Add debug info to MTI feature builds 2023-03-02 20:42:37 +00:00
Cosimo Lupo
0df4997661
prevent cython.compiled raise AttributeError if cython not properly installed
It's possible sometimes that 'import cython' does not fail but then 'cython.compiled' raises AttributeError.
It actually happened in our internal production environment...

Similar issue to https://github.com/pydantic/pydantic/pull/573 and https://github.com/ipython/ipython/issues/13294
2023-03-02 17:43:38 +00:00
Nikolaus Waxweiler
54d6aaffb6 Guard against a ZeroDivisonError
The code was copied from ufo2ft.
2023-03-01 19:52:43 +00:00
Jany Belluz
760c7376fe [subset] Compute xAvgCharWidth even when --no-prune-unicode-ranges is given 2023-03-01 16:28:51 +00:00
Cosimo Lupo
d4c5eac780
Merge pull request #3007 from kontur/name-sort-encode-warning-only
Make NameRecord comparison not fail on encoding errors #3006
2023-02-27 16:31:19 +00:00
Johannes Neumeier
29f980135a Clean up and NotImplemented as proper return value 2023-02-27 09:31:13 +02:00
خالد حسني (Khaled Hosny)
4630c65471
Merge pull request #3008 from fonttools/fb-fea-debug
[fontBuilder] Add debug to addOpenTypeFeatures
2023-02-26 14:13:59 +02:00
Khaled Hosny
3a6b17d9a2 [fontBuilder] Add debug to addOpenTypeFeatures
Passed to addOpenTypeFeaturesFromString().
2023-02-24 21:46:10 +02:00
Behdad Esfahbod
b7b4a3b090 [varLib.featureVars] Fix bug in overlayBox
See added test. Previously we were cutting remainder box
even if the intersection had dimensions not present in the
remainder box. Ouch!

Fixes https://github.com/fonttools/fonttools/issues/3003
2023-02-24 07:51:00 -07:00
Johannes Neumeier
f52b3da721 Make NameRecord comparison not fail on encoding errors #3006 2023-02-24 15:58:53 +02:00
Behdad Esfahbod
52a8e3b1a4 [cu2qu.ufo] Simplify logic 2023-02-22 10:14:53 -07:00
Behdad Esfahbod
690ffca963 [cu2qu.cli] Add --mixed
Untested.
2023-02-22 10:03:45 -07:00
Behdad Esfahbod
2a93984df4 [cu2qu.ufo] Black 2023-02-22 09:55:20 -07:00
Behdad Esfahbod
1f2a8b7d27 [cu2qu.ufo] Try to be smarter about "modified" 2023-02-22 09:51:59 -07:00
Behdad Esfahbod
f53901d3f4 [qu2cu.cli] Add --all-cubic 2023-02-22 09:46:08 -07:00
Behdad Esfahbod
c8b74fd6dc [cu2qu.ufo] Add all_quadratic=True 2023-02-22 09:36:09 -07:00
Behdad Esfahbod
9073d93743 [qu2cu.cli] Always upgrade glyf table version 2023-02-22 09:28:35 -07:00
Behdad Esfahbod
e72d195583 [qu2cu] Adjust stats to match cu2qu 2023-02-22 09:18:49 -07:00
Behdad Esfahbod
5125e9e095 [qu2cu.cli] Comment 2023-02-22 09:10:03 -07:00
Behdad Esfahbod
8f89a435ac [ttGlyphPen] Rename preserveTopology to dropImpliedOnCurves 2023-02-22 09:08:39 -07:00
Behdad Esfahbod
b916c4cdae [qu2cu.cli] Upgrade glyf table format to 1 if any cubics used 2023-02-22 09:04:12 -07:00
Behdad Esfahbod
84ba7f9618 [qu2cu.cli] Actually dump stats in --verbose 2023-02-22 09:02:15 -07:00
Behdad Esfahbod
7580fc7e24 [cu2quPen] Remove unnecessary check 2023-02-22 07:44:13 -07:00
Cosimo Lupo
c7fa0e6f26
Cu2QuPointPen: minor refactoring of _drawPoints method 2023-02-22 12:03:04 +00:00
Behdad Esfahbod
58f9245115 [ttGlyphPen] Refactor code into function 2023-02-21 21:16:27 -07:00
Behdad Esfahbod
9c60b86b46 [cu2quPen] Add all_quadratic=True 2023-02-21 14:52:15 -07:00
Behdad Esfahbod
a21b71ef01 [cu2qu] Add all_quadratic=True parameter
If set to False, then either a single quadratic or a single cubic
is returned.
2023-02-21 13:14:01 -07:00
Behdad Esfahbod
9e40409094 [woff2] Support cubic curves as untransformed glyph table 2023-02-21 13:01:49 -07:00
Behdad Esfahbod
568dd0c5d4 [glyf] Support and test cubic spline 2023-02-21 13:01:49 -07:00
Behdad Esfahbod
2d98427c99 [fvar] Black 2023-02-21 13:01:49 -07:00
Behdad Esfahbod
0a0b152c33 [glyf] Support, and add test for, all-offcurve cubic contour 2023-02-21 13:01:49 -07:00
Behdad Esfahbod
77e96bdcd9 [glyf_test] Add cubic test 2023-02-21 13:01:49 -07:00
Behdad Esfahbod
82e0536beb [glyf] Support cubic curves
https://github.com/harfbuzz/boring-expansion-spec/issues/41
2023-02-21 13:01:49 -07:00
Behdad Esfahbod
085b489012 [qu2cuPen] Change stats
To count number of quadratic vs cubic segments.
2023-02-21 13:01:41 -07:00
Behdad Esfahbod
b355b59c2c [qu2cu] No need to add 0 to forced set 2023-02-20 21:14:04 -07:00
Behdad Esfahbod
f305e53dfc [qu2cu] Typo 2023-02-20 18:30:20 -07:00
Behdad Esfahbod
710232f1d0 [qu2cu] Optimize using a forced set of oncurve points
Speeds up benchmark 12x.
2023-02-20 18:04:54 -07:00
Behdad Esfahbod
a4f4cd078c [qu2cu.benchmark] Black 2023-02-20 17:20:06 -07:00
Behdad Esfahbod
c77ddcad45 [qu2cu.benchmark] Convert multiple quadratics splines instead of 1
More realistic benchmark.
2023-02-20 17:10:36 -07:00
Behdad Esfahbod
26f590ddaa [qu2cu] Adjust comment 2023-02-20 16:22:06 -07:00
Behdad Esfahbod
7457a06c68 [qu2cu] Avoid copying curve list passed to for merge_curves 2023-02-20 16:19:30 -07:00
Behdad Esfahbod
c53933a9bc [qu2cu] Adjust cost calculation again
I believe I've got it right this time. Produces slightly better output.
2023-02-20 15:24:07 -07:00
Behdad Esfahbod
03d2cd1fa5 [qu2cu] More cython annotations
Apparently you can even annotate variables inside generator expressions.
2023-02-20 14:12:59 -07:00
Behdad Esfahbod
5ee6cb9961 [qu2cu] Add a few more cython annotations 2023-02-20 14:04:02 -07:00
Behdad Esfahbod
c1d1386e2c Add a few more cython annotations 2023-02-20 13:54:35 -07:00
Behdad Esfahbod
a9a6d24c6d [qu2cu] Fix up costs setup 2023-02-20 13:26:56 -07:00
Behdad Esfahbod
d9f6b82fb9 [qu2cu] Fix optimization
Previous one was wrong.
2023-02-20 13:15:22 -07:00
Behdad Esfahbod
bf1ed91bde [qu2cu] Adjust optimization 2023-02-20 13:08:14 -07:00
Behdad Esfahbod
e3d8472187 [qu2cu] Minor save a variable 2023-02-20 13:05:52 -07:00