w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

hb-font.cc File Reference
#include "hb.hh"
#include "hb-font.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_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_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)
 

Functions

static hb_bool_t hb_font_get_font_h_extents_nil (hb_font_t *font, void *font_data, hb_font_extents_t *extents, void *user_data)
 
static hb_bool_t hb_font_get_font_h_extents_default (hb_font_t *font, void *font_data, hb_font_extents_t *extents, void *user_data)
 
static hb_bool_t hb_font_get_font_v_extents_nil (hb_font_t *font, void *font_data, hb_font_extents_t *extents, void *user_data)
 
static hb_bool_t hb_font_get_font_v_extents_default (hb_font_t *font, void *font_data, hb_font_extents_t *extents, void *user_data)
 
static hb_bool_t hb_font_get_nominal_glyph_nil (hb_font_t *font, void *font_data, hb_codepoint_t unicode, hb_codepoint_t *glyph, void *user_data)
 
static hb_bool_t hb_font_get_nominal_glyph_default (hb_font_t *font, void *font_data, hb_codepoint_t unicode, hb_codepoint_t *glyph, void *user_data)
 
static unsigned int hb_font_get_nominal_glyphs_default (hb_font_t *font, void *font_data, unsigned int count, const hb_codepoint_t *first_unicode, unsigned int unicode_stride, hb_codepoint_t *first_glyph, unsigned int glyph_stride, void *user_data)
 
static hb_bool_t hb_font_get_variation_glyph_nil (hb_font_t *font, void *font_data, hb_codepoint_t unicode, hb_codepoint_t variation_selector, hb_codepoint_t *glyph, void *user_data)
 
static hb_bool_t hb_font_get_variation_glyph_default (hb_font_t *font, void *font_data, hb_codepoint_t unicode, hb_codepoint_t variation_selector, hb_codepoint_t *glyph, void *user_data)
 
static hb_position_t hb_font_get_glyph_h_advance_nil (hb_font_t *font, void *font_data, hb_codepoint_t glyph, void *user_data)
 
static hb_position_t hb_font_get_glyph_h_advance_default (hb_font_t *font, void *font_data, hb_codepoint_t glyph, void *user_data)
 
static hb_position_t hb_font_get_glyph_v_advance_nil (hb_font_t *font, void *font_data, hb_codepoint_t glyph, void *user_data)
 
static hb_position_t hb_font_get_glyph_v_advance_default (hb_font_t *font, void *font_data, hb_codepoint_t glyph, void *user_data)
 
static void hb_font_get_glyph_h_advances_default (hb_font_t *font, void *font_data, unsigned int count, const hb_codepoint_t *first_glyph, unsigned int glyph_stride, hb_position_t *first_advance, unsigned int advance_stride, void *user_data)
 
static void hb_font_get_glyph_v_advances_default (hb_font_t *font, void *font_data, unsigned int count, const hb_codepoint_t *first_glyph, unsigned int glyph_stride, hb_position_t *first_advance, unsigned int advance_stride, void *user_data)
 
static hb_bool_t hb_font_get_glyph_h_origin_nil (hb_font_t *font, void *font_data, hb_codepoint_t glyph, hb_position_t *x, hb_position_t *y, void *user_data)
 
static hb_bool_t hb_font_get_glyph_h_origin_default (hb_font_t *font, void *font_data, hb_codepoint_t glyph, hb_position_t *x, hb_position_t *y, void *user_data)
 
static hb_bool_t hb_font_get_glyph_v_origin_nil (hb_font_t *font, void *font_data, hb_codepoint_t glyph, hb_position_t *x, hb_position_t *y, void *user_data)
 
static hb_bool_t hb_font_get_glyph_v_origin_default (hb_font_t *font, void *font_data, hb_codepoint_t glyph, hb_position_t *x, hb_position_t *y, void *user_data)
 
static hb_position_t hb_font_get_glyph_h_kerning_nil (hb_font_t *font, void *font_data, hb_codepoint_t left_glyph, hb_codepoint_t right_glyph, void *user_data)
 
static hb_position_t hb_font_get_glyph_h_kerning_default (hb_font_t *font, void *font_data, hb_codepoint_t left_glyph, hb_codepoint_t right_glyph, void *user_data)
 
static hb_position_t hb_font_get_glyph_v_kerning_nil (hb_font_t *font, void *font_data, hb_codepoint_t top_glyph, hb_codepoint_t bottom_glyph, void *user_data)
 
static hb_position_t hb_font_get_glyph_v_kerning_default (hb_font_t *font, void *font_data, hb_codepoint_t top_glyph, hb_codepoint_t bottom_glyph, void *user_data)
 
static hb_bool_t hb_font_get_glyph_extents_nil (hb_font_t *font, void *font_data, hb_codepoint_t glyph, hb_glyph_extents_t *extents, void *user_data)
 
static hb_bool_t hb_font_get_glyph_extents_default (hb_font_t *font, void *font_data, hb_codepoint_t glyph, hb_glyph_extents_t *extents, void *user_data)
 
static hb_bool_t hb_font_get_glyph_contour_point_nil (hb_font_t *font, void *font_data, hb_codepoint_t glyph, unsigned int point_index, hb_position_t *x, hb_position_t *y, void *user_data)
 
static hb_bool_t hb_font_get_glyph_contour_point_default (hb_font_t *font, void *font_data, hb_codepoint_t glyph, unsigned int point_index, hb_position_t *x, hb_position_t *y, void *user_data)
 
static hb_bool_t hb_font_get_glyph_name_nil (hb_font_t *font, void *font_data, hb_codepoint_t glyph, char *name, unsigned int size, void *user_data)
 
