fribidi_reorder_line man page on Slackware

Man page or keyword search:  
man Server   14563 pages
apropos Keyword Search (all sections)
Output format
Slackware logo
[printable version]

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/#Reordering_Resolved_Levels.

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

       You  should provide the resolved paragraph direction and embedding lev‐
       els 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	 para‐
       graph 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 iden‐
       tity mapping, or pass NULL if no map is needed.

       There is an optional part to this function, which is whether  non-spac‐
       ing  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 systems 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_levels(3),
       fribidi_get_bidi_type(3),		    fribidi_get_bidi_types(3),
       fribidi_get_bidi_type_name(3), fribidi_debug_status(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_remove_bidi_marks(3),   fribidi_log2vis(3),   fribidi_join_ara‐
       bic(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_shape(3)

GNU FriBidi 0.19.2		30 January 2006	       fribidi_reorder_line(3)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Slackware

List of man pages available for Slackware

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net