Unix/Linux Go Back    


CentOS 7.0 - man page for fribidi_reorder_line (centos section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


fribidi_reorder_line(3) 	       Programmer's Manual		  fribidi_reorder_line(3)

NAME
       fribidi_reorder_line - reorder a line of logical string to visual

SYNOPSIS
       #include <fribidi.h>

       FriBidiLevel fribidi_reorder_line
       (
	    FriBidiFlags flags,
	    const FriBidiCharType *bidi_types,
	    const FriBidiStrIndex len,
	    const FriBidiStrIndex off,
	    const FriBidiParType base_dir,
	    FriBidiLevel *embedding_levels,
	    FriBidiChar *visual_str,
	    FriBidiStrIndex *map
       );

PARAMETERS
       FriBidiFlags flags
	      Reorder flags.

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

	      Possible values for a const FriBidiCharType are as follows:
	      FRIBIDI_TYPE_LTR	Left-To-Right letter.
	      FRIBIDI_TYPE_RTL	Right-To-Left letter.
	      FRIBIDI_TYPE_AL	Arabic Letter.
	      FRIBIDI_TYPE_EN	European Numeral.
	      FRIBIDI_TYPE_AN	Arabic Numeral.
	      FRIBIDI_TYPE_ES	European number Separator.
	      FRIBIDI_TYPE_ET	European number Terminator.
	      FRIBIDI_TYPE_CS	Common Separator.
	      FRIBIDI_TYPE_NSM	Non Spacing Mark.
	      FRIBIDI_TYPE_BN	Boundary Neutral.
	      FRIBIDI_TYPE_BS	Block Separator.
	      FRIBIDI_TYPE_SS	Segment Separator.
	      FRIBIDI_TYPE_WS	WhiteSpace.
	      FRIBIDI_TYPE_ON	Other Neutral.
	      FRIBIDI_TYPE_LRE	Left-to-Right Embedding.
	      FRIBIDI_TYPE_RLE	Right-to-Left Embedding.
	      FRIBIDI_TYPE_LRO	Left-to-Right Override.
	      FRIBIDI_TYPE_RLO	Right-to-Left Override.
	      FRIBIDI_TYPE_PDF	Pop Directional Flag.

       const FriBidiStrIndex len
	      Input length of the line.

       const FriBidiStrIndex off
	      Input offset of the beginning of the line in the paragraph.

       const FriBidiParType base_dir
	      Resolved paragraph base direction.

	      Possible values for a const 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
	      Input list of embedding levels, as returned by fribidi_get_par_embedding_levels.

       FriBidiChar *visual_str
	      Visual string to reorder.

       FriBidiStrIndex *map
	      A map of string indices which is reordered to reflect where each glyph ends up.

DESCRIPTION
       This  function  reorders  the  characters  in  a line of text from logical to final visual
       order.  This function implements part 4 of rule L1, and rules L2 and  L3  of  the  Unicode
       Bidirectional	Algorithm   available	at   http://www.unicode.org/reports/tr9/#Reorder-
       ing_Resolved_Levels.

       As a side effect it also sets position maps if not NULL.

       You should provide the resolved	paragraph  direction  and  embedding  levels  as  set  by
       fribidi_get_par_embedding_levels().  Also note that the embedding levels may change a bit.
       To be exact, the embedding level of any sequence of white space at  the	end  of  line  is
       reset to the paragraph embedding level (That is part 4 of rule L1).

       Note  that  the	bidi types and embedding levels are not reordered.  You can reorder these
       (or any other) arrays using the map later.  The user is responsible to initialize  map  to
       something sensible, like an identity mapping, or pass NULL if no map is needed.

       There  is an optional part to this function, which is whether non-spacing marks for right-
       to-left parts of the text should be reordered to come after their base characters  in  the
       visual string or not.  Most rendering engines expect this behavior, but console-based sys-
       tems for example do not like it.  This is controlled by the FRIBIDI_FLAG_REORDER_NSM flag.
       The flag is on in FRIBIDI_FLAGS_DEFAULT.

RETURNS
       Maximum level found in this line plus one, or zero if any error occured (memory allocation
       failure most probably).

SEE ALSO
       fribidi_charset_to_unicode(3),  fribidi_unicode_to_charset(3),	fribidi_parse_charset(3),
       fribidi_shape_arabic(3),    fribidi_get_par_direction(3),   fribidi_get_par_embedding_lev-
       els(3),		      fribidi_get_bidi_type(3), 	       fribidi_get_bidi_types(3),
       fribidi_get_bidi_type_name(3),	 fribidi_debug_status(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_inter-
       nal(3),	  fribidi_remove_bidi_marks(3),    fribidi_log2vis(3),	  fribidi_join_arabic(3),
       fribidi_get_joining_type(3),	   fribidi_get_joining_types(3),	fribidi_get_join-
       ing_type_name(3), fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_shape(3)

GNU FriBidi 0.19.3			  25 August 2012		  fribidi_reorder_line(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 11:39 AM.