fribidi_remove_bidi_marks
Section: Programmer's Manual (3)
Updated: 21 October 2019
Index
Return to Main Contents
NAME
fribidi_remove_bidi_marks - remove bidi marks out of an string
SYNOPSIS
#include <fribidi.h>
extern FriBidiStrIndex fribidi_remove_bidi_marks
(
FriBidiChar *str,
const FriBidiStrIndex len,
FriBidiStrIndex *positions_to_this,
FriBidiStrIndex *position_from_this_list,
FriBidiLevel *embedding_levels
);
PARAMETERS
- FriBidiChar *str
-
Input string to clean.
- const FriBidiStrIndex len
-
Input string length.
- FriBidiStrIndex *positions_to_this
-
List mapping positions to the
order used in str.
- FriBidiStrIndex *position_from_this_list
-
List mapping positions from the
order used in str.
- FriBidiLevel *embedding_levels
-
List of embedding levels.
DESCRIPTION
This function removes the bidi and boundary-neutral marks out of an string
and the accompanying lists. It implements rule X9 of the Unicode
Bidirectional Algorithm available at
http://www.unicode.org/reports/tr9/#X9, with the exception that it removes
U+200E LEFT-TO-RIGHT MARK and U+200F RIGHT-TO-LEFT MARK too.
If any of the input lists are NULL, the list is skipped. If str is the
visual string, then positions_to_this is positions_L_to_V and
position_from_this_list is positions_V_to_L; if str is the logical
string, the other way. Moreover, the position maps should be filled with
valid entries.
A position map pointing to a removed character is filled with -1. By the
way, you should not use embedding_levels if str is visual string.
For best results this function should be run on a whole paragraph, not
lines; but feel free to do otherwise if you know what you are doing.
RETURNS
New length of the string, or -1 if an error occurred (memory
allocation failure most probably).
SEE ALSO
fribidi_shape_arabic(3),
fribidi_get_par_direction(3),
fribidi_get_par_embedding_levels_ex(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_set_debug(3),
fribidi_charset_to_unicode(3),
fribidi_unicode_to_charset(3),
fribidi_parse_charset(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_get_par_embedding_levels(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_get_bracket(3),
fribidi_get_bracket_types(3),
fribidi_shape(3)
Index
- NAME
-
- SYNOPSIS
-
- PARAMETERS
-
- DESCRIPTION
-
- RETURNS
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 12:12:19 GMT, April 23, 2024