static hb_bool_t hb_font_get_glyph_name_default (hb_font_t *font, void *font_data, hb_codepoint_t glyph, char *name, unsigned int size, void *user_data)
 
static hb_bool_t hb_font_get_glyph_from_name_nil (hb_font_t *font, void *font_data, const char *name, int len, hb_codepoint_t *glyph, void *user_data)
 
static hb_bool_t hb_font_get_glyph_from_name_default (hb_font_t *font, void *font_data, const char *name, int len, hb_codepoint_t *glyph, void *user_data)
 
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)
 
void hb_font_funcs_set_font_h_extents_func (hb_font_funcs_t *ffuncs, hb_font_get_font_h_extents_func_t func, void *user_data, hb_destroy_func_t destroy)
 
void hb_font_funcs_set_font_v_extents_func (hb_font_funcs_t *ffuncs, hb_font_get_font_v_extents_func_t func, void *user_data, hb_destroy_func_t destroy)
 
void hb_font_funcs_set_nominal_glyph_func (hb_font_funcs_t *ffuncs, hb_font_get_nominal_glyph_func_t func, void *user_data, hb_destroy_func_t destroy)
 
void hb_font_funcs_set_nominal_glyphs_func (hb_font_funcs_t *ffuncs, hb_font_get_nominal_glyphs_func_t func, void *user_data, hb_destroy_func_t destroy)
 
void hb_font_funcs_set_variation_glyph_func (hb_font_funcs_t *ffuncs, hb_font_get_variation_glyph_func_t func, void *user_data, hb_destroy_func_t destroy)
 
void hb_font_funcs_set_glyph_h_advance_func (hb_font_funcs_t *ffuncs, hb_font_get_glyph_h_advance_func_t func, void *user_data, hb_destroy_func_t destroy)
 
void hb_font_funcs_set_glyph_v_advance_func (hb_font_funcs_t *ffuncs, hb_font_get_glyph_v_advance_func_t func, void *user_data, hb_destroy_func_t destroy)
 
void hb_font_funcs_set_glyph_h_advances_func (hb_font_funcs_t *ffuncs, hb_font_get_glyph_h_advances_func_t func, void *user_data, hb_destroy_func_t destroy)
 
void hb_font_funcs_set_glyph_v_advances_func (hb_font_funcs_t *ffuncs, hb_font_get_glyph_v_advances_func_t func, void *user_data, hb_destroy_func_t destroy)
 
void hb_font_funcs_set_glyph_h_origin_func (hb_font_funcs_t *ffuncs, hb_font_get_glyph_h_origin_func_t func, void *user_data, hb_destroy_func_t destroy)
 
void hb_font_funcs_set_glyph_v_origin_func (hb_font_funcs_t *ffuncs, hb_font_get_glyph_v_origin_func_t func, void *user_data, hb_destroy_func_t destroy)
 
void hb_font_funcs_set_glyph_h_kerning_func (hb_font_funcs_t *ffuncs, hb_font_get_glyph_h_kerning_func_t func, void *user_data, hb_destroy_func_t destroy)
 
void hb_font_funcs_set_glyph_v_kerning_func (hb_font_funcs_t *ffuncs, hb_font_get_glyph_v_kerning_func_t func, void *user_data, hb_destroy_func_t destroy)
 
void hb_font_funcs_set_glyph_extents_func (hb_font_funcs_t *ffuncs, hb_font_get_glyph_extents_func_t func, void *user_data, hb_destroy_func_t destroy)
 
void hb_font_funcs_set_glyph_contour_point_func (hb_font_funcs_t *ffuncs, hb_font_get_glyph_contour_point_func_t func, void *user_data, hb_destroy_func_t destroy)
 
void hb_font_funcs_set_glyph_name_func (hb_font_funcs_t *ffuncs, hb_font_get_glyph_name_func_t func, void *user_data, hb_destroy_func_t destroy)
 
void hb_font_funcs_set_glyph_from_name_func (hb_font_funcs_t *ffuncs, hb_font_get_glyph_from_name_func_t func, void *user_data, hb_destroy_func_t destroy)
 
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, zero 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)
 

Variables

const hb_font_funcs_t _hb_Null_hb_font_funcs_t
 
static const hb_font_funcs_t _hb_font_funcs_default
 

: (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
 
const hb_font_t _hb_Null_hb_font_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_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)
 
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)
 
static hb_font_t_hb_font_create (hb_face_t *face)
 
hb_font_thb_font_create (hb_face_t *face)
 
static void _hb_font_adopt_var_coords (hb_font_t *font, int *coords, float *design_coords, unsigned int coords_length)
 
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)
 
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 inthb_font_get_var_coords_normalized (hb_font_t *font, unsigned int *length)
 
template<typename FuncType >
static hb_trampoline_t< FuncType > * trampoline_create (FuncType func, void *user_data, hb_destroy_func_t destroy)
 
static void trampoline_reference (hb_trampoline_closure_t *closure)
 
static void trampoline_destroy (void *user_data)
 
static hb_bool_t hb_font_get_nominal_glyph_trampoline (hb_font_t *font, void *font_data, hb_codepoint_t unicode, hb_codepoint_t *glyph, void *user_data)
 
static hb_bool_t hb_font_get_variation_glyph_trampoline (hb_font_t *font, void *font_data, hb_codepoint_t unicode, hb_codepoint_t variation_selector, hb_codepoint_t *glyph, void *user_data)
 
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_FONT_FUNC_IMPLEMENT [1/8]

#define HB_FONT_FUNC_IMPLEMENT (   name)    nullptr,

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

