1fribidi_join_arabic(3)        Programmer's Manual       fribidi_join_arabic(3)
2
3
4

NAME

6       fribidi_join_arabic - do Arabic joining
7

SYNOPSIS

9       #include <fribidi.h>
10
11       void fribidi_join_arabic
12       (
13            const FriBidiCharType *bidi_types,
14            const FriBidiStrIndex len,
15            const FriBidiLevel *embedding_levels,
16            FriBidiArabicProp *ar_props
17       );
18

PARAMETERS

20       const FriBidiCharType *bidi_types
21              Input     list     of     bidi     types    as    returned    by
22              fribidi_get_bidi_types().
23
24              Possible values for a const FriBidiCharType are as follows:
25              FRIBIDI_TYPE_LTR  Left-To-Right letter.
26              FRIBIDI_TYPE_RTL  Right-To-Left letter.
27              FRIBIDI_TYPE_AL   Arabic Letter.
28              FRIBIDI_TYPE_EN   European Numeral.
29              FRIBIDI_TYPE_AN   Arabic Numeral.
30              FRIBIDI_TYPE_ES   European number Separator.
31              FRIBIDI_TYPE_ET   European number Terminator.
32              FRIBIDI_TYPE_CS   Common Separator.
33              FRIBIDI_TYPE_NSM  Non Spacing Mark.
34              FRIBIDI_TYPE_BN   Boundary Neutral.
35              FRIBIDI_TYPE_BS   Block Separator.
36              FRIBIDI_TYPE_SS   Segment Separator.
37              FRIBIDI_TYPE_WS   WhiteSpace.
38              FRIBIDI_TYPE_ON   Other Neutral.
39              FRIBIDI_TYPE_LRE  Left-to-Right Embedding.
40              FRIBIDI_TYPE_RLE  Right-to-Left Embedding.
41              FRIBIDI_TYPE_LRO  Left-to-Right Override.
42              FRIBIDI_TYPE_RLO  Right-to-Left Override.
43              FRIBIDI_TYPE_PDF  Pop Directional Flag.
44
45       const FriBidiStrIndex len
46              Input string length.
47
48       const FriBidiLevel *embedding_levels
49              Input   list   of   embedding    levels,    as    returned    by
50              fribidi_get_par_embedding_levels.
51
52       FriBidiArabicProp *ar_props
53              Arabic  properties  to  analyze, initilized by joining types, as
54              returned by fribidi_get_joining_types.
55

DESCRIPTION

57       This function does the Arabic joining algorithm.  Means,  given  Arabic
58       joining  types of the characters in ar_props (don't worry, FriBidiJoin‐
59       ingType can be casted to FriBidiArabicProp automagically),  this  func‐
60       tion  modifies this properties to grasp the effect of neighboring char‐
61       acters.  You probably need this information later to do Arabic shaping.
62
63       This function implements rules R1 to R7 inclusive (all  rules)  of  the
64       Arabic  Cursive  Joining algorithm of the Unicode standard as available
65       at   http://www.unicode.org/versions/Unicode4.0.0/ch08.pdf#G7462.    It
66       also  interacts  correctly with the bidirection algorithm as defined in
67       Section
68       3.5  Shaping  of  the  Unicode  Bidirectional  Algorithm  available  at
69       http://www.unicode.org/reports/tr9/#Shaping.
70
71       There  are a few macros defined in fribidi-joining-types.h for querying
72       the Arabic properties computed by this function.
73

SEE ALSO

75       fribidi_charset_to_unicode(3),           fribidi_unicode_to_charset(3),
76       fribidi_parse_charset(3),                      fribidi_shape_arabic(3),
77       fribidi_get_par_direction(3),      fribidi_get_par_embedding_levels(3),
78       fribidi_reorder_line(3),                      fribidi_get_bidi_type(3),
79       fribidi_get_bidi_types(3),               fribidi_get_bidi_type_name(3),
80       fribidi_debug_status(3),  fribidi_mirroring_status(3), fribidi_set_mir‐
81       roring(3),  fribidi_reorder_nsm_status(3),  fribidi_set_reorder_nsm(3),
82       fribidi_log2vis_get_embedding_levels(3),           fribidi_get_type(3),
83       fribidi_get_type_internal(3),             fribidi_remove_bidi_marks(3),
84       fribidi_log2vis(3),    fribidi_get_joining_type(3),   fribidi_get_join‐
85       ing_types(3),    fribidi_get_joining_type_name(3),     fribidi_get_mir‐
86       ror_char(3), fribidi_shape_mirroring(3), fribidi_shape(3)
87
88
89
90GNU FriBidi 0.19.2              30 January 2006         fribidi_join_arabic(3)
Impressum