1fribidi_shape(3) Programmer's Manual fribidi_shape(3)
2
3
4
6 fribidi_shape - do bidi-aware shaping
7
9 #include <fribidi.h>
10
11 void fribidi_shape
12 (
13 FriBidiFlags flags,
14 const FriBidiLevel *embedding_levels,
15 const FriBidiStrIndex len,
16 FriBidiArabicProp *ar_props,
17 FriBidiChar *str
18 );
19
21 FriBidiFlags flags
22 Shaping flags.
23
24 const FriBidiLevel *embedding_levels
25 Input list of embedding levels, as returned by
26 fribidi_get_par_embedding_levels.
27
28 const FriBidiStrIndex len
29 Input string length.
30
31 FriBidiArabicProp *ar_props
32 Input/output Arabic properties as computed by fribidi_join_ara‐
33 bic.
34
35 FriBidiChar *str
36 String to shape.
37
39 This function does all shaping work that depends on the resolved embed‐
40 ding levels of the characters. Currently it does mirroring and Arabic
41 shaping, but the list may grow in the future. This function is a wrap‐
42 per around fribidi_shape_mirroring and fribidi_shape_arabic.
43
44 The flags parameter specifies which shapings are applied. The only
45 flags affecting the functionality of this function are those beginning
46 with FRIBIDI_FLAG_SHAPE_. Of these, only FRIBIDI_FLAG_SHAPE_MIRRORING
47 is on in FRIBIDI_FLAGS_DEFAULT. For details of the Arabic-specific
48 flags see fribidi_shape_arabic. If ar_props is NULL, no Arabic shaping
49 is performed.
50
51 Feel free to do your own shaping before or after calling this function,
52 but you should take care of embedding levels yourself then.
53
55 fribidi_charset_to_unicode(3), fribidi_unicode_to_charset(3),
56 fribidi_parse_charset(3), fribidi_shape_arabic(3),
57 fribidi_get_par_direction(3), fribidi_get_par_embedding_levels(3),
58 fribidi_reorder_line(3), fribidi_get_bidi_type(3),
59 fribidi_get_bidi_types(3), fribidi_get_bidi_type_name(3),
60 fribidi_debug_status(3), fribidi_mirroring_status(3), fribidi_set_mir‐
61 roring(3), fribidi_reorder_nsm_status(3), fribidi_set_reorder_nsm(3),
62 fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3),
63 fribidi_get_type_internal(3), fribidi_remove_bidi_marks(3),
64 fribidi_log2vis(3), fribidi_join_arabic(3), fribidi_get_join‐
65 ing_type(3), fribidi_get_joining_types(3), fribidi_get_join‐
66 ing_type_name(3), fribidi_get_mirror_char(3), fribidi_shape_mirror‐
67 ing(3)
68
69
70
71GNU FriBidi 0.19.2 30 January 2006 fribidi_shape(3)