mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-06 10:46:21 +08:00
10566c8be3
* javascript * kernel * ldap * length * macros * maintained * manager * matching * maximum * mechanism * memory * method * mimic * minimum * modifiable * modifiers * modifying * multiple * necessary * normalized * objectclass * occurrence * occurring * offered * operation * original * overridden * parameter * permanent * preemptively * printable * protocol * provider * really * redistribution * referenced * refresh * regardless * registered * request * reserved * resource * response * sanity * separated * setconcurrency * should * specially * specifies * structure * structures * subordinates * substitution * succeed * successful * successfully * sudoers * sufficient * superiors * supported * synchronization * terminated * they're * through * traffic * transparent * unsigned * unsupported * version * absence * achieves * adamson * additional * address * against * appropriate * architecture * associated * async * attribute * authentication * authorized * auxiliary * available * begin * beginning * buffered * canonical * certificate * charray * check * class * compatibility * compilation * component * configurable * configuration * configure * conjunction * constraints * constructor * contained * containing * continued * control * convenience * correspond * credentials * cyrillic * database * definitions * deloldrdn * dereferencing * destroy * distinguish * documentation * emmanuel * enabled * entry * enumerated * everything * exhaustive * existence * existing * explicitly * extract * fallthru * fashion * february * finally * function * generically * groupname * happened * implementation * including * initialization * initializes * insensitive * instantiated * instantiation * integral * internal * iterate
85 lines
3.1 KiB
Plaintext
85 lines
3.1 KiB
Plaintext
#
|
|
# $Id: bidiapi.txt,v 1.2 1999/11/19 15:24:29 mleisher Exp $
|
|
#
|
|
|
|
"Pretty Good Bidi Algorithm" API
|
|
|
|
The PGBA (Pretty Good Bidi Algorithm) is an effective alternative to the
|
|
Unicode BiDi algorithm. It currently provides only implicit reordering and
|
|
does not yet support explicit reordering codes that the Unicode BiDi algorithm
|
|
supports. In addition to reordering, the PGBA includes cursor movement
|
|
support for both visual and logical navigation.
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
#define UCPGBA_LTR 0
|
|
#define UCPGBA_RTL 1
|
|
|
|
These macros appear in the `direction' field of the data structures.
|
|
|
|
#define UCPGBA_CURSOR_VISUAL 0
|
|
#define UCPGBA_CURSOR_LOGICAL 1
|
|
|
|
These macros are used to set the cursor movement for each reordered string.
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
ucstring_t *ucstring_create(unsigned long *source, unsigned long start,
|
|
unsigned long end, int default_direction,
|
|
int cursor_motion)
|
|
|
|
This function will create a reordered string by using the implicit
|
|
directionality of the characters in the specified substring.
|
|
|
|
The `default_direction' parameter should be one of UCPGBA_LTR or UCPGBA_RTL
|
|
and is used only in cases where a string contains no characters with strong
|
|
directionality.
|
|
|
|
The `cursor_motion' parameter should be one of UCPGBA_CURSOR_VISUAL or
|
|
UCPGBA_CURSOR_LOGICAL, and is used to specify the initial cursor motion
|
|
behavior. This behavior can be switched at any time using
|
|
ustring_set_cursor_motion().
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
void ucstring_free(ucstring_t *string)
|
|
|
|
This function will deallocate the memory used by the string, including the
|
|
string itself.
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
void ucstring_cursor_info(ustring_t *string, int *direction,
|
|
unsigned long *position)
|
|
|
|
This function will return the text position of the internal cursor and the
|
|
directionality of the text at that position. The position returned is the
|
|
original text position of the character.
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
int ucstring_set_cursor_motion(ucstring_t *string, int cursor_motion)
|
|
|
|
This function will change the cursor motion type and return the previous
|
|
cursor motion type.
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
int ucstring_cursor_right(ucstring_t *string, int count)
|
|
|
|
This function will move the internal cursor to the right according to the
|
|
type of cursor motion set for the string.
|
|
|
|
If no cursor motion is performed, it returns 0. Otherwise it will return a
|
|
1.
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
int ucstring_cursor_left(ucstring_t *string, int count)
|
|
|
|
This function will move the internal cursor to the left according to the
|
|
type of cursor motion set for the string.
|
|
|
|
If no cursor motion is performed, it returns 0. Otherwise it will return a
|
|
1.
|