scuffed-code/icu4c/source/test/cintltst/cbiditst.h

87 lines
2.1 KiB
C

/********************************************************************
* 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