bionic (3) fribidi_get_par_embedding_levels.3.gz

Provided by: libfribidi-dev_0.19.7-2ubuntu0.1_amd64 bug

NAME

       fribidi_get_par_embedding_levels - get bidi embedding levels of a paragraph

SYNOPSIS

       #include <fribidi.h>

       FriBidiLevel fribidi_get_par_embedding_levels
       (
            const FriBidiCharType *bidi_types,
            const FriBidiStrIndex len,
            FriBidiParType *pbase_dir,
            FriBidiLevel *embedding_levels
       );

PARAMETERS

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

              Possible values for a const FriBidiCharType are as follows:
              FRIBIDI_TYPE_LTR  Left-To-Right letter.
              FRIBIDI_TYPE_RTL  Right-To-Left letter.
              FRIBIDI_TYPE_AL   Arabic Letter.
              FRIBIDI_TYPE_EN   European Numeral.
              FRIBIDI_TYPE_AN   Arabic Numeral.
              FRIBIDI_TYPE_ES   European number Separator.
              FRIBIDI_TYPE_ET   European number Terminator.
              FRIBIDI_TYPE_CS   Common Separator.
              FRIBIDI_TYPE_NSM  Non Spacing Mark.
              FRIBIDI_TYPE_BN   Boundary Neutral.
              FRIBIDI_TYPE_BS   Block Separator.
              FRIBIDI_TYPE_SS   Segment Separator.
              FRIBIDI_TYPE_WS   WhiteSpace.
              FRIBIDI_TYPE_ON   Other Neutral.
              FRIBIDI_TYPE_LRE  Left-to-Right Embedding.
              FRIBIDI_TYPE_RLE  Right-to-Left Embedding.
              FRIBIDI_TYPE_LRO  Left-to-Right Override.
              FRIBIDI_TYPE_RLO  Right-to-Left Override.
              FRIBIDI_TYPE_PDF  Pop Directional Flag.

       const FriBidiStrIndex len
              Input string length of the paragraph.

       FriBidiParType *pbase_dir
              Requested and resolved paragraph base direction.

              Possible values for a FriBidiParType are as follows:
              FRIBIDI_PAR_LTR   Left-To-Right paragraph.
              FRIBIDI_PAR_RTL   Right-To-Left paragraph.
              FRIBIDI_PAR_ON    DirectiOn-Neutral paragraph.
              FRIBIDI_PAR_WLTR  Weak Left To Right paragraph.
              FRIBIDI_PAR_WRTL  Weak Right To Left paragraph.

       FriBidiLevel *embedding_levels
              Output list of embedding levels.

DESCRIPTION

       This  function  finds  the  bidi  embedding  levels  of  a  single  paragraph,  as defined by the Unicode
       Bidirectional Algorithm available at http://www.unicode.org/reports/tr9/.  This function implements rules
       P2   to  I1  inclusive,  and  parts  1  to  3  of  L1,  except  for  rule  X9  which  is  implemented  in
       fribidi_remove_bidi_marks().  Part 4 of L1 is implemented in fribidi_reorder_line().

       There are a few macros defined in fribidi-bidi-types.h to work with this embedding levels.

RETURNS

       Maximum level found plus one, or zero if any error occured (memory allocation failure most probably).

SEE ALSO

       fribidi_charset_to_unicode(3),          fribidi_unicode_to_charset(3),          fribidi_parse_charset(3),
       fribidi_shape_arabic(3), fribidi_get_par_direction(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)