ICU 75.1 75.1

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