◆ HB_FONT_FUNC_IMPLEMENT [2/8]

#define HB_FONT_FUNC_IMPLEMENT (   name)    nullptr,

Definition at line 704 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 704 of file hb-font.cc.

◆ HB_FONT_FUNC_IMPLEMENT [4/8]

#define HB_FONT_FUNC_IMPLEMENT (   name)    nullptr,

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

◆ HB_FONT_FUNC_IMPLEMENT [5/8]

#define HB_FONT_FUNC_IMPLEMENT (   name)    nullptr,

Definition at line 704 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 704 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 704 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, \
hb_destroy_func_t destroy) \
{ \
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; \
} \
}
#define name
static luaL_Reg func[]
Definition: except.c:32
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 pixld1_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl else error unsupported endif endm macro pixld2_s mem_operand if mov asr add asl add asl mov asr sub UNIT_X add asl mov asr add asl add asl mov asr add UNIT_X add asl else pixld1_s mem_operand pixld1_s mem_operand endif endm macro pixld0_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl endif endm macro pixld_s_internal mem_operand if mem_operand pixld2_s mem_operand pixdeinterleave basereg elseif mem_operand elseif mem_operand elseif mem_operand elseif mem_operand pixld0_s mem_operand else pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else error unsupported mem_operand if bpp mem_operand 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 fetch_mask_pixblock pixld mask_basereg pixblock_size MASK 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
void(* hb_destroy_func_t)(void *user_data)
Definition: hb-common.h:690
static bool hb_object_is_immutable(const Type *obj)
Definition: hb-object.hh:254
const char * name
Definition: lauxlib.h:32

Definition at line 704 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 245 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 278 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 142 of file hb-font.cc.

Typedef Documentation

◆ hb_font_get_glyph_trampoline_t

Function Documentation

◆ _hb_font_adopt_var_coords()

static void _hb_font_adopt_var_coords ( hb_font_t font,
int coords,
float *  design_coords,
unsigned int  coords_length 
)
static

◆ _hb_font_create()

◆ 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 1289 of file hb-font.cc.

References direction, cordic::x, and y.

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

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

Since: 0.9.2

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

References _hb_font_create(), face, font, and hb_ot_font_set_funcs().

◆ 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 1561 of file hb-font.cc.

References _hb_font_adopt_var_coords(), _hb_font_create(), calloc(), font, free, hb_font_get_empty(), hb_font_reference(), hb_object_is_immutable(), likely, memcpy, parent, sizeof(), and unlikely.

◆ 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 1643 of file hb-font.cc.

References free, hb_face_destroy(), hb_font_destroy(), hb_font_funcs_destroy(), and hb_object_destroy().

◆ 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 560 of file hb-font.cc.

References _hb_font_funcs_default, hb_font_funcs_t::get, and hb_font_funcs_get_empty().

◆ 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 614 of file hb-font.cc.

References free, HB_FONT_FUNCS_IMPLEMENT_CALLBACKS, and hb_object_destroy().

◆ 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 582 of file hb-font.cc.

References _hb_font_funcs_default.

◆ 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 663 of file hb-font.cc.

References hb_object_get_user_data(), and key.

◆ 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 698 of file hb-font.cc.

References hb_object_is_immutable().

◆ 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 679 of file hb-font.cc.

References hb_object_is_immutable(), and hb_object_make_immutable().

◆ 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 598 of file hb-font.cc.

References hb_object_reference().

◆ hb_font_funcs_set_font_h_extents_func()

