X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=glib%2Fgunidecomp.c;h=44943c84fe7179bbcb284d1a6fe8892c266c35c7;hb=0a4ee12c7a9dfc82443133dfb2b18fb411d79f48;hp=a6397870c1a406cc819e364b84940b1f00896ab5;hpb=615977d337c7ba776ac2eda6c688bf6f69316c4d;p=platform%2Fupstream%2Fglib.git diff --git a/glib/gunidecomp.c b/glib/gunidecomp.c index a639787..44943c8 100644 --- a/glib/gunidecomp.c +++ b/glib/gunidecomp.c @@ -15,8 +15,30 @@ * * You should have received a copy of the GNU Lesser General Public * License along with the Gnome Library; see the file COPYING.LIB. If not, - * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * see . + */ + +/** + * SECTION:unicode + * @Title: Unicode Manipulation + * @Short_description: functions operating on Unicode characters and + * UTF-8 strings + * @See_also: g_locale_to_utf8(), g_locale_from_utf8() + * + * This section describes a number of functions for dealing with + * Unicode characters and strings. There are analogues of the + * traditional `ctype.h` character classification and case conversion + * functions, UTF-8 analogues of some string utility functions, + * functions to perform normalization, case conversion and collation + * on UTF-8 strings and finally functions to convert between the UTF-8, + * UTF-16 and UCS-4 encodings of Unicode. + * + * The implementations of the Unicode functions in GLib are based + * on the Unicode Character Data tables, which are available from + * [www.unicode.org](http://www.unicode.org/). + * 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.30 supports Unicode 6.0. */ #include "config.h" @@ -53,7 +75,7 @@ * * Determines the canonical combining class of a Unicode character. * - * Return value: the combining class of the character + * Returns: the combining class of the character * * Since: 2.14 **/ @@ -202,7 +224,7 @@ find_decomposition (gunichar ch, * * Computes the canonical decomposition of a Unicode character. * - * Return value: a newly allocated string of Unicode characters. + * Returns: a newly allocated string of Unicode characters. * @result_len is set to the resulting length of the string. * * Deprecated: 2.30: Use the more flexible g_unichar_fully_decompose() @@ -500,7 +522,7 @@ _g_utf8_normalize_wc (const gchar *str, * a legacy encoding or pass it to a system with * less capable Unicode handling. * - * Return value: a newly allocated string, that is the + * Returns: a newly allocated string, that is the * normalized form of @str, or %NULL if @str is not * valid UTF-8. **/ @@ -573,7 +595,8 @@ decompose_hangul_step (gunichar ch, * recursively call this function on @a. Or use * g_unichar_fully_decompose(). * - * See UAX#15 + * See + * [UAX#15](http://unicode.org/reports/tr15/) * for details. * * Returns: %TRUE if the character could be decomposed @@ -629,17 +652,18 @@ g_unichar_decompose (gunichar ch, * Performs a single composition step of the * Unicode canonical composition algorithm. * - * This function does not perform algorithmic composition - * for Hangul characters, and does not include compatibility - * compositions. It does, however, include 'singleton' - * compositions which replace a character by a single - * other character. To obtain these, pass zero for @b. - * - * This function includes algorithmic Hangul Jamo composition. + * This function includes algorithmic Hangul Jamo composition, + * but it is not exactly the inverse of g_unichar_decompose(). + * No composition can have either of @a or @b equal to zero. + * To be precise, this function composes if and only if + * there exists a Primary Composite P which is canonically + * equivalent to the sequence <@a,@b>. See the Unicode + * Standard for the definition of Primary Composite. * * If @a and @b do not compose a new character, @ch is set to zero. * - * See UAX#15 + * See + * [UAX#15](http://unicode.org/reports/tr15/) * for details. * * Returns: %TRUE if the characters could be composed @@ -662,7 +686,7 @@ g_unichar_compose (gunichar a, * g_unichar_fully_decompose: * @ch: a Unicode character. * @compat: whether perform canonical or compatibility decomposition - * @result: location to store decomposed result, or %NULL + * @result: (allow-none): location to store decomposed result, or %NULL * @result_len: length of @result * * Computes the canonical or compatibility decomposition of a @@ -673,14 +697,19 @@ g_unichar_compose (gunichar a, * The decomposed sequence is placed in @result. Only up to * @result_len characters are written into @result. The length * of the full decomposition (irrespective of @result_len) is - * returned by the function. For canonical decomposition, a - * result buffer of length 4 is always enough, whereas for - * compatibility decomposition, a buffer of 18 is enough. + * returned by the function. For canonical decomposition, + * currently all decompositions are of length at most 4, but + * this may change in the future (very unlikely though). + * At any rate, Unicode does guarantee that a buffer of length + * 18 is always enough for both compatibility and canonical + * decompositions, so that is the size recommended. This is provided + * as %G_UNICHAR_MAX_DECOMPOSITION_LENGTH. * - * See UAX#15 + * See + * [UAX#15](http://unicode.org/reports/tr15/) * for details. * - * Return value: the length of the full decomposition. + * Returns: the length of the full decomposition. * * Since: 2.30 **/