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-ot-var.cc File Reference
#include "hb.hh"
#include "hb-ot-var.h"
#include "hb-ot-var-avar-table.hh"
#include "hb-ot-var-fvar-table.hh"
#include "hb-ot-var-mvar-table.hh"
Include dependency graph for hb-ot-var.cc:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

hb_bool_t hb_ot_var_has_data (hb_face_t *face)
 
unsigned int hb_ot_var_get_axis_count (hb_face_t *face)
 
unsigned int hb_ot_var_get_axes (hb_face_t *face, unsigned int start_offset, unsigned int *axes_count, hb_ot_var_axis_t *axes_array)
 
hb_bool_t hb_ot_var_find_axis (hb_face_t *face, hb_tag_t axis_tag, unsigned int *axis_index, hb_ot_var_axis_t *axis_info)
 
unsigned int hb_ot_var_get_axis_infos (hb_face_t *face, unsigned int start_offset, unsigned int *axes_count, hb_ot_var_axis_info_t *axes_array)
 
hb_bool_t hb_ot_var_find_axis_info (hb_face_t *face, hb_tag_t axis_tag, hb_ot_var_axis_info_t *axis_info)
 
unsigned int hb_ot_var_get_named_instance_count (hb_face_t *face)
 
hb_ot_name_id_t hb_ot_var_named_instance_get_subfamily_name_id (hb_face_t *face, unsigned int instance_index)
 
hb_ot_name_id_t hb_ot_var_named_instance_get_postscript_name_id (hb_face_t *face, unsigned int instance_index)
 
unsigned int hb_ot_var_named_instance_get_design_coords (hb_face_t *face, unsigned int instance_index, unsigned int *coords_length, float *coords)
 
void hb_ot_var_normalize_variations (hb_face_t *face, const hb_variation_t *variations, unsigned int variations_length, int *coords, unsigned int coords_length)
 
void hb_ot_var_normalize_coords (hb_face_t *face, unsigned int coords_length, const float *design_coords, int *normalized_coords)
 

Function Documentation

◆ hb_ot_var_find_axis()

hb_bool_t hb_ot_var_find_axis ( hb_face_t face,
hb_tag_t  axis_tag,
unsigned int axis_index,
hb_ot_var_axis_t axis_info 
)

hb_ot_var_find_axis: @face: hb_face_t to work upon @axis_tag: The hb_tag_t of the variation axis to query @axis_index: The index of the variation axis @axis_info: (out): The hb_ot_var_axis_info_t of the axis tag queried

Fetches the variation-axis information corresponding to the specified axis tag in the specified face.

Since: 1.4.2 Deprecated: 2.2.0 - use hb_ot_var_find_axis_info() instead

Definition at line 123 of file hb-ot-var.cc.

◆ hb_ot_var_find_axis_info()

hb_bool_t hb_ot_var_find_axis_info ( hb_face_t face,
hb_tag_t  axis_tag,
hb_ot_var_axis_info_t axis_info 
)

hb_ot_var_find_axis_info: @face: hb_face_t to work upon @axis_tag: The hb_tag_t of the variation axis to query @axis_info: (out): The hb_ot_var_axis_info_t of the axis tag queried

Fetches the variation-axis information corresponding to the specified axis tag in the specified face.

Return value: true if data found, false otherwise

Since: 2.2.0

Definition at line 170 of file hb-ot-var.cc.

References face.

Referenced by hb_font_set_variations(), and hb_ot_var_normalize_variations().

◆ hb_ot_var_get_axes()

unsigned int hb_ot_var_get_axes ( hb_face_t face,
unsigned int  start_offset,
unsigned int axes_count,
hb_ot_var_axis_t axes_array 
)

hb_ot_var_get_axes: @face: hb_face_t to work upon @start_offset: offset of the first lookup to retrieve @axes_count: (inout) (allow-none): Input = the maximum number of variation axes to return; Output = the actual number of variation axes returned (may be zero) @axes_array: (out caller-allocates) (array length=axes_count): The array of variation axes found

Fetches a list of all variation axes in the specified face. The list returned will begin at the offset provided.

Since: 1.4.2 Deprecated: 2.2.0: use hb_ot_var_get_axis_infos() instead

Definition at line 101 of file hb-ot-var.cc.

◆ hb_ot_var_get_axis_count()

unsigned int hb_ot_var_get_axis_count ( hb_face_t face)

hb_ot_var_get_axis_count: @face: The hb_face_t to work on

Fetches the number of OpenType variation axes included in the face.

Return value: the number of variation axes defined

Since: 1.4.2

Definition at line 80 of file hb-ot-var.cc.

References face.

Referenced by hb_font_set_variations().

◆ hb_ot_var_get_axis_infos()

unsigned int hb_ot_var_get_axis_infos ( hb_face_t face,
unsigned int  start_offset,
unsigned int axes_count,
hb_ot_var_axis_info_t axes_array 
)

