---
name: "fribidi_shape_mirroring"
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_shape_mirroring"
---

# fribidi\_shape\_mirroring(3)

do mirroring shaping

## NAME

fribidi\_shape\_mirroring - do mirroring shaping

## SYNOPSIS

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

**void fribidi\_shape\_mirroring**\
 **(**\
\
 	**const FriBidiLevel \*embedding\_levels,**\
\
 	**const FriBidiStrIndex len,**\
\
 	**FriBidiChar \*str**\
 **);**

## PARAMETERS

- **const FriBidiLevel \*embedding\_levels**

  Input list of embedding levels, as returned by fribidi\_get\_par\_embedding\_levels.

- **const FriBidiStrIndex len**

  Input string length.

- **FriBidiChar \*str**

  String to shape.

## DESCRIPTION

This functions replaces mirroring characters on right-to-left embeddings in string with their mirrored equivalent as returned by fribidi\_get\_mirror\_char().

This function implements rule L4 of the Unicode Bidirectional Algorithm available at http://www.unicode.org/reports/tr9/#L4.

## 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\_types(3)](/fribidi_get_joining_types/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\_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)
