On Tue, 2006-08-29 at 20:10 +0200, Simon Budig wrote:
> Alessandro Ikeuchi ([EMAIL PROTECTED]) wrote:
> > gtk_text_buffer_insert_at_cursor(mybuffer, "\u00E3", -1);
>
> gtk_text_buffer_insert_at_cursor () expects UTF-8 as the second
> argument. I don't know what C99 / C++ define for the "\u" excape
> sequences (probably wide chars or something like this), but I strongly
> suspect that the internal encoding is undefined and/or machine
> dependant.
>
> I am not at all convinced that this is supposed to work and I suggest
> that you assume the error on your side. Feel free to point me to the
> Ansi C99 standard that defines the internal encoding of wide char string
> constants to be UTF-8 though.
The spec as I read it is a little vague, and \u specifies a "universal
character" with no specific encoding. I'm guessing it's the literal
codepoint. As you say, GTK+ always expects UTF-8 (unless you are using
the gunichar API, in which \u should work). Thanks to the
ever-wonderful gucharmap:
U+00E3 LATIN SMALL LETTER A WITH TILDE
General Character Properties
Unicode category: Letter, Lowercase
Canonical decomposition: U+0061 LATIN SMALL LETTER A + U+0303
COMBINING TILDE
Various Useful Representations
UTF-8: 0xC3 0xA3
UTF-16: 0x00E3
C octal escaped UTF-8: \303\243
XML decimal entity: ã
If you want a literal ã in your C string for passing to a GTK+ function,
then use \303\243 to get the character in the UTF-8 encoding.
Ross
--
Ross Burton mail: [EMAIL PROTECTED]
jabber: [EMAIL PROTECTED]
www: http://www.burtonini.com./
PGP Fingerprint: 1A21 F5B0 D8D0 CFE3 81D4 E25A 2D09 E447 D0B4 33DF
_______________________________________________
maemo-developers mailing list
[email protected]
https://maemo.org/mailman/listinfo/maemo-developers