Provided by: libfribidi-dev_1.0.8-2.1ubuntu1_amd64 bug

NAME

       fribidi_join_arabic - do Arabic joining

SYNOPSIS

       #include <fribidi.h>

       extern void fribidi_join_arabic
       (
            const FriBidiCharType *bidi_types,
            const FriBidiStrIndex len,
            const FriBidiLevel *embedding_levels,
            FriBidiArabicProp *ar_props
       );

PARAMETERS

       const FriBidiCharType *bidi_types
              Input list of bidi types as returned by fribidi_get_bidi_types().

              Since  there  are  23 possible values for a const FriBidiCharType, they are not all
              listed here.

       const FriBidiStrIndex len
              Input string length.

       const FriBidiLevel *embedding_levels
              Input list of embedding levels, as returned by fribidi_get_par_embedding_levels.

       FriBidiArabicProp *ar_props
              Arabic properties  to  analyze,  initialized  by  joining  types,  as  returned  by
              fribidi_get_joining_types.

DESCRIPTION

       This function does the Arabic joining algorithm.  Means, given Arabic joining types of the
       characters in ar_props (don't worry, FriBidiJoiningType can be casted to FriBidiArabicProp
       automagically),  this function modifies this properties to grasp the effect of neighboring
       characters.  You probably need this information later to do Arabic shaping.

       This function implements rules R1 to R7  inclusive  (all  rules)  of  the  Arabic  Cursive
       Joining      algorithm     of     the     Unicode     standard     as     available     at
       http://www.unicode.org/versions/Unicode4.0.0/ch08.pdf#G7462.  It also interacts  correctly
       with the bidirection algorithm as defined in Section
       3.5     Shaping     of     the    Unicode    Bidirectional    Algorithm    available    at
       http://www.unicode.org/reports/tr9/#Shaping.

       There are a  few  macros  defined  in  fribidi-joining-types.h  for  querying  the  Arabic
       properties computed by this function.

SEE ALSO

       fribidi_shape_arabic(3),                                     fribidi_get_par_direction(3),
       fribidi_get_par_embedding_levels_ex(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_set_debug(3),    fribidi_charset_to_unicode(3),     fribidi_unicode_to_charset(3),
       fribidi_parse_charset(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_get_par_embedding_levels(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_get_bracket(3),           fribidi_get_bracket_types(3),          fribidi_shape(3),
       fribidi_remove_bidi_marks(3)