man-pages/man3/fribidi_remove_bidi_marks.3.html
2021-03-31 01:06:50 +01:00

145 lines
5.8 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of fribidi_remove_bidi_marks</TITLE>
</HEAD><BODY>
<H1>fribidi_remove_bidi_marks</H1>
Section: Programmer's Manual (3)<BR>Updated: 21 October 2019<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
fribidi_remove_bidi_marks - remove bidi marks out of an string
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>
#include &lt;<A HREF="file:///usr/include/fribidi.h">fribidi.h</A>&gt;
<P>
extern FriBidiStrIndex fribidi_remove_bidi_marks
<BR>
(
<BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT>FriBidiChar *str,<BR>
<BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT>const FriBidiStrIndex len,<BR>
<BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT>FriBidiStrIndex *positions_to_this,<BR>
<BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT>FriBidiStrIndex *position_from_this_list,<BR>
<BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT>FriBidiLevel *embedding_levels<BR>
<BR>
);
</B>
<A NAME="lbAD">&nbsp;</A>
<H2>PARAMETERS</H2>
<DL COMPACT>
<DT id="1"><B>FriBidiChar *str</B>
<DD>
Input string to clean.
<DT id="2"><B>const FriBidiStrIndex len</B>
<DD>
Input string length.
<DT id="3"><B>FriBidiStrIndex *positions_to_this</B>
<DD>
List mapping positions to the
order used in str.
<DT id="4"><B>FriBidiStrIndex *position_from_this_list</B>
<DD>
List mapping positions from the
order used in str.
<DT id="5"><B>FriBidiLevel *embedding_levels</B>
<DD>
List of embedding levels.
</DL>
<A NAME="lbAE">&nbsp;</A>
<H2>DESCRIPTION</H2>
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
<A HREF="http://www.unicode.org/reports/tr9/#X9,">http://www.unicode.org/reports/tr9/#X9,</A> with the exception that it removes
U+200E LEFT-TO-RIGHT MARK and U+200F RIGHT-TO-LEFT MARK too.
<P>
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.
<P>
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.
<P>
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.
<A NAME="lbAF">&nbsp;</A>
<H2>RETURNS</H2>
New length of the string, or -1 if an error occurred (memory
allocation failure most probably).
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<A HREF="/cgi-bin/man/man2html?3+fribidi_shape_arabic">fribidi_shape_arabic</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_get_par_direction">fribidi_get_par_direction</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_get_par_embedding_levels_ex">fribidi_get_par_embedding_levels_ex</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_reorder_line">fribidi_reorder_line</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_get_bidi_type">fribidi_get_bidi_type</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_get_bidi_types">fribidi_get_bidi_types</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_get_bidi_type_name">fribidi_get_bidi_type_name</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_debug_status">fribidi_debug_status</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_set_debug">fribidi_set_debug</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_charset_to_unicode">fribidi_charset_to_unicode</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_unicode_to_charset">fribidi_unicode_to_charset</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_parse_charset">fribidi_parse_charset</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_mirroring_status">fribidi_mirroring_status</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_set_mirroring">fribidi_set_mirroring</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_reorder_nsm_status">fribidi_reorder_nsm_status</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_set_reorder_nsm">fribidi_set_reorder_nsm</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_log2vis_get_embedding_levels">fribidi_log2vis_get_embedding_levels</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_get_type">fribidi_get_type</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_get_type_internal">fribidi_get_type_internal</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_get_par_embedding_levels">fribidi_get_par_embedding_levels</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_join_arabic">fribidi_join_arabic</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_get_joining_type">fribidi_get_joining_type</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_get_joining_types">fribidi_get_joining_types</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_get_joining_type_name">fribidi_get_joining_type_name</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_get_mirror_char">fribidi_get_mirror_char</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_shape_mirroring">fribidi_shape_mirroring</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_get_bracket">fribidi_get_bracket</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_get_bracket_types">fribidi_get_bracket_types</A>(3),
<A HREF="/cgi-bin/man/man2html?3+fribidi_shape">fribidi_shape</A>(3)
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="6"><A HREF="#lbAB">NAME</A><DD>
<DT id="7"><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT id="8"><A HREF="#lbAD">PARAMETERS</A><DD>
<DT id="9"><A HREF="#lbAE">DESCRIPTION</A><DD>
<DT id="10"><A HREF="#lbAF">RETURNS</A><DD>
<DT id="11"><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:05:43 GMT, March 31, 2021
</BODY>
</HTML>