Merge pull request #1552 from Wallbreaker5th/master

Temporary hack for showing text correctly
This commit is contained in:
Grant Sanderson
2021-06-19 09:53:24 -07:00
committed by GitHub
2 changed files with 10 additions and 1 deletions

View File

@ -80,6 +80,11 @@ class Text(SVGMobject):
if self.height is None:
self.scale(TEXT_MOB_SCALE_FACTOR)
# Just a temporary hack to get better triangulation
# See pr #1552 for details
for i in self.submobjects:
i.insert_n_curves(len(i.get_points()))
def remove_empty_path(self, file_name):
with open(file_name, 'r') as fpr:
content = fpr.read()

View File

@ -367,6 +367,10 @@ def earclip_triangulation(verts, ring_ends):
list(range(e0, e1))
for e0, e1 in zip([0, *ring_ends], ring_ends)
]
# Points at the same position may cause problems
for i in rings:
verts[i[0]] += (verts[i[1]]-verts[i[0]])*5e-6
verts[i[-1]] += (verts[i[-2]]-verts[i[-1]])*5e-6
attached_rings = rings[:1]
detached_rings = rings[1:]
loop_connections = dict()
@ -402,7 +406,7 @@ def earclip_triangulation(verts, ring_ends):
# Move the ring which j belongs to from the
# attached list to the detached list
new_ring = next(filter(
lambda ring: ring[0] <= j < ring[-1],
lambda ring: ring[0] <= j <= ring[-1],
detached_rings
))
detached_rings.remove(new_ring)