Files
freetype/test/arabic.h
2023-08-27 18:03:45 +02:00

67 lines
2.3 KiB
C

/****************************************************************************/
/* */
/* The FreeType project -- a free and portable quality TrueType renderer. */
/* */
/* Copyright 1996-1999 by */
/* D. Turner, R.Wilhelm, and W. Lemberg */
/* */
/* arabic -- An implementation of the contextual algorithm given in the */
/* Unicode 2.0 book to assign the `isolated', `initial', `medial', and */
/* `final' properties to an input string of character codes for the Arabic */
/* script. */
/* */
/****************************************************************************/
#include "freetype.h"
#include "ftxopen.h"
enum joining_type_
{
isolated = 1, /* nominal */
final = 2, /* right_joining */
initial = 4, /* left_joining */
medial = 8 /* double_joining */
};
typedef enum joining_type_ joining_type;
/* A glyph's property value as needed by e.g. TT_GSUB_Apply_String()
specifies which features should *not* be applied */
enum arabic_glyph_property_
{
isolated_p = final | initial | medial,
final_p = isolated | initial | medial,
initial_p = isolated | final | medial,
medial_p = isolated | final | initial
};
typedef enum arabic_glyph_property_ arabic_glyph_property;
enum joining_class_
{
right,
left, /* not used */
dual,
causing,
none,
transparent
};
typedef enum joining_class_ joining_class;
TT_Error Assign_Arabic_Properties( TT_UShort* string,
TT_UShort* properties,
TT_UShort length );
TT_Error Build_Arabic_Glyph_Properties( TT_CharMap char_map,
TT_UShort max_glyphs,
TTO_GDEFHeader** gdef );
/* End */