void hb_font_funcs_set_font_h_extents_func ( hb_font_funcs_t ffuncs,
hb_font_get_font_h_extents_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_font_h_extents_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (optional): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_font_get_font_h_extents_func_t.

Since: 1.1.2

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

References hb_font_funcs_t::get_t::array, hb_font_funcs_t::get, i, and hb_font_t::klass.

◆ hb_font_funcs_set_font_v_extents_func()

void hb_font_funcs_set_font_v_extents_func ( hb_font_funcs_t ffuncs,
hb_font_get_font_v_extents_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_font_v_extents_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (optional): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_font_get_font_v_extents_func_t.

Since: 1.1.2

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

◆ hb_font_funcs_set_glyph_contour_point_func()

void hb_font_funcs_set_glyph_contour_point_func ( hb_font_funcs_t ffuncs,
hb_font_get_glyph_contour_point_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_glyph_contour_point_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (optional): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_font_get_glyph_contour_point_func_t.

Since: 0.9.2

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

◆ hb_font_funcs_set_glyph_extents_func()

void hb_font_funcs_set_glyph_extents_func ( hb_font_funcs_t ffuncs,
hb_font_get_glyph_extents_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_glyph_extents_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (optional): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_font_get_glyph_extents_func_t.

Since: 0.9.2

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

◆ hb_font_funcs_set_glyph_from_name_func()

void hb_font_funcs_set_glyph_from_name_func ( hb_font_funcs_t ffuncs,
hb_font_get_glyph_from_name_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_glyph_from_name_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (optional): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_font_get_glyph_from_name_func_t.

Since: 0.9.2

Definition at line 733 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: (optional): 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 2331 of file hb-font.cc.

References hb_trampoline_t< FuncType >::closure, func, hb_font_funcs_set_nominal_glyph_func(), hb_font_funcs_set_variation_glyph_func(), hb_font_get_nominal_glyph_trampoline(), hb_font_get_variation_glyph_trampoline(), hb_object_is_immutable(), trampoline_create(), trampoline_destroy(), trampoline_reference(), and unlikely.

Referenced by _get_font_funcs().

◆ hb_font_funcs_set_glyph_h_advance_func()

void hb_font_funcs_set_glyph_h_advance_func ( hb_font_funcs_t ffuncs,
hb_font_get_glyph_h_advance_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_glyph_h_advance_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (optional): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_font_get_glyph_h_advance_func_t.

Since: 0.9.2

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

◆ hb_font_funcs_set_glyph_h_advances_func()

void hb_font_funcs_set_glyph_h_advances_func ( hb_font_funcs_t ffuncs,
hb_font_get_glyph_h_advances_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_glyph_h_advances_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (optional): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_font_get_glyph_h_advances_func_t.

Since: 1.8.6

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

◆ hb_font_funcs_set_glyph_h_kerning_func()

void hb_font_funcs_set_glyph_h_kerning_func ( hb_font_funcs_t ffuncs,
hb_font_get_glyph_h_kerning_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_glyph_h_kerning_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:

Since: 0.9.2

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

◆ hb_font_funcs_set_glyph_h_origin_func()

void hb_font_funcs_set_glyph_h_origin_func ( hb_font_funcs_t ffuncs,
hb_font_get_glyph_h_origin_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_glyph_h_origin_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (optional): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_font_get_glyph_h_origin_func_t.

Since: 0.9.2

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

◆ hb_font_funcs_set_glyph_name_func()

void hb_font_funcs_set_glyph_name_func ( hb_font_funcs_t ffuncs,
hb_font_get_glyph_name_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_glyph_name_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (optional): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_font_get_glyph_name_func_t.

Since: 0.9.2

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

◆ hb_font_funcs_set_glyph_v_advance_func()

void hb_font_funcs_set_glyph_v_advance_func ( hb_font_funcs_t ffuncs,
hb_font_get_glyph_v_advance_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_glyph_v_advance_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (optional): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_font_get_glyph_v_advance_func_t.

Since: 0.9.2

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

◆ hb_font_funcs_set_glyph_v_advances_func()

void hb_font_funcs_set_glyph_v_advances_func ( hb_font_funcs_t ffuncs,
hb_font_get_glyph_v_advances_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_glyph_v_advances_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (optional): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_font_get_glyph_v_advances_func_t.

Since: 1.8.6

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

◆ hb_font_funcs_set_glyph_v_kerning_func()

void hb_font_funcs_set_glyph_v_kerning_func ( hb_font_funcs_t ffuncs,
hb_font_get_glyph_v_kerning_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_glyph_v_kerning_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:

Since: 0.9.2 Deprecated: 2.0.0

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

Referenced by _get_font_funcs().

◆ hb_font_funcs_set_glyph_v_origin_func()

void hb_font_funcs_set_glyph_v_origin_func ( hb_font_funcs_t ffuncs,
hb_font_get_glyph_v_origin_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_glyph_v_origin_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (optional): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_font_get_glyph_v_origin_func_t.

Since: 0.9.2

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

◆ hb_font_funcs_set_nominal_glyph_func()

void hb_font_funcs_set_nominal_glyph_func ( hb_font_funcs_t ffuncs,
hb_font_get_nominal_glyph_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_nominal_glyph_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (optional): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_font_get_nominal_glyph_func_t.

Since: 1.2.3

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

◆ hb_font_funcs_set_nominal_glyphs_func()

void hb_font_funcs_set_nominal_glyphs_func ( hb_font_funcs_t ffuncs,
hb_font_get_nominal_glyphs_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_nominal_glyphs_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (optional): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_font_get_nominal_glyphs_func_t.

Since: 2.0.0

Definition at line 733 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: (optional): 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 641 of file hb-font.cc.

References data, hb_object_set_user_data(), key, and replace().

◆ hb_font_funcs_set_variation_glyph_func()

void hb_font_funcs_set_variation_glyph_func ( hb_font_funcs_t ffuncs,
hb_font_get_variation_glyph_func_t  func,
void user_data,
hb_destroy_func_t  destroy 
)

hb_font_funcs_set_variation_glyph_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (optional): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_font_get_variation_glyph_func_t.

Since: 1.2.3

Definition at line 733 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 1611 of file hb-font.cc.

References Null.

◆ 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_glyph_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 1183 of file hb-font.cc.

References direction.

◆ 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 1822 of file hb-font.cc.

◆ hb_font_get_font_h_extents_default()

static hb_bool_t hb_font_get_font_h_extents_default ( hb_font_t font,
void font_data,
hb_font_extents_t extents,
void user_data 
)
static

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

References ret.

◆ hb_font_get_font_h_extents_nil()

static hb_bool_t hb_font_get_font_h_extents_nil ( hb_font_t font,
void font_data,
hb_font_extents_t extents,
void user_data 
)
static

SECTION:hb-font @title: hb-font @short_description: Font objects hb.h

Functions for working with font objects.

A font object represents a font face at a specific size and with certain other parameters (pixels-per-em, points-per-em, variation settings) specified. Font objects are created from font face objects, and are used as input to hb_shape(), among other things.

Client programs can optionally pass in their own functions that implement the basic, lower-level queries of font objects. This set of font functions is defined by the virtual methods in hb_font_funcs_t.

HarfBuzz provides a built-in set of lightweight default functions for each method in hb_font_funcs_t.

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

References memset().

◆ hb_font_get_font_v_extents_default()

static hb_bool_t hb_font_get_font_v_extents_default ( hb_font_t font,
void font_data,
hb_font_extents_t extents,
void user_data 
)
static

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

References ret.

◆ hb_font_get_font_v_extents_nil()

static hb_bool_t hb_font_get_font_v_extents_nil ( hb_font_t font,
void font_data,
hb_font_extents_t extents,
void user_data 
)
static

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

References memset().

◆ 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: (optional): 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 807 of file hb-font.cc.

References unicode, and unlikely.

◆ 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 1206 of file hb-font.cc.

References direction, cordic::x, and y.

◆ hb_font_get_glyph_advances_for_direction()

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 1233 of file hb-font.cc.

References count, and direction.

◆ 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 1110 of file hb-font.cc.

References cordic::x, and y.

◆ hb_font_get_glyph_contour_point_default()

static hb_bool_t hb_font_get_glyph_contour_point_default ( hb_font_t font,
void font_data,
hb_codepoint_t  glyph,
unsigned int  point_index,
hb_position_t x,
hb_position_t y,
void user_data 
)
static

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

References ret, cordic::x, and y.

◆ 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 1401 of file hb-font.cc.

References direction, cordic::x, and y.

◆ hb_font_get_glyph_contour_point_nil()

static hb_bool_t hb_font_get_glyph_contour_point_nil ( hb_font_t font,
void font_data,
hb_codepoint_t  glyph,
unsigned int  point_index,
hb_position_t x,
hb_position_t y,
void user_data 
)
static

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

References cordic::x, and y.

◆ 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 1087 of file hb-font.cc.

◆ hb_font_get_glyph_extents_default()

static hb_bool_t hb_font_get_glyph_extents_default ( hb_font_t font,
void font_data,
hb_codepoint_t  glyph,
hb_glyph_extents_t extents,
void user_data 
)
static

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

References ret.

◆ 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 1372 of file hb-font.cc.

References direction.

◆ hb_font_get_glyph_extents_nil()

static hb_bool_t hb_font_get_glyph_extents_nil ( hb_font_t font,
void font_data,
hb_codepoint_t  glyph,
hb_glyph_extents_t extents,
void user_data 
)
static

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

References memset().

◆ 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 1157 of file hb-font.cc.

References len, and name.

◆ hb_font_get_glyph_from_name_default()

static hb_bool_t hb_font_get_glyph_from_name_default ( hb_font_t font,
void font_data,
const char *  name,
int  len,
hb_codepoint_t glyph,
void user_data 
)
static

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

References len, and name.

◆ hb_font_get_glyph_from_name_nil()

static hb_bool_t hb_font_get_glyph_from_name_nil ( hb_font_t font,
void font_data,
const char *  name,
int  len,
hb_codepoint_t glyph,
void user_data 
)
static

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

◆ 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 902 of file hb-font.cc.

◆ hb_font_get_glyph_h_advance_default()

static hb_position_t hb_font_get_glyph_h_advance_default ( hb_font_t font,
void font_data,
hb_codepoint_t  glyph,
void user_data 
)
static

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

References ret.

◆ hb_font_get_glyph_h_advance_nil()

static hb_position_t hb_font_get_glyph_h_advance_nil ( hb_font_t font,
void font_data,
hb_codepoint_t  glyph,
void user_data 
)
static

Definition at line 197 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: (out): 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 942 of file hb-font.cc.

References count.

◆ hb_font_get_glyph_h_advances_default()

static void hb_font_get_glyph_h_advances_default ( hb_font_t font,
void font_data,
unsigned int  count,
const hb_codepoint_t first_glyph,
unsigned int  glyph_stride,
hb_position_t first_advance,
unsigned int  advance_stride,
void user_data 
)
static

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

References count, and i.

◆ 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, in 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 1039 of file hb-font.cc.

References left_glyph, and right_glyph.

◆ hb_font_get_glyph_h_kerning_default()

static hb_position_t hb_font_get_glyph_h_kerning_default ( hb_font_t font,
void font_data,
hb_codepoint_t  left_glyph,
hb_codepoint_t  right_glyph,
void user_data 
)
static

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

References left_glyph, and right_glyph.

◆ hb_font_get_glyph_h_kerning_nil()

static hb_position_t hb_font_get_glyph_h_kerning_nil ( hb_font_t font,
void font_data,
hb_codepoint_t  left_glyph,
hb_codepoint_t  right_glyph,
void user_data 
)
static

Definition at line 363 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 991 of file hb-font.cc.

References cordic::x, and y.

◆ hb_font_get_glyph_h_origin_default()

static hb_bool_t hb_font_get_glyph_h_origin_default ( hb_font_t font,
void font_data,
hb_codepoint_t  glyph,
hb_position_t x,
hb_position_t y,
void user_data 
)
static

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

References ret, cordic::x, and y.

◆ hb_font_get_glyph_h_origin_nil()

static hb_bool_t hb_font_get_glyph_h_origin_nil ( hb_font_t font,
void font_data,
hb_codepoint_t  glyph,
hb_position_t x,
hb_position_t y,
void user_data 
)
static

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

References cordic::x, and y.

◆ 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 1343 of file hb-font.cc.

References direction, cordic::x, and y.

◆ 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 1133 of file hb-font.cc.

References name, and size.

◆ hb_font_get_glyph_name_default()

static hb_bool_t hb_font_get_glyph_name_default ( hb_font_t font,
void font_data,
hb_codepoint_t  glyph,
char *  name,
unsigned int  size,
void user_data 
)
static

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

References name, and size.

◆ hb_font_get_glyph_name_nil()

static hb_bool_t hb_font_get_glyph_name_nil ( hb_font_t font,
void font_data,
hb_codepoint_t  glyph,
char *  name,
unsigned int  size,
void user_data 
)
static

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

References name, and size.

◆ 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 1261 of file hb-font.cc.

References direction, cordic::x, and y.

◆ 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 921 of file hb-font.cc.

◆ hb_font_get_glyph_v_advance_default()

static hb_position_t hb_font_get_glyph_v_advance_default ( hb_font_t font,
void font_data,
hb_codepoint_t  glyph,
void user_data 
)
static

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

References ret.

◆ hb_font_get_glyph_v_advance_nil()

static hb_position_t hb_font_get_glyph_v_advance_nil ( hb_font_t font,
void font_data,
hb_codepoint_t  glyph,
void user_data 
)
static

Definition at line 221 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 966 of file hb-font.cc.

References count.

◆ hb_font_get_glyph_v_advances_default()

static void hb_font_get_glyph_v_advances_default ( hb_font_t font,
void font_data,
unsigned int  count,
const hb_codepoint_t first_glyph,
unsigned int  glyph_stride,
hb_position_t first_advance,
unsigned int  advance_stride,
void user_data 
)
static

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

References count, and i.

◆ 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, in 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 1065 of file hb-font.cc.

◆ hb_font_get_glyph_v_kerning_default()

static hb_position_t hb_font_get_glyph_v_kerning_default ( hb_font_t font,
void font_data,
hb_codepoint_t  top_glyph,
hb_codepoint_t  bottom_glyph,
void user_data 
)
static

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

◆ hb_font_get_glyph_v_kerning_nil()

static hb_position_t hb_font_get_glyph_v_kerning_nil ( hb_font_t font,
void font_data,
hb_codepoint_t  top_glyph,
hb_codepoint_t  bottom_glyph,
void user_data 
)
static

Definition at line 384 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 1014 of file hb-font.cc.

References cordic::x, and y.

◆ hb_font_get_glyph_v_origin_default()

static hb_bool_t hb_font_get_glyph_v_origin_default ( hb_font_t font,
void font_data,
hb_codepoint_t  glyph,
hb_position_t x,
hb_position_t y,
void user_data 
)
static

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

References ret, cordic::x, and y.

◆ hb_font_get_glyph_v_origin_nil()

static hb_bool_t hb_font_get_glyph_v_origin_nil ( hb_font_t font,
void font_data,
hb_codepoint_t  glyph,
hb_position_t x,
hb_position_t y,
void user_data 
)
static

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

References cordic::x, and y.

◆ 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, in horizontal text segments.

Return value: true if data found, false otherwise

Since: 1.1.3

Definition at line 764 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 835 of file hb-font.cc.

References unicode.

◆ hb_font_get_nominal_glyph_default()

static hb_bool_t hb_font_get_nominal_glyph_default ( hb_font_t font,
void font_data,
hb_codepoint_t  unicode,
hb_codepoint_t glyph,
void user_data 
)
static

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

References unicode.

◆ hb_font_get_nominal_glyph_nil()

static hb_bool_t hb_font_get_nominal_glyph_nil ( hb_font_t font,
void font_data,
hb_codepoint_t  unicode,
hb_codepoint_t glyph,
void user_data 
)
static

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

◆ hb_font_get_nominal_glyph_trampoline()

static hb_bool_t hb_font_get_nominal_glyph_trampoline ( hb_font_t font,
void font_data,
hb_codepoint_t  unicode,
hb_codepoint_t glyph,
void user_data 
)
static

◆ 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: a font.

Return value:

Since: 2.6.3

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

References count.

◆ hb_font_get_nominal_glyphs_default()

static unsigned int hb_font_get_nominal_glyphs_default ( hb_font_t font,
void font_data,
unsigned int  count,
const hb_codepoint_t first_unicode,
unsigned int  unicode_stride,
hb_codepoint_t first_glyph,
unsigned int  glyph_stride,
void user_data 
)
static

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

References count, and i.

◆ 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 1778 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 1973 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: 0.9.2

Definition at line 2015 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 1932 of file hb-font.cc.

References y_scale.

◆ 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 1699 of file hb-font.cc.

References hb_object_get_user_data(), and key.

◆ 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, in vertical text segments.

Return value: true if data found, false otherwise

Since: 1.1.3

Definition at line 783 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: Number of coordinates retrieved

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

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

Since: 1.4.2

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

References length.

◆ 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 881 of file hb-font.cc.

References unicode.

◆ hb_font_get_variation_glyph_default()

static hb_bool_t hb_font_get_variation_glyph_default ( hb_font_t font,
void font_data,
hb_codepoint_t  unicode,
hb_codepoint_t  variation_selector,
hb_codepoint_t glyph,
void user_data 
)
static

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

References unicode.

◆ hb_font_get_variation_glyph_nil()

static hb_bool_t hb_font_get_variation_glyph_nil ( hb_font_t font,
void font_data,
hb_codepoint_t  unicode,
hb_codepoint_t  variation_selector,
hb_codepoint_t glyph,
void user_data 
)
static

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

◆ hb_font_get_variation_glyph_trampoline()

static hb_bool_t hb_font_get_variation_glyph_trampoline ( hb_font_t font,
void font_data,
hb_codepoint_t  unicode,
hb_codepoint_t  variation_selector,
hb_codepoint_t glyph,
void user_data 
)
static

◆ 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 1452 of file hb-font.cc.

References len, and s.

◆ 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 1427 of file hb-font.cc.

References s, and size.

◆ 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 1736 of file hb-font.cc.

References hb_object_is_immutable().

◆ 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 1714 of file hb-font.cc.

References hb_font_make_immutable(), hb_object_is_immutable(), and hb_object_make_immutable().

◆ 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 1627 of file hb-font.cc.

References hb_object_reference().

◆ 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 1793 of file hb-font.cc.

References face, hb_face_destroy(), hb_face_get_empty(), hb_face_make_immutable(), hb_face_reference(), hb_object_is_immutable(), and unlikely.

◆ 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): @font_data: Data to attach to @font @destroy: (optional): 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 1841 of file hb-font.cc.

References hb_font_funcs_destroy(), hb_font_funcs_get_empty(), hb_font_funcs_reference(), and hb_object_is_immutable().

◆ 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: (optional): 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 1878 of file hb-font.cc.

References hb_object_is_immutable().

◆ 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 1751 of file hb-font.cc.

References hb_font_destroy(), hb_font_get_empty(), hb_font_reference(), hb_object_is_immutable(), and parent.

◆ 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 1951 of file hb-font.cc.

References hb_object_is_immutable().

◆ 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 1994 of file hb-font.cc.

References hb_object_is_immutable().

◆ 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 1909 of file hb-font.cc.

References hb_object_is_immutable(), and y_scale.

◆ 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: (optional): 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:

Since: 0.9.2

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

References data, hb_object_set_user_data(), key, and replace().

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

Since: 1.4.2

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

References _hb_font_adopt_var_coords(), calloc(), free, hb_object_is_immutable(), hb_ot_var_normalize_coords(), memcpy, and unlikely.

◆ 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>Note: Coordinates should be normalized to 2.14.</note>

Since: 1.4.2

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

References _hb_font_adopt_var_coords(), calloc(), copy(), free, hb_object_is_immutable(), i, memcpy, and unlikely.

◆ 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 2124 of file hb-font.cc.

References calloc(), free, hb_font_set_var_coords_design(), hb_object_is_immutable(), hb_ot_var_named_instance_get_design_coords(), and unlikely.

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

Since: 1.4.2

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

References _hb_font_adopt_var_coords(), calloc(), free, hb_font_set_var_coords_normalized(), hb_object_is_immutable(), hb_ot_var_find_axis_info(), hb_ot_var_get_axis_count(), i, info, OT::fvar::normalize_axis_value(), unlikely, and v.

◆ 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 1317 of file hb-font.cc.

References direction, cordic::x, and y.

◆ trampoline_create()

template<typename FuncType >
static hb_trampoline_t<FuncType>* trampoline_create ( FuncType  func,
void user_data,
hb_destroy_func_t  destroy 
)
static

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

References calloc(), func, and unlikely.

Referenced by hb_font_funcs_set_glyph_func().

◆ trampoline_destroy()

static void trampoline_destroy ( void user_data)
static

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

References hb_trampoline_closure_t::destroy, and free.

Referenced by hb_font_funcs_set_glyph_func().

◆ trampoline_reference()

static void trampoline_reference ( hb_trampoline_closure_t closure)
static

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

Referenced by hb_font_funcs_set_glyph_func().

Variable Documentation

◆ _hb_font_funcs_default

const hb_font_funcs_t _hb_font_funcs_default
static
Initial value:
= {
{ {{ 0 }} , { false }, { nullptr } } ,
{
#define HB_FONT_FUNC_IMPLEMENT(name)
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
},
{
#define HB_FONT_FUNC_IMPLEMENT(name)
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
},
{
{
#define HB_FONT_FUNC_IMPLEMENT(name)
}
}
}
static hb_bool_t hb_font_get_nominal_glyph_default(hb_font_t *font, void *font_data, hb_codepoint_t unicode, hb_codepoint_t *glyph, void *user_data)
Definition: hb-font.cc:129
static hb_bool_t hb_font_get_font_h_extents_default(hb_font_t *font, void *font_data, hb_font_extents_t *extents, void *user_data)
Definition: hb-font.cc:78
static hb_bool_t hb_font_get_glyph_v_origin_default(hb_font_t *font, void *font_data, hb_codepoint_t glyph, hb_position_t *x, hb_position_t *y, void *user_data)
Definition: hb-font.cc:349
static void hb_font_get_glyph_h_advances_default(hb_font_t *font, void *font_data, unsigned int count, const hb_codepoint_t *first_glyph, unsigned int glyph_stride, hb_position_t *first_advance, unsigned int advance_stride, void *user_data)
Definition: hb-font.cc:248
static hb_position_t hb_font_get_glyph_h_kerning_default(hb_font_t *font, void *font_data, hb_codepoint_t left_glyph, hb_codepoint_t right_glyph, void *user_data)
Definition: hb-font.cc:373
static hb_position_t hb_font_get_glyph_h_advance_default(hb_font_t *font, void *font_data, hb_codepoint_t glyph, void *user_data)
Definition: hb-font.cc:206
static hb_bool_t hb_font_get_glyph_name_default(hb_font_t *font, void *font_data, hb_codepoint_t glyph, char *name, unsigned int size, void *user_data)
Definition: hb-font.cc:471
static hb_bool_t hb_font_get_glyph_contour_point_default(hb_font_t *font, void *font_data, hb_codepoint_t glyph, unsigned int point_index, hb_position_t *x, hb_position_t *y, void *user_data)
Definition: hb-font.cc:444
static hb_position_t hb_font_get_glyph_v_kerning_default(hb_font_t *font, void *font_data, hb_codepoint_t top_glyph, hb_codepoint_t bottom_glyph, void *user_data)
Definition: hb-font.cc:394
static hb_bool_t hb_font_get_variation_glyph_default(hb_font_t *font, void *font_data, hb_codepoint_t unicode, hb_codepoint_t variation_selector, hb_codepoint_t *glyph, void *user_data)
Definition: hb-font.cc:185
static unsigned int hb_font_get_nominal_glyphs_default(hb_font_t *font, void *font_data, unsigned int count, const hb_codepoint_t *first_unicode, unsigned int unicode_stride, hb_codepoint_t *first_glyph, unsigned int glyph_stride, void *user_data)
Definition: hb-font.cc:145
static hb_bool_t hb_font_get_font_v_extents_default(hb_font_t *font, void *font_data, hb_font_extents_t *extents, void *user_data)
Definition: hb-font.cc:103
static hb_bool_t hb_font_get_glyph_h_origin_default(hb_font_t *font, void *font_data, hb_codepoint_t glyph, hb_position_t *x, hb_position_t *y, void *user_data)
Definition: hb-font.cc:323
static void hb_font_get_glyph_v_advances_default(hb_font_t *font, void *font_data, unsigned int count, const hb_codepoint_t *first_glyph, unsigned int glyph_stride, hb_position_t *first_advance, unsigned int advance_stride, void *user_data)
Definition: hb-font.cc:280
static hb_bool_t hb_font_get_glyph_extents_default(hb_font_t *font, void *font_data, hb_codepoint_t glyph, hb_glyph_extents_t *extents, void *user_data)
Definition: hb-font.cc:416
static hb_position_t hb_font_get_glyph_v_advance_default(hb_font_t *font, void *font_data, hb_codepoint_t glyph, void *user_data)
Definition: hb-font.cc:231
static hb_bool_t hb_font_get_glyph_from_name_default(hb_font_t *font, void *font_data, const char *name, int len, hb_codepoint_t *glyph, void *user_data)
Definition: hb-font.cc:494

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

Referenced by hb_font_funcs_create(), and hb_font_funcs_get_empty().

◆ _hb_Null_hb_font_funcs_t

const hb_font_funcs_t _hb_Null_hb_font_funcs_t
Initial value:
=
{
{ {{ 0 }} , { false }, { nullptr } } ,
{
#define HB_FONT_FUNC_IMPLEMENT(name)
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
},
{
#define HB_FONT_FUNC_IMPLEMENT(name)
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
},
{
{
#define HB_FONT_FUNC_IMPLEMENT(name)
}
}
}
static hb_bool_t hb_font_get_glyph_contour_point_nil(hb_font_t *font, void *font_data, hb_codepoint_t glyph, unsigned int point_index, hb_position_t *x, hb_position_t *y, void *user_data)
Definition: hb-font.cc:431
static hb_position_t hb_font_get_glyph_h_advance_nil(hb_font_t *font, void *font_data, hb_codepoint_t glyph, void *user_data)
Definition: hb-font.cc:197
static hb_bool_t hb_font_get_glyph_from_name_nil(hb_font_t *font, void *font_data, const char *name, int len, hb_codepoint_t *glyph, void *user_data)
Definition: hb-font.cc:482
static hb_bool_t hb_font_get_font_v_extents_nil(hb_font_t *font, void *font_data, hb_font_extents_t *extents, void *user_data)
Definition: hb-font.cc:93
static hb_position_t hb_font_get_glyph_v_advance_nil(hb_font_t *font, void *font_data, hb_codepoint_t glyph, void *user_data)
Definition: hb-font.cc:221
static hb_bool_t hb_font_get_nominal_glyph_nil(hb_font_t *font, void *font_data, hb_codepoint_t unicode, hb_codepoint_t *glyph, void *user_data)
Definition: hb-font.cc:118
static hb_position_t hb_font_get_glyph_v_kerning_nil(hb_font_t *font, void *font_data, hb_codepoint_t top_glyph, hb_codepoint_t bottom_glyph, void *user_data)
Definition: hb-font.cc:384
static hb_bool_t hb_font_get_glyph_v_origin_nil(hb_font_t *font, void *font_data, hb_codepoint_t glyph, hb_position_t *x, hb_position_t *y, void *user_data)
Definition: hb-font.cc:337
static hb_bool_t hb_font_get_glyph_h_origin_nil(hb_font_t *font, void *font_data, hb_codepoint_t glyph, hb_position_t *x, hb_position_t *y, void *user_data)
Definition: hb-font.cc:311
static hb_position_t hb_font_get_glyph_h_kerning_nil(hb_font_t *font, void *font_data, hb_codepoint_t left_glyph, hb_codepoint_t right_glyph, void *user_data)
Definition: hb-font.cc:363
static hb_bool_t hb_font_get_variation_glyph_nil(hb_font_t *font, void *font_data, hb_codepoint_t unicode, hb_codepoint_t variation_selector, hb_codepoint_t *glyph, void *user_data)
Definition: hb-font.cc:173
static hb_bool_t hb_font_get_glyph_name_nil(hb_font_t *font, void *font_data, hb_codepoint_t glyph, char *name, unsigned int size, void *user_data)
Definition: hb-font.cc:459
static hb_bool_t hb_font_get_font_h_extents_nil(hb_font_t *font, void *font_data, hb_font_extents_t *extents, void *user_data)
Definition: hb-font.cc:68
static hb_bool_t hb_font_get_glyph_extents_nil(hb_font_t *font, void *font_data, hb_codepoint_t glyph, hb_glyph_extents_t *extents, void *user_data)
Definition: hb-font.cc:405

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

◆ _hb_Null_hb_font_t

const hb_font_t _hb_Null_hb_font_t
Initial value:
=
{
{ {{ 0 }} , { false }, { nullptr } } ,
nullptr,
const_cast<hb_face_t *> (&_hb_Null_hb_face_t),
1000,
1000,
1<<16,
1<<16,
0,
0,
0,
0,
nullptr,
nullptr,
}
const hb_face_t _hb_Null_hb_face_t
Definition: hb-face.cc:83
const hb_font_funcs_t _hb_Null_hb_font_funcs_t
Definition: hb-font.cc:504

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