]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/cintltst/cbiditst.h
ICU-531.30.tar.gz
[apple/icu.git] / icuSources / test / cintltst / cbiditst.h
1 /********************************************************************
2 * COPYRIGHT:
3 * Copyright (c) 1997-2013, International Business Machines Corporation and
4 * others. All Rights Reserved.
5 ********************************************************************/
6 /* file name: cbiditst.h
7 * encoding: US-ASCII
8 * tab size: 8 (not used)
9 * indentation:4
10 *
11 * created on: 1999sep22
12 * created by: Markus W. Scherer
13 */
14
15 #ifndef CBIDITST_H
16 #define CBIDITST_H
17
18 #include "unicode/utypes.h"
19 #include "unicode/uchar.h"
20 #include "unicode/ubidi.h"
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 #define MAX_STRING_LENGTH 200
27
28 /* length of an array */
29 #define ARRAY_LENGTH(array) (sizeof(array)/sizeof(array[0]))
30
31 /* Comparing the description of the BiDi algorithm with this implementation
32 is easier with the same names for the BiDi types in the code as there.
33 See UCharDirection in uchar.h .
34 */
35 #define L U_LEFT_TO_RIGHT
36 #define R U_RIGHT_TO_LEFT
37 #define EN U_EUROPEAN_NUMBER
38 #define ES U_EUROPEAN_NUMBER_SEPARATOR
39 #define ET U_EUROPEAN_NUMBER_TERMINATOR
40 #define AN U_ARABIC_NUMBER
41 #define CS U_COMMON_NUMBER_SEPARATOR
42 #define B U_BLOCK_SEPARATOR
43 #define S U_SEGMENT_SEPARATOR
44 #define WS U_WHITE_SPACE_NEUTRAL
45 #define ON U_OTHER_NEUTRAL
46 #define LRE U_LEFT_TO_RIGHT_EMBEDDING
47 #define LRO U_LEFT_TO_RIGHT_OVERRIDE
48 #define AL U_RIGHT_TO_LEFT_ARABIC
49 #define RLE U_RIGHT_TO_LEFT_EMBEDDING
50 #define RLO U_RIGHT_TO_LEFT_OVERRIDE
51 #define PDF U_POP_DIRECTIONAL_FORMAT
52 #define NSM U_DIR_NON_SPACING_MARK
53 #define BN U_BOUNDARY_NEUTRAL
54 #define FSI U_FIRST_STRONG_ISOLATE
55 #define LRI U_LEFT_TO_RIGHT_ISOLATE
56 #define RLI U_RIGHT_TO_LEFT_ISOLATE
57 #define PDI U_POP_DIRECTIONAL_ISOLATE
58
59 extern const char * const
60 dirPropNames[U_CHAR_DIRECTION_COUNT];
61
62 extern UChar
63 charFromDirProp[U_CHAR_DIRECTION_COUNT];
64
65 typedef struct {
66 const uint8_t *text;
67 int32_t length;
68 UBiDiLevel paraLevel;
69 int32_t lineStart, lineLimit;
70 UBiDiDirection direction;
71 UBiDiLevel resultLevel;
72 const UBiDiLevel *levels;
73 const uint8_t *visualMap;
74 } BiDiTestData;
75
76 extern const BiDiTestData
77 tests[];
78
79 extern const int
80 bidiTestCount;
81
82 #ifdef __cplusplus
83 }
84 #endif
85
86 #endif