hb_ot_var_get_axis_infos: @face: hb_face_t to work upon @start_offset: offset of the first lookup to retrieve @axes_count: (inout) (allow-none): Input = the maximum number of variation axes to return; Output = the actual number of variation axes returned (may be zero) @axes_array: (out caller-allocates) (array length=axes_count): The array of variation axes found

Fetches a list of all variation axes in the specified face. The list returned will begin at the offset provided.

Return value: the number of variation axes in the face

Since: 2.2.0

Definition at line 148 of file hb-ot-var.cc.

References face.

◆ hb_ot_var_get_named_instance_count()

unsigned int hb_ot_var_get_named_instance_count ( hb_face_t face)

hb_ot_var_get_named_instance_count: @face: The hb_face_t to work on

Fetches the number of named instances included in the face.

Return value: the number of named instances defined

Since: 2.2.0

Definition at line 193 of file hb-ot-var.cc.

References face.

◆ hb_ot_var_has_data()

hb_bool_t hb_ot_var_has_data ( hb_face_t face)

SECTION:hb-ot-var @title: hb-ot-var @short_description: OpenType Font Variations hb-ot.h

Functions for fetching information about OpenType Variable Fonts. hb_ot_var_has_data: @face: The hb_face_t to work on

Tests whether a face includes any OpenType variation data in the fvar table.

Return value: true if data found, false otherwise

Since: 1.4.2

Definition at line 64 of file hb-ot-var.cc.

References face.

◆ hb_ot_var_named_instance_get_design_coords()

unsigned int hb_ot_var_named_instance_get_design_coords ( hb_face_t face,
unsigned int  instance_index,
unsigned int coords_length,
float *  coords 
)

hb_ot_var_named_instance_get_design_coords: @face: The hb_face_t to work on @instance_index: The index of the named instance to query @coords_length: (inout) (allow-none): Input = the maximum number of coordinates to return; Output = the actual number of coordinates returned (may be zero) @coords: (out) (array length=coords_length): The array of coordinates found for the query

Fetches the design-space coordinates corresponding to the given named instance in the face.

Return value: the number of variation axes in the face

Since: 2.2.0

Definition at line 252 of file hb-ot-var.cc.

References face.

Referenced by hb_font_set_var_named_instance().

◆ hb_ot_var_named_instance_get_postscript_name_id()

hb_ot_name_id_t hb_ot_var_named_instance_get_postscript_name_id ( hb_face_t face,
unsigned int  instance_index 
)

hb_ot_var_named_instance_get_postscript_name_id: @face: The hb_face_t to work on @instance_index: The index of the named instance to query

Fetches the name table Name ID that provides display names for the "PostScript name" defined for the given named instance in the face.

Return value: the Name ID found for the PostScript name

Since: 2.2.0

Definition at line 230 of file hb-ot-var.cc.

References face.

◆ hb_ot_var_named_instance_get_subfamily_name_id()

hb_ot_name_id_t hb_ot_var_named_instance_get_subfamily_name_id ( hb_face_t face,
unsigned int  instance_index 
)

hb_ot_var_named_instance_get_subfamily_name_id: @face: The hb_face_t to work on @instance_index: The index of the named instance to query

Fetches the name table Name ID that provides display names for the "Subfamily name" defined for the given named instance in the face.

Return value: the Name ID found for the Subfamily name

Since: 2.2.0

Definition at line 211 of file hb-ot-var.cc.

References face.

◆ hb_ot_var_normalize_coords()

void hb_ot_var_normalize_coords ( hb_face_t face,
unsigned int  coords_length,
const float *  design_coords,
int normalized_coords 
)

hb_ot_var_normalize_coords: @face: The hb_face_t to work on @coords_length: The length of the coordinate array @design_coords: The design-space coordinates to normalize @normalized_coords: (out): The normalized coordinates

Normalizes the given design-space coordinates. The minimum and maximum values for the axis are mapped to the interval [-1,1], with the default axis value mapped to 0.

Any additional scaling defined in the face's avar table is also applied, as described at https://docs.microsoft.com/en-us/typography/opentype/spec/avar

Since: 1.4.2

Definition at line 312 of file hb-ot-var.cc.

References face, i, and OT::fvar::normalize_axis_value().

Referenced by hb_font_set_var_coords_design().

◆ hb_ot_var_normalize_variations()

void hb_ot_var_normalize_variations ( hb_face_t face,
const hb_variation_t variations,
unsigned int  variations_length,
int coords,
unsigned int  coords_length 
)

hb_ot_var_normalize_variations: @face: The hb_face_t to work on @variations: The array of variations to normalize @variations_length: The number of variations to normalize @coords: (out) (array length=coords_length): The array of normalized coordinates @coords_length: The length of the coordinate array

Normalizes all of the coordinates in the given list of variation axes.

Since: 1.4.2

Definition at line 274 of file hb-ot-var.cc.

References face, hb_ot_var_find_axis_info(), i, info, and OT::fvar::normalize_axis_value().