ubiditransform.h
Go to the documentation of this file.
/*
******************************************************************************
*
* © 2016 and later: Unicode, Inc. and others.
* License & terms of use: http://www.unicode.org/copyright.html
*
******************************************************************************
* file name: ubiditransform.h
* encoding: UTF-8
* tab size: 8 (not used)
* indentation:4
*
* created on: 2016jul24
* created by: Lina Kemmel
*
*/
#ifndef UBIDITRANSFORM_H
#define UBIDITRANSFORM_H
#include "unicode/utypes.h"
#include "unicode/ubidi.h"
#include "unicode/uchar.h"
#if U_SHOW_CPLUSPLUS_API
#include "unicode/localpointer.h"
#endif // U_SHOW_CPLUSPLUS_API
typedef enum {
UBIDI_LOGICAL = 0,
UBIDI_VISUAL
} UBiDiOrder;
typedef enum {
UBIDI_MIRRORING_OFF = 0,
UBIDI_MIRRORING_ON
} UBiDiMirroring;
typedef struct UBiDiTransform UBiDiTransform;
U_CAPI uint32_t U_EXPORT2
ubiditransform_transform(UBiDiTransform *pBiDiTransform,
const UChar *src, int32_t srcLength,
UChar *dest, int32_t destSize,
UBiDiLevel inParaLevel, UBiDiOrder inOrder,
UBiDiLevel outParaLevel, UBiDiOrder outOrder,
UBiDiMirroring doMirroring, uint32_t shapingOptions,
UErrorCode *pErrorCode);
U_CAPI UBiDiTransform* U_EXPORT2
ubiditransform_open(UErrorCode *pErrorCode);
U_CAPI void U_EXPORT2
ubiditransform_close(UBiDiTransform *pBidiTransform);
#if U_SHOW_CPLUSPLUS_API
U_NAMESPACE_BEGIN
U_DEFINE_LOCAL_OPEN_POINTER(LocalUBiDiTransformPointer, UBiDiTransform, ubiditransform_close);
U_NAMESPACE_END
#endif
#endif
LocalUBiDiTransformPointer
"Smart pointer" class, closes a UBiDiTransform via ubiditransform_close().
localpointer.h
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
U_DEFINE_LOCAL_OPEN_POINTER
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:550
ubidi.h
C API: Bidi algorithm.
UBiDiLevel
uint8_t UBiDiLevel
UBiDiLevel is the type of the level values in this Bidi implementation.
Definition: ubidi.h:340
ubiditransform_close
U_CAPI void ubiditransform_close(UBiDiTransform *pBidiTransform)
Deallocates the given UBiDiTransform object.
ubiditransform_transform
U_CAPI uint32_t ubiditransform_transform(UBiDiTransform *pBiDiTransform, const UChar *src, int32_t srcLength, UChar *dest, int32_t destSize, UBiDiLevel inParaLevel, UBiDiOrder inOrder, UBiDiLevel outParaLevel, UBiDiOrder outOrder, UBiDiMirroring doMirroring, uint32_t shapingOptions, UErrorCode *pErrorCode)
Performs transformation of text from the bidi layout defined by the input ordering scheme to the bidi...
UBiDiTransform
struct UBiDiTransform UBiDiTransform
Forward declaration of the UBiDiTransform structure that stores information used by the layout transf...
Definition: ubiditransform.h:115
ubiditransform_open
U_CAPI UBiDiTransform * ubiditransform_open(UErrorCode *pErrorCode)
Allocates a UBiDiTransform object.
UBiDiOrder
UBiDiOrder
UBiDiOrder indicates the order of text.
Definition: ubiditransform.h:71
UBIDI_LOGICAL
@ UBIDI_LOGICAL
0: Constant indicating a logical order.
Definition: ubiditransform.h:76
UBIDI_VISUAL
@ UBIDI_VISUAL
1: Constant indicating a visual order.
Definition: ubiditransform.h:81
UBiDiMirroring
UBiDiMirroring
UBiDiMirroring indicates whether or not characters with the "mirrored" property in RTL runs should be...
Definition: ubiditransform.h:94
UBIDI_MIRRORING_ON
@ UBIDI_MIRRORING_ON
1: Constant indicating that character mirroring should be performed.
Definition: ubiditransform.h:107
UBIDI_MIRRORING_OFF
@ UBIDI_MIRRORING_OFF
0: Constant indicating that character mirroring should not be performed.
Definition: ubiditransform.h:100
uchar.h
C API: Unicode Properties.
U_CAPI
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:110
UChar
char16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:378
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415