NAME
fribidi_get_par_direction - get base paragraph direction
SYNOPSIS
#include <fribidi.h>
FriBidiParType fribidi_get_par_direction
(
const FriBidiCharType *bidi_types,
const FriBidiStrIndex len
);
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.
DESCRIPTION
This function finds the base direction of a single paragraph, as
defined by rule P2 of the Unicode Bidirectional Algorithm available at
http://www.unicode.org/reports/tr9/#P2.
You typically do not need this function as
fribidi_get_par_embedding_levels() knows how to compute base direction
itself, but you may need this to implement a more sophisticated
paragraph direction handling. Note that you can pass more than a
paragraph to this function and the direction of the first non-neutral
paragraph is returned, which is a very good heuristic to set direction
of the neutral paragraphs at the beginning of text. For other neutral
paragraphs, you better use the direction of the previous paragraph.
RETURNS
Base pargraph direction. No weak paragraph direction is returned, only
LTR, RTL, or ON.
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.
SEE ALSO
fribidi_charset_to_unicode(3), fribidi_unicode_to_charset(3),
fribidi_parse_charset(3), fribidi_shape_arabic(3),
fribidi_get_par_embedding_levels(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)