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

NAME

       fribidi_remove_bidi_marks - remove bidi marks out of an string

SYNOPSIS

       #include <fribidi.h>

       FriBidiStrIndex fribidi_remove_bidi_marks
       (
            FriBidiChar *str,
            const FriBidiStrIndex len,
            FriBidiStrIndex *positions_to_this,
            FriBidiStrIndex *position_from_this_list,
            FriBidiLevel *embedding_levels
       );

PARAMETERS

       FriBidiChar *str
              Input string to clean.

       const FriBidiStrIndex len
              Input string length.

       FriBidiStrIndex *positions_to_this
              List mapping positions to the order used in str.

       FriBidiStrIndex *position_from_this_list
              List mapping positions from the order used in str.

       FriBidiLevel *embedding_levels
              List of embedding levels.

DESCRIPTION

       This  function  removes  the bidi and boundary-neutral marks out of an string and the accompanying lists.
       It    implements    rule    X9    of    the    Unicode    Bidirectional    Algorithm     available     at
       http://www.unicode.org/reports/tr9/#X9,  with the exception that it removes U+200E LEFT-TO-RIGHT MARK and
       U+200F RIGHT-TO-LEFT MARK too.

       If any of the input  lists  are  NULL,  the  list  is  skipped.   If  str  is  the  visual  string,  then
       positions_to_this  is   positions_L_to_V  and position_from_this_list is positions_V_to_L;  if str is the
       logical string, the other way. Moreover, the position maps should be filled with valid entries.

       A position map pointing to a removed character is filled  with  −1.  By  the  way,  you  should  not  use
       embedding_levels if str is visual string.

       For  best  results  this  function  should  be  run  on a whole paragraph, not lines; but feel free to do
       otherwise if you know what you are doing.

RETURNS

       New length of the string, or −1 if an 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_log2vis(3)