[stdlib-sig] textwrap module and hyphenation (original) (raw)

Brett Cannon brett at python.org
Sat Apr 19 09:08:58 CEST 2008


On Fri, Apr 18, 2008 at 11:18 PM, Sylvain Fourmanoit <syfou at users.sourceforge.net> wrote:

I just noticed the textwrap module in the standard library will break and line-wrap hyphenated words given the opportunity:

>>> from textwrap import wrap >>> wrap('yaba daba-doo', width=10) ['yaba daba-', 'doo'] I have two questions about that: 1) Wouldn't it be worth mentioning this in the Python Library Reference (or it is just too obvious)?

I think it is obvious, but patches against the docs mentioning this I am sure would be welcome.

2) Wouldn't it be useful to have a simple way to turn it off? Something like:

>>> from textwrap import wrap >>> wrap('yaba daba-doo', width=10, breakhyphenatedwords=False) ['yaba', 'daba-doo']

I personally don't think so as you could easily just walk the list and just concatenate the hyphenated words. So -0 from me.

And if you do try to pursue this, you might want to try to come up with a shorter keyword argument name.

-Brett

Since proper line-wrapping of hyphenated words is language-dependent and can interact with other orthographic and typesetting practices, I think it would be nicer to have a documented way to turn it off completely.

Granted, it's not hard to manually do either; on Python 2.5.2 (as well as on Python 2.6 r62386), it's just a matter of setting the "TextWrapper.wordsepre" attribute to "re.compile('(\s+)')"... I think having a publicly documented attribute wouldn't hurt anyway. -- Sylvain <syfou at users.sourceforge.net> The IBM 2250 is impressive ... if you compare it with a system selling for a tenth its price. -- D. Cohen


stdlib-sig mailing list stdlib-sig at python.org http://mail.python.org/mailman/listinfo/stdlib-sig



More information about the stdlib-sig mailing list