Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

fribidi_log2vis(3) [debian man page]

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 positions. 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 effect 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. This function is obsolete because it only handles one-line paragraphs. Please consider using other functions instead. Deprecated. RETURNS
Maximum level found 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_direc- tion(3), fribidi_get_par_embedding_levels(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_mirroring_status(3), fribidi_set_mirroring(3), fribidi_reorder_nsm_sta- tus(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_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.2 30 January 2006 fribidi_log2vis(3)

Check Out this Related Man Page

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 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 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_direc- tion(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_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_internal(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_joining_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)

Featured Tech Videos