fribidi_get_par_embedding_levels_ex
Section: Programmer's Manual (3)
Updated: 19 February 2018
Page Index
NAME
fribidi_get_par_embedding_levels_ex - get bidi embedding levels of a paragraph
SYNOPSIS
#include <fribidi.h>
extern FriBidiLevel fribidi_get_par_embedding_levels_ex
(
const FriBidiCharType *bidi_types,
const FriBidiBracketType *bracket_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().
Since there are 23 possible values for a const FriBidiCharType, they are not all listed here.
- const FriBidiBracketType *bracket_types
-
Input list of bracket types as returned by
fribidi_get_bracket_types().
- 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 occurred
(memory allocation failure most probably).
SEE ALSO
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_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_remove_bidi_marks(3),
fribidi_log2vis(3),
fribidi_get_par_embedding_levels(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_get_bracket(3),
fribidi_get_bracket_types(3),
fribidi_shape(3)