/* Unicode character classification and properties.
- Copyright (C) 2002, 2005-2009 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005-2010 Free Software Foundation, Inc.
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
This corresponds to the unions of the two sets of characters. */
extern uc_general_category_t
uc_general_category_or (uc_general_category_t category1,
- uc_general_category_t category2);
+ uc_general_category_t category2);
/* Return the intersection of two general categories as bit masks.
This *does*not* correspond to the intersection of the two sets of
characters. */
extern uc_general_category_t
uc_general_category_and (uc_general_category_t category1,
- uc_general_category_t category2);
+ uc_general_category_t category2);
/* Return the intersection of a general category with the complement of a
second general category, as bit masks.
viewing the categories as sets of characters. */
extern uc_general_category_t
uc_general_category_and_not (uc_general_category_t category1,
- uc_general_category_t category2);
+ uc_general_category_t category2);
/* Return the name of a general category. */
extern const char *
extern uc_property_t
uc_property_byname (const char *property_name);
+/* Test whether a property is valid. */
+#define uc_property_is_valid(property) ((property).test_fn != NULL)
+
/* Test whether a Unicode character has a given property. */
extern bool
uc_is_property (ucs4_t uc, uc_property_t property);