QtBase  v6.3.1
Classes | Macros | Typedefs | Functions
hb-font.cc File Reference
#include "hb.hh"
#include "hb-font.hh"
#include "hb-draw.hh"
#include "hb-machinery.hh"
#include "hb-ot.h"
#include "hb-ot-var-avar-table.hh"
#include "hb-ot-var-fvar-table.hh"
Include dependency graph for hb-font.cc:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  hb_font_get_glyph_shape_default_adaptor_t
 
struct  hb_trampoline_closure_t
 
struct  hb_trampoline_t< FuncType >
 

Macros

#define hb_font_get_nominal_glyphs_nil   hb_font_get_nominal_glyphs_default
 
#define hb_font_get_glyph_h_advances_nil   hb_font_get_glyph_h_advances_default
 
#define hb_font_get_glyph_v_advances_nil   hb_font_get_glyph_v_advances_default
 
#define HB_DRAW_FUNC_IMPLEMENT(name)   hb_draw_##name##_default,
 
#define HB_FONT_FUNC_IMPLEMENT(name)   nullptr,
 
#define HB_FONT_FUNC_IMPLEMENT(name)   nullptr,
 
#define HB_FONT_FUNC_IMPLEMENT(name)   hb_font_get_##name##_nil,
 
#define HB_FONT_FUNC_IMPLEMENT(name)   nullptr,
 
#define HB_FONT_FUNC_IMPLEMENT(name)   nullptr,
 
#define HB_FONT_FUNC_IMPLEMENT(name)   hb_font_get_##name##_default,
 
#define HB_FONT_FUNC_IMPLEMENT(name)
 
#define HB_FONT_FUNC_IMPLEMENT(name)
 

Typedefs

typedef struct hb_font_get_glyph_shape_default_adaptor_t hb_font_get_glyph_shape_default_adaptor_t
 

Functions

 DEFINE_NULL_INSTANCE (hb_font_funcs_t)
 
hb_font_funcs_thb_font_funcs_create ()
 
hb_font_funcs_thb_font_funcs_get_empty ()
 
hb_font_funcs_thb_font_funcs_reference (hb_font_funcs_t *ffuncs)
 
void hb_font_funcs_destroy (hb_font_funcs_t *ffuncs)
 
hb_bool_t hb_font_funcs_set_user_data (hb_font_funcs_t *ffuncs, hb_user_data_key_t *key, void *data, hb_destroy_func_t destroy, hb_bool_t replace)
 
voidhb_font_funcs_get_user_data (hb_font_funcs_t *ffuncs, hb_user_data_key_t *key)
 
void hb_font_funcs_make_immutable (hb_font_funcs_t *ffuncs)
 
hb_bool_t hb_font_funcs_is_immutable (hb_font_funcs_t *ffuncs)
 
hb_bool_t hb_font_get_h_extents (hb_font_t *font, hb_font_extents_t *extents)
 
hb_bool_t hb_font_get_v_extents (hb_font_t *font, hb_font_extents_t *extents)
 
hb_bool_t hb_font_get_glyph (hb_font_t *font, hb_codepoint_t unicode, hb_codepoint_t variation_selector, hb_codepoint_t *glyph)
 
hb_bool_t hb_font_get_nominal_glyph (hb_font_t *font, hb_codepoint_t unicode, hb_codepoint_t *glyph)
 
unsigned int hb_font_get_nominal_glyphs (hb_font_t *font, unsigned int count, const hb_codepoint_t *first_unicode, unsigned int unicode_stride, hb_codepoint_t *first_glyph, unsigned int glyph_stride)
 
hb_bool_t hb_font_get_variation_glyph (hb_font_t *font, hb_codepoint_t unicode, hb_codepoint_t variation_selector, hb_codepoint_t *glyph)
 
hb_position_t hb_font_get_glyph_h_advance (hb_font_t *font, hb_codepoint_t glyph)
 
hb_position_t hb_font_get_glyph_v_advance (hb_font_t *font, hb_codepoint_t glyph)
 
void hb_font_get_glyph_h_advances (hb_font_t *font, unsigned int count, const hb_codepoint_t *first_glyph, unsigned glyph_stride, hb_position_t *first_advance, unsigned advance_stride)
 
void hb_font_get_glyph_v_advances (hb_font_t *font, unsigned int count, const hb_codepoint_t *first_glyph, unsigned glyph_stride, hb_position_t *first_advance, unsigned advance_stride)
 
hb_bool_t hb_font_get_glyph_h_origin (hb_font_t *font, hb_codepoint_t glyph, hb_position_t *x, hb_position_t *y)
 
hb_bool_t hb_font_get_glyph_v_origin (hb_font_t *font, hb_codepoint_t glyph, hb_position_t *x, hb_position_t *y)
 
hb_position_t hb_font_get_glyph_h_kerning (hb_font_t *font, hb_codepoint_t left_glyph, hb_codepoint_t right_glyph)
 
hb_position_t hb_font_get_glyph_v_kerning (hb_font_t *font, hb_codepoint_t top_glyph, hb_codepoint_t bottom_glyph)
 
hb_bool_t hb_font_get_glyph_extents (hb_font_t *font, hb_codepoint_t glyph, hb_glyph_extents_t *extents)
 
hb_bool_t hb_font_get_glyph_contour_point (hb_font_t *font, hb_codepoint_t glyph, unsigned int point_index, hb_position_t *x, hb_position_t *y)
 
: (out) (array length=size): Name string retrieved for the glyph ID

hb_font_get_glyph_name: @font: hb_font_t to work upon @glyph: The glyph ID to query

@size: Length of the glyph-name string retrieved

Fetches the glyph-name string for a glyph ID in the specified @font.

Return value: true if data found, false otherwise

Since: 0.9.2

hb_bool_t hb_font_get_glyph_name (hb_font_t *font, hb_codepoint_t glyph, char *name, unsigned int size)
 

: (array length=len): The name string to query

hb_font_get_glyph_from_name: @font: hb_font_t to work upon

@len: The length of the name queried @glyph: (out): The glyph ID retrieved

Fetches the glyph ID that corresponds to a name string in the specified @font.

<note>Note: @len == -1 means the name string is null-terminated.</note>

Return value: true if data found, false otherwise

Since: 0.9.2

typedef hb_trampoline_t< hb_font_get_glyph_func_thb_font_get_glyph_trampoline_t
 
hb_bool_t hb_font_get_glyph_from_name (hb_font_t *font, const char *name, int len, hb_codepoint_t *glyph)
 
void hb_font_get_glyph_shape (hb_font_t *font, hb_codepoint_t glyph, hb_draw_funcs_t *dfuncs, void *draw_data)
 
