hb-font

hb-font

Functions

void hb_font_add_glyph_origin_for_direction ()
hb_font_t * hb_font_create ()
hb_font_t * hb_font_create_sub_font ()
void hb_font_destroy ()
hb_font_funcs_t * hb_font_funcs_create ()
void hb_font_funcs_destroy ()
hb_font_funcs_t * hb_font_funcs_get_empty ()
void * hb_font_funcs_get_user_data ()
hb_bool_t hb_font_funcs_is_immutable ()
void hb_font_funcs_make_immutable ()
hb_font_funcs_t * hb_font_funcs_reference ()
void hb_font_funcs_set_glyph_contour_point_func ()
void hb_font_funcs_set_glyph_extents_func ()
void hb_font_funcs_set_glyph_from_name_func ()
void hb_font_funcs_set_glyph_func ()
void hb_font_funcs_set_glyph_h_advance_func ()
void hb_font_funcs_set_glyph_h_kerning_func ()
void hb_font_funcs_set_glyph_h_origin_func ()
void hb_font_funcs_set_glyph_name_func ()
void hb_font_funcs_set_glyph_v_advance_func ()
void hb_font_funcs_set_glyph_v_kerning_func ()
void hb_font_funcs_set_glyph_v_origin_func ()
hb_bool_t hb_font_funcs_set_user_data ()
hb_font_t * hb_font_get_empty ()
hb_face_t * hb_font_get_face ()
hb_bool_t hb_font_get_glyph ()
void hb_font_get_glyph_advance_for_direction ()
hb_position_t (*hb_font_get_glyph_advance_func_t) ()
hb_bool_t hb_font_get_glyph_contour_point ()
hb_bool_t hb_font_get_glyph_contour_point_for_origin ()
hb_bool_t (*hb_font_get_glyph_contour_point_func_t) ()
hb_bool_t hb_font_get_glyph_extents ()
hb_bool_t hb_font_get_glyph_extents_for_origin ()
hb_bool_t (*hb_font_get_glyph_extents_func_t) ()
hb_bool_t hb_font_get_glyph_from_name ()
hb_bool_t (*hb_font_get_glyph_from_name_func_t) ()
hb_bool_t (*hb_font_get_glyph_func_t) ()
hb_position_t hb_font_get_glyph_h_advance ()
hb_position_t hb_font_get_glyph_h_kerning ()
hb_bool_t hb_font_get_glyph_h_origin ()
void hb_font_get_glyph_kerning_for_direction ()
hb_position_t (*hb_font_get_glyph_kerning_func_t) ()
hb_bool_t hb_font_get_glyph_name ()
hb_bool_t (*hb_font_get_glyph_name_func_t) ()
void hb_font_get_glyph_origin_for_direction ()
hb_bool_t (*hb_font_get_glyph_origin_func_t) ()
hb_position_t hb_font_get_glyph_v_advance ()
hb_position_t hb_font_get_glyph_v_kerning ()
hb_bool_t hb_font_get_glyph_v_origin ()
hb_font_t * hb_font_get_parent ()
void hb_font_get_ppem ()
void hb_font_get_scale ()
void * hb_font_get_user_data ()
hb_bool_t hb_font_glyph_from_string ()
void hb_font_glyph_to_string ()
hb_bool_t hb_font_is_immutable ()
void hb_font_make_immutable ()
hb_font_t * hb_font_reference ()
void hb_font_set_funcs ()
void hb_font_set_funcs_data ()
void hb_font_set_ppem ()
void hb_font_set_scale ()
hb_bool_t hb_font_set_user_data ()
void hb_font_subtract_glyph_origin_for_direction ()
hb_blob_t * (*hb_reference_table_func_t) ()

Types and Values

Object Hierarchy

    GBoxed
    ├── hb_font_funcs_t
    ╰── hb_font_t

Description

Functions

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

Parameters

font

a font.

 

x

.

[out]

y

.

[out]

Since 1.0


hb_font_create ()

hb_font_t *
hb_font_create (hb_face_t *face);

Returns


hb_font_create_sub_font ()

hb_font_t *
hb_font_create_sub_font (hb_font_t *parent);

Parameters

parent

parent font.

 

Returns

.

[transfer full]

Since 1.0


hb_font_destroy ()

void
hb_font_destroy (hb_font_t *font);

Parameters

font

a font.

 

Since 1.0


hb_font_funcs_create ()

hb_font_funcs_t *
hb_font_funcs_create (void);

Returns


hb_font_funcs_destroy ()

void
hb_font_funcs_destroy (hb_font_funcs_t *ffuncs);

Parameters

ffuncs

font functions.

 

Since 1.0


hb_font_funcs_get_empty ()

hb_font_funcs_t *
hb_font_funcs_get_empty (void);

