Provided by: libfribidi-dev_1.0.13-3build1_amd64 bug

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.

       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_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)