Merge branch 'upstream' into tizen
[platform/upstream/fribidi.git] / doc / fribidi_get_par_direction.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_direction" 3 "1 February 2013" "GNU FriBidi 0.19.7" "Programmer's Manual"
4 .SH "NAME"
5 fribidi_get_par_direction \- get base paragraph direction
6 .SH "SYNOPSIS"
7 .ft B
8 #include <fribidi.h>
9 .sp
10 FriBidiParType fribidi_get_par_direction
11 .br
12 (
13 .br
14         const FriBidiCharType *bidi_types,
15 .br
16         const FriBidiStrIndex len
17 .br
18 );
19 .ft R
20 .SH "PARAMETERS"
21 .TP
22 .B "const FriBidiCharType *bidi_types"
23 Input list of bidi types as returned by
24 fribidi_get_bidi_types().
25 .sp
26 Possible values for a \fBconst FriBidiCharType\fR are as follows:
27 .RS 0.75in
28 .PD 0
29 .ft B
30 .nr TL \w'FRIBIDI_TYPE_LTR'u+0.2i
31 .ft R
32 .TP \n(TLu
33 \fBFRIBIDI_TYPE_LTR\fR
34 Left-To-Right letter.
35 .TP \n(TLu
36 \fBFRIBIDI_TYPE_RTL\fR
37 Right-To-Left letter.
38 .TP \n(TLu
39 \fBFRIBIDI_TYPE_AL\fR
40 Arabic Letter.
41 .TP \n(TLu
42 \fBFRIBIDI_TYPE_EN\fR
43 European Numeral.
44 .TP \n(TLu
45 \fBFRIBIDI_TYPE_AN\fR
46 Arabic Numeral.
47 .TP \n(TLu
48 \fBFRIBIDI_TYPE_ES\fR
49 European number Separator.
50 .TP \n(TLu
51 \fBFRIBIDI_TYPE_ET\fR
52 European number Terminator.
53 .TP \n(TLu
54 \fBFRIBIDI_TYPE_CS\fR
55 Common Separator.
56 .TP \n(TLu
57 \fBFRIBIDI_TYPE_NSM\fR
58 Non Spacing Mark.
59 .TP \n(TLu
60 \fBFRIBIDI_TYPE_BN\fR
61 Boundary Neutral.
62 .TP \n(TLu
63 \fBFRIBIDI_TYPE_BS\fR
64 Block Separator.
65 .TP \n(TLu
66 \fBFRIBIDI_TYPE_SS\fR
67 Segment Separator.
68 .TP \n(TLu
69 \fBFRIBIDI_TYPE_WS\fR
70 WhiteSpace.
71 .TP \n(TLu
72 \fBFRIBIDI_TYPE_ON\fR
73 Other Neutral.
74 .TP \n(TLu
75 \fBFRIBIDI_TYPE_LRE\fR
76 Left-to-Right Embedding.
77 .TP \n(TLu
78 \fBFRIBIDI_TYPE_RLE\fR
79 Right-to-Left Embedding.
80 .TP \n(TLu
81 \fBFRIBIDI_TYPE_LRO\fR
82 Left-to-Right Override.
83 .TP \n(TLu
84 \fBFRIBIDI_TYPE_RLO\fR
85 Right-to-Left Override.
86 .TP \n(TLu
87 \fBFRIBIDI_TYPE_PDF\fR
88 Pop Directional Flag.
89 .RE
90 .PD
91 .TP
92 .B "const FriBidiStrIndex len"
93 Input string length.
94 .SH "DESCRIPTION"
95 This function finds the base direction of a single paragraph,
96 as defined by rule P2 of the Unicode Bidirectional Algorithm available at
97 http://www.unicode.org/reports/tr9/#P2.
98
99 You typically do not need this function as
100 fribidi_get_par_embedding_levels() knows how to compute base direction
101 itself, but you may need this to implement a more sophisticated paragraph
102 direction handling.  Note that you can pass more than a paragraph to this
103 function and the direction of the first non-neutral paragraph is returned,
104 which is a very good heuristic to set direction of the neutral paragraphs
105 at the beginning of text.  For other neutral paragraphs, you better use the
106 direction of the previous paragraph.
107 .SH "RETURNS"
108 Base pargraph direction.  No weak paragraph direction is returned,
109 only LTR, RTL, or ON.
110 .sp
111 Possible values for a \fBFriBidiParType\fR are as follows:
112 .RS 0.75in
113 .PD 0
114 .ft B
115 .nr TL \w'FRIBIDI_PAR_WLTR'u+0.2i
116 .ft R
117 .TP \n(TLu
118 \fBFRIBIDI_PAR_LTR\fR
119 Left-To-Right paragraph.
120 .TP \n(TLu
121 \fBFRIBIDI_PAR_RTL\fR
122 Right-To-Left paragraph.
123 .TP \n(TLu
124 \fBFRIBIDI_PAR_ON\fR
125 DirectiOn-Neutral paragraph.
126 .TP \n(TLu
127 \fBFRIBIDI_PAR_WLTR\fR
128 Weak Left To Right paragraph.
129 .TP \n(TLu
130 \fBFRIBIDI_PAR_WRTL\fR
131 Weak Right To Left paragraph.
132 .RE
133 .PD
134 .SH "SEE ALSO"
135 fribidi_charset_to_unicode(3),
136 fribidi_unicode_to_charset(3),
137 fribidi_parse_charset(3),
138 fribidi_shape_arabic(3),
139 fribidi_get_par_embedding_levels(3),
140 fribidi_reorder_line(3),
141 fribidi_get_bidi_type(3),
142 fribidi_get_bidi_types(3),
143 fribidi_get_bidi_type_name(3),
144 fribidi_debug_status(3),
145 fribidi_mirroring_status(3),
146 fribidi_set_mirroring(3),
147 fribidi_reorder_nsm_status(3),
148 fribidi_set_reorder_nsm(3),
149 fribidi_log2vis_get_embedding_levels(3),
150 fribidi_get_type(3),
151 fribidi_get_type_internal(3),
152 fribidi_remove_bidi_marks(3),
153 fribidi_log2vis(3),
154 fribidi_join_arabic(3),
155 fribidi_get_joining_type(3),
156 fribidi_get_joining_types(3),
157 fribidi_get_joining_type_name(3),
158 fribidi_get_mirror_char(3),
159 fribidi_shape_mirroring(3),
160 fribidi_shape(3)