Re: Invalid UTF8 string
- From: Havoc Pennington <hp redhat com>
- To: Olaf Leidinger <leidola newcon de>
- Cc: gtk-list gnome org
- Subject: Re: Invalid UTF8 string
- Date: 01 Dec 2001 13:05:24 -0500
Olaf Leidinger <leidola newcon de> writes:
>
> I'm currently trying to port some of my apps to GTK+-2.0 but I got a
> problem. When trying to create a lable or any other widget with a
> caption that contains german umlauts the text is cutted and only the
> part before that character is displayed. I got a message like this on
> stderr:
>
> ** WARNING **: Invalid UTF8 string passed to pango_layout_set_text()
>
> Okay, I know what's wrong but what can I do to bring these umlauts onto
> my label? I'm not famillar with pango.
Well, you need to convert them to UTF-8. ;-) From Latin-1 that's
really simple. Here is the code:
char*
latin1_to_utf8 (const char *text)
{
GString *str;
const char *p;
str = g_string_new ("");
p = text;
while (*p)
{
g_string_append_unichar (str, *p);
++p;
}
return g_string_free (str, FALSE); /* return str->str and free str */
}
More generally, you could use g_convert() or g_locale_to_utf8() to go
from various encodings to UTF-8. Latin-1 just happens to be easy
because Latin-1 chars have the same values as Unicode chars.
There's a bit of a porting guide in GNOME CVS, you can look at it
here:
http://cvs.gnome.org/lxr/source/porting-doc/
Not sure if it's on the web yet in more readable form. See the
gtk.xml file.
Havoc
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]