47 Commits

Author SHA1 Message Date
justvanrossum
186032cb10 fixed formatting 2020-11-09 15:39:21 +01:00
Simon Cozens
76902b7129
[docs] fontTools.misc.* part 1 (#1956)
* Document misc.arrayTools
* Document misc.bezierTools
* Document cliTools
* Document eexec
2020-05-19 09:51:17 +01:00
Nikolaus Waxweiler
01328213c7 Remove __future__ imports 2019-08-09 12:20:13 +01:00
Behdad Esfahbod
2d4e76ff0b [bezierTools] Add calcCubicArcLength() and calcCubicArcLengthC()
Fixes https://github.com/fonttools/fonttools/issues/1142
2018-01-09 11:33:57 +01:00
Behdad Esfahbod
f7312fc9d0 [misc.bezierTools] Slightly improve previous commit
Part of https://github.com/fonttools/fonttools/issues/1142
2018-01-08 13:43:45 +00:00
Behdad Esfahbod
5dd888da1d [misc.bezierTools] Implement cusp loop for calcQuadraticArcLength()
Part of https://github.com/fonttools/fonttools/issues/1142
2018-01-08 13:41:27 +00:00
Behdad Esfahbod
fe5a2ea870 [misc.bezierTools] Remove approximate_fallback arg from calcQuadraticArcLength()
Part of https://github.com/fonttools/fonttools/issues/1142
2018-01-08 13:41:27 +00:00
Jens Kutilek
dd558f5df8 Move arc length calculations from pens.perimeterPen to misc.bezierTools 2017-11-14 13:03:58 +01:00
Cosimo Lupo
25aad9041d minor: fix doctest failing on latest pypy
Expected:
    [-0.0, -0.0, -0.0]
Got:
    [0.0, 0.0, 0.0]
2017-07-24 16:47:07 +01:00
Behdad Esfahbod
8701fedcfe More solveCubic() hardening
It really should be quite solid this time. :-)
2016-08-13 16:29:49 -07:00
Behdad Esfahbod
5bea5f4fd6 Remove unused line 2016-08-13 16:25:09 -07:00
Behdad Esfahbod
ca7f8d8808 Harden solveCubic() some more
Fixes https://github.com/behdad/fonttools/issues/617#issuecomment-239146815
2016-08-12 22:43:20 -07:00
Behdad Esfahbod
02b415c237 [bezierTools] Speed up a bit 2016-07-29 14:40:10 -07:00
Behdad Esfahbod
d96e246532 Make solveCubic() more robust
Fixes https://github.com/behdad/fonttools/issues/621#issuecomment-226671968
2016-07-19 22:50:09 -07:00
Behdad Esfahbod
10aaac53f2 Fix test 2016-07-16 21:58:41 -07:00
Behdad Esfahbod
81d84e6f85 Fix PointInsidePen
https://github.com/behdad/fonttools/issues/621
2016-07-16 21:47:37 -07:00
Behdad Esfahbod
78c29bc5a1 Some more solveCubic() work
Should be stable again now.
2016-06-08 18:56:31 -07:00
Behdad Esfahbod
b2bd15d580 Make solveCubic() more robust
Also, return duplicate roots multiple times.

Part of https://github.com/behdad/fonttools/issues/617
2016-06-08 14:54:23 -07:00
Behdad Esfahbod
d1424e9d5a Improve solveCubic() against rounding issues
Might fix https://github.com/behdad/fonttools/issues/617
2016-06-07 14:16:42 -07:00
Behdad Esfahbod
b30e12ae00 More whitespace 2015-04-26 02:01:01 -04:00
Behdad Esfahbod
bd67253118 Some more whitespace fixes from pep8 tool 2015-04-26 01:59:01 -04:00
Cosimo Lupo
1b58b828af [bezierTools] fix bug in splitLine function
The function was returning wrong values when the two points are
vertically aligned and the split 'isHorizontal':
Fixes https://github.com/behdad/fonttools/issues/241
2015-04-19 03:10:59 -07:00
Behdad Esfahbod
1296c7457e Make tests pass with Python3
In python3, str(float) is noisy.  Always format floats using "%g".
2015-03-03 15:54:37 -08:00
Behdad Esfahbod
e02b9ea05b Fix tests to return failures 2015-03-03 10:47:40 -08:00
Behdad Esfahbod
f192400039 Fix checks; add run-tests.sh 2015-03-03 09:57:41 -08:00
Behdad Esfahbod
1ae29591ef from __future__ import absolute_import
Such that our Python 2 is closer to Python 3.

