fribidi_shape_arabic man page

fribidi_shape_arabic — do Arabic shaping

Synopsis

#include <fribidi.h>

extern void fribidi_shape_arabic
(
FriBidiFlags flags,
const FriBidiLevel *embedding_levels,
const FriBidiStrIndex len,
FriBidiArabicProp *ar_props,
FriBidiChar *str
);

Parameters

FriBidiFlags flags

Shaping flags.

const FriBidiLevel *embedding_levels

Not Documented.

const FriBidiStrIndex len

Input string length.

FriBidiArabicProp *ar_props

Input/output Arabic properties as computed by fribidi_join_arabic.

FriBidiChar *str

String to shape.

Description

The actual shaping that is done depends on the flags set.  Only flags starting with FRIBIDI_FLAG_SHAPE_ARAB_ affect this function. Currently these are:

* FRIBIDI_FLAG_SHAPE_MIRRORING: Do mirroring.
* FRIBIDI_FLAG_SHAPE_ARAB_PRES: Shape Arabic characters to their presentation form glyphs.
* FRIBIDI_FLAG_SHAPE_ARAB_LIGA: Form mandatory Arabic ligatures.
* FRIBIDI_FLAG_SHAPE_ARAB_CONSOLE: Perform additional Arabic shaping suitable for text rendered on grid terminals with no mark rendering capabilities.

Of the above, FRIBIDI_FLAG_SHAPE_ARAB_CONSOLE is only used in special cases, but the rest are recommended in any environment that doesn't have other means for doing Arabic shaping.  The set of extra flags that enable this level of Arabic support has a shortcut named FRIBIDI_FLAGS_ARABIC.

See Also

fribidi_get_par_direction(3), fribidi_get_par_embedding_levels_ex(3), fribidi_reorder_line(3), fribidi_get_bidi_type(3), fribidi_get_bidi_types(3), fribidi_get_bidi_type_name(3), fribidi_debug_status(3), fribidi_set_debug(3), fribidi_charset_to_unicode(3), fribidi_unicode_to_charset(3), fribidi_parse_charset(3), fribidi_mirroring_status(3), fribidi_set_mirroring(3), fribidi_reorder_nsm_status(3), fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), fribidi_remove_bidi_marks(3), fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), fribidi_get_joining_types(3), fribidi_get_joining_type_name(3), fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), fribidi_shape(3)

Referenced By

fribidi_charset_to_unicode(3), fribidi_debug_status(3), fribidi_get_bidi_type(3), fribidi_get_bidi_type_name(3), fribidi_get_bidi_types(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), fribidi_get_joining_type(3), fribidi_get_joining_type_name(3), fribidi_get_joining_types(3), fribidi_get_mirror_char(3), fribidi_get_par_direction(3), fribidi_get_par_embedding_levels(3), fribidi_get_par_embedding_levels_ex(3), fribidi_get_type(3), fribidi_get_type_internal(3), fribidi_join_arabic(3), fribidi_log2vis(3), fribidi_log2vis_get_embedding_levels(3), fribidi_mirroring_status(3), fribidi_parse_charset(3), fribidi_remove_bidi_marks(3), fribidi_reorder_line(3), fribidi_reorder_nsm_status(3), fribidi_set_debug(3), fribidi_set_mirroring(3), fribidi_set_reorder_nsm(3), fribidi_shape(3), fribidi_shape_mirroring(3), fribidi_unicode_to_charset(3).

19 February 2018 c2man fribidi-arabic.h Programmer's Manual