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

FreeBSD Manual Pages

  
 
  

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

NAME
     fribidi_log2vis - get visual string

SYNOPSIS
     #include <fribidi.h>

     FriBidiLevel fribidi_log2vis
     (
	  const FriBidiChar *str,
	  const FriBidiStrIndex len,
	  FriBidiParType *pbase_dir,
	  FriBidiChar *visual_str,
	  FriBidiStrIndex *positions_L_to_V,
	  FriBidiStrIndex *positions_V_to_L,
	  FriBidiLevel *embedding_levels
     );

PARAMETERS
     const FriBidiChar *str
	    Input logical string.

     const FriBidiStrIndex len
	    Input string length.

     FriBidiParType *pbase_dir
	    Requested and resolved paragraph base direction.

	    Possible values for a FriBidiParType are as follows:
	    FRIBIDI_PAR_LTR   Left-To-Right paragraph.
	    FRIBIDI_PAR_RTL   Right-To-Left paragraph.
	    FRIBIDI_PAR_ON    DirectiOn-Neutral paragraph.
	    FRIBIDI_PAR_WLTR  Weak Left To Right paragraph.
	    FRIBIDI_PAR_WRTL  Weak Right To Left paragraph.

     FriBidiChar *visual_str
	    Output visual string.

     FriBidiStrIndex *positions_L_to_V
	    Output mapping from logical to visual string positions.

     FriBidiStrIndex *positions_V_to_L
	    Output  mapping  from visual string back to the logical string posi-
	    tions.

     FriBidiLevel *embedding_levels
	    Output list of embedding levels.

DESCRIPTION
     This function converts the  logical  input  string  to  the  visual  output
     strings as specified by the Unicode Bidirectional Algorithm.  As a side ef-
     fect  it also generates mapping lists between the two strings, and the list
     of embedding levels as defined by the algorithm.

     If NULL is passed as any of the the lists, the  list  is  ignored	and  not
     filled.

     Note  that  this function handles one-line paragraphs. For multi- paragraph
     texts it is necessary to first split the text into separate paragraphs  and
     then carry over the resolved pbase_dir between the subsequent invocations.

RETURNS
     Maximum level found plus one, or zero if any error occurred (memory alloca-
     tion 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_remove_bidi_marks(3)

c2man fribidi.h 		25 September 2024	      fribidi_log2vis(3)

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

home | help