-/* Bidi categories of Unicode characters.
- Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+/* Bidi classes of Unicode characters.
+ 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)
{
int lookup1 = u_bidi_category.level1[index1];
if (lookup1 >= 0)
- {
- unsigned int index2 = (uc >> bidi_category_header_2) & bidi_category_header_3;
- int lookup2 = u_bidi_category.level2[lookup1 + index2];
- if (lookup2 >= 0)
- {
- unsigned int index3 = ((uc & bidi_category_header_4) + lookup2) * 5;
- /* level3 contains 5-bit values, packed into 16-bit words. */
- unsigned int lookup3 =
- ((u_bidi_category.level3[index3>>4]
- | (u_bidi_category.level3[(index3>>4)+1] << 16))
- >> (index3 % 16))
- & 0x1f;
-
- return lookup3;
- }
- }
+ {
+ unsigned int index2 = (uc >> bidi_category_header_2) & bidi_category_header_3;
+ int lookup2 = u_bidi_category.level2[lookup1 + index2];
+ if (lookup2 >= 0)
+ {
+ unsigned int index3 = ((uc & bidi_category_header_4) + lookup2) * 5;
+ /* level3 contains 5-bit values, packed into 16-bit words. */
+ unsigned int lookup3 =
+ ((u_bidi_category.level3[index3>>4]
+ | (u_bidi_category.level3[(index3>>4)+1] << 16))
+ >> (index3 % 16))
+ & 0x1f;
+
+ return lookup3;
+ }
+ }
}
return UC_BIDI_L;
}
+
+int
+uc_bidi_category (ucs4_t uc)
+{
+ return uc_bidi_class (uc);
+}