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




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  Uni-
       code    Bidirectional    Algorithm    available    at   http://www.uni-
       code.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  posi-
       tion_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_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_log2vis(3)



c2man fribidi.h                  2 March 2020     fribidi_remove_bidi_marks(3)

fribidi 1.0.9 - Generated Wed Apr 8 16:46:10 CDT 2020
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.