Returns

.

[transfer full]

Since 1.0


hb_font_funcs_get_user_data ()

void *
hb_font_funcs_get_user_data (hb_font_funcs_t *ffuncs,
                             hb_user_data_key_t *key);

Parameters

ffuncs

font functions.

 

Returns

.

[transfer none]

Since 1.0


hb_font_funcs_is_immutable ()

hb_bool_t
hb_font_funcs_is_immutable (hb_font_funcs_t *ffuncs);

Parameters

ffuncs

font functions.

 

Returns

Since 1.0


hb_font_funcs_make_immutable ()

void
hb_font_funcs_make_immutable (hb_font_funcs_t *ffuncs);

Parameters

ffuncs

font functions.

 

Since 1.0


hb_font_funcs_reference ()

hb_font_funcs_t *
hb_font_funcs_reference (hb_font_funcs_t *ffuncs);

Parameters

ffuncs

font functions.

 

Returns

Since 1.0


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

Parameters

ffuncs

font functions.

 

func

.

[closure user_data][destroy destroy][scope notified]

Since 1.0


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

Parameters

ffuncs

font functions.

 

func

.

[closure user_data][destroy destroy][scope notified]

Since 1.0


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

Parameters

ffuncs

font functions.

 

Since 0.9.2


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

Parameters

ffuncs

font functions.

 

Since 1.0


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

Parameters

ffuncs

font functions.

 

func

.

[closure user_data][destroy destroy][scope notified]

Since 1.0


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

Parameters

ffuncs

font functions.

 

func

.

[closure user_data][destroy destroy][scope notified]

Since 1.0


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

Parameters

ffuncs

font functions.

 

func

.

[closure user_data][destroy destroy][scope notified]

Since 1.0


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

Parameters

ffuncs

font functions.

 

Since 0.9.2


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

Parameters

ffuncs

font functions.

 

func

.

[closure user_data][destroy destroy][scope notified]

Since 1.0


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

Parameters

ffuncs

font functions.

 

func

.

[closure user_data][destroy destroy][scope notified]

Since 1.0


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

Parameters

ffuncs

font functions.

 

func

.

[closure user_data][destroy destroy][scope notified]

Since 1.0


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

Parameters

ffuncs

font functions.

 

Returns

Since 1.0


hb_font_get_empty ()

hb_font_t *
hb_font_get_empty (void);

Returns

(transfer full)

Since 1.0


hb_font_get_face ()

hb_face_t *
hb_font_get_face (hb_font_t *font);

Parameters

font

a font.

 

Returns

.

[transfer none]

Since 0.9.2


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

Parameters

font

a font.

 

glyph

.

[out]

Returns

Since 1.0


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

Parameters

font

a font.

 

x

.

[out]

y

.

[out]

Since 1.0


hb_font_get_glyph_advance_func_t ()

hb_position_t
(*hb_font_get_glyph_advance_func_t) (hb_font_t *font,
                                     void *font_data,
                                     hb_codepoint_t glyph,
                                     void *user_data);

Returns


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

Parameters

font

a font.

 

x

.

[out]

y

.

[out]

Returns

Since 1.0


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

Parameters

font

a font.

 

x

.

[out]

y

.

[out]

Returns

Since 1.0


hb_font_get_glyph_contour_point_func_t ()

hb_bool_t
(*hb_font_get_glyph_contour_point_func_t)
                               (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);

Returns


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

Parameters

font

a font.

 

extents

.

[out]

Returns

Since 1.0


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

Parameters

font

a font.

 

extents

.

[out]

Returns

Since 1.0


hb_font_get_glyph_extents_func_t ()

hb_bool_t
(*hb_font_get_glyph_extents_func_t) (hb_font_t *font,
                                     void *font_data,
                                     hb_codepoint_t glyph,
                                     hb_glyph_extents_t *extents,
                                     void *user_data);

Returns


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

Parameters

font

a font.

 

name

.

[array length=len]

glyph

.

[out]

Returns

Since 0.9.2


hb_font_get_glyph_from_name_func_t ()

hb_bool_t
(*hb_font_get_glyph_from_name_func_t) (hb_font_t *font,
                                       void *font_data,
                                       const char *name,
                                       int len);

Returns


hb_font_get_glyph_func_t ()

hb_bool_t
(*hb_font_get_glyph_func_t) (hb_font_t *font,
                             void *font_data,
                             hb_codepoint_t unicode,
                             hb_codepoint_t variation_selector,
                             hb_codepoint_t *glyph,
                             void *user_data);

Returns


hb_font_get_glyph_h_advance ()

hb_position_t
hb_font_get_glyph_h_advance (hb_font_t *font,
                             hb_codepoint_t glyph);

Parameters

font

a font.

 

Returns

Since 1.0


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

