Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
fribidi_remove_bidi_marks(3)   Programmer's Manual  fribidi_remove_bidi_marks(3)

NAME
     fribidi_remove_bidi_marks - remove bidi marks out of an string

SYNOPSIS
     #include <fribidi.h>

     FriBidiStrIndex fribidi_remove_bidi_marks
     (
	  FriBidiChar *str,
	  const FriBidiStrIndex len,
	  FriBidiStrIndex *positions_to_this,
	  FriBidiStrIndex *position_from_this_list,
	  FriBidiLevel *embedding_levels
     );

PARAMETERS
     FriBidiChar *str
	    Input string to clean.

     const FriBidiStrIndex len
	    Input string length.

     FriBidiStrIndex *positions_to_this
	    List mapping positions to the order used in str.

     FriBidiStrIndex *position_from_this_list
	    List mapping positions from the order used in str.

     FriBidiLevel *embedding_levels
	    List of embedding levels.

DESCRIPTION
     This  function removes the bidi and boundary-neutral marks out of an string
     and the accompanying lists.  It implements rule X9 of the Unicode	Bidirec-
     tional  Algorithm available at http://www.unicode.org/reports/tr9/#X9, with
     the exception that it removes U+200E LEFT-TO-RIGHT MARK and  U+200F  RIGHT-
     TO-LEFT MARK too.

     If any of the input lists are NULL, the list is skipped.  If str is the vi-
     sual   string,   then  positions_to_this  is   positions_L_to_V  and  posi-
     tion_from_this_list is positions_V_to_L;  if str is the logical string, the
     other way. Moreover, the position maps should be filled with valid entries.

     A position map pointing to a removed character is filled with  -1.  By  the
     way, you should not use embedding_levels if str is visual string.

     For  best	results  this  function  should be run on a whole paragraph, not
     lines; but feel free to do otherwise if you know what you are doing.

RETURNS
     New length of the string, or -1 if an  error  occurred  (memory  allocation
     failure most probably).

SEE ALSO
     fribidi_shape_arabic(3),  fribidi_get_par_direction(3), fribidi_get_par_em-
     bedding_levels_ex(3),  fribidi_reorder_line(3),   fribidi_get_bidi_type(3),
     fribidi_get_bidi_types(3),    fribidi_get_bidi_type_name(3),    fribidi_de-
     bug_status(3),	fribidi_set_debug(3),	  fribidi_charset_to_unicode(3),
     fribidi_unicode_to_charset(3),   fribidi_parse_charset(3),  fribidi_mirror-
     ing_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_embed-
     ding_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_shape_mirroring(3),
     fribidi_get_bracket(3),   fribidi_get_bracket_types(3),   fribidi_shape(3),
     fribidi_log2vis(3)

c2man fribidi.h 		25 September 2024   fribidi_remove_bidi_marks(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=fribidi_remove_bidi_marks&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help