1fribidi_remove_bidi_marks(3) Programmer's Manual fribidi_remove_bidi_marks(3)
2
3
4
6 fribidi_remove_bidi_marks - remove bidi marks out of an string
7
9 #include <fribidi.h>
10
11 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
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
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
57 New length of the string, or -1 if an error occured (memory allocation
58 failure most probably).
59
61 fribidi_charset_to_unicode(3), fribidi_unicode_to_charset(3),
62 fribidi_parse_charset(3), fribidi_shape_arabic(3),
63 fribidi_get_par_direction(3), fribidi_get_par_embedding_levels(3),
64 fribidi_reorder_line(3), fribidi_get_bidi_type(3),
65 fribidi_get_bidi_types(3), fribidi_get_bidi_type_name(3),
66 fribidi_debug_status(3), fribidi_mirroring_status(3), fribidi_set_mir‐
67 roring(3), fribidi_reorder_nsm_status(3), fribidi_set_reorder_nsm(3),
68 fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3),
69 fribidi_get_type_internal(3), fribidi_log2vis(3), fribidi_join_ara‐
70 bic(3), fribidi_get_joining_type(3), fribidi_get_joining_types(3),
71 fribidi_get_joining_type_name(3), fribidi_get_mirror_char(3),
72 fribidi_shape_mirroring(3), fribidi_shape(3)
73
74
75
76GNU FriBidi 0.19.2 30 January 2006 fribidi_remove_bidi_marks(3)