10559 Commits

Author SHA1 Message Date
Behdad Esfahbod
e76f962883 [qu2cu] Add test 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
6e1f53f101 [qu2cu.qu2cu] Call main 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
84cd10d666 [qu2cuPen] Don't add implicit points for cubics
We can't since that would be interpretted as a superBezier.
2023-02-18 09:46:56 -07:00
Behdad Esfahbod
86aff322b9 [qu2cuPen] Drop quadratic implicit oncurves too 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
74cab7ae1f [qu2cu] Fix 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
c11682ca85 [qu2cuPen] Drop cubic implicit oncurves 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
ea8ae8f399 Black 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
ceae682246 [qu2cu] Add all_cubic parameter 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
1a10b05c99 [qu2cuPen] Process multiple qCurveTo's at a time 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
8c88184413 [qu2cuPen] Support quadratic splines with no on-curve 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
e3f7154a9d [qu2cuPen] Keep quadratics if more economical
Perhaps the pen should have a setting for this.
2023-02-18 09:46:56 -07:00
Behdad Esfahbod
cac4be60b6 [qu2cu.cli] Remove reverse_direction setting 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
aa468c1c88 [qu2cu] Add quadratics_to_curves()
Untested.
2023-02-18 09:46:56 -07:00
Behdad Esfahbod
b221f867df [qu2cu] Add cli.py that converts TTFs to cubic glyf1 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
92e3433589 [pens] Add qu2cuPen.py 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
2b9be6eca1 [Cu2QuMultiPen] Add TODO 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
ac94ee9949 [Cu2QuPen] Use FilterPen 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
e18fca76ef [filterPen] Add current_pt 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
64bce6fc9b [cu2quPen] Remove deprecated ignore_single_points 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
3a3b8af154 [qu2cu] Comment 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
9a7e042f01 [qu2cu] Speed up cubic_farthest_fit_inside 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
51b1a47dff [qu2cu] Add __main__.py 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
8c607b4efa [qu2cu.benchmark] Increase benchmark repeat 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
aa6f60942b [qu2cu] More Cython annotations 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
86e6c55c95 black 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
085872d2bc [qu2cu] Speed up using generator splitCubicAtTC 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
822f7a01da [bezier] Make splitCubicAtTC into a generator 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
fdc7714679 [cu2qu] Reduce benchmark conversion error
To match qu2cu's.
2023-02-18 09:46:56 -07:00
Behdad Esfahbod
0013740ab3 [qu2cu] Copy a function from cu2qu, to make Cython happy 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
f75391f461 [qu2cu] Add .benchmark module 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
ff5d758b27 [cu2qu.benchmark] Remove unused parameter 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
2a54dc5742 [qu2cu] Comment 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
3c294d17cf [qu2cu] Speed up 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
710da53b8e [qu2cu] Use a better algorithm
Dynamic-programming. Produces fewer number of curves.
2023-02-18 09:46:56 -07:00
Behdad Esfahbod
c4e3322b20 [bezier] Add a few more complex versions of functions 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
83398db061 [qu2cu] Add new module to convert quadratic to cubic Beziers 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
fd46f25ffb [bezier] Add splitCubicIntoTwoAtTC 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
cce99f00f7 [bezier] Internal variable rename 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
86c67a17b2 [bezier] Add Cython annotations 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
39b6f7a752 [bezier] Speed up cubicPointAtT 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
8dde7fef90 [bezier] Add cubicPointAtTC 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
16ee5ca195 [setup] Build misc.bezierTools with Cython 2023-02-18 09:46:56 -07:00
Behdad Esfahbod
97ed3a61cd
Merge pull request #2995 from fonttools/reverse-output-implied-line
reverseContourPen_test: check outputImpliedClosingLine works as expected
2023-02-17 10:43:28 -07:00
Cosimo Lupo
847ce2866e
reverseContourPen: fix duplicate lineTo when outputImpliedClosingLine=True 2023-02-17 17:07:24 +00:00
Cosimo Lupo
4f486ad92e
no need to massage expected test_reverse_point_pen 2023-02-17 16:56:14 +00:00
Cosimo Lupo
b64b41f645
add additional tests for outputImpliedClosingLine 2023-02-17 16:56:14 +00:00
Cosimo Lupo
a42b77bd8f
reverseContourPen_test: parametrize all existing tests with outputImpliedClosingLine 2023-02-17 15:35:18 +00:00
Cosimo Lupo
81279d2ed6
reverseContourPen_test: check outputImpliedClosingLine works as expected
I looked at this again and got suspicious becuase I noticed that the number of pen commands increased from 4 to 6, whereas I only expected it to be 5 (4+1) in the outputImpliedClosingLine=True case.

Turns out we are adding an extra duplicate lineTo right after moveTo, which I think is not correct.
2023-02-17 15:02:59 +00:00
Behdad Esfahbod
bf265ce49e black 2023-02-08 14:27:48 -07:00
Behdad Esfahbod
da0e859767 Fix a couple of pytest warnings 2023-02-08 14:18:49 -07:00