fribidi_log2vis(3) | Programmer's Manual | fribidi_log2vis(3) |
fribidi_log2vis - get visual string
#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
);
Possible values for a FriBidiParType are as follows:
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.
Note that this function handles one-line paragraphs. For multi- paragraph texts it is necessary to first split the text into separate paragraphs and then carry over the resolved pbase_dir between the subsequent invocations.
Maximum level found plus one, or zero if any error occurred (memory allocation failure most probably).
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_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), fribidi_remove_bidi_marks(3)
2 June 2021 | c2man fribidi.h |