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

FreeBSD Manual Pages

  
 
  

home | help
fribidi_get...ng_levels_ex(3)  Programmer's Manual fribidi_get...ng_levels_ex(3)

NAME
     fribidi_get_par_embedding_levels_ex  - get bidi embedding levels of a para-
     graph

SYNOPSIS
     #include <fribidi.h>

     FriBidiLevel fribidi_get_par_embedding_levels_ex
     (
	  const FriBidiCharType *bidi_types,
	  const FriBidiBracketType *bracket_types,
	  const FriBidiStrIndex len,
	  FriBidiParType *pbase_dir,
	  FriBidiLevel *embedding_levels
     );

PARAMETERS
     const FriBidiCharType *bidi_types
	    Input list of bidi types as returned by fribidi_get_bidi_types().

	    Since there are 23 possible values for a const FriBidiCharType, they
	    are not all listed here.

     const FriBidiBracketType *bracket_types
	    Input    list    of     bracket	types	  as	 returned     by
	    fribidi_get_bracket_types().

     const FriBidiStrIndex len
	    Input string length of the paragraph.

     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.

     FriBidiLevel *embedding_levels
	    Output list of embedding levels.

DESCRIPTION
     This function finds the bidi embedding levels of a single paragraph, as de-
     fined  by	the Unicode Bidirectional Algorithm available at http://www.uni-
     code.org/reports/tr9/.  This function implements rules P2 to I1  inclusive,
     and  parts  1  to	3  of  L1,  except  for  rule X9 which is implemented in
     fribidi_remove_bidi_marks().  Part 4 of L1 is  implemented  in  fribidi_re-
     order_line().

     There  are  a  few macros defined in fribidi-bidi-types.h to work with this
     embedding levels.

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_re-
     order_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_mirror-
     ing(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_mirror_char(3),
     fribidi_shape_mirroring(3),			 fribidi_get_bracket(3),
     fribidi_get_bracket_types(3),	   fribidi_shape(3),	     fribidi_re-
     move_bidi_marks(3), fribidi_log2vis(3)

c2man fribidi-bidi.h		25 September 2024  fribidi_get...ng_levels_ex(3)

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

home | help