Description
Shape plans are an internal mechanism. Each plan contains state
describing how HarfBuzz will shape a particular text segment, based on
the combination of segment properties and the capabilities in the
font face in use.
Shape plans are not used for shaping directly, but can be queried to
access certain information about how shaping will perform, given a set
of specific input parameters (script, language, direction, features,
etc.).
Most client programs will not need to deal with shape plans directly.
Functions
hb_shape_plan_create ()
hb_shape_plan_t *
hb_shape_plan_create (hb_face_t *face
,
const hb_segment_properties_t *props
,
const hb_feature_t *user_features
,
unsigned int num_user_features
,
const char * const *shaper_list
);
Constructs a shaping plan for a combination of face
, user_features
, props
,
and shaper_list
.
[Xconstructor]
Returns
The shaping plan.
[transfer full]
Since: 0.9.7
hb_shape_plan_create_cached ()
hb_shape_plan_t *
hb_shape_plan_create_cached (hb_face_t *face
,
const hb_segment_properties_t *props
,
const hb_feature_t *user_features
,
unsigned int num_user_features
,
const char * const *shaper_list
);
Creates a cached shaping plan suitable for reuse, for a combination
of face
, user_features
, props
, and shaper_list
.
Returns
The shaping plan.
[transfer full]
Since: 0.9.7
hb_shape_plan_create2 ()
hb_shape_plan_t *
hb_shape_plan_create2 (hb_face_t *face
,
const hb_segment_properties_t *props
,
const hb_feature_t *user_features
,
unsigned int num_user_features
,
const int *coords
,
unsigned int num_coords
,
const char * const *shaper_list
);
The variable-font version of hb_shape_plan_create.
Constructs a shaping plan for a combination of face
, user_features
, props
,
and shaper_list
, plus the variation-space coordinates coords
.
[Xconstructor]
Returns
The shaping plan.
[transfer full]
Since: 1.4.0
hb_shape_plan_create_cached2 ()
hb_shape_plan_t *
hb_shape_plan_create_cached2 (hb_face_t *face
,
const hb_segment_properties_t *props
,
const hb_feature_t *user_features
,
unsigned int num_user_features
,
const int *coords
,
unsigned int num_coords
,
const char * const *shaper_list
);
The variable-font version of hb_shape_plan_create_cached.
Creates a cached shaping plan suitable for reuse, for a combination
of face
, user_features
, props
, and shaper_list
, plus the
variation-space coordinates coords
.
Returns
The shaping plan.
[transfer full]
Since: 1.4.0
hb_shape_plan_destroy ()
void
hb_shape_plan_destroy (hb_shape_plan_t *shape_plan
);
Decreases the reference count on the given shaping plan. When the
reference count reaches zero, the shaping plan is destroyed,
freeing all memory.
[skip]
Since: 0.9.7
hb_shape_plan_get_empty ()
hb_shape_plan_t *
hb_shape_plan_get_empty (void
);
Fetches the singleton empty shaping plan.
Returns
The empty shaping plan.
[transfer full]
Since: 0.9.7
hb_shape_plan_get_shaper ()
const char *
hb_shape_plan_get_shaper (hb_shape_plan_t *shape_plan
);
Fetches the shaper from a given shaping plan.
Returns
The shaper.
[transfer none]
Since: 0.9.7
hb_shape_plan_get_user_data ()
void *
hb_shape_plan_get_user_data (hb_shape_plan_t *shape_plan
,
hb_user_data_key_t *key
);
Fetches the user data associated with the specified key,
attached to the specified shaping plan.
[skip]
Returns
A pointer to the user data.
[transfer none]
Since: 0.9.7
hb_shape_plan_reference ()
hb_shape_plan_t *
hb_shape_plan_reference (hb_shape_plan_t *shape_plan
);
Increases the reference count on the given shaping plan.
[skip]
Returns
shape_plan
.
[transfer full]
Since: 0.9.7
Types and Values
hb_shape_plan_t
typedef struct hb_shape_plan_t hb_shape_plan_t;
Data type for holding a shaping plan.
Shape plans contain information about how HarfBuzz will shape a
particular text segment, based on the segment's properties and the
capabilities in the font face in use.
Shape plans can be queried about how shaping will perform, given a set
of specific input parameters (script, language, direction, features,
etc.).