f9a89c22d05b95cc5b5757b91e088dcd760e68d9
[platform/upstream/fribidi.git] / doc / fribidi_join_arabic.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_join_arabic" 3 "20 July 2018" "c2man fribidi-joining.h" "Programmer's Manual"
4 .SH "NAME"
5 fribidi_join_arabic \- do Arabic joining
6 .SH "SYNOPSIS"
7 .ft B
8 #include <fribidi.h>
9 .sp
10 extern void fribidi_join_arabic
11 .br
12 (
13 .br
14         const FriBidiCharType *bidi_types,
15 .br
16         const FriBidiStrIndex len,
17 .br
18         const FriBidiLevel *embedding_levels,
19 .br
20         FriBidiArabicProp *ar_props
21 .br
22 );
23 .ft R
24 .SH "PARAMETERS"
25 .TP
26 .B "const FriBidiCharType *bidi_types"
27 Input list of bidi types as
28 returned by
29 fribidi_get_bidi_types().
30 .sp
31 Since there are 23 possible values for a \fBconst FriBidiCharType\fR, they are not all listed here.
32 .TP
33 .B "const FriBidiStrIndex len"
34 Input string length.
35 .TP
36 .B "const FriBidiLevel *embedding_levels"
37 Input list of embedding
38 levels, as returned by
39 fribidi_get_par_embedding_levels.
40 .TP
41 .B "FriBidiArabicProp *ar_props"
42 Arabic properties to analyze, initialized by
43 joining types, as returned by
44 fribidi_get_joining_types.
45 .SH "DESCRIPTION"
46 This function does the Arabic joining algorithm.  Means, given Arabic
47 joining types of the characters in ar_props (don't worry,
48 FriBidiJoiningType can be casted to FriBidiArabicProp automagically), this
49 function modifies this properties to grasp the effect of neighboring
50 characters.  You probably need this information later to do Arabic shaping.
51
52 This function implements rules R1 to R7 inclusive (all rules) of the Arabic
53 Cursive Joining algorithm of the Unicode standard as available at
54 http://www.unicode.org/versions/Unicode4.0.0/ch08.pdf#G7462.  It also
55 interacts correctly with the bidirection algorithm as defined in Section
56 .br
57 3.5 Shaping of the Unicode Bidirectional Algorithm available at
58 http://www.unicode.org/reports/tr9/#Shaping.
59
60 There are a few macros defined in fribidi-joining-types.h for querying the
61 Arabic properties computed by this function.
62 .SH "SEE ALSO"
63 fribidi_shape_arabic(3),
64 fribidi_get_par_direction(3),
65 fribidi_get_par_embedding_levels_ex(3),
66 fribidi_reorder_line(3),
67 fribidi_get_bidi_type(3),
68 fribidi_get_bidi_types(3),
69 fribidi_get_bidi_type_name(3),
70 fribidi_debug_status(3),
71 fribidi_set_debug(3),
72 fribidi_charset_to_unicode(3),
73 fribidi_unicode_to_charset(3),
74 fribidi_parse_charset(3),
75 fribidi_mirroring_status(3),
76 fribidi_set_mirroring(3),
77 fribidi_reorder_nsm_status(3),
78 fribidi_set_reorder_nsm(3),
79 fribidi_log2vis_get_embedding_levels(3),
80 fribidi_get_type(3),
81 fribidi_get_type_internal(3),
82 fribidi_get_par_embedding_levels(3),
83 fribidi_get_joining_type(3),
84 fribidi_get_joining_types(3),
85 fribidi_get_joining_type_name(3),
86 fribidi_get_mirror_char(3),
87 fribidi_shape_mirroring(3),
88 fribidi_get_bracket(3),
89 fribidi_get_bracket_types(3),
90 fribidi_shape(3),
91 fribidi_remove_bidi_marks(3)