1 /****************************************************************************/
3 /* The FreeType project -- a free and portable quality TrueType renderer. */
5 /* Copyright 1996-1999 by */
6 /* D. Turner, R.Wilhelm, and W. Lemberg */
8 /* arabic -- An implementation of the contextual algorithm given in the */
9 /* Unicode 2.0 book to assign the `isolated', `initial', `medial', and */
10 /* `final' properties to an input string of character codes for the Arabic */
13 /****************************************************************************/
22 isolated
= 1, /* nominal */
23 final
= 2, /* right_joining */
24 initial
= 4, /* left_joining */
25 medial
= 8 /* double_joining */
28 typedef enum joining_type_ joining_type
;
31 /* A glyph's property value as needed by e.g. TT_GSUB_Apply_String()
32 specifies which features should *not* be applied */
34 enum arabic_glyph_property_
36 isolated_p
= final
| initial
| medial
,
37 final_p
= isolated
| initial
| medial
,
38 initial_p
= isolated
| final
| medial
,
39 medial_p
= isolated
| final
| initial
42 typedef enum arabic_glyph_property_ arabic_glyph_property
;
55 typedef enum joining_class_ joining_class
;
58 TT_Error
Assign_Arabic_Properties( TT_UShort
* string
,
59 TT_UShort
* properties
,
61 TT_Error
Build_Arabic_Glyph_Properties( TT_CharMap char_map
,
63 TTO_GDEFHeader
** gdef
);