How to wrap a Japanese text in Python

Leo Kislov Leo.Kislov at gmail.com
Fri Jun 8 11:24:42 CEST 2007


On Jun 7, 5:12 am, prashantkisanpatil at gmail.com wrote:
> Hi All,
>
> I am trying to wrap a japanese text in Python, by the following code.
>
> if len(message) > 54:
>    message = message.decode("UTF8")
>    strlist = textwrap.wrap(message,54)
>
> After this I am wirting it to you a CAD Software window. While
> displaying in this window some Japanese characters at the end of the
> line & some at the begining of the line are not displayed at all.
> Meaning the text wrapping is not happening correctly.
>
> Can any body please help me out in resolving this problem.

First of all you should move message.decode('utf-8') call out of "if"
and you don't need "if" anyway because if the line is less than 54
textwrap won't touch it:

message = message.decode('utf-8')
strlist = textwrap.wrap(message, 54)

I don't know Japanese but the following example *seems* to work fine
for me:

# -*- coding: utf-8 -*-
sample=u"""                      
                         """

import textwrap
for line in textwrap.wrap(sample, 6):
    print line
--------------------------------
Result:

      
      
      
      
      
      
      
      

Can you post a short example that clearly demonstrates the problem?

  -- Leo





More information about the Python-list mailing list