QtBase  v6.3.1
Macros | Functions
hb-shape-plan.cc File Reference
#include "hb.hh"
#include "hb-shape-plan.hh"
#include "hb-shaper.hh"
#include "hb-font.hh"
#include "hb-buffer.hh"
#include "hb-shaper-list.hh"
Include dependency graph for hb-shape-plan.cc:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define HB_SHAPER_PLAN(shaper)
 
#define HB_SHAPER_IMPLEMENT(shaper)
 
#define HB_SHAPER_IMPLEMENT(shaper)
 
#define HB_SHAPER_EXECUTE(shaper)
 
#define HB_SHAPER_IMPLEMENT(shaper)
 

Functions

hb_shape_plan_thb_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)
 
hb_shape_plan_thb_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)
 
hb_shape_plan_thb_shape_plan_get_empty ()
 
hb_shape_plan_thb_shape_plan_reference (hb_shape_plan_t *shape_plan)
 
void hb_shape_plan_destroy (hb_shape_plan_t *shape_plan)
 
hb_bool_t hb_shape_plan_set_user_data (hb_shape_plan_t *shape_plan, hb_user_data_key_t *key, void *data, hb_destroy_func_t destroy, hb_bool_t replace)
 
voidhb_shape_plan_get_user_data (hb_shape_plan_t *shape_plan, hb_user_data_key_t *key)
 
const char * hb_shape_plan_get_shaper (hb_shape_plan_t *shape_plan)
 
hb_bool_t hb_shape_plan_execute (hb_shape_plan_t *shape_plan, hb_font_t *font, hb_buffer_t *buffer, const hb_feature_t *features, unsigned int num_features)
 
hb_shape_plan_thb_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)
 
hb_shape_plan_thb_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)
 

Macro Definition Documentation

◆ HB_SHAPER_EXECUTE

#define HB_SHAPER_EXECUTE (   shaper)
Value:
return font->data.shaper && \
_hb_##shaper##_shape (shape_plan, font, buffer, features, num_features); \
#define HB_STMT_START
Definition: hb.hh:412
#define HB_STMT_END
Definition: hb.hh:413
GLenum GLuint buffer

◆ HB_SHAPER_IMPLEMENT [1/3]

#define HB_SHAPER_IMPLEMENT (   shaper)
Value:
else if (0 == strcmp (*shaper_list, #shaper)) \
HB_SHAPER_PLAN (shaper);
int PRIV() strcmp(PCRE2_SPTR str1, PCRE2_SPTR str2)

◆ HB_SHAPER_IMPLEMENT [2/3]

#define HB_SHAPER_IMPLEMENT (   shaper)
Value:
else if (shapers[i].func == _hb_##shaper##_shape) \
HB_SHAPER_PLAN (shaper);
small capitals from c petite p scientific i
[1]
Definition: afcover.h:80
GLenum func
Definition: qopenglext.h:663

◆ HB_SHAPER_IMPLEMENT [3/3]

#define HB_SHAPER_IMPLEMENT (   shaper)
Value:
else if (shape_plan->key.shaper_func == _hb_##shaper##_shape) \
HB_SHAPER_EXECUTE (shaper);

◆ HB_SHAPER_PLAN

#define HB_SHAPER_PLAN (   shaper)
Value:
if (face->data.shaper) \
{ \
this->shaper_func = _hb_##shaper##_shape; \
this->shaper_name = #shaper; \
return true; \
} \
GLenum face

Function Documentation

◆ 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 
)

hb_shape_plan_create: (Xconstructor) @face: hb_face_t to use @props: The hb_segment_properties_t of the segment @user_features: (array length=num_user_features): The list of user-selected features @num_user_features: The number of user-selected features @shaper_list: (array zero-terminated=1): List of shapers to try

Constructs a shaping plan for a combination of @face, @user_features, @props, and @shaper_list.

Return value: (transfer full): The shaping plan

Since: 0.9.7

Definition at line 188 of file hb-shape-plan.cc.

Here is the call graph for this function:

◆ 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 
)

hb_shape_plan_create2: (Xconstructor) @face: hb_face_t to use @props: The hb_segment_properties_t of the segment @user_features: (array length=num_user_features): The list of user-selected features @num_user_features: The number of user-selected features @coords: (array length=num_coords): The list of variation-space coordinates @num_coords: The number of variation-space coordinates @shaper_list: (array zero-terminated=1): List of shapers to try

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.

Return value: (transfer full): The shaping plan

Since: 1.4.0

Definition at line 219 of file hb-shape-plan.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 
)

hb_shape_plan_create_cached: @face: hb_face_t to use @props: The hb_segment_properties_t of the segment @user_features: (array length=num_user_features): The list of user-selected features @num_user_features: The number of user-selected features @shaper_list: (array zero-terminated=1): List of shapers to try

Creates a cached shaping plan suitable for reuse, for a combination of @face, @user_features, @props, and @shaper_list.

Return value: (transfer full): The shaping plan

Since: 0.9.7

Definition at line 483 of file hb-shape-plan.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 
)

