---
name: "fribidi_get_joining_types"
section: "3"
platform: "linux"
package: "fribidi"
version: "1.0.18-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/fribidi_get_joining_types"
---

# fribidi\_get\_joining\_types(3)

get joining types for a string of characters

## NAME

fribidi\_get\_joining\_types - get joining types for a string of characters

## SYNOPSIS

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

**void fribidi\_get\_joining\_types**\
 **(**\
\
 	**const FriBidiChar \*str,**\
\
 	**const FriBidiStrIndex len,**\
\
 	**FriBidiJoiningType \*jtypes**\
 **);**

## PARAMETERS

- **const FriBidiChar \*str**

  Input string.

- **const FriBidiStrIndex len**

  Input string length.

- **FriBidiJoiningType \*jtypes**

  Output joining types.

  Possible values for a **FriBidiJoiningType** are as follows:

  - **FRIBIDI\_JOINING\_TYPE\_U**

    NUn-joining, e.g. Full Stop.

  - **FRIBIDI\_JOINING\_TYPE\_R**

    Right-joining, e.g. Arabic Letter Dal.

  - **FRIBIDI\_JOINING\_TYPE\_D**

    Dual-joining, e.g. Arabic Letter Ain.

  - **FRIBIDI\_JOINING\_TYPE\_C**

    Join-Causing, e.g. Tatweel, ZWJ.

  - **FRIBIDI\_JOINING\_TYPE\_T**

    Transparent, e.g. Arabic Fatha.

  - **FRIBIDI\_JOINING\_TYPE\_L**

    Left-joining, i.e. Fictional.

  - **FRIBIDI\_JOINING\_TYPE\_G**

    IGnored, e.g. LRE, RLE, ZWNBSP.

## DESCRIPTION

This function finds the joining types of a string of characters.  See fribidi\_get\_joining\_type for more information about the joining types returned by this function.

## SEE ALSO

[fribidi\_shape\_arabic(3)](/fribidi_shape_arabic/3.md), [fribidi\_get\_par\_direction(3)](/fribidi_get_par_direction/3.md), [fribidi\_get\_par\_embedding\_levels\_ex(3)](/fribidi_get_par_embedding_levels_ex/3.md), [fribidi\_reorder\_line(3)](/fribidi_reorder_line/3.md), [fribidi\_get\_bidi\_type(3)](/fribidi_get_bidi_type/3.md), [fribidi\_get\_bidi\_types(3)](/fribidi_get_bidi_types/3.md), [fribidi\_get\_bidi\_type\_name(3)](/fribidi_get_bidi_type_name/3.md), [fribidi\_charset\_to\_unicode(3)](/fribidi_charset_to_unicode/3.md), [fribidi\_unicode\_to\_charset(3)](/fribidi_unicode_to_charset/3.md), [fribidi\_parse\_charset(3)](/fribidi_parse_charset/3.md), [fribidi\_debug\_status(3)](/fribidi_debug_status/3.md), [fribidi\_set\_debug(3)](/fribidi_set_debug/3.md), [fribidi\_mirroring\_status(3)](/fribidi_mirroring_status/3.md), [fribidi\_set\_mirroring(3)](/fribidi_set_mirroring/3.md), [fribidi\_reorder\_nsm\_status(3)](/fribidi_reorder_nsm_status/3.md), [fribidi\_set\_reorder\_nsm(3)](/fribidi_set_reorder_nsm/3.md), [fribidi\_log2vis\_get\_embedding\_levels(3)](/fribidi_log2vis_get_embedding_levels/3.md), [fribidi\_get\_type(3)](/fribidi_get_type/3.md), [fribidi\_get\_type\_internal(3)](/fribidi_get_type_internal/3.md), [fribidi\_get\_par\_embedding\_levels(3)](/fribidi_get_par_embedding_levels/3.md), [fribidi\_join\_arabic(3)](/fribidi_join_arabic/3.md), [fribidi\_get\_joining\_type(3)](/fribidi_get_joining_type/3.md), [fribidi\_get\_joining\_type\_name(3)](/fribidi_get_joining_type_name/3.md), [fribidi\_get\_mirror\_char(3)](/fribidi_get_mirror_char/3.md), [fribidi\_shape\_mirroring(3)](/fribidi_shape_mirroring/3.md), [fribidi\_get\_bracket(3)](/fribidi_get_bracket/3.md), [fribidi\_get\_bracket\_types(3)](/fribidi_get_bracket_types/3.md), [fribidi\_shape(3)](/fribidi_shape/3.md), [fribidi\_remove\_bidi\_marks(3)](/fribidi_remove_bidi_marks/3.md), [fribidi\_log2vis(3)](/fribidi_log2vis/3.md)
