Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

fribidi_shape(3) [debian man page]

fribidi_shape(3)						Programmer's Manual						  fribidi_shape(3)

NAME
fribidi_shape - do bidi-aware shaping SYNOPSIS
#include <fribidi.h> void fribidi_shape ( FriBidiFlags flags, const FriBidiLevel *embedding_levels, const FriBidiStrIndex len, FriBidiArabicProp *ar_props, FriBidiChar *str ); PARAMETERS
FriBidiFlags flags Shaping flags. const FriBidiLevel *embedding_levels Input list of embedding levels, as returned by fribidi_get_par_embedding_levels. const FriBidiStrIndex len Input string length. FriBidiArabicProp *ar_props Input/output Arabic properties as computed by fribidi_join_arabic. FriBidiChar *str String to shape. DESCRIPTION
This function does all shaping work that depends on the resolved embedding levels of the characters. Currently it does mirroring and Ara- bic shaping, but the list may grow in the future. This function is a wrapper around fribidi_shape_mirroring and fribidi_shape_arabic. The flags parameter specifies which shapings are applied. The only flags affecting the functionality of this function are those beginning with FRIBIDI_FLAG_SHAPE_. Of these, only FRIBIDI_FLAG_SHAPE_MIRRORING is on in FRIBIDI_FLAGS_DEFAULT. For details of the Arabic-specific flags see fribidi_shape_arabic. If ar_props is NULL, no Arabic shaping is performed. Feel free to do your own shaping before or after calling this function, but you should take care of embedding levels yourself then. 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_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) GNU FriBidi 0.19.2 30 January 2006 fribidi_shape(3)

Check Out this Related Man Page

fribidi_join_arabic(3)						Programmer's Manual					    fribidi_join_arabic(3)

NAME
fribidi_join_arabic - do Arabic joining SYNOPSIS
#include <fribidi.h> void fribidi_join_arabic ( const FriBidiCharType *bidi_types, const FriBidiStrIndex len, const FriBidiLevel *embedding_levels, FriBidiArabicProp *ar_props ); PARAMETERS
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 string length. const FriBidiLevel *embedding_levels Input list of embedding levels, as returned by fribidi_get_par_embedding_levels. FriBidiArabicProp *ar_props Arabic properties to analyze, initilized by joining types, as returned by fribidi_get_joining_types. DESCRIPTION
This function does the Arabic joining algorithm. Means, given Arabic joining types of the characters in ar_props (don't worry, FriBidi- JoiningType can be casted to FriBidiArabicProp automagically), this function modifies this properties to grasp the effect of neighboring characters. You probably need this information later to do Arabic shaping. This function implements rules R1 to R7 inclusive (all rules) of the Arabic Cursive Joining algorithm of the Unicode standard as available at http://www.unicode.org/versions/Unicode4.0.0/ch08.pdf#G7462. It also interacts correctly with the bidirection algorithm as defined in Section 3.5 Shaping of the Unicode Bidirectional Algorithm available at http://www.unicode.org/reports/tr9/#Shaping. There are a few macros defined in fribidi-joining-types.h for querying the Arabic properties computed by this function. 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_log2vis(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_join_arabic(3)
Man Page