fribidi_join_arabic(3)

πŸ’– NAME πŸ’–

okay bestie, welcome to the FriBidi Programmer's Manual page for fribidi_join_arabic(3) β€” this is the one that does Arabic joining. no cap, it's lowkey iconic ✨

πŸ¦‹ SYNOPSIS πŸ¦‹

#include <../fribidi/lib/fribidi.h>

void fribidi_join_arabic
(
     const FriBidiCharType *bidi_types,
     const FriBidiStrIndex len,
     const FriBidiLevel *embedding_levels,
     FriBidiArabicProp *ar_props
);

πŸŽ€ PARAMETERS πŸŽ€

  • const FriBidiCharType *bidi_types β€” the input list of bidi types, exactly as returned by fribidi_get_bidi_types(). Also, real talk: there are 23 possible values for a const FriBidiCharType, so they are not all listed here. iykyk πŸ’…
  • const FriBidiStrIndex len β€” the input string length.
  • const FriBidiLevel *embedding_levels β€” the input list of embedding levels, as returned by fribidi_get_par_embedding_levels.
  • FriBidiArabicProp *ar_props β€” the Arabic properties to analyze, initialized by joining types, as returned by fribidi_get_joining_types.

✨ DESCRIPTION ✨

so this function does the Arabic joining algorithm. meaning: you give it the Arabic joining types of the characters in ar_props β€” and don't worry, FriBidiJoiningType can be casted to FriBidiArabicProp automagically β€” and it modifies those properties to grasp the effect of neighboring characters. you probably need this information later to do Arabic shaping, bestie 🫢

it implements rules R1 to R7 inclusive β€” yes, all the rules β€” of the Arabic Cursive Joining algorithm of the Unicode standard, available at http://www.unicode.org/versions/Unicode4.0.0/ch08.pdf#G7462. it also interacts correctly with the bidirection algorithm as defined in Section 3.5 Shaping of the Unicode Bidirectional Algorithm, available at http://www.unicode.org/reports/tr9/#Shaping. the way that's literally doing the most for Unicode correctness πŸ˜­πŸ‘‘

also, there are a few macros defined in fribidi-joining-types.h for querying the Arabic properties computed by this function. go off, little macros πŸŽ€

πŸ’… SEE ALSO πŸ’…

go bother these icons too:


and that's the page, bestie πŸ’– this lil manpage says it came from c2man + fribidi-joining.h, dated 29 October 2026, and it's serving fribidi_join_arabic(3) realness to the very end 🌈✨

πŸ“¦ where this page comes from