NAME
fribidi_log2vis - get visual string
SYNOPSIS
#include <fribidi.h>
FriBidiLevel fribidi_log2vis
(
const FriBidiChar *str,
const FriBidiStrIndex len,
FriBidiParType *pbase_dir,
FriBidiChar *visual_str,
FriBidiStrIndex *positions_L_to_V,
FriBidiStrIndex *positions_V_to_L,
FriBidiLevel *embedding_levels
);
PARAMETERS
const FriBidiChar *str
Input logical string.
const FriBidiStrIndex len
Input string length.
FriBidiParType *pbase_dir
Requested and resolved paragraph base direction.
Possible values for a FriBidiParType are as follows:
FRIBIDI_PAR_LTR Left-To-Right paragraph.
FRIBIDI_PAR_RTL Right-To-Left paragraph.
FRIBIDI_PAR_ON DirectiOn-Neutral paragraph.
FRIBIDI_PAR_WLTR Weak Left To Right paragraph.
FRIBIDI_PAR_WRTL Weak Right To Left paragraph.
FriBidiChar *visual_str
Output visual string.
FriBidiStrIndex *positions_L_to_V
Output mapping from logical to visual string positions.
FriBidiStrIndex *positions_V_to_L
Output mapping from visual string back to the logical string
positions.
FriBidiLevel *embedding_levels
Output list of embedding levels.
DESCRIPTION
This function converts the logical input string to the visual output
strings as specified by the Unicode Bidirectional Algorithm. As a side
effect it also generates mapping lists between the two strings, and the
list of embedding levels as defined by the algorithm.
If NULL is passed as any of the the lists, the list is ignored and not
filled.
This function is obsolete because it only handles one-line paragraphs.
Please consider using other functions instead. Deprecated.
RETURNS
Maximum level found plus one, or zero if any error occured (memory
allocation failure most probably).
SEE ALSO
fribidi_charset_to_unicode(3), fribidi_unicode_to_charset(3),
fribidi_parse_charset(3), fribidi_shape_arabic(3),
fribidi_get_par_direction(3), fribidi_get_par_embedding_levels(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_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_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_shape(3)