ICU 68.2: ubiditransform.h Source File

ICU 68.2 68.2

ubiditransform.h
Go to the documentation of this file.
1 /*
2 ******************************************************************************
3 *
4 * © 2016 and later: Unicode, Inc. and others.
5 * License & terms of use: http://www.unicode.org/copyright.html
6 *
7 ******************************************************************************
8 * file name: ubiditransform.h
9 * encoding: UTF-8
10 * tab size: 8 (not used)
11 * indentation:4
12 *
13 * created on: 2016jul24
14 * created by: Lina Kemmel
15 *
16 */
17
18 #ifndef UBIDITRANSFORM_H
19 #define UBIDITRANSFORM_H
20
21 #include "unicode/utypes.h"
22 #include "unicode/ubidi.h"
23 #include "unicode/uchar.h"
24
25 #if U_SHOW_CPLUSPLUS_API
26 #include "unicode/localpointer.h"
27 #endif // U_SHOW_CPLUSPLUS_API
28
71 typedef enum {
76 UBIDI_LOGICAL = 0,
81 UBIDI_VISUAL
82 } UBiDiOrder;
83
94 typedef enum {
100 UBIDI_MIRRORING_OFF = 0,
107 UBIDI_MIRRORING_ON
108 } UBiDiMirroring;
109
115 typedef struct UBiDiTransform UBiDiTransform;
116
251 U_CAPI uint32_t U_EXPORT2
252 ubiditransform_transform(UBiDiTransform *pBiDiTransform,
253 const UChar *src, int32_t srcLength,
254 UChar *dest, int32_t destSize,
255 UBiDiLevel inParaLevel, UBiDiOrder inOrder,
256 UBiDiLevel outParaLevel, UBiDiOrder outOrder,
257 UBiDiMirroring doMirroring, uint32_t shapingOptions,
258 UErrorCode *pErrorCode);
259
297 U_CAPI UBiDiTransform* U_EXPORT2
298 ubiditransform_open(UErrorCode *pErrorCode);
299
304 U_CAPI void U_EXPORT2
305 ubiditransform_close(UBiDiTransform *pBidiTransform);
306
307 #if U_SHOW_CPLUSPLUS_API
308
309 U_NAMESPACE_BEGIN
310
320 U_DEFINE_LOCAL_OPEN_POINTER(LocalUBiDiTransformPointer, UBiDiTransform, ubiditransform_close);
321
322 U_NAMESPACE_END
323
324 #endif
325
326 #endif
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...
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
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:339
ubiditransform_close
U_CAPI void ubiditransform_close(UBiDiTransform *pBidiTransform)
Deallocates the given UBiDiTransform object.
ubiditransform_open
U_CAPI UBiDiTransform * ubiditransform_open(UErrorCode *pErrorCode)
Allocates a UBiDiTransform object.
LocalUBiDiTransformPointer
"Smart pointer" class, closes a UBiDiTransform via ubiditransform_close().
UBIDI_MIRRORING_OFF
@ UBIDI_MIRRORING_OFF
0: Constant indicating that character mirroring should not be performed.
Definition: ubiditransform.h:100
UErrorCode
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415
UBIDI_LOGICAL
@ UBIDI_LOGICAL
0: Constant indicating a logical order.
Definition: ubiditransform.h:76
UBiDiOrder
UBiDiOrder
UBiDiOrder indicates the order of text.
Definition: ubiditransform.h:71
UBIDI_VISUAL
@ UBIDI_VISUAL
1: Constant indicating a visual order.
Definition: ubiditransform.h:81
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
localpointer.h
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
UBiDiMirroring
UBiDiMirroring
UBiDiMirroring indicates whether or not characters with the "mirrored" property in RTL runs should be...
Definition: ubiditransform.h:94
uchar.h
C API: Unicode Properties.
UChar
char16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:418
UBIDI_MIRRORING_ON
@ UBIDI_MIRRORING_ON
1: Constant indicating that character mirroring should be performed.
Definition: ubiditransform.h:107
U_CAPI
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:110
UBiDiTransform
struct UBiDiTransform UBiDiTransform
Forward declaration of the UBiDiTransform structure that stores information used by the layout transf...
Definition: ubiditransform.h:115