Imported Upstream version 1.0.10
[platform/upstream/fribidi.git] / doc / fribidi_remove_bidi_marks.3
1 .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
2 .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
3 .TH "fribidi_remove_bidi_marks" 3 "2 March 2020" "c2man fribidi.h" "Programmer's Manual"
4 .SH "NAME"
5 fribidi_remove_bidi_marks \- remove bidi marks out of an string
6 .SH "SYNOPSIS"
7 .ft B
8 #include <fribidi.h>
9 .sp
10 extern FriBidiStrIndex fribidi_remove_bidi_marks
11 .br
12 (
13 .br
14         FriBidiChar *str,
15 .br
16         const FriBidiStrIndex len,
17 .br
18         FriBidiStrIndex *positions_to_this,
19 .br
20         FriBidiStrIndex *position_from_this_list,
21 .br
22         FriBidiLevel *embedding_levels
23 .br
24 );
25 .ft R
26 .SH "PARAMETERS"
27 .TP
28 .B "FriBidiChar *str"
29 Input string to clean.
30 .TP
31 .B "const FriBidiStrIndex len"
32 Input string length.
33 .TP
34 .B "FriBidiStrIndex *positions_to_this"
35 List mapping positions to the
36 order used in str.
37 .TP
38 .B "FriBidiStrIndex *position_from_this_list"
39 List mapping positions from the
40 order used in str.
41 .TP
42 .B "FriBidiLevel *embedding_levels"
43 List of embedding levels.
44 .SH "DESCRIPTION"
45 This function removes the bidi and boundary-neutral marks out of an string
46 and the accompanying lists.  It implements rule X9 of the Unicode
47 Bidirectional Algorithm available at
48 http://www.unicode.org/reports/tr9/#X9, with the exception that it removes
49 U+200E LEFT-TO-RIGHT MARK and U+200F RIGHT-TO-LEFT MARK too.
50
51 If any of the input lists are NULL, the list is skipped.  If str is the
52 visual string, then positions_to_this is  positions_L_to_V and
53 position_from_this_list is positions_V_to_L;  if str is the logical
54 string, the other way. Moreover, the position maps should be filled with
55 valid entries.
56
57 A position map pointing to a removed character is filled with \(mi1. By the
58 way, you should not use embedding_levels if str is visual string.
59
60 For best results this function should be run on a whole paragraph, not
61 lines; but feel free to do otherwise if you know what you are doing.
62 .SH "RETURNS"
63 New length of the string, or \(mi1 if an error occurred (memory
64 allocation failure most probably).
65 .SH "SEE ALSO"
66 fribidi_shape_arabic(3),
67 fribidi_get_par_direction(3),
68 fribidi_get_par_embedding_levels_ex(3),
69 fribidi_reorder_line(3),
70 fribidi_get_bidi_type(3),
71 fribidi_get_bidi_types(3),
72 fribidi_get_bidi_type_name(3),
73 fribidi_debug_status(3),
74 fribidi_set_debug(3),
75 fribidi_charset_to_unicode(3),
76 fribidi_unicode_to_charset(3),
77 fribidi_parse_charset(3),
78 fribidi_mirroring_status(3),
79 fribidi_set_mirroring(3),
80 fribidi_reorder_nsm_status(3),
81 fribidi_set_reorder_nsm(3),
82 fribidi_log2vis_get_embedding_levels(3),
83 fribidi_get_type(3),
84 fribidi_get_type_internal(3),
85 fribidi_get_par_embedding_levels(3),
86 fribidi_join_arabic(3),
87 fribidi_get_joining_type(3),
88 fribidi_get_joining_types(3),
89 fribidi_get_joining_type_name(3),
90 fribidi_get_mirror_char(3),
91 fribidi_shape_mirroring(3),
92 fribidi_get_bracket(3),
93 fribidi_get_bracket_types(3),
94 fribidi_shape(3),
95 fribidi_log2vis(3)