GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
fribidi_remove_bidi_marks(3) Programmer's Manual fribidi_remove_bidi_marks(3)

fribidi_remove_bidi_marks - remove bidi marks out of an string

#include <fribidi.h>

FriBidiStrIndex fribidi_remove_bidi_marks
(
FriBidiChar *str,
const FriBidiStrIndex len,
FriBidiStrIndex *positions_to_this,
FriBidiStrIndex *position_from_this_list,
FriBidiLevel *embedding_levels
);

FriBidiChar *str
Input string to clean.
const FriBidiStrIndex len
Input string length.
FriBidiStrIndex *positions_to_this
List mapping positions to the order used in str.
FriBidiStrIndex *position_from_this_list
List mapping positions from the order used in str.
FriBidiLevel *embedding_levels
List of embedding levels.

This function removes the bidi and boundary-neutral marks out of an string and the accompanying lists. It implements rule X9 of the Unicode Bidirectional Algorithm available at http://www.unicode.org/reports/tr9/#X9, with the exception that it removes U+200E LEFT-TO-RIGHT MARK and U+200F RIGHT-TO-LEFT MARK too.

If any of the input lists are NULL, the list is skipped. If str is the visual string, then positions_to_this is positions_L_to_V and position_from_this_list is positions_V_to_L; if str is the logical string, the other way. Moreover, the position maps should be filled with valid entries.

A position map pointing to a removed character is filled with −1. By the way, you should not use embedding_levels if str is visual string.

For best results this function should be run on a whole paragraph, not lines; but feel free to do otherwise if you know what you are doing.

New length of the string, or −1 if an error occurred (memory allocation failure most probably).

fribidi_shape_arabic(3), fribidi_get_par_direction(3), fribidi_get_par_embedding_levels_ex(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_set_debug(3), fribidi_charset_to_unicode(3), fribidi_unicode_to_charset(3), fribidi_parse_charset(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_get_par_embedding_levels(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_get_bracket(3), fribidi_get_bracket_types(3), fribidi_shape(3), fribidi_log2vis(3)
23 September 2021 c2man fribidi.h

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.