From 6bd3e30a61a3a5738ea5a1cf7d0c43f66a721296 Mon Sep 17 00:00:00 2001 From: Shaunak Kishore Date: Wed, 19 Aug 2015 21:12:18 -0400 Subject: [PATCH] Minor pruning of bad corners --- getchar.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/getchar.py b/getchar.py index f9f3a22e..df0f56ac 100755 --- a/getchar.py +++ b/getchar.py @@ -18,6 +18,7 @@ TRANSFORM = 'scale({0:.2g}, -{0:0.2g}) translate(0, -900)'.format(SCALE) MAX_BRIDGE_DISTANCE = 128 MAX_CORNER_MERGE_DISTANCE = 15 MIN_CORNER_ANGLE = 0.1*math.pi +MIN_CORNER_TANGENT_DISTANCE = 4 class Corner(object): @@ -87,12 +88,12 @@ class Corner(object): segment1 = path[index] tangent1 = segment1.end - segment1.start if (type(segment1) == svg.path.QuadraticBezier and - segment1.end != segment1.control): + abs(segment1.control - segment1.end) > MIN_CORNER_TANGENT_DISTANCE): tangent1 = segment1.end - segment1.control segment2 = path[(index + 1) % len(path)] tangent2 = segment2.end - segment2.start if (type(segment2) == svg.path.QuadraticBezier and - segment2.control != segment2.end): + abs(segment2.control - segment2.end) > MIN_CORNER_TANGENT_DISTANCE): tangent2 = segment2.control - segment2.start return (tangent1, tangent2) @@ -135,6 +136,11 @@ def augment_glyph(glyph): for stroke in strokes: result.append(''.format( '#%02X%02X%02X' % (rand256(), rand256(), rand256()), stroke.d())) + for path in paths: + for element in path: + result.append( + ''.format( + int(element.end.real), int(element.end.imag))) for corner in corners.itervalues(): result.append( '