1fribidi_get_par_embedding_levelPsr(o3g)rammer's Mfarniubaildi_get_par_embedding_levels(3)
2
3
4
6 fribidi_get_par_embedding_levels - get bidi embedding levels of a para‐
7 graph
8
10 #include <fribidi.h>
11
12 FriBidiLevel fribidi_get_par_embedding_levels
13 (
14 const FriBidiCharType *bidi_types,
15 const FriBidiStrIndex len,
16 FriBidiParType *pbase_dir,
17 FriBidiLevel *embedding_levels
18 );
19
21 const FriBidiCharType *bidi_types
22 Input list of bidi types as returned by
23 fribidi_get_bidi_types().
24
25 Possible values for a const FriBidiCharType are as follows:
26 FRIBIDI_TYPE_LTR Left-To-Right letter.
27 FRIBIDI_TYPE_RTL Right-To-Left letter.
28 FRIBIDI_TYPE_AL Arabic Letter.
29 FRIBIDI_TYPE_EN European Numeral.
30 FRIBIDI_TYPE_AN Arabic Numeral.
31 FRIBIDI_TYPE_ES European number Separator.
32 FRIBIDI_TYPE_ET European number Terminator.
33 FRIBIDI_TYPE_CS Common Separator.
34 FRIBIDI_TYPE_NSM Non Spacing Mark.
35 FRIBIDI_TYPE_BN Boundary Neutral.
36 FRIBIDI_TYPE_BS Block Separator.
37 FRIBIDI_TYPE_SS Segment Separator.
38 FRIBIDI_TYPE_WS WhiteSpace.
39 FRIBIDI_TYPE_ON Other Neutral.
40 FRIBIDI_TYPE_LRE Left-to-Right Embedding.
41 FRIBIDI_TYPE_RLE Right-to-Left Embedding.
42 FRIBIDI_TYPE_LRO Left-to-Right Override.
43 FRIBIDI_TYPE_RLO Right-to-Left Override.
44 FRIBIDI_TYPE_PDF Pop Directional Flag.
45
46 const FriBidiStrIndex len
47 Input string length of the paragraph.
48
49 FriBidiParType *pbase_dir
50 Requested and resolved paragraph base direction.
51
52 Possible values for a FriBidiParType are as follows:
53 FRIBIDI_PAR_LTR Left-To-Right paragraph.
54 FRIBIDI_PAR_RTL Right-To-Left paragraph.
55 FRIBIDI_PAR_ON DirectiOn-Neutral paragraph.
56 FRIBIDI_PAR_WLTR Weak Left To Right paragraph.
57 FRIBIDI_PAR_WRTL Weak Right To Left paragraph.
58
59 FriBidiLevel *embedding_levels
60 Output list of embedding levels.
61
63 This function finds the bidi embedding levels of a single paragraph, as
64 defined by the Unicode Bidirectional Algorithm available at
65 http://www.unicode.org/reports/tr9/. This function implements rules P2
66 to I1 inclusive, and parts 1 to 3 of L1, except for rule X9 which is
67 implemented in fribidi_remove_bidi_marks(). Part 4 of L1 is imple‐
68 mented in fribidi_reorder_line().
69
70 There are a few macros defined in fribidi-bidi-types.h to work with
71 this embedding levels.
72
74 Maximum level found plus one, or zero if any error occured (memory
75 allocation failure most probably).
76
78 fribidi_charset_to_unicode(3), fribidi_unicode_to_charset(3),
79 fribidi_parse_charset(3), fribidi_shape_arabic(3),
80 fribidi_get_par_direction(3), fribidi_reorder_line(3),
81 fribidi_get_bidi_type(3), fribidi_get_bidi_types(3),
82 fribidi_get_bidi_type_name(3), fribidi_debug_status(3), fribidi_mirror‐
83 ing_status(3), fribidi_set_mirroring(3), fribidi_reorder_nsm_status(3),
84 fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3),
85 fribidi_get_type(3), fribidi_get_type_internal(3),
86 fribidi_remove_bidi_marks(3), fribidi_log2vis(3), fribidi_join_ara‐
87 bic(3), fribidi_get_joining_type(3), fribidi_get_joining_types(3),
88 fribidi_get_joining_type_name(3), fribidi_get_mirror_char(3),
89 fribidi_shape_mirroring(3), fribidi_shape(3)
90
91
92
93GNU FriBidi 0.19.2 30 January 2f0r0i6bidi_get_par_embedding_levels(3)