Is there an algorithm of "justifying" plain text? What I mean is, imagine you have some line of text and a given maximum text width, then evenly add extra spaces between words until the width of the line matches the maximum text width. Basically turn this:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus
tristique gravida. Class aptent taciti sociosqu ad litora torquent per conubia
nostra, per inceptos himenaeos. Mauris convallis eros sit amet mollis sodales.
Praesent sit amet interdum libero. Aenean venenatis odio nec metus vulputate
malesuada. Ut varius enim ac nunc faucibus, eu sollicitudin tellus convallis.
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere
cubilia Curae; Pellentesque eu lacus velit. Curabitur at auctor nunc.
into this:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus
tristique gravida. Class aptent taciti sociosqu ad litora torquent per conubia
nostra, per inceptos himenaeos. Mauris convallis eros sit amet mollis sodales.
Praesent sit amet interdum libero. Aenean venenatis odio nec metus vulputate
malesuada. Ut varius enim ac nunc faucibus, eu sollicitudin tellus convallis.
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere
cubilia Curae; Pellentesque eu lacus velit. Curabitur at auctor nunc-
The algorithm should favor putting spaces after interpunctuation and make the words even spaced out.