From: Bruno Haible Date: Tue, 22 Mar 2011 23:32:49 +0000 (+0100) Subject: unictype/bidi*: Rename functions. X-Git-Tag: v0.1~3062 X-Git-Url: http://erislabs.net/gitweb/?p=gnulib.git;a=commitdiff_plain;h=d59013190eb71a562203341f13c108365bfd8e74 unictype/bidi*: Rename functions. * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname, uc_bidi_class, uc_is_bidi_class): New declarations. * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from uc_bidi_category_byname. (uc_bidi_category_byname): New function. * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from u_bidi_category_name. (uc_bidi_class_name): Renamed from uc_bidi_category_name. (uc_bidi_category_name): New function. * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from uc_bidi_category. (uc_bidi_category): New function. * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from uc_is_bidi_category. Invoke uc_bidi_class. (uc_is_bidi_category): New function. * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname instead of uc_bidi_category_byname. * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name instead of uc_bidi_category_name. * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of uc_bidi_category. * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class instead of uc_is_bidi_category. --- diff --git a/ChangeLog b/ChangeLog index f5a3a52b3..2f1edead7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,30 @@ +2011-03-22 Bruno Haible + + unictype/bidi*: Rename functions. + * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname, + uc_bidi_class, uc_is_bidi_class): New declarations. + * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from + uc_bidi_category_byname. + (uc_bidi_category_byname): New function. + * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from + u_bidi_category_name. + (uc_bidi_class_name): Renamed from uc_bidi_category_name. + (uc_bidi_category_name): New function. + * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from + uc_bidi_category. + (uc_bidi_category): New function. + * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from + uc_is_bidi_category. Invoke uc_bidi_class. + (uc_is_bidi_category): New function. + * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname + instead of uc_bidi_category_byname. + * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name + instead of uc_bidi_category_name. + * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of + uc_bidi_category. + * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class + instead of uc_is_bidi_category. + 2011-03-21 Bruno Haible New module 'unictype/joininggroup-all'. diff --git a/lib/unictype.in.h b/lib/unictype.in.h index b714b26e9..8fbf8b9ab 100644 --- a/lib/unictype.in.h +++ b/lib/unictype.in.h @@ -257,7 +257,8 @@ extern int /* ========================================================================= */ -/* Field 4 of Unicode Character Database: Bidirectional category. */ +/* Field 4 of Unicode Character Database: Bidi class. + Before Unicode 4.0, this field was called "Bidirectional category". */ enum { @@ -282,20 +283,31 @@ enum UC_BIDI_ON /* Other Neutral */ }; -/* Return the name of a bidirectional category. */ +/* Return the name of a bidi class. */ +extern const char * + uc_bidi_class_name (int bidi_class); +/* Same; obsolete function name. */ extern const char * uc_bidi_category_name (int category); -/* Return the bidirectional category given by name, e.g. "LRE". */ +/* Return the bidi class given by name, e.g. "LRE". */ +extern int + uc_bidi_class_byname (const char *bidi_class_name); +/* Same; obsolete function name. */ extern int uc_bidi_category_byname (const char *category_name); -/* Return the bidirectional category of a Unicode character. */ +/* Return the bidi class of a Unicode character. */ +extern int + uc_bidi_class (ucs4_t uc); +/* Same; obsolete function name. */ extern int uc_bidi_category (ucs4_t uc); -/* Test whether a Unicode character belongs to a given bidirectional - category. */ +/* Test whether a Unicode character belongs to a given bidi class. */ +extern bool + uc_is_bidi_class (ucs4_t uc, int bidi_class); +/* Same; obsolete function name. */ extern bool uc_is_bidi_category (ucs4_t uc, int category); diff --git a/lib/unictype/bidi_byname.c b/lib/unictype/bidi_byname.c index 6126b95e1..d150f4dde 100644 --- a/lib/unictype/bidi_byname.c +++ b/lib/unictype/bidi_byname.c @@ -1,5 +1,5 @@ /* Bidi categories of Unicode characters. - Copyright (C) 2002, 2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2002, 2006, 2011 Free Software Foundation, Inc. Written by Bruno Haible , 2002. This program is free software: you can redistribute it and/or modify it @@ -21,74 +21,74 @@ #include "unictype.h" int -uc_bidi_category_byname (const char *category_name) +uc_bidi_class_byname (const char *bidi_class_name) { - switch (category_name[0]) + switch (bidi_class_name[0]) { case 'A': - switch (category_name[1]) + switch (bidi_class_name[1]) { case 'L': - if (category_name[2] == '\0') + if (bidi_class_name[2] == '\0') return UC_BIDI_AL; break; case 'N': - if (category_name[2] == '\0') + if (bidi_class_name[2] == '\0') return UC_BIDI_AN; break; } break; case 'B': - switch (category_name[1]) + switch (bidi_class_name[1]) { case '\0': return UC_BIDI_B; case 'N': - if (category_name[2] == '\0') + if (bidi_class_name[2] == '\0') return UC_BIDI_BN; break; } break; case 'C': - switch (category_name[1]) + switch (bidi_class_name[1]) { case 'S': - if (category_name[2] == '\0') + if (bidi_class_name[2] == '\0') return UC_BIDI_CS; break; } break; case 'E': - switch (category_name[1]) + switch (bidi_class_name[1]) { case 'N': - if (category_name[2] == '\0') + if (bidi_class_name[2] == '\0') return UC_BIDI_EN; break; case 'S': - if (category_name[2] == '\0') + if (bidi_class_name[2] == '\0') return UC_BIDI_ES; break; case 'T': - if (category_name[2] == '\0') + if (bidi_class_name[2] == '\0') return UC_BIDI_ET; break; } break; case 'L': - switch (category_name[1]) + switch (bidi_class_name[1]) { case '\0': return UC_BIDI_L; case 'R': - switch (category_name[2]) + switch (bidi_class_name[2]) { case 'E': - if (category_name[3] == '\0') + if (bidi_class_name[3] == '\0') return UC_BIDI_LRE; break; case 'O': - if (category_name[3] == '\0') + if (bidi_class_name[3] == '\0') return UC_BIDI_LRO; break; } @@ -96,13 +96,13 @@ uc_bidi_category_byname (const char *category_name) } break; case 'N': - switch (category_name[1]) + switch (bidi_class_name[1]) { case 'S': - switch (category_name[2]) + switch (bidi_class_name[2]) { case 'M': - if (category_name[3] == '\0') + if (bidi_class_name[3] == '\0') return UC_BIDI_NSM; break; } @@ -110,22 +110,22 @@ uc_bidi_category_byname (const char *category_name) } break; case 'O': - switch (category_name[1]) + switch (bidi_class_name[1]) { case 'N': - if (category_name[2] == '\0') + if (bidi_class_name[2] == '\0') return UC_BIDI_ON; break; } break; case 'P': - switch (category_name[1]) + switch (bidi_class_name[1]) { case 'D': - switch (category_name[2]) + switch (bidi_class_name[2]) { case 'F': - if (category_name[3] == '\0') + if (bidi_class_name[3] == '\0') return UC_BIDI_PDF; break; } @@ -133,19 +133,19 @@ uc_bidi_category_byname (const char *category_name) } break; case 'R': - switch (category_name[1]) + switch (bidi_class_name[1]) { case '\0': return UC_BIDI_R; case 'L': - switch (category_name[2]) + switch (bidi_class_name[2]) { case 'E': - if (category_name[3] == '\0') + if (bidi_class_name[3] == '\0') return UC_BIDI_RLE; break; case 'O': - if (category_name[3] == '\0') + if (bidi_class_name[3] == '\0') return UC_BIDI_RLO; break; } @@ -153,19 +153,25 @@ uc_bidi_category_byname (const char *category_name) } break; case 'S': - if (category_name[1] == '\0') + if (bidi_class_name[1] == '\0') return UC_BIDI_S; break; case 'W': - switch (category_name[1]) + switch (bidi_class_name[1]) { case 'S': - if (category_name[2] == '\0') + if (bidi_class_name[2] == '\0') return UC_BIDI_WS; break; } break; } - /* Invalid category name. */ + /* Invalid bidi class name. */ return -1; } + +int +uc_bidi_category_byname (const char *category_name) +{ + return uc_bidi_class_byname (category_name); +} diff --git a/lib/unictype/bidi_name.c b/lib/unictype/bidi_name.c index 1e8fab8c8..eb9b265b0 100644 --- a/lib/unictype/bidi_name.c +++ b/lib/unictype/bidi_name.c @@ -1,5 +1,5 @@ /* Bidi categories of Unicode characters. - Copyright (C) 2002, 2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2002, 2006, 2011 Free Software Foundation, Inc. Written by Bruno Haible , 2002. This program is free software: you can redistribute it and/or modify it @@ -20,16 +20,22 @@ /* Specification. */ #include "unictype.h" -static const char u_bidi_category_name[19][4] = +static const char u_bidi_class_name[19][4] = { "L", "LRE", "LRO", "R", "AL", "RLE", "RLO", "PDF", "EN", "ES", "ET", "AN", "CS", "NSM", "BN", "B", "S", "WS", "ON" }; const char * -uc_bidi_category_name (int category) +uc_bidi_class_name (int bidi_class) { - if (category >= 0 && category < sizeof (u_bidi_category_name) / sizeof (u_bidi_category_name[0])) - return u_bidi_category_name[category]; + if (bidi_class >= 0 && bidi_class < sizeof (u_bidi_class_name) / sizeof (u_bidi_class_name[0])) + return u_bidi_class_name[bidi_class]; return NULL; } + +const char * +uc_bidi_category_name (int category) +{ + return uc_bidi_class_name (category); +} diff --git a/lib/unictype/bidi_of.c b/lib/unictype/bidi_of.c index c03070cef..5629e2f99 100644 --- a/lib/unictype/bidi_of.c +++ b/lib/unictype/bidi_of.c @@ -1,5 +1,5 @@ /* Bidi categories of Unicode characters. - Copyright (C) 2002, 2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2002, 2006, 2011 Free Software Foundation, Inc. Written by Bruno Haible , 2002. This program is free software: you can redistribute it and/or modify it @@ -24,7 +24,7 @@ #include "bidi_of.h" int -uc_bidi_category (ucs4_t uc) +uc_bidi_class (ucs4_t uc) { unsigned int index1 = uc >> bidi_category_header_0; if (index1 < bidi_category_header_1) @@ -50,3 +50,9 @@ uc_bidi_category (ucs4_t uc) } return UC_BIDI_L; } + +int +uc_bidi_category (ucs4_t uc) +{ + return uc_bidi_class (uc); +} diff --git a/lib/unictype/bidi_test.c b/lib/unictype/bidi_test.c index 036030f20..59de2fa0e 100644 --- a/lib/unictype/bidi_test.c +++ b/lib/unictype/bidi_test.c @@ -1,5 +1,5 @@ /* Bidi categories of Unicode characters. - Copyright (C) 2002, 2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2002, 2006, 2011 Free Software Foundation, Inc. Written by Bruno Haible , 2002. This program is free software: you can redistribute it and/or modify it @@ -21,7 +21,13 @@ #include "unictype.h" bool +uc_is_bidi_class (ucs4_t uc, int bidi_class) +{ + return (uc_bidi_class (uc) == bidi_class); +} + +bool uc_is_bidi_category (ucs4_t uc, int category) { - return (uc_bidi_category (uc) == category); + return uc_is_bidi_class (uc, category); } diff --git a/tests/unictype/test-bidi_byname.c b/tests/unictype/test-bidi_byname.c index 9139131b9..ded352cf5 100644 --- a/tests/unictype/test-bidi_byname.c +++ b/tests/unictype/test-bidi_byname.c @@ -1,5 +1,5 @@ /* Test the Unicode character type functions. - Copyright (C) 2007-2010 Free Software Foundation, Inc. + Copyright (C) 2007-2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,27 +25,27 @@ int main () { - ASSERT (uc_bidi_category_byname ("L") == UC_BIDI_L); - ASSERT (uc_bidi_category_byname ("LRE") == UC_BIDI_LRE); - ASSERT (uc_bidi_category_byname ("LRO") == UC_BIDI_LRO); - ASSERT (uc_bidi_category_byname ("R") == UC_BIDI_R); - ASSERT (uc_bidi_category_byname ("AL") == UC_BIDI_AL); - ASSERT (uc_bidi_category_byname ("RLE") == UC_BIDI_RLE); - ASSERT (uc_bidi_category_byname ("RLO") == UC_BIDI_RLO); - ASSERT (uc_bidi_category_byname ("PDF") == UC_BIDI_PDF); - ASSERT (uc_bidi_category_byname ("EN") == UC_BIDI_EN); - ASSERT (uc_bidi_category_byname ("ES") == UC_BIDI_ES); - ASSERT (uc_bidi_category_byname ("ET") == UC_BIDI_ET); - ASSERT (uc_bidi_category_byname ("AN") == UC_BIDI_AN); - ASSERT (uc_bidi_category_byname ("CS") == UC_BIDI_CS); - ASSERT (uc_bidi_category_byname ("NSM") == UC_BIDI_NSM); - ASSERT (uc_bidi_category_byname ("BN") == UC_BIDI_BN); - ASSERT (uc_bidi_category_byname ("B") == UC_BIDI_B); - ASSERT (uc_bidi_category_byname ("S") == UC_BIDI_S); - ASSERT (uc_bidi_category_byname ("WS") == UC_BIDI_WS); - ASSERT (uc_bidi_category_byname ("ON") == UC_BIDI_ON); - ASSERT (uc_bidi_category_byname ("X") < 0); - ASSERT (uc_bidi_category_byname ("") < 0); + ASSERT (uc_bidi_class_byname ("L") == UC_BIDI_L); + ASSERT (uc_bidi_class_byname ("LRE") == UC_BIDI_LRE); + ASSERT (uc_bidi_class_byname ("LRO") == UC_BIDI_LRO); + ASSERT (uc_bidi_class_byname ("R") == UC_BIDI_R); + ASSERT (uc_bidi_class_byname ("AL") == UC_BIDI_AL); + ASSERT (uc_bidi_class_byname ("RLE") == UC_BIDI_RLE); + ASSERT (uc_bidi_class_byname ("RLO") == UC_BIDI_RLO); + ASSERT (uc_bidi_class_byname ("PDF") == UC_BIDI_PDF); + ASSERT (uc_bidi_class_byname ("EN") == UC_BIDI_EN); + ASSERT (uc_bidi_class_byname ("ES") == UC_BIDI_ES); + ASSERT (uc_bidi_class_byname ("ET") == UC_BIDI_ET); + ASSERT (uc_bidi_class_byname ("AN") == UC_BIDI_AN); + ASSERT (uc_bidi_class_byname ("CS") == UC_BIDI_CS); + ASSERT (uc_bidi_class_byname ("NSM") == UC_BIDI_NSM); + ASSERT (uc_bidi_class_byname ("BN") == UC_BIDI_BN); + ASSERT (uc_bidi_class_byname ("B") == UC_BIDI_B); + ASSERT (uc_bidi_class_byname ("S") == UC_BIDI_S); + ASSERT (uc_bidi_class_byname ("WS") == UC_BIDI_WS); + ASSERT (uc_bidi_class_byname ("ON") == UC_BIDI_ON); + ASSERT (uc_bidi_class_byname ("X") < 0); + ASSERT (uc_bidi_class_byname ("") < 0); return 0; } diff --git a/tests/unictype/test-bidi_name.c b/tests/unictype/test-bidi_name.c index 1a4ef0bab..03b3674e4 100644 --- a/tests/unictype/test-bidi_name.c +++ b/tests/unictype/test-bidi_name.c @@ -1,5 +1,5 @@ /* Test the Unicode character type functions. - Copyright (C) 2007-2009 Free Software Foundation, Inc. + Copyright (C) 2007-2009, 2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,8 +25,8 @@ int main () { - ASSERT (strcmp (uc_bidi_category_name (UC_BIDI_NSM), "NSM") == 0); - ASSERT (uc_bidi_category_name (-1) == NULL); + ASSERT (strcmp (uc_bidi_class_name (UC_BIDI_NSM), "NSM") == 0); + ASSERT (uc_bidi_class_name (-1) == NULL); return 0; } diff --git a/tests/unictype/test-bidi_of.c b/tests/unictype/test-bidi_of.c index 91fda1533..5b7a33d22 100644 --- a/tests/unictype/test-bidi_of.c +++ b/tests/unictype/test-bidi_of.c @@ -1,5 +1,5 @@ /* Test the Unicode character type functions. - Copyright (C) 2007-2009 Free Software Foundation, Inc. + Copyright (C) 2007-2009, 2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,9 +25,9 @@ int main () { - ASSERT (uc_bidi_category ('x') == UC_BIDI_L); - ASSERT (uc_bidi_category (0x05D7) == UC_BIDI_R); - ASSERT (uc_bidi_category ('7') == UC_BIDI_EN); + ASSERT (uc_bidi_class ('x') == UC_BIDI_L); + ASSERT (uc_bidi_class (0x05D7) == UC_BIDI_R); + ASSERT (uc_bidi_class ('7') == UC_BIDI_EN); return 0; } diff --git a/tests/unictype/test-bidi_test.c b/tests/unictype/test-bidi_test.c index c9e7b39f8..908d1b7e1 100644 --- a/tests/unictype/test-bidi_test.c +++ b/tests/unictype/test-bidi_test.c @@ -1,5 +1,5 @@ /* Test the Unicode character type functions. - Copyright (C) 2007-2009 Free Software Foundation, Inc. + Copyright (C) 2007-2009, 2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,23 +25,23 @@ int main () { - ASSERT (uc_is_bidi_category ('x', UC_BIDI_L)); - ASSERT (!uc_is_bidi_category ('x', UC_BIDI_R)); - ASSERT (!uc_is_bidi_category ('x', UC_BIDI_EN)); + ASSERT (uc_is_bidi_class ('x', UC_BIDI_L)); + ASSERT (!uc_is_bidi_class ('x', UC_BIDI_R)); + ASSERT (!uc_is_bidi_class ('x', UC_BIDI_EN)); - ASSERT (uc_is_bidi_category (0x05D7, UC_BIDI_R)); - ASSERT (!uc_is_bidi_category (0x05D7, UC_BIDI_L)); - ASSERT (!uc_is_bidi_category (0x05D7, UC_BIDI_EN)); + ASSERT (uc_is_bidi_class (0x05D7, UC_BIDI_R)); + ASSERT (!uc_is_bidi_class (0x05D7, UC_BIDI_L)); + ASSERT (!uc_is_bidi_class (0x05D7, UC_BIDI_EN)); - ASSERT (uc_is_bidi_category ('7', UC_BIDI_EN)); - ASSERT (!uc_is_bidi_category ('7', UC_BIDI_L)); - ASSERT (!uc_is_bidi_category ('7', UC_BIDI_R)); + ASSERT (uc_is_bidi_class ('7', UC_BIDI_EN)); + ASSERT (!uc_is_bidi_class ('7', UC_BIDI_L)); + ASSERT (!uc_is_bidi_class ('7', UC_BIDI_R)); { unsigned int c; for (c = 0; c < 0x110000; c++) - ASSERT (uc_is_bidi_category (c, uc_bidi_category (c))); + ASSERT (uc_is_bidi_class (c, uc_bidi_class (c))); } return 0;