Part of https://github.com/behdad/fonttools/issues/77
2014-01-14 15:07:50 +08:00
Behdad Esfahbod
153ec40209 Fix a few pychecker warnings
Fixes https://github.com/behdad/fonttools/issues/58
2013-12-04 01:15:46 -05:00
Behdad Esfahbod
32c10eecff py23 from __future__ import division and adjust divisions 2013-11-28 17:32:42 -05:00
Behdad Esfahbod
30e691edd0 py23 from __future__ import print_function 2013-11-27 17:27:45 -05:00
Behdad Esfahbod
7ed91eca1e py23 import in all nontrivial source files and unused import cleanup 2013-11-27 15:25:00 -05:00
Behdad Esfahbod
3ec6a25823 2to3 --fix=print with manual fixup 2013-11-27 04:57:33 -05:00
Behdad Esfahbod
ac1b435946 2to3 --fix=idioms 2013-11-27 04:15:34 -05:00
jvr
91bca42442 merging fixes & changes from delft-sprint-2012
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@611 4cde692c-a291-49d1-8350-778aa11640f8
2012-10-18 12:49:22 +00:00
jvr
1b7d54fedc converted usage of Numeric to numpy
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@537 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-04 15:25:27 +00:00
jvr
c53569efef use highly unscientific epsilon value
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@495 4cde692c-a291-49d1-8350-778aa11640f8
2005-02-25 22:31:39 +00:00
jvr
86c07d2b9a more doco, reformatted __all__
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@494 4cde692c-a291-49d1-8350-778aa11640f8
2005-02-25 12:51:49 +00:00
jvr
441fdd1e9f reworked test code and results, to make the results more readable
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@493 4cde692c-a291-49d1-8350-778aa11640f8
2005-02-25 12:40:52 +00:00
jvr
10de259aec Refactored splitting logic; added splitQuadraticAtT() and splitCubicAtT()
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@492 4cde692c-a291-49d1-8350-778aa11640f8
2005-02-25 12:28:45 +00:00
jvr
0ec07f2dbc show/test that _testrepr() reprs Numeric arrays nicely, too
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@491 4cde692c-a291-49d1-8350-778aa11640f8
2005-02-25 10:47:36 +00:00
jvr
82fdf153ac added a comment
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@490 4cde692c-a291-49d1-8350-778aa11640f8
2005-02-25 10:42:29 +00:00
jvr
befd485af5 factored out param -> points conversion
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@489 4cde692c-a291-49d1-8350-778aa11640f8
2005-02-25 10:40:07 +00:00
jvr
9369c20087 renamed and rewrote _tuplify() to _testrepr(), added tests for splitCubic()
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@488 4cde692c-a291-49d1-8350-778aa11640f8
2005-02-25 10:33:47 +00:00
jvr
8ee2561bc1 some refactoring, some doctests
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@487 4cde692c-a291-49d1-8350-778aa11640f8
2005-02-25 10:11:30 +00:00
jvr
bfadfe33db - Fixed ZeroDivisionError in solveCubic(). The solution is mathematically
dubious (I don't think 0.0/0.0 == 0.0...) but the result seems to be
correct.
- Documented that soleCubic() and solveQuadratic() are not guaranteed to
return the roots in order, and nor that they are guaranteed to not return
duplicate roots.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@431 4cde692c-a291-49d1-8350-778aa11640f8
2003-08-26 19:20:33 +00:00
jvr
efaae5245c - optimized a couple of invariant expressions
- made sure solveCubic() also works when called with integer arguments


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@398 4cde692c-a291-49d1-8350-778aa11640f8
2003-06-29 19:25:05 +00:00
jvr
9524c7bdd3 splitLine(): make sure the split is between the end points
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@397 4cde692c-a291-49d1-8350-778aa11640f8
2003-06-29 18:32:00 +00:00
jvr
05b4b4a271 new module bezierTools.py
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@396 4cde692c-a291-49d1-8350-778aa11640f8
2003-06-29 18:25:07 +00:00