|
Packit Service |
12e4cd |
.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
|
|
Packit Service |
12e4cd |
.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
|
|
Packit Service |
12e4cd |
.TH "fribidi_reorder_line" 3 "19 February 2018" "c2man fribidi-bidi.h" "Programmer's Manual"
|
|
Packit Service |
12e4cd |
.SH "NAME"
|
|
Packit Service |
12e4cd |
fribidi_reorder_line \- reorder a line of logical string to visual
|
|
Packit Service |
12e4cd |
.SH "SYNOPSIS"
|
|
Packit Service |
12e4cd |
.ft B
|
|
Packit Service |
12e4cd |
#include <fribidi.h>
|
|
Packit Service |
12e4cd |
.sp
|
|
Packit Service |
12e4cd |
extern FriBidiLevel fribidi_reorder_line
|
|
Packit Service |
12e4cd |
.br
|
|
Packit Service |
12e4cd |
(
|
|
Packit Service |
12e4cd |
.br
|
|
Packit Service |
12e4cd |
FriBidiFlags flags,
|
|
Packit Service |
12e4cd |
.br
|
|
Packit Service |
12e4cd |
const FriBidiCharType *bidi_types,
|
|
Packit Service |
12e4cd |
.br
|
|
Packit Service |
12e4cd |
const FriBidiStrIndex len,
|
|
Packit Service |
12e4cd |
.br
|
|
Packit Service |
12e4cd |
const FriBidiStrIndex off,
|
|
Packit Service |
12e4cd |
.br
|
|
Packit Service |
12e4cd |
const FriBidiParType base_dir,
|
|
Packit Service |
12e4cd |
.br
|
|
Packit Service |
12e4cd |
FriBidiLevel *embedding_levels,
|
|
Packit Service |
12e4cd |
.br
|
|
Packit Service |
12e4cd |
FriBidiChar *visual_str,
|
|
Packit Service |
12e4cd |
.br
|
|
Packit Service |
12e4cd |
FriBidiStrIndex *map
|
|
Packit Service |
12e4cd |
.br
|
|
Packit Service |
12e4cd |
);
|
|
Packit Service |
12e4cd |
.ft R
|
|
Packit Service |
12e4cd |
.SH "PARAMETERS"
|
|
Packit Service |
12e4cd |
.TP
|
|
Packit Service |
12e4cd |
.B "FriBidiFlags flags"
|
|
Packit Service |
12e4cd |
Reorder flags.
|
|
Packit Service |
12e4cd |
.TP
|
|
Packit Service |
12e4cd |
.B "const FriBidiCharType *bidi_types"
|
|
Packit Service |
12e4cd |
Input list of bidi types as returned by
|
|
Packit Service |
12e4cd |
fribidi_get_bidi_types().
|
|
Packit Service |
12e4cd |
.sp
|
|
Packit Service |
12e4cd |
Since there are 23 possible values for a \fBconst FriBidiCharType\fR, they are not all listed here.
|
|
Packit Service |
12e4cd |
.TP
|
|
Packit Service |
12e4cd |
.B "const FriBidiStrIndex len"
|
|
Packit Service |
12e4cd |
Input length of the line.
|
|
Packit Service |
12e4cd |
.TP
|
|
Packit Service |
12e4cd |
.B "const FriBidiStrIndex off"
|
|
Packit Service |
12e4cd |
Input offset of the beginning of the line
|
|
Packit Service |
12e4cd |
in the paragraph.
|
|
Packit Service |
12e4cd |
.TP
|
|
Packit Service |
12e4cd |
.B "const FriBidiParType base_dir"
|
|
Packit Service |
12e4cd |
Resolved paragraph base direction.
|
|
Packit Service |
12e4cd |
.sp
|
|
Packit Service |
12e4cd |
Possible values for a \fBconst FriBidiParType\fR are as follows:
|
|
Packit Service |
12e4cd |
.RS 0.75in
|
|
Packit Service |
12e4cd |
.PD 0
|
|
Packit Service |
12e4cd |
.ft B
|
|
Packit Service |
12e4cd |
.nr TL \w'FRIBIDI_PAR_WLTR'u+0.2i
|
|
Packit Service |
12e4cd |
.ft R
|
|
Packit Service |
12e4cd |
.TP \n(TLu
|
|
Packit Service |
12e4cd |
\fBFRIBIDI_PAR_LTR\fR
|
|
Packit Service |
12e4cd |
Left-To-Right paragraph.
|
|
Packit Service |
12e4cd |
.TP \n(TLu
|
|
Packit Service |
12e4cd |
\fBFRIBIDI_PAR_RTL\fR
|
|
Packit Service |
12e4cd |
Right-To-Left paragraph.
|
|
Packit Service |
12e4cd |
.TP \n(TLu
|
|
Packit Service |
12e4cd |
\fBFRIBIDI_PAR_ON\fR
|
|
Packit Service |
12e4cd |
DirectiOn-Neutral paragraph.
|
|
Packit Service |
12e4cd |
.TP \n(TLu
|
|
Packit Service |
12e4cd |
\fBFRIBIDI_PAR_WLTR\fR
|
|
Packit Service |
12e4cd |
Weak Left To Right paragraph.
|
|
Packit Service |
12e4cd |
.TP \n(TLu
|
|
Packit Service |
12e4cd |
\fBFRIBIDI_PAR_WRTL\fR
|
|
Packit Service |
12e4cd |
Weak Right To Left paragraph.
|
|
Packit Service |
12e4cd |
.RE
|
|
Packit Service |
12e4cd |
.PD
|
|
Packit Service |
12e4cd |
.TP
|
|
Packit Service |
12e4cd |
.B "FriBidiLevel *embedding_levels"
|
|
Packit Service |
12e4cd |
Input list of embedding levels,
|
|
Packit Service |
12e4cd |
as returned by
|
|
Packit Service |
12e4cd |
fribidi_get_par_embedding_levels.
|
|
Packit Service |
12e4cd |
.TP
|
|
Packit Service |
12e4cd |
.B "FriBidiChar *visual_str"
|
|
Packit Service |
12e4cd |
Visual string to reorder.
|
|
Packit Service |
12e4cd |
.TP
|
|
Packit Service |
12e4cd |
.B "FriBidiStrIndex *map"
|
|
Packit Service |
12e4cd |
A map of string indices which is reordered
|
|
Packit Service |
12e4cd |
to reflect where each glyph ends up.
|
|
Packit Service |
12e4cd |
.SH "DESCRIPTION"
|
|
Packit Service |
12e4cd |
This function reorders the characters in a line of text from logical to
|
|
Packit Service |
12e4cd |
final visual order. This function implements part 4 of rule L1, and rules
|
|
Packit Service |
12e4cd |
L2 and L3 of the Unicode Bidirectional Algorithm available at
|
|
Packit Service |
12e4cd |
http://www.unicode.org/reports/tr9/#Reordering_Resolved_Levels.
|
|
Packit Service |
12e4cd |
|
|
Packit Service |
12e4cd |
As a side effect it also sets position maps if not NULL.
|
|
Packit Service |
12e4cd |
|
|
Packit Service |
12e4cd |
You should provide the resolved paragraph direction and embedding levels as
|
|
Packit Service |
12e4cd |
set by fribidi_get_par_embedding_levels(). Also note that the embedding
|
|
Packit Service |
12e4cd |
levels may change a bit. To be exact, the embedding level of any sequence
|
|
Packit Service |
12e4cd |
of white space at the end of line is reset to the paragraph embedding level
|
|
Packit Service |
12e4cd |
(That is part 4 of rule L1).
|
|
Packit Service |
12e4cd |
|
|
Packit Service |
12e4cd |
Note that the bidi types and embedding levels are not reordered. You can
|
|
Packit Service |
12e4cd |
reorder these (or any other) arrays using the map later. The user is
|
|
Packit Service |
12e4cd |
responsible to initialize map to something sensible, like an identity
|
|
Packit Service |
12e4cd |
mapping, or pass NULL if no map is needed.
|
|
Packit Service |
12e4cd |
|
|
Packit Service |
12e4cd |
There is an optional part to this function, which is whether non-spacing
|
|
Packit Service |
12e4cd |
marks for right-to-left parts of the text should be reordered to come after
|
|
Packit Service |
12e4cd |
their base characters in the visual string or not. Most rendering engines
|
|
Packit Service |
12e4cd |
expect this behavior, but console-based systems for example do not like it.
|
|
Packit Service |
12e4cd |
This is controlled by the FRIBIDI_FLAG_REORDER_NSM flag. The flag is on
|
|
Packit Service |
12e4cd |
in FRIBIDI_FLAGS_DEFAULT.
|
|
Packit Service |
12e4cd |
.SH "RETURNS"
|
|
Packit Service |
12e4cd |
Maximum level found in this line plus one, or zero if any error
|
|
Packit Service |
12e4cd |
occurred (memory allocation failure most probably).
|
|
Packit Service |
12e4cd |
.SH "SEE ALSO"
|
|
Packit Service |
12e4cd |
fribidi_shape_arabic(3),
|
|
Packit Service |
12e4cd |
fribidi_get_par_direction(3),
|
|
Packit Service |
12e4cd |
fribidi_get_par_embedding_levels_ex(3),
|
|
Packit Service |
12e4cd |
fribidi_get_bidi_type(3),
|
|
Packit Service |
12e4cd |
fribidi_get_bidi_types(3),
|
|
Packit Service |
12e4cd |
fribidi_get_bidi_type_name(3),
|
|
Packit Service |
12e4cd |
fribidi_debug_status(3),
|
|
Packit Service |
12e4cd |
fribidi_set_debug(3),
|
|
Packit Service |
12e4cd |
fribidi_charset_to_unicode(3),
|
|
Packit Service |
12e4cd |
fribidi_unicode_to_charset(3),
|
|
Packit Service |
12e4cd |
fribidi_parse_charset(3),
|
|
Packit Service |
12e4cd |
fribidi_mirroring_status(3),
|
|
Packit Service |
12e4cd |
fribidi_set_mirroring(3),
|
|
Packit Service |
12e4cd |
fribidi_reorder_nsm_status(3),
|
|
Packit Service |
12e4cd |
fribidi_set_reorder_nsm(3),
|
|
Packit Service |
12e4cd |
fribidi_log2vis_get_embedding_levels(3),
|
|
Packit Service |
12e4cd |
fribidi_get_type(3),
|
|
Packit Service |
12e4cd |
fribidi_get_type_internal(3),
|
|
Packit Service |
12e4cd |
fribidi_remove_bidi_marks(3),
|
|
Packit Service |
12e4cd |
fribidi_log2vis(3),
|
|
Packit Service |
12e4cd |
fribidi_get_par_embedding_levels(3),
|
|
Packit Service |
12e4cd |
fribidi_join_arabic(3),
|
|
Packit Service |
12e4cd |
fribidi_get_joining_type(3),
|
|
Packit Service |
12e4cd |
fribidi_get_joining_types(3),
|
|
Packit Service |
12e4cd |
fribidi_get_joining_type_name(3),
|
|
Packit Service |
12e4cd |
fribidi_get_mirror_char(3),
|
|
Packit Service |
12e4cd |
fribidi_shape_mirroring(3),
|
|
Packit Service |
12e4cd |
fribidi_get_bracket(3),
|
|
Packit Service |
12e4cd |
fribidi_get_bracket_types(3),
|
|
Packit Service |
12e4cd |
fribidi_shape(3)
|