void hb_font_get_extents_for_direction (hb_font_t *font, hb_direction_t direction, hb_font_extents_t *extents)
 
void hb_font_get_glyph_advance_for_direction (hb_font_t *font, hb_codepoint_t glyph, hb_direction_t direction, hb_position_t *x, hb_position_t *y)
 
HB_EXTERN void hb_font_get_glyph_advances_for_direction (hb_font_t *font, hb_direction_t direction, unsigned int count, const hb_codepoint_t *first_glyph, unsigned glyph_stride, hb_position_t *first_advance, unsigned advance_stride)
 
void hb_font_get_glyph_origin_for_direction (hb_font_t *font, hb_codepoint_t glyph, hb_direction_t direction, hb_position_t *x, hb_position_t *y)
 
void hb_font_add_glyph_origin_for_direction (hb_font_t *font, hb_codepoint_t glyph, hb_direction_t direction, hb_position_t *x, hb_position_t *y)
 
void hb_font_subtract_glyph_origin_for_direction (hb_font_t *font, hb_codepoint_t glyph, hb_direction_t direction, hb_position_t *x, hb_position_t *y)
 
void hb_font_get_glyph_kerning_for_direction (hb_font_t *font, hb_codepoint_t first_glyph, hb_codepoint_t second_glyph, hb_direction_t direction, hb_position_t *x, hb_position_t *y)
 
hb_bool_t hb_font_get_glyph_extents_for_origin (hb_font_t *font, hb_codepoint_t glyph, hb_direction_t direction, hb_glyph_extents_t *extents)
 
hb_bool_t hb_font_get_glyph_contour_point_for_origin (hb_font_t *font, hb_codepoint_t glyph, unsigned int point_index, hb_direction_t direction, hb_position_t *x, hb_position_t *y)
 
void hb_font_glyph_to_string (hb_font_t *font, hb_codepoint_t glyph, char *s, unsigned int size)
 
hb_bool_t hb_font_glyph_from_string (hb_font_t *font, const char *s, int len, hb_codepoint_t *glyph)
 
 DEFINE_NULL_INSTANCE (hb_font_t)
 
hb_font_thb_font_create (hb_face_t *face)
 
hb_font_thb_font_create_sub_font (hb_font_t *parent)
 
hb_font_thb_font_get_empty ()
 
hb_font_thb_font_reference (hb_font_t *font)
 
void hb_font_destroy (hb_font_t *font)
 
hb_bool_t hb_font_set_user_data (hb_font_t *font, hb_user_data_key_t *key, void *data, hb_destroy_func_t destroy, hb_bool_t replace)
 
voidhb_font_get_user_data (hb_font_t *font, hb_user_data_key_t *key)
 
void hb_font_make_immutable (hb_font_t *font)
 
hb_bool_t hb_font_is_immutable (hb_font_t *font)
 
void hb_font_set_parent (hb_font_t *font, hb_font_t *parent)
 
hb_font_thb_font_get_parent (hb_font_t *font)
 
void hb_font_set_face (hb_font_t *font, hb_face_t *face)
 
hb_face_thb_font_get_face (hb_font_t *font)
 
void hb_font_set_funcs (hb_font_t *font, hb_font_funcs_t *klass, void *font_data, hb_destroy_func_t destroy)
 
void hb_font_set_funcs_data (hb_font_t *font, void *font_data, hb_destroy_func_t destroy)
 
void hb_font_set_scale (hb_font_t *font, int x_scale, int y_scale)
 
void hb_font_get_scale (hb_font_t *font, int *x_scale, int *y_scale)
 
void hb_font_set_ppem (hb_font_t *font, unsigned int x_ppem, unsigned int y_ppem)
 
void hb_font_get_ppem (hb_font_t *font, unsigned int *x_ppem, unsigned int *y_ppem)
 
void hb_font_set_ptem (hb_font_t *font, float ptem)
 
float hb_font_get_ptem (hb_font_t *font)
 
HB_EXTERN void hb_font_set_synthetic_slant (hb_font_t *font, float slant)
 
HB_EXTERN float hb_font_get_synthetic_slant (hb_font_t *font)
 
void hb_font_set_variations (hb_font_t *font, const hb_variation_t *variations, unsigned int variations_length)
 
void hb_font_set_var_coords_design (hb_font_t *font, const float *coords, unsigned int coords_length)
 
void hb_font_set_var_named_instance (hb_font_t *font, unsigned instance_index)
 
void hb_font_set_var_coords_normalized (hb_font_t *font, const int *coords, unsigned int coords_length)
 
const int * hb_font_get_var_coords_normalized (hb_font_t *font, unsigned int *length)
 
const float * hb_font_get_var_coords_design (hb_font_t *font, unsigned int *length)
 
void hb_font_funcs_set_glyph_func (hb_font_funcs_t *ffuncs, hb_font_get_glyph_func_t func, void *user_data, hb_destroy_func_t destroy)
 

Macro Definition Documentation

◆ HB_DRAW_FUNC_IMPLEMENT

#define HB_DRAW_FUNC_IMPLEMENT (   name)    hb_draw_##name##_default,

◆ HB_FONT_FUNC_IMPLEMENT [1/8]

#define HB_FONT_FUNC_IMPLEMENT (   name)    nullptr,

Definition at line 835 of file hb-font.cc.

◆ HB_FONT_FUNC_IMPLEMENT [2/8]

#define HB_FONT_FUNC_IMPLEMENT (   name)    nullptr,

Definition at line 835 of file hb-font.cc.

◆ HB_FONT_FUNC_IMPLEMENT [3/8]

#define HB_FONT_FUNC_IMPLEMENT (   name)    hb_font_get_##name##_nil,

Definition at line 835 of file hb-font.cc.

◆ HB_FONT_FUNC_IMPLEMENT [4/8]

#define HB_FONT_FUNC_IMPLEMENT (   name)    nullptr,

Definition at line 835 of file hb-font.cc.

◆ HB_FONT_FUNC_IMPLEMENT [5/8]

#define HB_FONT_FUNC_IMPLEMENT (   name)    nullptr,

Definition at line 835 of file hb-font.cc.

◆ HB_FONT_FUNC_IMPLEMENT [6/8]

#define HB_FONT_FUNC_IMPLEMENT (   name)    hb_font_get_##name##_default,

Definition at line 835 of file hb-font.cc.

◆ HB_FONT_FUNC_IMPLEMENT [7/8]

#define HB_FONT_FUNC_IMPLEMENT (   name)
Value:
if (ffuncs->destroy.name) \
ffuncs->destroy.name (ffuncs->user_data.name);

