manpagez: man pages & more
man fribidi_log2vis(3)
Home | html | info | man
fribidi_log2vis(3)            Programmer's Manual           fribidi_log2vis(3)




NAME

       fribidi_log2vis - get visual string


SYNOPSIS

       #include <fribidi.h>

       extern 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-  para-
       graph texts it is necessary to first split the text into separate para-
       graphs and then carry over the resolved pbase_dir  between  the  subse-
       quent 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_uni-
       code_to_charset(3),   fribidi_parse_charset(3),  fribidi_mirroring_sta-
       tus(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                  2 March 2020               fribidi_log2vis(3)

fribidi 1.0.9 - Generated Wed Apr 8 20:37:11 CDT 2020
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.