| /******************************************************************** |
| * COPYRIGHT: |
| * Copyright (c) 1997-2013, International Business Machines Corporation and |
| * others. All Rights Reserved. |
| ********************************************************************/ |
| /* file name: cbiditst.h |
| * encoding: US-ASCII |
| * tab size: 8 (not used) |
| * indentation:4 |
| * |
| * created on: 1999sep22 |
| * created by: Markus W. Scherer |
| */ |
| |
| #ifndef CBIDITST_H |
| #define CBIDITST_H |
| |
| #include "unicode/utypes.h" |
| #include "unicode/uchar.h" |
| #include "unicode/ubidi.h" |
| |
| #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 . |
| */ |
| #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 * const |
| dirPropNames[U_CHAR_DIRECTION_COUNT]; |
| |
| extern UChar |
| charFromDirProp[U_CHAR_DIRECTION_COUNT]; |
| |
| typedef struct { |
| const uint8_t *text; |
| int32_t length; |
| UBiDiLevel paraLevel; |
| int32_t lineStart, lineLimit; |
| UBiDiDirection direction; |
| UBiDiLevel resultLevel; |
| const UBiDiLevel *levels; |
| const uint8_t *visualMap; |
| } BiDiTestData; |
| |
| extern const BiDiTestData |
| tests[]; |
| |
| extern const int |
| bidiTestCount; |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif |