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(
'