noble (3) fribidi_join_arabic.3.gz

Provided by: libfribidi-dev_1.0.13-3build1_amd64 bug

NAME

       fribidi_join_arabic - do Arabic joining

SYNOPSIS

       #include <fribidi.h>

       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), fribidi_log2vis(3)