fribidi_shape
Section: Programmer's Manual (3)
Updated: 19 February 2018
Page Index
NAME
fribidi_shape - do bidi-aware shaping
SYNOPSIS
#include <fribidi.h>
extern void fribidi_shape
(
FriBidiFlags flags,
const FriBidiLevel *embedding_levels,
const FriBidiStrIndex len,
FriBidiArabicProp *ar_props,
FriBidiChar *str
);
PARAMETERS
- FriBidiFlags flags
-
Shaping flags.
- const FriBidiLevel *embedding_levels
-
Input list of embedding
levels, as returned by
fribidi_get_par_embedding_levels.
- 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
This function does all shaping work that depends on the resolved embedding
levels of the characters. Currently it does mirroring and Arabic shaping,
but the list may grow in the future. This function is a wrapper around
fribidi_shape_mirroring and fribidi_shape_arabic.
The flags parameter specifies which shapings are applied. The only flags
affecting the functionality of this function are those beginning with
FRIBIDI_FLAG_SHAPE_. Of these, only FRIBIDI_FLAG_SHAPE_MIRRORING is on
in FRIBIDI_FLAGS_DEFAULT. For details of the Arabic-specific flags see
fribidi_shape_arabic. If ar_props is NULL, no Arabic shaping is performed.
Feel free to do your own shaping before or after calling this function,
but you should take care of embedding levels yourself then.
SEE ALSO
fribidi_shape_arabic(3),
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)