summaryrefslogtreecommitdiff
path: root/doc/fribidi_get_par_direction.3
blob: d5d64798552724e53c21c710d3151e7c0eaf6b6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
.TH "fribidi_get_par_direction" 3 "1 February 2013" "GNU FriBidi 0.19.7" "Programmer's Manual"
.SH "NAME"
fribidi_get_par_direction \- get base paragraph direction
.SH "SYNOPSIS"
.ft B
#include <fribidi.h>
.sp
FriBidiParType fribidi_get_par_direction
.br
(
.br
	const FriBidiCharType *bidi_types,
.br
	const FriBidiStrIndex len
.br
);
.ft R
.SH "PARAMETERS"
.TP
.B "const FriBidiCharType *bidi_types"
Input list of bidi types as returned by
fribidi_get_bidi_types().
.sp
Possible values for a \fBconst FriBidiCharType\fR are as follows:
.RS 0.75in
.PD 0
.ft B
.nr TL \w'FRIBIDI_TYPE_LTR'u+0.2i
.ft R
.TP \n(TLu
\fBFRIBIDI_TYPE_LTR\fR
Left-To-Right letter.
.TP \n(TLu
\fBFRIBIDI_TYPE_RTL\fR
Right-To-Left letter.
.TP \n(TLu
\fBFRIBIDI_TYPE_AL\fR
Arabic Letter.
.TP \n(TLu
\fBFRIBIDI_TYPE_EN\fR
European Numeral.
.TP \n(TLu
\fBFRIBIDI_TYPE_AN\fR
Arabic Numeral.
.TP \n(TLu
\fBFRIBIDI_TYPE_ES\fR
European number Separator.
.TP \n(TLu
\fBFRIBIDI_TYPE_ET\fR
European number Terminator.
.TP \n(TLu
\fBFRIBIDI_TYPE_CS\fR
Common Separator.
.TP \n(TLu
\fBFRIBIDI_TYPE_NSM\fR
Non Spacing Mark.
.TP \n(TLu
\fBFRIBIDI_TYPE_BN\fR
Boundary Neutral.
.TP \n(TLu
\fBFRIBIDI_TYPE_BS\fR
Block Separator.
.TP \n(TLu
\fBFRIBIDI_TYPE_SS\fR
Segment Separator.
.TP \n(TLu
\fBFRIBIDI_TYPE_WS\fR
WhiteSpace.
.TP \n(TLu
\fBFRIBIDI_TYPE_ON\fR
Other Neutral.
.TP \n(TLu
\fBFRIBIDI_TYPE_LRE\fR
Left-to-Right Embedding.
.TP \n(TLu
\fBFRIBIDI_TYPE_RLE\fR
Right-to-Left Embedding.
.TP \n(TLu
\fBFRIBIDI_TYPE_LRO\fR
Left-to-Right Override.
.TP \n(TLu
\fBFRIBIDI_TYPE_RLO\fR
Right-to-Left Override.
.TP \n(TLu
\fBFRIBIDI_TYPE_PDF\fR
Pop Directional Flag.
.RE
.PD
.TP
.B "const FriBidiStrIndex len"
Input string length.
.SH "DESCRIPTION"
This function finds the base direction of a single paragraph,
as defined by rule P2 of the Unicode Bidirectional Algorithm available at
http://www.unicode.org/reports/tr9/#P2.

You typically do not need this function as
fribidi_get_par_embedding_levels() knows how to compute base direction
itself, but you may need this to implement a more sophisticated paragraph
direction handling.  Note that you can pass more than a paragraph to this
function and the direction of the first non-neutral paragraph is returned,
which is a very good heuristic to set direction of the neutral paragraphs
at the beginning of text.  For other neutral paragraphs, you better use the
direction of the previous paragraph.
.SH "RETURNS"
Base pargraph direction.  No weak paragraph direction is returned,
only LTR, RTL, or ON.
.sp
Possible values for a \fBFriBidiParType\fR are as follows:
.RS 0.75in
.PD 0
.ft B
.nr TL \w'FRIBIDI_PAR_WLTR'u+0.2i
.ft R
.TP \n(TLu
\fBFRIBIDI_PAR_LTR\fR
Left-To-Right paragraph.
.TP \n(TLu
\fBFRIBIDI_PAR_RTL\fR
Right-To-Left paragraph.
.TP \n(TLu
\fBFRIBIDI_PAR_ON\fR
DirectiOn-Neutral paragraph.
.TP \n(TLu
\fBFRIBIDI_PAR_WLTR\fR
Weak Left To Right paragraph.
.TP \n(TLu
\fBFRIBIDI_PAR_WRTL\fR
Weak Right To Left paragraph.
.RE
.PD
.SH "SEE ALSO"
fribidi_charset_to_unicode(3),
fribidi_unicode_to_charset(3),
fribidi_parse_charset(3),
fribidi_shape_arabic(3),
fribidi_get_par_embedding_levels(3),
fribidi_reorder_line(3),
fribidi_get_bidi_type(3),
fribidi_get_bidi_types(3),
fribidi_get_bidi_type_name(3),
fribidi_debug_status(3),
fribidi_mirroring_status(3),
fribidi_set_mirroring(3),
fribidi_reorder_nsm_status(3),
fribidi_set_reorder_nsm(3),
fribidi_log2vis_get_embedding_levels(3),
fribidi_get_type(3),
fribidi_get_type_internal(3),
fribidi_remove_bidi_marks(3),
fribidi_log2vis(3),
fribidi_join_arabic(3),
fribidi_get_joining_type(3),
fribidi_get_joining_types(3),
fribidi_get_joining_type_name(3),
fribidi_get_mirror_char(3),
fribidi_shape_mirroring(3),
fribidi_shape(3)