Bug 563156 – Document printing and scanning gunichar values

2008-12-07  Behdad Esfahbod  <behdad@gnome.org>

        Bug 563156 – Document printing and scanning gunichar values

        * glib/tmpl/unicode.sgml: Document printing and scanning gunichar
        values.


svn path=/trunk/; revision=7731
This commit is contained in:
Behdad Esfahbod 2008-12-08 02:58:30 +00:00 committed by Behdad Esfahbod
parent 8426d48f39
commit bb63c612bf
2 changed files with 43 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2008-12-07 Behdad Esfahbod <behdad@gnome.org>
Bug 563156 Document printing and scanning gunichar values
* glib/tmpl/unicode.sgml: Document printing and scanning gunichar
values.
2008-12-07 Behdad Esfahbod <behdad@gnome.org> 2008-12-07 Behdad Esfahbod <behdad@gnome.org>
Bug 563150 G_GU?INT*_MODIFIER/FORMAT docs Bug 563150 G_GU?INT*_MODIFIER/FORMAT docs

View File

@ -18,7 +18,7 @@ the UTF-8, UTF-16 and UCS-4 encodings of Unicode.
<para> <para>
The implementations of the Unicode functions in GLib are based The implementations of the Unicode functions in GLib are based
on the Unicode Character Data tables, which are available from on the Unicode Character Data tables, which are available from
<ulink url="http://www.unicode.org">www.unicode.org</ulink>. <ulink url="http://www.unicode.org/">www.unicode.org</ulink>.
GLib 2.8 supports Unicode 4.0, GLib 2.10 supports Unicode 4.1, GLib 2.8 supports Unicode 4.0, GLib 2.10 supports Unicode 4.1,
GLib 2.12 supports Unicode 5.0, GLib 2.16.3 supports Unicode 5.1. GLib 2.12 supports Unicode 5.0, GLib 2.16.3 supports Unicode 5.1.
</para> </para>
@ -42,7 +42,33 @@ Convenience functions for converting between UTF-8 and the locale encoding.
<!-- ##### TYPEDEF gunichar ##### --> <!-- ##### TYPEDEF gunichar ##### -->
<para> <para>
A type which can hold any UCS-4 character code. A type which can hold any UTF-32 or UCS-4 character code, also known
as a Unicode code point.
</para>
<para>
To print/scan values of this type to/from text you need to convert
to/from UTF-8, using g_utf32_to_utf8()/g_utf8_to_utf32().
</para>
<para>
To print/scan values of this type as integer, use
%G_GINT32_MODIFIER and/or %G_GUINT32_FORMAT.
</para>
<para>
The notation to express a Unicode code point in running text is as a
hexadecimal number with four to six digits and uppercase letters, prefixed
by the string "U+". Leading zeros are omitted, unless the code point would
have fewer than four hexadecimal digits.
For example, "U+0041 LATIN CAPITAL LETTER A".
To print a code point in the U+-notation, use the format string
"U+%04"G_GINT32_FORMAT"X".
To scan, use the format string "U+%06"G_GINT32_FORMAT"X".
<informalexample>
<programlisting>
gunichar c;
sscanf ("U+0041", "U+%06"G_GINT32_FORMAT"X", &amp;c)
g_print ("Read U+%04"G_GINT32_FORMAT"X", c);
</programlisting>
</informalexample>
</para> </para>
@ -55,6 +81,14 @@ BMP as pairs of 16bit numbers. Surrogate pairs cannot be stored in a
single gunichar2 field, but all GLib functions accepting gunichar2 arrays single gunichar2 field, but all GLib functions accepting gunichar2 arrays
will correctly interpret surrogate pairs.</footnote>. will correctly interpret surrogate pairs.</footnote>.
</para> </para>
<para>
To print/scan values of this type to/from text you need to convert
to/from UTF-8, using g_utf16_to_utf8()/g_utf8_to_utf16().
</para>
<para>
To print/scan values of this type as integer, use
%G_GINT16_MODIFIER and/or %G_GUINT16_FORMAT.
</para>
<!-- ##### FUNCTION g_unichar_validate ##### --> <!-- ##### FUNCTION g_unichar_validate ##### -->