a32f158629b09a7cbc1c2a5d93e78db7d2c570ff
[platform/upstream/fribidi.git] / doc / fribidi_get_par_embedding_levels_ex.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_get_par_embedding_levels_ex" 3 "20 July 2018" "c2man fribidi-bidi.h" "Programmer's Manual"
4 .SH "NAME"
5 fribidi_get_par_embedding_levels_ex \- get bidi embedding levels of a paragraph
6 .SH "SYNOPSIS"
7 .ft B
8 #include <fribidi.h>
9 .sp
10 extern FriBidiLevel fribidi_get_par_embedding_levels_ex
11 .br
12 (
13 .br
14         const FriBidiCharType *bidi_types,
15 .br
16         const FriBidiBracketType *bracket_types,
17 .br
18         const FriBidiStrIndex len,
19 .br
20         FriBidiParType *pbase_dir,
21 .br
22         FriBidiLevel *embedding_levels
23 .br
24 );
25 .ft R
26 .SH "PARAMETERS"
27 .TP
28 .B "const FriBidiCharType *bidi_types"
29 Input list of bidi types as returned by
30 fribidi_get_bidi_types().
31 .sp
32 Since there are 23 possible values for a \fBconst FriBidiCharType\fR, they are not all listed here.
33 .TP
34 .B "const FriBidiBracketType *bracket_types"
35 Input list of bracket types as returned by
36 fribidi_get_bracket_types().
37 .TP
38 .B "const FriBidiStrIndex len"
39 Input string length of the paragraph.
40 .TP
41 .B "FriBidiParType *pbase_dir"
42 Requested and resolved paragraph
43 base direction.
44 .sp
45 Possible values for a \fBFriBidiParType\fR are as follows:
46 .RS 0.75in
47 .PD 0
48 .ft B
49 .nr TL \w'FRIBIDI_PAR_WLTR'u+0.2i
50 .ft R
51 .TP \n(TLu
52 \fBFRIBIDI_PAR_LTR\fR
53 Left-To-Right paragraph.
54 .TP \n(TLu
55 \fBFRIBIDI_PAR_RTL\fR
56 Right-To-Left paragraph.
57 .TP \n(TLu
58 \fBFRIBIDI_PAR_ON\fR
59 DirectiOn-Neutral paragraph.
60 .TP \n(TLu
61 \fBFRIBIDI_PAR_WLTR\fR
62 Weak Left To Right paragraph.
63 .TP \n(TLu
64 \fBFRIBIDI_PAR_WRTL\fR
65 Weak Right To Left paragraph.
66 .RE
67 .PD
68 .TP
69 .B "FriBidiLevel *embedding_levels"
70 Output list of embedding levels.
71 .SH "DESCRIPTION"
72 This function finds the bidi embedding levels of a single paragraph,
73 as defined by the Unicode Bidirectional Algorithm available at
74 http://www.unicode.org/reports/tr9/.  This function implements rules P2 to
75 I1 inclusive, and parts 1 to 3 of L1, except for rule X9 which is
76 implemented in fribidi_remove_bidi_marks().  Part 4 of L1 is implemented
77 in fribidi_reorder_line().
78
79 There are a few macros defined in fribidi-bidi-types.h to work with this
80 embedding levels.
81 .SH "RETURNS"
82 Maximum level found plus one, or zero if any error occurred
83 (memory allocation failure most probably).
84 .SH "SEE ALSO"
85 fribidi_shape_arabic(3),
86 fribidi_get_par_direction(3),
87 fribidi_reorder_line(3),
88 fribidi_get_bidi_type(3),
89 fribidi_get_bidi_types(3),
90 fribidi_get_bidi_type_name(3),
91 fribidi_debug_status(3),
92 fribidi_set_debug(3),
93 fribidi_charset_to_unicode(3),
94 fribidi_unicode_to_charset(3),
95 fribidi_parse_charset(3),
96 fribidi_mirroring_status(3),
97 fribidi_set_mirroring(3),
98 fribidi_reorder_nsm_status(3),
99 fribidi_set_reorder_nsm(3),
100 fribidi_log2vis_get_embedding_levels(3),
101 fribidi_get_type(3),
102 fribidi_get_type_internal(3),
103 fribidi_get_par_embedding_levels(3),
104 fribidi_join_arabic(3),
105 fribidi_get_joining_type(3),
106 fribidi_get_joining_types(3),
107 fribidi_get_joining_type_name(3),
108 fribidi_get_mirror_char(3),
109 fribidi_shape_mirroring(3),
110 fribidi_get_bracket(3),
111 fribidi_get_bracket_types(3),
112 fribidi_shape(3),
113 fribidi_remove_bidi_marks(3)