]> git.sur5r.net Git - openldap/blob - libraries/liblunicode/ucdata/ucpgba.man
4486509726c8c3ca83aae7d0729f71691c772339
[openldap] / libraries / liblunicode / ucdata / ucpgba.man
1 .\"
2 .\" $Id: ucpgba.man,v 1.1 1999/11/19 16:08:34 mleisher Exp $
3 .\"
4 .TH ucpgba 3 "19 November 1999"
5 .SH NAME 
6 ucpgba \- functions for doing bidirectional reordering of Unicode text and
7 logical and visual cursor motion
8
9 .SH SYNOPSIS
10 .nf
11 #include <ucdata.h>
12 #include <ucpgba.h>
13
14 ucstring_t *ucstring_create(unsigned long *source, unsigned long start,
15                             unsigned long end, int default_direction,
16                             int cursor_motion)
17 .sp
18 void ucstring_free(ucstring_t *string)
19 .sp
20 int ucstring_set_cursor_motion(ucstring_t *string, int cursor_motion)
21 .sp
22 int ucstring_cursor_right(ucstring_t *string, int count)
23 .sp
24 int ucstring_cursor_left(ucstring_t *string, int count)
25 .sp
26 void ucstring_cursor_info(ucstring_t *string, int *direction,
27                           unsigned long *position)
28
29 .SH DESCRIPTION
30 .TP 4
31 .BR Macros
32 UCPGBA_LTR
33 .br
34 UCPGBA_RTL
35 .br
36 UCPGBA_CURSOR_VISUAL
37 .br
38 UCPGBA_CURSOR_LOGICAL
39
40 .TP 4
41 .BR ucstring_create()
42 This function will create a reordered string by using the implicit
43 directionality of the characters in the specified substring.
44 .sp
45 The `default_direction' parameter should be one of UCPGBA_LTR or UCPGBA_RTL
46 and is used only in cases where a string contains no characters with strong
47 directionality.
48 .sp
49 The `cursor_motion' parameter should be one of UCPGBA_CURSOR_VISUAL or
50 UCPGBA_CURSOR_LOGICAL, and is used to specify the initial cursor motion
51 behavior.  This behavior can be switched at any time using
52 ustring_set_cursor_motion().
53
54 .TP 4
55 .BR ucstring_free()
56 This function will deallocate the memory used by the string, incuding the
57 string itself.
58
59 .TP 4
60 .BR ucstring_cursor_info()
61 This function will return the text position of the internal cursor and the
62 directionality of the text at that position.  The position returned is the
63 original text position of the character.
64
65 .TP 4
66 .BR ucstring_set_cursor_motion()
67 This function will change the cursor motion type and return the previous
68 cursor motion type.
69
70 .TP 4
71 .BR ucstring_cursor_right()
72 This function will move the internal cursor to the right according to the
73 type of cursor motion set for the string.
74 .sp
75 If no cursor motion is performed, it returns 0.  Otherwise it will return a 1.
76
77 .TP 4
78 .BR ucstring_cursor_left()
79 This function will move the internal cursor to the left according to the
80 type of cursor motion set for the string.
81 .sp
82 If no cursor motion is performed, it returns 0.  Otherwise it will return a 1.
83
84 .SH "SEE ALSO"
85 ucdata(3)
86
87 .SH ACKNOWLEDGMENTS
88 These are people who have helped with patches or alerted me about problems.
89
90 .SH AUTHOR
91 Mark Leisher
92 .br
93 Computing Research Lab
94 .br
95 New Mexico State University
96 .br
97 Email: mleisher@crl.nmsu.edu