Complete.Org: Mailing Lists: Archives: freeciv-dev: January 2004:
[Freeciv-Dev] Re: (PR#7228) freeciv-client-gtk: City name problems (Unic
Home

[Freeciv-Dev] Re: (PR#7228) freeciv-client-gtk: City name problems (Unic

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: jordi@xxxxxxxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#7228) freeciv-client-gtk: City name problems (Unicode problem?)
From: "Raimar Falke" <i-freeciv-lists@xxxxxxxxxxxxx>
Date: Tue, 13 Jan 2004 01:14:56 -0800
Reply-to: rt@xxxxxxxxxxx

<URL: http://rt.freeciv.org/Ticket/Display.html?id=7228 >

On Mon, Jan 12, 2004 at 12:58:16PM -0800, Vasco Alexandre da Silva Costa wrote:
> > The relavant functions are: common/shared.c:is_sane_name() and
> > common/shared.c:is_iso_latin1(). Basically is_iso_latin1 tests for the
> > unused range 127-161 (~...¡). I suspect that this function is called
> > with utf-8 data. The server doesn't use utf-8. But GTK2 does.
> 
> You mean it didn't use to use UTF-8. IIRC the server uses UTF-8 with the
> recent changes made in 1.14.1 to fix the UTF-8 locale bugs in the server.

Uhhh. Are you sure. Did I really miss this?

> Jason should be able to inform you better about civserver changes.

> Yes, there is one occurrence of is_sane_name in the GTK+ 2.0 client. The
> server uses it in 5 places.
> 
> is_sane_name must be rewritten to be more charset agnostic. At least it
> must support UTF-8, probably KOI8-R and EUC-JP as well.

UTF-8 means unicode. For this we will need an understanding of
unicode. Something like libunicode
(http://cvs.gnome.org/lxr/source/libunicode/) or Java's Character
(http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Character.html) or
Python's unicodedata
(http://www.python.org/doc/2.2/lib/module-unicodedata.html) is needed.

We want to use functions like unicode_is_whitespace and
unicode_is_alpha to check the input.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
  Two OS engineers facing a petri net chart:
        "dead lock in four moves!"




[Prev in Thread] Current Thread [Next in Thread]