ManimCommunity / ManimCommunity/manim
Text overlaps itself for long strings
- Dominant language
- Python
- Stars
- 40.9k
- Forks
- 3.1k
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 25
Description
## Description of bug / unexpected behavior
```py
class Test(Scene):
def construct(self):
text = Text("""Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Diam ut venenatis tellus in metus vulputate eu scelerisque felis. Orci eu lobortis elementum nibh tellus molestie nunc non. Lacinia quis vel eros donec ac. Tincidunt augue interdum velit euismod in. Elit ut aliquam purus sit amet luctus venenatis lectus magna. Et ultrices neque ornare aenean. Tellus rutrum tellus pellentesque eu. Vestibulum sed arcu non odio euismod lacinia. A erat nam at lectus urna duis.
Dictum varius duis at consectetur lorem donec massa sapien faucibus. Tellus in hac habitasse platea dictumst vestibulum. Pulvinar pellentesque habitant morbi tristique senectus et netus et. Enim lobortis scelerisque fermentum dui faucibus in ornare. A pellentesque sit amet porttitor eget dolor morbi non arcu. Malesuada nunc vel risus commodo. Libero volutpat sed cras ornare arcu dui. Venenatis lectus magna fringilla urna. Auctor neque vitae tempus quam. Mauris ultrices eros in cursus turpis massa. At urna condimentum mattis pellentesque. Dictum varius duis at consectetur lorem. Ac feugiat sed lectus vestibulum mattis ullamcorper velit sed. Velit ut tortor pretium viverra. Elit eget gravida cum sociis. Nulla pellentesque dignissim enim sit amet venenatis urna cursus. Hac habitasse platea dictumst vestibulum rhoncus est pellentesque. A diam maecenas sed enim ut sem viverra aliquet. Posuere urna nec tincidunt praesent semper.
Cursus vitae congue mauris rhoncus aenean. Sit amet commodo nulla facilisi nullam vehicula ipsum. At volutpat diam ut venenatis tellus. Non enim praesent elementum facilisis leo vel. Malesuada nunc vel risus commodo viverra maecenas. Sapien et ligula ullamcorper malesuada proin libero nunc consequat interdum. Eu scelerisque felis imperdiet proin fermentum. Amet justo donec enim diam vulputate. Tempus urna et pharetra pharetra massa massa ultricies mi quis. Vitae nunc sed velit dignissim. Nisl suscipit adipiscing bibendum est ultricies integer. Eu feugiat pretium nibh ipsum consequat nisl vel. Odio aenean sed adipiscing diam donec adipiscing tristique risus. Mollis aliquam ut porttitor leo a diam sollicitudin tempor id. Arcu dui vivamus arcu felis bibendum ut. Lectus arcu bibendum at varius vel.""")
text.scale(0.2)
self.add(text)
```
produces:

## Expected behavior
## How to reproduce the issue
Code for reproducing the problem
```py
Paste your code here.
```
## Additional media files
Images/GIFs
## Logs
Terminal output
```
PASTE HERE OR PROVIDE LINK TO https://pastebin.com/ OR SIMILAR
```
## System specifications
System Details
- OS (with version, e.g Windows 10 v2004 or macOS 10.15 (Catalina)):
- RAM:
- Python version (`python/py/python3 --version`):
- Installed modules (provide output from `pip list`):
```
PASTE HERE
```
LaTeX details
+ LaTeX distribution (e.g. TeX Live 2020):
+ Installed LaTeX packages:
FFMPEG
Output of `ffmpeg -version`:
```
PASTE HERE
```
## Additional comments
Contributor guide
Research direction
Start with the reported Python reproduction using Text in a Scene and inspect the Text rendering entry point. Re-run the long multiline-string example to observe the overlapping glyphs. Done means long strings render without text overlapping; the issue does not name a test or source file to update.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100