+2011-03-22 Bruno Haible <bruno@clisp.org>
+
+ 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 <bruno@clisp.org>
New module 'unictype/joininggroup-all'.
/* ========================================================================= */
-/* 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
{
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);
/* 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 <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
#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;
}
}
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;
}
}
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;
}
}
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;
}
}
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);
+}
/* 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 <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
/* 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);
+}
/* 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 <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
#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)
}
return UC_BIDI_L;
}
+
+int
+uc_bidi_category (ucs4_t uc)
+{
+ return uc_bidi_class (uc);
+}
/* 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 <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
/* Specification. */
#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);
}
/* 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
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;
}
/* 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
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;
}
/* 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
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;
}
/* 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
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;