# HG changeset patch # User Bruno Haible # Date 1300744590 -3600 # Node ID af3b80d34f13ceaafc45e70f688ccb1c369fb696 # Parent bf2cb4c080ec6a0c5bfb9ca570e8f02480d00096 New module 'unictype/joiningtype-byname'. * modules/unictype/joiningtype-byname: New file. * lib/unictype/joiningtype_byname.c: New file. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-03-21 Bruno Haible + New module 'unictype/joiningtype-byname'. + * modules/unictype/joiningtype-byname: New file. + * lib/unictype/joiningtype_byname.c: New file. + Tests for module 'unictype/joiningtype-name'. * modules/unictype/joiningtype-name-tests: New file. * tests/unictype/test-joiningtype_name.c: New file. diff --git a/lib/unictype/joiningtype_byname.c b/lib/unictype/joiningtype_byname.c new file mode 100644 --- /dev/null +++ b/lib/unictype/joiningtype_byname.c @@ -0,0 +1,44 @@ +/* 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" + +int +uc_joining_type_byname (const char *joining_type_name) +{ + if (joining_type_name[0] != '\0' && joining_type_name[1] == '\0') + switch (joining_type_name[0]) + { + case 'C': + return UC_JOINING_TYPE_C; + case 'D': + return UC_JOINING_TYPE_D; + case 'L': + return UC_JOINING_TYPE_L; + case 'R': + return UC_JOINING_TYPE_R; + case 'T': + return UC_JOINING_TYPE_T; + case 'U': + return UC_JOINING_TYPE_U; + } + /* Invalid joining type name. */ + return -1; +} diff --git a/modules/unictype/joiningtype-byname b/modules/unictype/joiningtype-byname new file mode 100644 --- /dev/null +++ b/modules/unictype/joiningtype-byname @@ -0,0 +1,25 @@ +Description: +Find a Unicode character Arabic joining type, given its name. + +Files: +lib/unictype/joiningtype_byname.c + +Depends-on: +unictype/base + +configure.ac: +gl_LIBUNISTRING_MODULE([0.9.4], [unictype/joiningtype-byname]) + +Makefile.am: +if LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_BYNAME +lib_SOURCES += unictype/joiningtype_byname.c +endif + +Include: +"unictype.h" + +License: +LGPL + +Maintainer: +Bruno Haible