Parameters

font

a font.

 

Returns

Since 1.0


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

Parameters

font

a font.

 

x

.

[out]

y

.

[out]

Returns

Since 1.0


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

Parameters

font

a font.

 

x

.

[out]

y

.

[out]

Since 1.0


hb_font_get_glyph_kerning_func_t ()

hb_position_t
(*hb_font_get_glyph_kerning_func_t) (hb_font_t *font,
                                     void *font_data,
                                     hb_codepoint_t first_glyph,
                                     hb_codepoint_t second_glyph,
                                     void *user_data);

Returns


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

Parameters

font

a font.

 

name

.

[array length=size]

Returns

Since 0.9.2


hb_font_get_glyph_name_func_t ()

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

Returns


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

Parameters

font

a font.

 

x

.

[out]

y

.

[out]

Since 1.0


hb_font_get_glyph_origin_func_t ()

hb_bool_t
(*hb_font_get_glyph_origin_func_t) (hb_font_t *font,
                                    void *font_data,
                                    hb_codepoint_t glyph,
                                    hb_position_t *x,
                                    hb_position_t *y,
                                    void *user_data);

Returns


hb_font_get_glyph_v_advance ()

hb_position_t
hb_font_get_glyph_v_advance (hb_font_t *font,
                             hb_codepoint_t glyph);

Parameters

font

a font.

 

Returns

Since 1.0


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

Parameters

font

a font.

 

Returns

Since 1.0


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

Parameters

font

a font.

 

x

.

[out]

y

.

[out]

Returns

Since 1.0


hb_font_get_parent ()

hb_font_t *
hb_font_get_parent (hb_font_t *font);

Parameters

font

a font.

 

Returns

.

[transfer none]

Since 1.0


hb_font_get_ppem ()

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

Parameters

font

a font.

 

x_ppem

.

[out]

y_ppem

.

[out]

Since 1.0


hb_font_get_scale ()

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

Parameters

font

a font.

 

x_scale

.

[out]

y_scale

.

[out]

Since 1.0


hb_font_get_user_data ()

void *
hb_font_get_user_data (hb_font_t *font,
                       hb_user_data_key_t *key);

Parameters

font

a font.

 

Returns

.

[transfer none]

Since 1.0


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

Parameters

font

a font.

 

s

.

[array length=len][element-type uint8_t]

glyph

.

[out]

Returns

Since 0.9.2


hb_font_glyph_to_string ()

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

Parameters

font

a font.

 

s

.

[array length=size]

Since 0.9.2


hb_font_is_immutable ()

hb_bool_t
hb_font_is_immutable (hb_font_t *font);

Parameters

font

a font.

 

Returns

Since 1.0


hb_font_make_immutable ()

void
hb_font_make_immutable (hb_font_t *font);

Parameters

font

a font.

 

Since 1.0


hb_font_reference ()

hb_font_t *
hb_font_reference (hb_font_t *font);

Parameters

font

a font.

 

Returns

.

[transfer full]

Since 1.0


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

Parameters

font

a font.

 

klass

.

[closure font_data][destroy destroy][scope notified]

Since 0.9.2


hb_font_set_funcs_data ()

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

Parameters

font

a font.

 

font_data

.

[destroy destroy][scope notified]

Since 0.9.2


hb_font_set_ppem ()

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

Parameters

font

a font.

 

Since 1.0


hb_font_set_scale ()

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

Parameters

font

a font.

 

Since 1.0


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

Parameters

font

a font.

 

Returns

Since 1.0


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

Parameters

font

a font.

 

x

.

[out]

y

.

[out]

Since 1.0


hb_reference_table_func_t ()

hb_blob_t *
(*hb_reference_table_func_t) (hb_face_t *face,
                              hb_tag_t tag,
                              void *user_data);

Returns

Types and Values

hb_font_funcs_t

typedef struct hb_font_funcs_t hb_font_funcs_t;


hb_font_get_glyph_h_advance_func_t

typedef hb_font_get_glyph_advance_func_t hb_font_get_glyph_h_advance_func_t;


hb_font_get_glyph_h_kerning_func_t

typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_h_kerning_func_t;


hb_font_get_glyph_h_origin_func_t

typedef hb_font_get_glyph_origin_func_t hb_font_get_glyph_h_origin_func_t;


hb_font_get_glyph_v_advance_func_t

typedef hb_font_get_glyph_advance_func_t hb_font_get_glyph_v_advance_func_t;


hb_font_get_glyph_v_kerning_func_t

typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_v_kerning_func_t;


hb_font_get_glyph_v_origin_func_t

typedef hb_font_get_glyph_origin_func_t hb_font_get_glyph_v_origin_func_t;


hb_font_t

typedef struct hb_font_t hb_font_t;