From: Bruno Haible Date: Sat, 26 Mar 2011 12:18:10 +0000 (+0100) Subject: New module 'unictype/joiningtype-longname'. X-Git-Tag: v0.1~3029 X-Git-Url: https://erislabs.net/gitweb/?a=commitdiff_plain;h=0f7c8434ebeba7b6a24561d0ed5943e955f7816c;hp=ef51234c7d0d7fb58f507b093f2f1d8aa4b8ea4b;p=gnulib.git New module 'unictype/joiningtype-longname'. * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration. * lib/unictype/joiningtype_longname.c: New file. * modules/unictype/joiningtype-longname: New file. * modules/unictype/joiningtype-all (Depends-on): Add unictype/joiningtype-longname. --- diff --git a/ChangeLog b/ChangeLog index 98b416ea8..27a739148 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2011-03-26 Bruno Haible + New module 'unictype/joiningtype-longname'. + * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration. + * lib/unictype/joiningtype_longname.c: New file. + * modules/unictype/joiningtype-longname: New file. + * modules/unictype/joiningtype-all (Depends-on): Add + unictype/joiningtype-longname. + +2011-03-26 Bruno Haible + unictype/bidiclass-byname: Recognize long names as well. * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long name. diff --git a/lib/unictype.in.h b/lib/unictype.in.h index 726f465cf..dd5503666 100644 --- a/lib/unictype.in.h +++ b/lib/unictype.in.h @@ -415,6 +415,10 @@ enum extern const char * uc_joining_type_name (int joining_type); +/* Return the long name of a joining type. */ +extern const char * + uc_joining_type_long_name (int joining_type); + /* Return the joining type given by name, e.g. "D". */ extern int uc_joining_type_byname (const char *joining_type_name); diff --git a/lib/unictype/joiningtype_longname.c b/lib/unictype/joiningtype_longname.c new file mode 100644 index 000000000..3948b0cef --- /dev/null +++ b/lib/unictype/joiningtype_longname.c @@ -0,0 +1,40 @@ +/* Arabic joining type of Unicode characters. + Copyright (C) 2011 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +static const char u_joining_type_long_name[6][14] = +{ + "Non Joining", + "Transparent", + "Join Causing", + "Left Joining", + "Right Joining", + "Dual Joining" +}; + +const char * +uc_joining_type_long_name (int joining_type) +{ + if (joining_type >= 0 + && joining_type < sizeof (u_joining_type_long_name) / sizeof (u_joining_type_long_name[0])) + return u_joining_type_long_name[joining_type]; + return NULL; +} diff --git a/modules/unictype/joiningtype-all b/modules/unictype/joiningtype-all index f9dd79b58..c895d5e96 100644 --- a/modules/unictype/joiningtype-all +++ b/modules/unictype/joiningtype-all @@ -6,6 +6,7 @@ Files: Depends-on: unictype/base unictype/joiningtype-byname +unictype/joiningtype-longname unictype/joiningtype-name unictype/joiningtype-of diff --git a/modules/unictype/joiningtype-longname b/modules/unictype/joiningtype-longname new file mode 100644 index 000000000..b218e8fd1 --- /dev/null +++ b/modules/unictype/joiningtype-longname @@ -0,0 +1,25 @@ +Description: +Name of Unicode character Arabic joining type. + +Files: +lib/unictype/joiningtype_longname.c + +Depends-on: +unictype/base + +configure.ac: +gl_LIBUNISTRING_MODULE([0.9.4], [unictype/joiningtype-longname]) + +Makefile.am: +if LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_LONGNAME +lib_SOURCES += unictype/joiningtype_longname.c +endif + +Include: +"unictype.h" + +License: +LGPL + +Maintainer: +Bruno Haible