Imported Upstream version 1.0.10
[platform/upstream/fribidi.git] / doc / fribidi_log2vis.3
1 .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
2 .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
3 .TH "fribidi_log2vis" 3 "2 March 2020" "c2man fribidi.h" "Programmer's Manual"
4 .SH "NAME"
5 fribidi_log2vis \- get visual string
6 .SH "SYNOPSIS"
7 .ft B
8 #include <fribidi.h>
9 .sp
10 extern FriBidiLevel fribidi_log2vis
11 .br
12 (
13 .br
14         const FriBidiChar *str,
15 .br
16         const FriBidiStrIndex len,
17 .br
18         FriBidiParType *pbase_dir,
19 .br
20         FriBidiChar *visual_str,
21 .br
22         FriBidiStrIndex *positions_L_to_V,
23 .br
24         FriBidiStrIndex *positions_V_to_L,
25 .br
26         FriBidiLevel *embedding_levels
27 .br
28 );
29 .ft R
30 .SH "PARAMETERS"
31 .TP
32 .B "const FriBidiChar *str"
33 Input logical string.
34 .TP
35 .B "const FriBidiStrIndex len"
36 Input string length.
37 .TP
38 .B "FriBidiParType *pbase_dir"
39 Requested and resolved paragraph
40 base direction.
41 .sp
42 Possible values for a \fBFriBidiParType\fR are as follows:
43 .RS 0.75in
44 .PD 0
45 .ft B
46 .nr TL \w'FRIBIDI_PAR_WLTR'u+0.2i
47 .ft R
48 .TP \n(TLu
49 \fBFRIBIDI_PAR_LTR\fR
50 Left-To-Right paragraph.
51 .TP \n(TLu
52 \fBFRIBIDI_PAR_RTL\fR
53 Right-To-Left paragraph.
54 .TP \n(TLu
55 \fBFRIBIDI_PAR_ON\fR
56 DirectiOn-Neutral paragraph.
57 .TP \n(TLu
58 \fBFRIBIDI_PAR_WLTR\fR
59 Weak Left To Right paragraph.
60 .TP \n(TLu
61 \fBFRIBIDI_PAR_WRTL\fR
62 Weak Right To Left paragraph.
63 .RE
64 .PD
65 .TP
66 .B "FriBidiChar *visual_str"
67 Output visual string.
68 .TP
69 .B "FriBidiStrIndex *positions_L_to_V"
70 Output mapping from logical to
71 visual string positions.
72 .TP
73 .B "FriBidiStrIndex *positions_V_to_L"
74 Output mapping from visual string
75 back to the logical string
76 positions.
77 .TP
78 .B "FriBidiLevel *embedding_levels"
79 Output list of embedding levels.
80 .SH "DESCRIPTION"
81 This function converts the logical input string to the visual output
82 strings as specified by the Unicode Bidirectional Algorithm.  As a side
83 effect it also generates mapping lists between the two strings, and the
84 list of embedding levels as defined by the algorithm.
85
86 If NULL is passed as any of the the lists, the list is ignored and not
87 filled.
88
89 Note that this function handles one-line paragraphs. For multi-
90 paragraph texts it is necessary to first split the text into
91 separate paragraphs and then carry over the resolved pbase_dir
92 between the subsequent invocations.
93 .SH "RETURNS"
94 Maximum level found plus one, or zero if any error occurred
95 (memory allocation failure most probably).
96 .SH "SEE ALSO"
97 fribidi_shape_arabic(3),
98 fribidi_get_par_direction(3),
99 fribidi_get_par_embedding_levels_ex(3),
100 fribidi_reorder_line(3),
101 fribidi_get_bidi_type(3),
102 fribidi_get_bidi_types(3),
103 fribidi_get_bidi_type_name(3),
104 fribidi_debug_status(3),
105 fribidi_set_debug(3),
106 fribidi_charset_to_unicode(3),
107 fribidi_unicode_to_charset(3),
108 fribidi_parse_charset(3),
109 fribidi_mirroring_status(3),
110 fribidi_set_mirroring(3),
111 fribidi_reorder_nsm_status(3),
112 fribidi_set_reorder_nsm(3),
113 fribidi_log2vis_get_embedding_levels(3),
114 fribidi_get_type(3),
115 fribidi_get_type_internal(3),
116 fribidi_get_par_embedding_levels(3),
117 fribidi_join_arabic(3),
118 fribidi_get_joining_type(3),
119 fribidi_get_joining_types(3),
120 fribidi_get_joining_type_name(3),
121 fribidi_get_mirror_char(3),
122 fribidi_shape_mirroring(3),
123 fribidi_get_bracket(3),
124 fribidi_get_bracket_types(3),
125 fribidi_shape(3),
126 fribidi_remove_bidi_marks(3)