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

138 lines
5.7 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of fribidi_join_arabic</TITLE>
</HEAD><BODY>
<H1>fribidi_join_arabic</H1>
Section: Programmer's Manual (3)<BR>Updated: 20 July 2018<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_join_arabic - do Arabic joining
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>
#include &lt;<A HREF="file:///usr/include/fribidi.h">fribidi.h</A>&gt;
<P>
extern void fribidi_join_arabic
<BR>
(
<BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT>const FriBidiCharType *bidi_types,<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>const FriBidiLevel *embedding_levels,<BR>
<BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT>FriBidiArabicProp *ar_props<BR>
<BR>
);
</B>
<A NAME="lbAD">&nbsp;</A>
<H2>PARAMETERS</H2>
<DL COMPACT>
<DT id="1"><B>const FriBidiCharType *bidi_types</B>
<DD>
Input list of bidi types as
returned by
fribidi_get_bidi_types().
<P>
Since there are 23 possible values for a <B>const FriBidiCharType</B>, they are not all listed here.
<DT id="2"><B>const FriBidiStrIndex len</B>
<DD>
Input string length.
<DT id="3"><B>const FriBidiLevel *embedding_levels</B>
<DD>
Input list of embedding
levels, as returned by
fribidi_get_par_embedding_levels.
<DT id="4"><B>FriBidiArabicProp *ar_props</B>
<DD>
Arabic properties to analyze, initialized by
joining types, as returned by
fribidi_get_joining_types.
</DL>
<A NAME="lbAE">&nbsp;</A>
<H2>DESCRIPTION</H2>
This function does the Arabic joining algorithm. Means, given Arabic
joining types of the characters in ar_props (don't worry,
FriBidiJoiningType can be casted to FriBidiArabicProp automagically), this
function modifies this properties to grasp the effect of neighboring
characters. You probably need this information later to do Arabic shaping.
<P>
This function implements rules R1 to R7 inclusive (all rules) of the Arabic
Cursive Joining algorithm of the Unicode standard as available at
<A HREF="http://www.unicode.org/versions/Unicode4.0.0/ch08.pdf#G7462.">http://www.unicode.org/versions/Unicode4.0.0/ch08.pdf#G7462.</A> It also
interacts correctly with the bidirection algorithm as defined in Section
<BR>
3.5 Shaping of the Unicode Bidirectional Algorithm available at
<A HREF="http://www.unicode.org/reports/tr9/#Shaping.">http://www.unicode.org/reports/tr9/#Shaping.</A>
<P>
There are a few macros defined in fribidi-joining-types.h for querying the
Arabic properties computed by this function.
<A NAME="lbAF">&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_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),
<A HREF="/cgi-bin/man/man2html?3+fribidi_remove_bidi_marks">fribidi_remove_bidi_marks</A>(3)
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="5"><A HREF="#lbAB">NAME</A><DD>
<DT id="6"><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT id="7"><A HREF="#lbAD">PARAMETERS</A><DD>
<DT id="8"><A HREF="#lbAE">DESCRIPTION</A><DD>
<DT id="9"><A HREF="#lbAF">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>