hb_shape_plan_create_cached2: @face: hb_face_t to use @props: The hb_segment_properties_t of the segment @user_features: (array length=num_user_features): The list of user-selected features @num_user_features: The number of user-selected features @coords: (array length=num_coords): The list of variation-space coordinates @num_coords: The number of variation-space coordinates @shaper_list: (array zero-terminated=1): List of shapers to try

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.

Return value: (transfer full): The shaping plan

Since: 1.4.0

Definition at line 515 of file hb-shape-plan.cc.

Here is the caller graph for this function:

◆ hb_shape_plan_destroy()

void hb_shape_plan_destroy ( hb_shape_plan_t shape_plan)

hb_shape_plan_destroy: (skip) @shape_plan: A shaping plan

Decreases the reference count on the given shaping plan. When the reference count reaches zero, the shaping plan is destroyed, freeing all memory.

Since: 0.9.7

Definition at line 316 of file hb-shape-plan.cc.

Here is the caller graph for this function:

◆ hb_shape_plan_execute()

hb_bool_t hb_shape_plan_execute ( hb_shape_plan_t shape_plan,
hb_font_t font,
hb_buffer_t buffer,
const hb_feature_t features,
unsigned int  num_features 
)

hb_shape_plan_execute: @shape_plan: A shaping plan @font: The hb_font_t to use @buffer: The hb_buffer_t to work upon @features: (array length=num_features): Features to enable @num_features: The number of features to enable

Executes the given shaping plan on the specified buffer, using the given @font and @features.

Return value: true if success, false otherwise.

Since: 0.9.7

Definition at line 447 of file hb-shape-plan.cc.

Here is the caller graph for this function:

◆ hb_shape_plan_get_empty()

hb_shape_plan_t* hb_shape_plan_get_empty ( void  )

hb_shape_plan_get_empty:

Fetches the singleton empty shaping plan.

Return value: (transfer full): The empty shaping plan

Since: 0.9.7

Definition at line 284 of file hb-shape-plan.cc.

Here is the caller graph for this function:

◆ hb_shape_plan_get_shaper()

const char* hb_shape_plan_get_shaper ( hb_shape_plan_t shape_plan)

hb_shape_plan_get_shaper: @shape_plan: A shaping plan

Fetches the shaper from a given shaping plan.

Return value: (transfer none): The shaper

Since: 0.9.7

Definition at line 381 of file hb-shape-plan.cc.

◆ 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 
)

hb_shape_plan_get_user_data: (skip) @shape_plan: A shaping plan @key: The user-data key to query

Fetches the user data associated with the specified key, attached to the specified shaping plan.

Return value: (transfer none): A pointer to the user data

Since: 0.9.7

Definition at line 364 of file hb-shape-plan.cc.

◆ hb_shape_plan_reference()

hb_shape_plan_t* hb_shape_plan_reference ( hb_shape_plan_t shape_plan)

hb_shape_plan_reference: (skip) @shape_plan: A shaping plan

Increases the reference count on the given shaping plan.

Return value: (transfer full): @shape_plan

Since: 0.9.7

Definition at line 300 of file hb-shape-plan.cc.

◆ hb_shape_plan_set_user_data()

hb_bool_t hb_shape_plan_set_user_data ( hb_shape_plan_t shape_plan,
hb_user_data_key_t key,
void data,
hb_destroy_func_t  destroy,
hb_bool_t  replace 
)

hb_shape_plan_set_user_data: (skip) @shape_plan: A shaping plan @key: The user-data key to set @data: A pointer to the user data @destroy: (nullable): A callback to call when @data is not needed anymore @replace: Whether to replace an existing data with the same key

Attaches a user-data key/data pair to the given shaping plan.

Return value: true if success, false otherwise.

Since: 0.9.7

Definition at line 342 of file hb-shape-plan.cc.