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)