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>

       extern 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  Uni-
       code  Bidirectional  Algorithm  available at http://www.unicode.org/re-
       ports/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
       visual 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_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_debug_status(3), fribidi_set_de-
       bug(3),	fribidi_charset_to_unicode(3),	fribidi_unicode_to_charset(3),
       fribidi_parse_charset(3), fribidi_mirroring_status(3), fribidi_set_mir-
       roring(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_join-
       ing_types(3),	fribidi_get_joining_type_name(3),     fribidi_get_mir-
       ror_char(3),	fribidi_shape_mirroring(3),    fribidi_get_bracket(3),
       fribidi_get_bracket_types(3), fribidi_shape(3), fribidi_log2vis(3)

c2man fribidi.h			 2 March 2020	  fribidi_remove_bidi_marks(3)

NAME | SYNOPSIS | PARAMETERS | DESCRIPTION | RETURNS | SEE ALSO

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

home | help