fribidi_log2vis(3) Programmer's Manual fribidi_log2vis(3) NAME fribidi_log2vis - get visual string SYNOPSIS #include <../fribidi/lib/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. 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. RETURNS Maximum level found plus one, or zero if any error occurred (memory allocation failure most probably). 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_charset_to_unicode(3), fribidi_unicode_to_charset(3), fribidi_parse_charset(3), fribidi_debug_status(3), fribidi_set_debug(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) c2man fribidi.h 26 September 2024 fribidi_log2vis(3)