+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
/********************************************************************
- * COPYRIGHT:
- * Copyright (c) 1997-2001, International Business Machines Corporation and
+ * COPYRIGHT:
+ * Copyright (c) 1997-2016, International Business Machines Corporation and
* others. All Rights Reserved.
********************************************************************/
/* file name: cbiditst.h
-* encoding: US-ASCII
+* encoding: UTF-8
* tab size: 8 (not used)
* indentation:4
*
#include "unicode/uchar.h"
#include "unicode/ubidi.h"
-#ifdef XP_CPLUSPLUS
+#ifdef __cplusplus
extern "C" {
#endif
#define MAX_STRING_LENGTH 200
-/* length of an array */
-#define ARRAY_LENGTH(array) (sizeof(array)/sizeof(array[0]))
-
/* Comparing the description of the BiDi algorithm with this implementation
is easier with the same names for the BiDi types in the code as there.
See UCharDirection in uchar.h .
*/
-enum {
- L= U_LEFT_TO_RIGHT,
- R= U_RIGHT_TO_LEFT,
- EN= U_EUROPEAN_NUMBER,
- ES= U_EUROPEAN_NUMBER_SEPARATOR,
- ET= U_EUROPEAN_NUMBER_TERMINATOR,
- AN= U_ARABIC_NUMBER,
- CS= U_COMMON_NUMBER_SEPARATOR,
- B= U_BLOCK_SEPARATOR,
- S= U_SEGMENT_SEPARATOR,
- WS= U_WHITE_SPACE_NEUTRAL,
- ON= U_OTHER_NEUTRAL,
- LRE=U_LEFT_TO_RIGHT_EMBEDDING,
- LRO=U_LEFT_TO_RIGHT_OVERRIDE,
- AL= U_RIGHT_TO_LEFT_ARABIC,
- RLE=U_RIGHT_TO_LEFT_EMBEDDING,
- RLO=U_RIGHT_TO_LEFT_OVERRIDE,
- PDF=U_POP_DIRECTIONAL_FORMAT,
- NSM=U_DIR_NON_SPACING_MARK,
- BN= U_BOUNDARY_NEUTRAL,
- dirPropCount
-};
+#define L U_LEFT_TO_RIGHT
+#define R U_RIGHT_TO_LEFT
+#define EN U_EUROPEAN_NUMBER
+#define ES U_EUROPEAN_NUMBER_SEPARATOR
+#define ET U_EUROPEAN_NUMBER_TERMINATOR
+#define AN U_ARABIC_NUMBER
+#define CS U_COMMON_NUMBER_SEPARATOR
+#define B U_BLOCK_SEPARATOR
+#define S U_SEGMENT_SEPARATOR
+#define WS U_WHITE_SPACE_NEUTRAL
+#define ON U_OTHER_NEUTRAL
+#define LRE U_LEFT_TO_RIGHT_EMBEDDING
+#define LRO U_LEFT_TO_RIGHT_OVERRIDE
+#define AL U_RIGHT_TO_LEFT_ARABIC
+#define RLE U_RIGHT_TO_LEFT_EMBEDDING
+#define RLO U_RIGHT_TO_LEFT_OVERRIDE
+#define PDF U_POP_DIRECTIONAL_FORMAT
+#define NSM U_DIR_NON_SPACING_MARK
+#define BN U_BOUNDARY_NEUTRAL
+#define FSI U_FIRST_STRONG_ISOLATE
+#define LRI U_LEFT_TO_RIGHT_ISOLATE
+#define RLI U_RIGHT_TO_LEFT_ISOLATE
+#define PDI U_POP_DIRECTIONAL_ISOLATE
-extern const char *
-dirPropNames[dirPropCount];
+extern const char * const
+dirPropNames[U_CHAR_DIRECTION_COUNT];
-extern const UChar
-charFromDirProp[dirPropCount];
+extern UChar
+charFromDirProp[U_CHAR_DIRECTION_COUNT];
typedef struct {
const uint8_t *text;
const uint8_t *visualMap;
} BiDiTestData;
-extern BiDiTestData
+extern const BiDiTestData
tests[];
-extern int
+extern const int
bidiTestCount;
-#ifdef XP_CPLUSPLUS
+#ifdef __cplusplus
}
#endif