fribidi_shape_mirroring(3)

πŸ’… fribidi_shape_mirroring(3) β€” the mirroring shaping glow-up

okay so bestie, welcome to the Programmer's Manual page for fribidi_shape_mirroring, and yes we are about to make mirroring characters in right-to-left text make so much sense. grab a boba, this one's cute and short πŸ“


✨ SYNOPSIS ✨

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

void fribidi_shape_mirroring
(
     const FriBidiLevel *embedding_levels,
     const FriBidiStrIndex len,
     FriBidiChar *str
);

πŸŽ€ PARAMETERS πŸŽ€

  • const FriBidiLevel *embedding_levels β€” the input list of embedding levels, fr fr the exact one you got back from fribidi_get_par_embedding_levels. this is how our function knows which bits of the string are RTL πŸ’œ
  • const FriBidiStrIndex len β€” the input string length, obviously, we gotta know how much string we're working with 🌸
  • FriBidiChar *str β€” the string to shape. this is the queen being edited in place, main character energy πŸ‘‘

πŸ’– DESCRIPTION πŸ’–

so what does it actually do? this function replaces mirroring characters on right-to-left embeddings in the string with their mirrored equivalent β€” and where do those equivalents come from? fribidi_get_mirror_char(), periodt. no cap, that's the whole vibe check.

and lore drop: this function implements rule L4 of the Unicode Bidirectional Algorithm, available at http://www.unicode.org/reports/tr9/#L4. iconic behavior honestly 🌈


πŸ¦‹ SEE ALSO πŸ¦‹

the whole bestie squad, no one left behind:

fribidi_shape_arabic(3), fribidi_get_par_direction(3), fribidi_get_par_embedding_levels_ex(3), fribidi_reorder_line(3), fribidi_get_bidi_type(3), fribidi_get_bidi_types(3), fribidi_get_bidi_type_name(3), fribidi_charset_to_unicode(3), fribidi_unicode_to_charset(3), fribidi_parse_charset(3), fribidi_debug_status(3), fribidi_set_debug(3), fribidi_mirroring_status(3), fribidi_set_mirroring(3), fribidi_reorder_nsm_status(3), fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), fribidi_get_joining_types(3), fribidi_get_joining_type_name(3), fribidi_get_mirror_char(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), fribidi_shape(3), fribidi_remove_bidi_marks(3), fribidi_log2vis(3) πŸ’«


ok that's the page!! mwah πŸ’‹ this lil handbook was generated by c2man from fribidi-mirroring.h, dated 29 October 2026 β€” go off, mirroring icon, you ate 🫢✨
πŸ“¦ where this page comes from