Provided by: libfribidi-dev_1.0.8-2ubuntu3.1_amd64 bug

NAME

       fribidi_remove_bidi_marks - remove bidi marks out of an string

SYNOPSIS

       #include <fribidi.h>

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

c2man fribidi.h                                  21 October 2019                    fribidi_remove_bidi_marks(3)