1fribidi_remove_bidi_marks(3)  Programmer's Manual fribidi_remove_bidi_marks(3)
2
3
4

NAME

6       fribidi_remove_bidi_marks - remove bidi marks out of an string
7

SYNOPSIS

9       #include <fribidi.h>
10
11       extern FriBidiStrIndex fribidi_remove_bidi_marks
12       (
13            FriBidiChar *str,
14            const FriBidiStrIndex len,
15            FriBidiStrIndex *positions_to_this,
16            FriBidiStrIndex *position_from_this_list,
17            FriBidiLevel *embedding_levels
18       );
19

PARAMETERS

21       FriBidiChar *str
22              Input string to clean.
23
24       const FriBidiStrIndex len
25              Input string length.
26
27       FriBidiStrIndex *positions_to_this
28              List mapping positions to the order used in str.
29
30       FriBidiStrIndex *position_from_this_list
31              List mapping positions from the order used in str.
32
33       FriBidiLevel *embedding_levels
34              List of embedding levels.
35

DESCRIPTION

37       This  function  removes  the  bidi and boundary-neutral marks out of an
38       string and the accompanying lists.  It implements rule X9 of  the  Uni‐
39       code    Bidirectional    Algorithm    available    at   http://www.uni
40       code.org/reports/tr9/#X9, with the exception  that  it  removes  U+200E
41       LEFT-TO-RIGHT MARK and U+200F RIGHT-TO-LEFT MARK too.
42
43       If any of the input lists are NULL, the list is skipped.  If str is the
44       visual string, then positions_to_this is   positions_L_to_V  and  posi‐
45       tion_from_this_list is positions_V_to_L;  if str is the logical string,
46       the other way. Moreover, the position maps should be filled with  valid
47       entries.
48
49       A  position  map  pointing to a removed character is filled with -1. By
50       the way, you should not use embedding_levels if str is visual string.
51
52       For best results this function should be run on a whole paragraph,  not
53       lines;  but  feel  free to do otherwise if you know what you are doing.
54       Deprecated.  Use fribidi_remove_special_chars instead.
55

RETURNS

57       New length of the string, or -1 if an error occurred (memory allocation
58       failure most probably).
59

SEE ALSO

61       fribidi_shape_arabic(3),                  fribidi_get_par_direction(3),
62       fribidi_get_par_embedding_levels_ex(3),        fribidi_reorder_line(3),
63       fribidi_get_bidi_type(3),                    fribidi_get_bidi_types(3),
64       fribidi_get_bidi_type_name(3),                 fribidi_debug_status(3),
65       fribidi_set_debug(3),    fribidi_charset_to_unicode(3),    fribidi_uni‐
66       code_to_charset(3),  fribidi_parse_charset(3),   fribidi_mirroring_sta‐
67       tus(3),     fribidi_set_mirroring(3),    fribidi_reorder_nsm_status(3),
68       fribidi_set_reorder_nsm(3),    fribidi_log2vis_get_embedding_levels(3),
69       fribidi_get_type(3),  fribidi_get_type_internal(3), fribidi_log2vis(3),
70       fribidi_get_par_embedding_levels(3),            fribidi_join_arabic(3),
71       fribidi_get_joining_type(3),              fribidi_get_joining_types(3),
72       fribidi_get_joining_type_name(3),           fribidi_get_mirror_char(3),
73       fribidi_shape_mirroring(3),                     fribidi_get_bracket(3),
74       fribidi_get_bracket_types(3), fribidi_shape(3)
75
76
77
78c2man fribidi-deprecated.h     19 February 2018   fribidi_remove_bidi_marks(3)
Impressum