writing unicode apps in python - some beginner questions.

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • WX

    #1

    writing unicode apps in python - some beginner questions.

    I love Python, and the unicode support is wonderful.

    The character set I am using is the Hindi/Devanagari character set at
    unicode range U+901.)

    I have TWO newbie questions:

    (#1) If I paste some unicode stuff from the clipboard into IDLE, it
    accepts it, but it can't execute a PRINT command like this:
    [color=blue][color=green][color=darkred]
    >>> print u"à¤¹à¤¿à¤¨à¥à ¤¦à¥€ सिखिय ए"[/color][/color][/color]
    Unsupported characters in input

    Should I report this as a bug or is it an essential limitation of the
    Python console/immediate mode?

    (#2) Hindi is not displayed correctly on the screen when the
    "Suplementa l language support" parts for Windows XP are not installed,
    in particular in the Regional and Languages Options panel in the
    Control Panel, you have to check "Install files for complex script and
    right-to-left languages (including Thai)". This adds Thai, and Indic
    language support. Does anyone know a programmatic way in Python to
    check for this,so I can pop up a message telling users that support for
    this script hasn't been installed in Windows?

    Regards,

    Warren
  • Fredrik Lundh

    #2
    Re: writing unicode apps in python - some beginner questions.

    "WX" wrote:
    [color=blue]
    > The character set I am using is the Hindi/Devanagari character set at
    > unicode range U+901.)
    >
    > (#1) If I paste some unicode stuff from the clipboard into IDLE, it accepts it, but it can't
    > execute a PRINT command like this:
    >[color=green][color=darkred]
    > >>> print u"?????? ??????"[/color][/color]
    > Unsupported characters in input
    >
    > Should I report this as a bug or is it an essential limitation of the Python console/immediate
    > mode?[/color]

    I don't see why it couldn't be fixed, so feel free to report it to the bug tracker.

    </F>



    Comment

    • News M Claveau /Hamster-P

      #3
      Re: writing unicode apps in python - some beginner questions.

      Hi!

      XP unicode view depend, also, of the uniscribe motor version. The last
      version come with SP-2.
      Other element : is the font "Arial Unicode MS" installed ?

      @-salutations
      --
      Michel Claveau


      Comment

      • Serge Orlov

        #4
        Re: writing unicode apps in python - some beginner questions.

        WX wrote:[color=blue]
        > (#2) Hindi is not displayed correctly on the screen when the
        > "Suplementa l language support" parts for Windows XP are not installed,
        > in particular in the Regional and Languages Options panel in the
        > Control Panel, you have to check "Install files for complex script and
        > right-to-left languages (including Thai)". This adds Thai, and Indic
        > language support. Does anyone know a programmatic way in Python to
        > check for this,so I can pop up a message telling users that support
        > for this script hasn't been installed in Windows?[/color]

        I suspect it's hidden in the windows registry. To find out where it's
        hidden try the following:
        1. Before installing supplemental language support export
        HKEY_LOCAL_MACH INE\SYSTEM\Curr entControlSet\C ontrol\Nls
        into a text file using regedit
        2. Install supplemental language support
        3. Export the same registry branch into another file and compare with
        the first file.

        If there are no changes try doing the same for other registry branches:
        HKEY_LOCAL_MACH INE\SOFTWARE\Mi crosoft\Windows
        HKEY_LOCAL_MACH INE\SYSTEM\

        After you find out what's going on you can use python's module
        _winreg to read the registry from your python program. Good luck.

        Serge.




        Comment

        • Serge Orlov

          #5
          Re: writing unicode apps in python - some beginner questions.

          WX wrote:[color=blue]
          > (#2) Hindi is not displayed correctly on the screen when the
          > "Suplementa l language support" parts for Windows XP are not installed,
          > in particular in the Regional and Languages Options panel in the
          > Control Panel, you have to check "Install files for complex script and
          > right-to-left languages (including Thai)". This adds Thai, and Indic
          > language support. Does anyone know a programmatic way in Python to
          > check for this,so I can pop up a message telling users that support
          > for this script hasn't been installed in Windows?[/color]

          In addition to my previous post you can try the following, more
          simple method: try calling setlocale, if Thai support is installed I suspect
          you won't get an exception:
          [color=blue][color=green][color=darkred]
          >>> import locale
          >>> locale.setlocal e(locale.LC_ALL ,'English')[/color][/color][/color]
          'English_United States.1252'[color=blue][color=green][color=darkred]
          >>> locale.setlocal e(locale.LC_ALL ,'Russian')[/color][/color][/color]
          'Russian_Russia .1251'[color=blue][color=green][color=darkred]
          >>> locale.setlocal e(locale.LC_ALL ,'Thai')[/color][/color][/color]
          Traceback (most recent call last):
          File "<stdin>", line 1, in ?
          File "C:\Python24\li b\locale.py", line 379, in setlocale
          return _setlocale(cate gory, locale)
          locale.Error: unsupported locale setting

          Serge.





          Comment

          Working...