Definition at line 835 of file hb-font.cc.

◆ HB_FONT_FUNC_IMPLEMENT [8/8]

#define HB_FONT_FUNC_IMPLEMENT (   name)
Value:
\
void \
hb_font_funcs_set_##name##_func (hb_font_funcs_t *ffuncs, \
hb_font_get_##name##_func_t func, \
void *user_data, \
{ \
if (hb_object_is_immutable (ffuncs)) \
{ \
if (destroy) \
destroy (user_data); \
return; \
} \
if (ffuncs->destroy.name) \
ffuncs->destroy.name (ffuncs->user_data.name); \
if (func) { \
ffuncs->get.f.name = func; \
ffuncs->user_data.name = user_data; \
ffuncs->destroy.name = destroy; \
} else { \
ffuncs->get.f.name = hb_font_get_##name##_default; \
ffuncs->user_data.name = nullptr; \
ffuncs->destroy.name = nullptr; \
} \
}
set set set set set set set macro pixldst1 abits if abits op else op endif endm macro pixldst2 abits if abits op else op endif endm macro pixldst4 abits if abits op else op endif endm macro pixldst0 abits op endm macro pixldst3 mem_operand op endm macro pixldst30 mem_operand op endm macro pixldst abits if abits elseif abits elseif abits elseif abits elseif abits pixldst0 abits else pixldst0 abits pixldst0 abits pixldst0 abits pixldst0 abits endif elseif abits else pixldst0 abits pixldst0 abits endif elseif abits else error unsupported bpp *numpix else pixst endif endm macro vuzp8 reg2 vuzp d d &reg2 endm macro vzip8 reg2 vzip d d &reg2 endm macro pixdeinterleave basereg basereg basereg basereg basereg endif endm macro pixinterleave basereg basereg basereg basereg basereg endif endm macro PF boost_increment endif if endif PF tst PF addne PF subne PF cmp ORIG_W if endif if endif if endif PF subge ORIG_W PF subges if endif if endif if endif endif endm macro cache_preload_simple endif if dst_r_bpp pld[DST_R, #(PREFETCH_DISTANCE_SIMPLE *dst_r_bpp/8)] endif if mask_bpp pld if[MASK, #(PREFETCH_DISTANCE_SIMPLE *mask_bpp/8)] endif endif endm macro ensure_destination_ptr_alignment process_pixblock_tail_head if beq irp skip1(dst_w_bpp<=(lowbit *8)) &&((lowbit *8)<(pixblock_size *dst_w_bpp)) .if lowbit< 16 tst DST_R
[3]
GLuint name
GLenum func
Definition: qopenglext.h:663
void(* hb_destroy_func_t)(void *user_data)
Definition: hb-common.h:771
HB_EXTERN hb_font_get_glyph_func_t void * user_data
HB_EXTERN hb_font_get_glyph_func_t void hb_destroy_func_t destroy

Definition at line 835 of file hb-font.cc.

◆ hb_font_get_glyph_h_advances_nil

#define hb_font_get_glyph_h_advances_nil   hb_font_get_glyph_h_advances_default

Definition at line 246 of file hb-font.cc.

◆ hb_font_get_glyph_v_advances_nil

#define hb_font_get_glyph_v_advances_nil   hb_font_get_glyph_v_advances_default

Definition at line 279 of file hb-font.cc.

◆ hb_font_get_nominal_glyphs_nil

#define hb_font_get_nominal_glyphs_nil   hb_font_get_nominal_glyphs_default

Definition at line 143 of file hb-font.cc.

Typedef Documentation

◆ hb_font_get_glyph_shape_default_adaptor_t

◆ hb_font_get_glyph_trampoline_t

Definition at line 2538 of file hb-font.cc.

Function Documentation

◆ DEFINE_NULL_INSTANCE() [1/2]

DEFINE_NULL_INSTANCE ( hb_font_funcs_t  )

◆ DEFINE_NULL_INSTANCE() [2/2]

DEFINE_NULL_INSTANCE ( hb_font_t  )

◆ hb_font_add_glyph_origin_for_direction()

void hb_font_add_glyph_origin_for_direction ( hb_font_t font,
hb_codepoint_t  glyph,
hb_direction_t  direction,
hb_position_t x,
hb_position_t y 
)

hb_font_add_glyph_origin_for_direction: @font: hb_font_t to work upon @glyph: The glyph ID to query @direction: The direction of the text segment @x: (inout): Input = The original X coordinate Output = The X coordinate plus the X-coordinate of the origin @y: (inout): Input = The original Y coordinate Output = The Y coordinate plus the Y-coordinate of the origin

Adds the origin coordinates to an (X,Y) point coordinate, in the specified glyph ID in the specified font.

Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.

Since: 0.9.2

Definition at line 1446 of file hb-font.cc.

◆ hb_font_create()

hb_font_t* hb_font_create ( hb_face_t face)

hb_font_create: (Xconstructor) @face: a face.

Constructs a new font object from the specified face.

<note>Note: If @face's index value (as passed to hb_face_create() has non-zero top 16-bits, those bits minus one are passed to hb_font_set_var_named_instance(), effectively loading a named-instance of a variable font, instead of the default-instance. This allows specifying which named-instance to load by default when creating the face.</note>

Return value: (transfer full): The new font object

Since: 0.9.2

Definition at line 1689 of file hb-font.cc.

Here is the caller graph for this function:

◆ hb_font_create_sub_font()

hb_font_t* hb_font_create_sub_font ( hb_font_t parent)

hb_font_create_sub_font: @parent: The parent font object

Constructs a sub-font font object from the specified @parent font, replicating the parent's properties.

Return value: (transfer full): The new sub-font font object

Since: 0.9.2

Definition at line 1732 of file hb-font.cc.

Here is the call graph for this function:

◆ hb_font_destroy()

void hb_font_destroy ( hb_font_t font)

hb_font_destroy: (skip) @font: hb_font_t to work upon

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

Since: 0.9.2

Definition at line 1815 of file hb-font.cc.

Here is the caller graph for this function:

◆ hb_font_funcs_create()

hb_font_funcs_t* hb_font_funcs_create ( void  )

hb_font_funcs_create: (Xconstructor)

Creates a new hb_font_funcs_t structure of font functions.

Return value: (transfer full): The font-functions structure

Since: 0.9.2

Definition at line 691 of file hb-font.cc.

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

◆ hb_font_funcs_destroy()

void hb_font_funcs_destroy ( hb_font_funcs_t ffuncs)

hb_font_funcs_destroy: (skip) @ffuncs: The font-functions structure

Decreases the reference count on a font-functions structure. When the reference count reaches zero, the font-functions structure is destroyed, freeing all memory.

Since: 0.9.2

Definition at line 745 of file hb-font.cc.

Here is the caller graph for this function:

◆ hb_font_funcs_get_empty()

hb_font_funcs_t* hb_font_funcs_get_empty ( void  )

hb_font_funcs_get_empty:

Fetches an empty font-functions structure.

Return value: (transfer full): The font-functions structure

Since: 0.9.2

Definition at line 713 of file hb-font.cc.

Here is the caller graph for this function:

◆ hb_font_funcs_get_user_data()

void* hb_font_funcs_get_user_data ( hb_font_funcs_t ffuncs,
hb_user_data_key_t key 
)

hb_font_funcs_get_user_data: (skip) @ffuncs: The font-functions structure @key: The user-data key to query

Fetches the user data associated with the specified key, attached to the specified font-functions structure.

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

Since: 0.9.2

Definition at line 794 of file hb-font.cc.

◆ hb_font_funcs_is_immutable()

hb_bool_t hb_font_funcs_is_immutable ( hb_font_funcs_t ffuncs)

hb_font_funcs_is_immutable: @ffuncs: The font-functions structure

Tests whether a font-functions structure is immutable.

Return value: true if @ffuncs is immutable, false otherwise

Since: 0.9.2

Definition at line 829 of file hb-font.cc.

◆ hb_font_funcs_make_immutable()

void hb_font_funcs_make_immutable ( hb_font_funcs_t ffuncs)

hb_font_funcs_make_immutable: @ffuncs: The font-functions structure

Makes a font-functions structure immutable.

Since: 0.9.2

Definition at line 810 of file hb-font.cc.

◆ hb_font_funcs_reference()

hb_font_funcs_t* hb_font_funcs_reference ( hb_font_funcs_t ffuncs)

hb_font_funcs_reference: (skip) @ffuncs: The font-functions structure

Increases the reference count on a font-functions structure.

Return value: The font-functions structure

Since: 0.9.2

Definition at line 729 of file hb-font.cc.

◆ hb_font_funcs_set_glyph_func()

void hb_font_funcs_set_glyph_func ( hb_font_funcs_t ffuncs,
hb_font_get_glyph_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_glyph_func: @ffuncs: The font-functions structure @func: (closure user_data) (destroy destroy) (scope notified): callback function @user_data: data to pass to @func @destroy: (nullable): function to call when @user_data is not needed anymore

Deprecated. Use hb_font_funcs_set_nominal_glyph_func() and hb_font_funcs_set_variation_glyph_func() instead.

Since: 0.9.2 Deprecated: 1.2.3

Definition at line 2577 of file hb-font.cc.

◆ hb_font_funcs_set_user_data()

hb_bool_t hb_font_funcs_set_user_data ( hb_font_funcs_t ffuncs,
hb_user_data_key_t key,
void data,
hb_destroy_func_t  destroy,
hb_bool_t  replace 
)

hb_font_funcs_set_user_data: (skip) @ffuncs: The font-functions structure @key: The user-data key to set @data: A pointer to the user data set @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 specified font-functions structure.

Return value: true if success, false otherwise

Since: 0.9.2

Definition at line 772 of file hb-font.cc.

◆ hb_font_get_empty()

hb_font_t* hb_font_get_empty ( void  )

hb_font_get_empty:

Fetches the empty font object.

Return value: (transfer full): The empty font object

Since: 0.9.2

Definition at line 1783 of file hb-font.cc.

Here is the caller graph for this function:

◆ hb_font_get_extents_for_direction()

void hb_font_get_extents_for_direction ( hb_font_t font,
hb_direction_t  direction,
hb_font_extents_t extents 
)

hb_font_get_extents_for_direction: @font: hb_font_t to work upon @direction: The direction of the text segment @extents: (out): The hb_font_extents_t retrieved

Fetches the extents for a font in a text segment of the specified direction.

Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.

Since: 1.1.3

Definition at line 1340 of file hb-font.cc.

Here is the caller graph for this function:

◆ hb_font_get_face()

hb_face_t* hb_font_get_face ( hb_font_t font)

hb_font_get_face: @font: hb_font_t to work upon

Fetches the face associated with the specified font object.

Return value: (transfer none): The hb_face_t value

Since: 0.9.2

Definition at line 1994 of file hb-font.cc.

◆ hb_font_get_glyph()

hb_bool_t hb_font_get_glyph ( hb_font_t font,
hb_codepoint_t  unicode,
hb_codepoint_t  variation_selector,
hb_codepoint_t glyph 
)

hb_font_get_glyph: @font: hb_font_t to work upon @unicode: The Unicode code point to query @variation_selector: A variation-selector code point @glyph: (out): The glyph ID retrieved

Fetches the glyph ID for a Unicode code point in the specified font, with an optional variation selector.

If @variation_selector is 0, calls hb_font_get_nominal_glyph(); otherwise calls hb_font_get_variation_glyph().

Return value: true if data found, false otherwise

Since: 0.9.2

Definition at line 938 of file hb-font.cc.

◆ hb_font_get_glyph_advance_for_direction()

void hb_font_get_glyph_advance_for_direction ( hb_font_t font,
hb_codepoint_t  glyph,
hb_direction_t  direction,
hb_position_t x,
hb_position_t y 
)

hb_font_get_glyph_advance_for_direction: @font: hb_font_t to work upon @glyph: The glyph ID to query @direction: The direction of the text segment @x: (out): The horizontal advance retrieved @y: (out): The vertical advance retrieved

Fetches the advance for a glyph ID from the specified font, in a text segment of the specified direction.

Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.

Since: 0.9.2

Definition at line 1363 of file hb-font.cc.

◆ hb_font_get_glyph_advances_for_direction()

HB_EXTERN void hb_font_get_glyph_advances_for_direction ( hb_font_t font,
hb_direction_t  direction,
unsigned int  count,
const hb_codepoint_t first_glyph,
unsigned  glyph_stride,
hb_position_t first_advance,
unsigned  advance_stride 
)

hb_font_get_glyph_advances_for_direction: @font: hb_font_t to work upon @direction: The direction of the text segment @count: The number of glyph IDs in the sequence queried @first_glyph: The first glyph ID to query @glyph_stride: The stride between successive glyph IDs @first_advance: (out): The first advance retrieved @advance_stride: (out): The stride between successive advances

Fetches the advances for a sequence of glyph IDs in the specified font, in a text segment of the specified direction.

Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.

Since: 1.8.6

Definition at line 1390 of file hb-font.cc.

◆ hb_font_get_glyph_contour_point()

hb_bool_t hb_font_get_glyph_contour_point ( hb_font_t font,
hb_codepoint_t  glyph,
unsigned int  point_index,
hb_position_t x,
hb_position_t y 
)

hb_font_get_glyph_contour_point: @font: hb_font_t to work upon @glyph: The glyph ID to query @point_index: The contour-point index to query @x: (out): The X value retrieved for the contour point @y: (out): The Y value retrieved for the contour point

Fetches the (x,y) coordinates of a specified contour-point index in the specified glyph, within the specified font.

Return value: true if data found, false otherwise

Since: 0.9.2

Definition at line 1247 of file hb-font.cc.

◆ hb_font_get_glyph_contour_point_for_origin()

hb_bool_t hb_font_get_glyph_contour_point_for_origin ( hb_font_t font,
hb_codepoint_t  glyph,
unsigned int  point_index,
hb_direction_t  direction,
hb_position_t x,
hb_position_t y 
)

hb_font_get_glyph_contour_point_for_origin: @font: hb_font_t to work upon @glyph: The glyph ID to query @point_index: The contour-point index to query @direction: The direction of the text segment @x: (out): The X value retrieved for the contour point @y: (out): The Y value retrieved for the contour point

Fetches the (X,Y) coordinates of a specified contour-point index in the specified glyph ID in the specified font, with respect to the origin in a text segment in the specified direction.

Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.

Return value: true if data found, false otherwise

Since: 0.9.2

Definition at line 1558 of file hb-font.cc.

◆ hb_font_get_glyph_extents()

hb_bool_t hb_font_get_glyph_extents ( hb_font_t font,
hb_codepoint_t  glyph,
hb_glyph_extents_t extents 
)

hb_font_get_glyph_extents: @font: hb_font_t to work upon @glyph: The glyph ID to query @extents: (out): The hb_glyph_extents_t retrieved

Fetches the hb_glyph_extents_t data for a glyph ID in the specified font.

Return value: true if data found, false otherwise

Since: 0.9.2

Definition at line 1224 of file hb-font.cc.

Here is the caller graph for this function:

◆ hb_font_get_glyph_extents_for_origin()

hb_bool_t hb_font_get_glyph_extents_for_origin ( hb_font_t font,
hb_codepoint_t  glyph,
hb_direction_t  direction,
hb_glyph_extents_t extents 
)

hb_font_get_glyph_extents_for_origin: @font: hb_font_t to work upon @glyph: The glyph ID to query @direction: The direction of the text segment @extents: (out): The hb_glyph_extents_t retrieved

Fetches the hb_glyph_extents_t data for a glyph ID in the specified font, with respect to the origin in a text segment in the specified direction.

Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.

Return value: true if data found, false otherwise

Since: 0.9.2

Definition at line 1529 of file hb-font.cc.

◆ hb_font_get_glyph_from_name()

hb_bool_t hb_font_get_glyph_from_name ( hb_font_t font,
const char *  name,
int  len,
hb_codepoint_t glyph 
)

Definition at line 1294 of file hb-font.cc.

Here is the caller graph for this function:

◆ hb_font_get_glyph_h_advance()

hb_position_t hb_font_get_glyph_h_advance ( hb_font_t font,
hb_codepoint_t  glyph 
)

hb_font_get_glyph_h_advance: @font: hb_font_t to work upon @glyph: The glyph ID to query

Fetches the advance for a glyph ID in the specified font, for horizontal text segments.

Return value: The advance of @glyph within @font

Since: 0.9.2

Definition at line 1039 of file hb-font.cc.

◆ hb_font_get_glyph_h_advances()

void hb_font_get_glyph_h_advances ( hb_font_t font,
unsigned int  count,
const hb_codepoint_t first_glyph,
unsigned  glyph_stride,
hb_position_t first_advance,
unsigned  advance_stride 
)

hb_font_get_glyph_h_advances: @font: hb_font_t to work upon @count: The number of glyph IDs in the sequence queried @first_glyph: The first glyph ID to query @glyph_stride: The stride between successive glyph IDs @first_advance: (out): The first advance retrieved @advance_stride: The stride between successive advances

Fetches the advances for a sequence of glyph IDs in the specified font, for horizontal text segments.

Since: 1.8.6

Definition at line 1079 of file hb-font.cc.

◆ hb_font_get_glyph_h_kerning()

hb_position_t hb_font_get_glyph_h_kerning ( hb_font_t font,
hb_codepoint_t  left_glyph,
hb_codepoint_t  right_glyph 
)

hb_font_get_glyph_h_kerning: @font: hb_font_t to work upon @left_glyph: The glyph ID of the left glyph in the glyph pair @right_glyph: The glyph ID of the right glyph in the glyph pair

Fetches the kerning-adjustment value for a glyph-pair in the specified font, for horizontal text segments.

<note>It handles legacy kerning only (as returned by the corresponding hb_font_funcs_t function).</note>

Return value: The kerning adjustment value

Since: 0.9.2

Definition at line 1176 of file hb-font.cc.

◆ hb_font_get_glyph_h_origin()

hb_bool_t hb_font_get_glyph_h_origin ( hb_font_t font,
hb_codepoint_t  glyph,
hb_position_t x,
hb_position_t y 
)

hb_font_get_glyph_h_origin: @font: hb_font_t to work upon @glyph: The glyph ID to query @x: (out): The X coordinate of the origin @y: (out): The Y coordinate of the origin

Fetches the (X,Y) coordinates of the origin for a glyph ID in the specified font, for horizontal text segments.

Return value: true if data found, false otherwise

Since: 0.9.2

Definition at line 1128 of file hb-font.cc.

◆ hb_font_get_glyph_kerning_for_direction()

void hb_font_get_glyph_kerning_for_direction ( hb_font_t font,
hb_codepoint_t  first_glyph,
hb_codepoint_t  second_glyph,
hb_direction_t  direction,
hb_position_t x,
hb_position_t y 
)

hb_font_get_glyph_kerning_for_direction: @font: hb_font_t to work upon @first_glyph: The glyph ID of the first glyph in the glyph pair to query @second_glyph: The glyph ID of the second glyph in the glyph pair to query @direction: The direction of the text segment @x: (out): The horizontal kerning-adjustment value retrieved @y: (out): The vertical kerning-adjustment value retrieved

Fetches the kerning-adjustment value for a glyph-pair in the specified font.

Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.

Since: 0.9.2

Definition at line 1500 of file hb-font.cc.

◆ hb_font_get_glyph_name()

hb_bool_t hb_font_get_glyph_name ( hb_font_t font,
hb_codepoint_t  glyph,
char *  name,
unsigned int  size 
)

Definition at line 1270 of file hb-font.cc.

Here is the caller graph for this function:

◆ hb_font_get_glyph_origin_for_direction()

void hb_font_get_glyph_origin_for_direction ( hb_font_t font,
hb_codepoint_t  glyph,
hb_direction_t  direction,
hb_position_t x,
hb_position_t y 
)

hb_font_get_glyph_origin_for_direction: @font: hb_font_t to work upon @glyph: The glyph ID to query @direction: The direction of the text segment @x: (out): The X coordinate retrieved for the origin @y: (out): The Y coordinate retrieved for the origin

Fetches the (X,Y) coordinates of the origin for a glyph in the specified font.

Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.

Since: 0.9.2

Definition at line 1418 of file hb-font.cc.

◆ hb_font_get_glyph_shape()

void hb_font_get_glyph_shape ( hb_font_t font,
hb_codepoint_t  glyph,
hb_draw_funcs_t dfuncs,
void draw_data 
)

hb_font_get_glyph_shape: @font: hb_font_t to work upon @glyph: : The glyph ID @dfuncs: hb_draw_funcs_t to draw to @draw_data: User data to pass to draw callbacks

Fetches the glyph shape that corresponds to a glyph in the specified @font. The shape is returned by way of calls to the callsbacks of the @dfuncs objects, with @draw_data passed to them.

Since: 4.0.0

Definition at line 1316 of file hb-font.cc.

◆ hb_font_get_glyph_v_advance()

hb_position_t hb_font_get_glyph_v_advance ( hb_font_t font,
hb_codepoint_t  glyph 
)

hb_font_get_glyph_v_advance: @font: hb_font_t to work upon @glyph: The glyph ID to query

Fetches the advance for a glyph ID in the specified font, for vertical text segments.

Return value: The advance of @glyph within @font

Since: 0.9.2

Definition at line 1058 of file hb-font.cc.

◆ hb_font_get_glyph_v_advances()

void hb_font_get_glyph_v_advances ( hb_font_t font,
unsigned int  count,
const hb_codepoint_t first_glyph,
unsigned  glyph_stride,
hb_position_t first_advance,
unsigned  advance_stride 
)

hb_font_get_glyph_v_advances: @font: hb_font_t to work upon @count: The number of glyph IDs in the sequence queried @first_glyph: The first glyph ID to query @glyph_stride: The stride between successive glyph IDs @first_advance: (out): The first advance retrieved @advance_stride: (out): The stride between successive advances

Fetches the advances for a sequence of glyph IDs in the specified font, for vertical text segments.

Since: 1.8.6

Definition at line 1103 of file hb-font.cc.

◆ hb_font_get_glyph_v_kerning()

hb_position_t hb_font_get_glyph_v_kerning ( hb_font_t font,
hb_codepoint_t  top_glyph,
hb_codepoint_t  bottom_glyph 
)

hb_font_get_glyph_v_kerning: @font: hb_font_t to work upon @top_glyph: The glyph ID of the top glyph in the glyph pair @bottom_glyph: The glyph ID of the bottom glyph in the glyph pair

Fetches the kerning-adjustment value for a glyph-pair in the specified font, for vertical text segments.

<note>It handles legacy kerning only (as returned by the corresponding hb_font_funcs_t function).</note>

Return value: The kerning adjustment value

Since: 0.9.2 Deprecated: 2.0.0

Definition at line 1202 of file hb-font.cc.

◆ hb_font_get_glyph_v_origin()

hb_bool_t hb_font_get_glyph_v_origin ( hb_font_t font,
hb_codepoint_t  glyph,
hb_position_t x,
hb_position_t y 
)

hb_font_get_glyph_v_origin: @font: hb_font_t to work upon @glyph: The glyph ID to query @x: (out): The X coordinate of the origin @y: (out): The Y coordinate of the origin

Fetches the (X,Y) coordinates of the origin for a glyph ID in the specified font, for vertical text segments.

Return value: true if data found, false otherwise

Since: 0.9.2

Definition at line 1151 of file hb-font.cc.

◆ hb_font_get_h_extents()

hb_bool_t hb_font_get_h_extents ( hb_font_t font,
hb_font_extents_t extents 
)

hb_font_get_h_extents: @font: hb_font_t to work upon @extents: (out): The font extents retrieved

Fetches the extents for a specified font, for horizontal text segments.

Return value: true if data found, false otherwise

Since: 1.1.3

Definition at line 895 of file hb-font.cc.

◆ hb_font_get_nominal_glyph()

hb_bool_t hb_font_get_nominal_glyph ( hb_font_t font,
hb_codepoint_t  unicode,
hb_codepoint_t glyph 
)

hb_font_get_nominal_glyph: @font: hb_font_t to work upon @unicode: The Unicode code point to query @glyph: (out): The glyph ID retrieved

Fetches the nominal glyph ID for a Unicode code point in the specified font.

This version of the function should not be used to fetch glyph IDs for code points modified by variation selectors. For variation-selector support, user hb_font_get_variation_glyph() or use hb_font_get_glyph().

Return value: true if data found, false otherwise

Since: 1.2.3

Definition at line 966 of file hb-font.cc.

Here is the caller graph for this function:

◆ hb_font_get_nominal_glyphs()

unsigned int hb_font_get_nominal_glyphs ( hb_font_t font,
unsigned int  count,
const hb_codepoint_t first_unicode,
unsigned int  unicode_stride,
hb_codepoint_t first_glyph,
unsigned int  glyph_stride 
)

hb_font_get_nominal_glyphs: @font: hb_font_t to work upon @count: number of code points to query @first_unicode: The first Unicode code point to query @unicode_stride: The stride between successive code points @first_glyph: (out): The first glyph ID retrieved @glyph_stride: The stride between successive glyph IDs

Fetches the nominal glyph IDs for a sequence of Unicode code points. Glyph IDs must be returned in a hb_codepoint_t output parameter.

Return value: the number of code points processed

Since: 2.6.3

Definition at line 990 of file hb-font.cc.

◆ hb_font_get_parent()

hb_font_t* hb_font_get_parent ( hb_font_t font)

hb_font_get_parent: @font: hb_font_t to work upon

Fetches the parent font of @font.

Return value: (transfer none): The parent font object

Since: 0.9.2

Definition at line 1950 of file hb-font.cc.

◆ hb_font_get_ppem()

void hb_font_get_ppem ( hb_font_t font,
unsigned int *  x_ppem,
unsigned int *  y_ppem 
)

hb_font_get_ppem: @font: hb_font_t to work upon @x_ppem: (out): Horizontal ppem value @y_ppem: (out): Vertical ppem value

Fetches the horizontal and vertical points-per-em (ppem) of a font.

Since: 0.9.2

Definition at line 2145 of file hb-font.cc.

◆ hb_font_get_ptem()

float hb_font_get_ptem ( hb_font_t font)

hb_font_get_ptem: @font: hb_font_t to work upon

Fetches the "point size" of a font. Used in CoreText to implement optical sizing.

Return value: Point size. A value of zero means "not set."

Since: 1.6.0

Definition at line 2187 of file hb-font.cc.

◆ hb_font_get_scale()

void hb_font_get_scale ( hb_font_t font,
int *  x_scale,
int *  y_scale 
)

hb_font_get_scale: @font: hb_font_t to work upon @x_scale: (out): Horizontal scale value @y_scale: (out): Vertical scale value

Fetches the horizontal and vertical scale of a font.

Since: 0.9.2

Definition at line 2104 of file hb-font.cc.

◆ hb_font_get_synthetic_slant()

HB_EXTERN float hb_font_get_synthetic_slant ( hb_font_t font)

hb_font_get_synthetic_slant: @font: hb_font_t to work upon

Fetches the "synthetic slant" of a font.

Return value: Synthetic slant. By default is zero.

Since: 3.3.0

Definition at line 2234 of file hb-font.cc.

◆ hb_font_get_user_data()

void* hb_font_get_user_data ( hb_font_t font,
hb_user_data_key_t key 
)

hb_font_get_user_data: (skip) @font: hb_font_t to work upon @key: The user-data key to query

Fetches the user-data object associated with the specified key, attached to the specified font object.

Return value: (transfer none): Pointer to the user data

Since: 0.9.2

Definition at line 1871 of file hb-font.cc.

Here is the caller graph for this function:

◆ hb_font_get_v_extents()

hb_bool_t hb_font_get_v_extents ( hb_font_t font,
hb_font_extents_t extents 
)

hb_font_get_v_extents: @font: hb_font_t to work upon @extents: (out): The font extents retrieved

Fetches the extents for a specified font, for vertical text segments.

Return value: true if data found, false otherwise

Since: 1.1.3

Definition at line 914 of file hb-font.cc.

◆ hb_font_get_var_coords_design()

const float* hb_font_get_var_coords_design ( hb_font_t font,
unsigned int *  length 
)

hb_font_get_var_coords_design: @font: hb_font_t to work upon @length: (out): Number of coordinates retrieved

Fetches the list of variation coordinates (in design-space units) currently set on a font.

Note that this returned array may only contain values for some (or none) of the axes; omitted axes effectively have their default values.

Return value is valid as long as variation coordinates of the font are not modified.

Return value: coordinates array

Since: 3.3.0

Definition at line 2469 of file hb-font.cc.

◆ hb_font_get_var_coords_normalized()

const int* hb_font_get_var_coords_normalized ( hb_font_t font,
unsigned int *  length 
)

hb_font_get_var_coords_normalized: @font: hb_font_t to work upon @length: (out): Number of coordinates retrieved

Fetches the list of normalized variation coordinates currently set on a font.

Note that this returned array may only contain values for some (or none) of the axes; omitted axes effectively have zero values.

Return value is valid as long as variation coordinates of the font are not modified.

Return value: coordinates array

Since: 1.4.2

Definition at line 2440 of file hb-font.cc.

◆ hb_font_get_variation_glyph()

hb_bool_t hb_font_get_variation_glyph ( hb_font_t font,
hb_codepoint_t  unicode,
hb_codepoint_t  variation_selector,
hb_codepoint_t glyph 
)

hb_font_get_variation_glyph: @font: hb_font_t to work upon @unicode: The Unicode code point to query @variation_selector: The variation-selector code point to query @glyph: (out): The glyph ID retrieved

Fetches the glyph ID for a Unicode code point when followed by by the specified variation-selector code point, in the specified font.

Return value: true if data found, false otherwise

Since: 1.2.3

Definition at line 1018 of file hb-font.cc.

◆ hb_font_glyph_from_string()

hb_bool_t hb_font_glyph_from_string ( hb_font_t font,
const char *  s,
int  len,
hb_codepoint_t glyph 
)

hb_font_glyph_from_string: @font: hb_font_t to work upon @s: (array length=len) (element-type uint8_t): string to query @len: The length of the string @s @glyph: (out): The glyph ID corresponding to the string requested

Fetches the glyph ID from @font that matches the specified string. Strings of the format gidDDD or uniUUUU are parsed automatically.

<note>Note: @len == -1 means the string is null-terminated.</note>

Return value: true if data found, false otherwise

Since: 0.9.2

Definition at line 1609 of file hb-font.cc.

Here is the caller graph for this function:

◆ hb_font_glyph_to_string()

void hb_font_glyph_to_string ( hb_font_t font,
hb_codepoint_t  glyph,
char *  s,
unsigned int  size 
)

hb_font_glyph_to_string: @font: hb_font_t to work upon @glyph: The glyph ID to query @s: (out) (array length=size): The string containing the glyph name @size: Length of string @s

Fetches the name of the specified glyph ID in @font and returns it in string @s.

If the glyph ID has no name in @font, a string of the form gidDDD is generated, with DDD being the glyph ID.

Since: 0.9.2

Definition at line 1584 of file hb-font.cc.

◆ hb_font_is_immutable()

hb_bool_t hb_font_is_immutable ( hb_font_t font)

hb_font_is_immutable: @font: hb_font_t to work upon

Tests whether a font object is immutable.

Return value: true if @font is immutable, false otherwise

Since: 0.9.2

Definition at line 1908 of file hb-font.cc.

◆ hb_font_make_immutable()

void hb_font_make_immutable ( hb_font_t font)

hb_font_make_immutable: @font: hb_font_t to work upon

Makes @font immutable.

Since: 0.9.2

Definition at line 1886 of file hb-font.cc.

◆ hb_font_reference()

hb_font_t* hb_font_reference ( hb_font_t font)

hb_font_reference: (skip) @font: hb_font_t to work upon

Increases the reference count on the given font object.

Return value: (transfer full): The @font object

Since: 0.9.2

Definition at line 1799 of file hb-font.cc.

◆ hb_font_set_face()

void hb_font_set_face ( hb_font_t font,
hb_face_t face 
)

hb_font_set_face: @font: hb_font_t to work upon @face: The hb_face_t to assign

Sets @face as the font-face value of @font.

Since: 1.4.3

Definition at line 1965 of file hb-font.cc.

◆ hb_font_set_funcs()

void hb_font_set_funcs ( hb_font_t font,
hb_font_funcs_t klass,
void font_data,
hb_destroy_func_t  destroy 
)

hb_font_set_funcs: @font: hb_font_t to work upon @klass: (closure font_data) (destroy destroy) (scope notified): The font-functions structure. @font_data: Data to attach to @font @destroy: (nullable): The function to call when @font_data is not needed anymore

Replaces the font-functions structure attached to a font, updating the font's user-data with @font-data and the @destroy callback.

Since: 0.9.2

Definition at line 2013 of file hb-font.cc.

Here is the caller graph for this function:

◆ hb_font_set_funcs_data()

void hb_font_set_funcs_data ( hb_font_t font,
void font_data,
hb_destroy_func_t  destroy 
)

hb_font_set_funcs_data: @font: hb_font_t to work upon @font_data: (destroy destroy) (scope notified): Data to attach to @font @destroy: (nullable): The function to call when @font_data is not needed anymore

Replaces the user data attached to a font, updating the font's @destroy callback.

Since: 0.9.2

Definition at line 2050 of file hb-font.cc.

◆ hb_font_set_parent()

void hb_font_set_parent ( hb_font_t font,
hb_font_t parent 
)

hb_font_set_parent: @font: hb_font_t to work upon @parent: The parent font object to assign

Sets the parent font of @font.

Since: 1.0.5

Definition at line 1923 of file hb-font.cc.

◆ hb_font_set_ppem()

void hb_font_set_ppem ( hb_font_t font,
unsigned int  x_ppem,
unsigned int  y_ppem 
)

hb_font_set_ppem: @font: hb_font_t to work upon @x_ppem: Horizontal ppem value to assign @y_ppem: Vertical ppem value to assign

Sets the horizontal and vertical pixels-per-em (ppem) of a font.

Since: 0.9.2

Definition at line 2123 of file hb-font.cc.

◆ hb_font_set_ptem()

void hb_font_set_ptem ( hb_font_t font,
float  ptem 
)

hb_font_set_ptem: @font: hb_font_t to work upon @ptem: font size in points.

Sets the "point size" of a font. Set to zero to unset. Used in CoreText to implement optical sizing.

<note>Note: There are 72 points in an inch.</note>

Since: 1.6.0

Definition at line 2166 of file hb-font.cc.

◆ hb_font_set_scale()

void hb_font_set_scale ( hb_font_t font,
int  x_scale,
int  y_scale 
)

hb_font_set_scale: @font: hb_font_t to work upon @x_scale: Horizontal scale value to assign @y_scale: Vertical scale value to assign

Sets the horizontal and vertical scale of a font.

Since: 0.9.2

Definition at line 2081 of file hb-font.cc.

Here is the caller graph for this function:

◆ hb_font_set_synthetic_slant()

HB_EXTERN void hb_font_set_synthetic_slant ( hb_font_t font,
float  slant 
)

hb_font_set_synthetic_slant: @font: hb_font_t to work upon @slant: synthetic slant value.

Sets the "synthetic slant" of a font. By default is zero. Synthetic slant is the graphical skew applied to the font at rendering time.

HarfBuzz needs to know this value to adjust shaping results, metrics, and style values to match the slanted rendering.

<note>Note: The glyph shape fetched via the hb_font_get_glyph_shape() is slanted to reflect this value as well.</note>

<note>Note: The slant value is a ratio. For example, a 20% slant would be represented as a 0.2 value.</note>

Since: 3.3.0

Definition at line 2214 of file hb-font.cc.

◆ hb_font_set_user_data()

hb_bool_t hb_font_set_user_data ( hb_font_t font,
hb_user_data_key_t key,
void data,
hb_destroy_func_t  destroy,
hb_bool_t  replace 
)

hb_font_set_user_data: (skip) @font: hb_font_t to work upon @key: The user-data key @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 specified font object.

Return value: true if success, false otherwise

Since: 0.9.2

Definition at line 1849 of file hb-font.cc.

Here is the caller graph for this function:

◆ hb_font_set_var_coords_design()

void hb_font_set_var_coords_design ( hb_font_t font,
const float *  coords,
unsigned int  coords_length 
)

hb_font_set_var_coords_design: @font: hb_font_t to work upon @coords: (array length=coords_length): Array of variation coordinates to apply @coords_length: Number of coordinates to apply

Applies a list of variation coordinates (in design-space units) to a font.

Note that this overrides all existing variations set on @font. Axes not included in @coords will be effectively set to their default values.

Since: 1.4.2

Definition at line 2318 of file hb-font.cc.

◆ hb_font_set_var_coords_normalized()

void hb_font_set_var_coords_normalized ( hb_font_t font,
const int *  coords,
unsigned int  coords_length 
)

hb_font_set_var_coords_normalized: @font: hb_font_t to work upon @coords: (array length=coords_length): Array of variation coordinates to apply @coords_length: Number of coordinates to apply

Applies a list of variation coordinates (in normalized units) to a font.

Note that this overrides all existing variations set on @font. Axes not included in @coords will be effectively set to their default values.

<note>Note: Coordinates should be normalized to 2.14.</note>

Since: 1.4.2

Definition at line 2387 of file hb-font.cc.

◆ hb_font_set_var_named_instance()

void hb_font_set_var_named_instance ( hb_font_t font,
unsigned  instance_index 
)

hb_font_set_var_named_instance: @font: a font. @instance_index: named instance index.

Sets design coords of a font from a named instance index.

Since: 2.6.0

Definition at line 2352 of file hb-font.cc.

◆ hb_font_set_variations()

void hb_font_set_variations ( hb_font_t font,
const hb_variation_t variations,
unsigned int  variations_length 
)

hb_font_set_variations: @font: hb_font_t to work upon @variations: (array length=variations_length): Array of variation settings to apply @variations_length: Number of variations to apply

Applies a list of font-variation settings to a font.

Note that this overrides all existing variations set on @font. Axes not included in @variations will be effectively set to their default values.

Since: 1.4.2

Definition at line 2259 of file hb-font.cc.

◆ hb_font_subtract_glyph_origin_for_direction()

void hb_font_subtract_glyph_origin_for_direction ( hb_font_t font,
hb_codepoint_t  glyph,
hb_direction_t  direction,
hb_position_t x,
hb_position_t y 
)

hb_font_subtract_glyph_origin_for_direction: @font: hb_font_t to work upon @glyph: The glyph ID to query @direction: The direction of the text segment @x: (inout): Input = The original X coordinate Output = The X coordinate minus the X-coordinate of the origin @y: (inout): Input = The original Y coordinate Output = The Y coordinate minus the Y-coordinate of the origin

Subtracts the origin coordinates from an (X,Y) point coordinate, in the specified glyph ID in the specified font.

Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.

Since: 0.9.2

Definition at line 1474 of file hb-font.cc.