chromium/third_party/icu/source/common/ubidi_props.h

// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
/*
*******************************************************************************
*
*   Copyright (C) 2004-2014, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  ubidi_props.h
*   encoding:   UTF-8
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2004dec30
*   created by: Markus W. Scherer
*
*   Low-level Unicode bidi/shaping properties access.
*/

#ifndef __UBIDI_PROPS_H__
#define __UBIDI_PROPS_H__

#include "unicode/utypes.h"
#include "unicode/uset.h"
#include "putilimp.h"
#include "uset_imp.h"
#include "udataswp.h"

U_CDECL_BEGIN

/* library API -------------------------------------------------------------- */

U_CFUNC void
ubidi_addPropertyStarts(const USetAdder *sa, UErrorCode *pErrorCode);

/* property access functions */

U_CFUNC int32_t
ubidi_getMaxValue(UProperty which);

U_CAPI UCharDirection
ubidi_getClass(UChar32 c);

U_CFUNC UBool
ubidi_isMirrored(UChar32 c);

U_CFUNC UChar32
ubidi_getMirror(UChar32 c);

U_CFUNC UBool
ubidi_isBidiControl(UChar32 c);

U_CFUNC UBool
ubidi_isJoinControl(UChar32 c);

U_CFUNC UJoiningType
ubidi_getJoiningType(UChar32 c);

U_CFUNC UJoiningGroup
ubidi_getJoiningGroup(UChar32 c);

U_CFUNC UBidiPairedBracketType
ubidi_getPairedBracketType(UChar32 c);

U_CFUNC UChar32
ubidi_getPairedBracket(UChar32 c);

/* file definitions --------------------------------------------------------- */

#define UBIDI_DATA_NAME
#define UBIDI_DATA_TYPE

/* format "BiDi" */
#define UBIDI_FMT_0
#define UBIDI_FMT_1
#define UBIDI_FMT_2
#define UBIDI_FMT_3

/* indexes into indexes[] */
enum {};

/* definitions for 16-bit bidi/shaping properties word ---------------------- */

enum {};

#define UBIDI_CLASS_MASK
#define UBIDI_JT_MASK
#define UBIDI_BPT_MASK

#define UBIDI_MAX_JG_MASK

#define UBIDI_GET_CLASS(props)
#define UBIDI_GET_FLAG(props, shift)

#if U_SIGNED_RIGHT_SHIFT_IS_ARITHMETIC
#define UBIDI_GET_MIRROR_DELTA(props)
#else
#define UBIDI_GET_MIRROR_DELTA
#endif

enum {};

/* definitions for 32-bit mirror table entry -------------------------------- */

enum {};

#define UBIDI_GET_MIRROR_CODE_POINT(m)

#define UBIDI_GET_MIRROR_INDEX(m)

U_CDECL_END

#endif