/usr/share/gtk-doc/html/harfbuzz
NameSizeModeActions
a-clustering-example-for-levels-0-and-1.html53070644editdlrm
aat-shaping.html23590644editdlrm
adding-text-to-the-buffer.html58000644editdlrm
annotation-glossary.html56440644editdlrm
api-index-0-9-2.html444470644editdlrm
api-index-0-9-5.html33390644editdlrm
api-index-0-9-7.html123060644editdlrm
api-index-0-9-8.html20880644editdlrm
api-index-0-9-10.html32000644editdlrm
api-index-0-9-11.html20700644editdlrm
api-index-0-9-20.html23030644editdlrm
api-index-0-9-22.html21150644editdlrm
api-index-0-9-28.html20620644editdlrm
api-index-0-9-30.html25250644editdlrm
api-index-0-9-31.html29320644editdlrm
api-index-0-9-38.html38220644editdlrm
api-index-0-9-39.html20580644editdlrm
api-index-0-9-41.html20670644editdlrm
api-index-0-9-42.html25870644editdlrm
api-index-1-0-5.html27370644editdlrm
api-index-1-1-2.html23740644editdlrm
api-index-1-1-3.html29570644editdlrm
api-index-1-2-3.html28720644editdlrm
api-index-1-3-3.html55360644editdlrm
api-index-1-4-0.html23470644editdlrm
api-index-1-4-2.html53690644editdlrm
api-index-1-4-3.html20290644editdlrm
api-index-1-5-0.html29000644editdlrm
api-index-1-6-0.html22660644editdlrm
api-index-1-7-5.html17010644editdlrm
api-index-1-7-7.html55500644editdlrm
api-index-1-8-0.html26620644editdlrm
api-index-1-8-1.html24850644editdlrm
api-index-1-8-5.html20880644editdlrm
api-index-1-8-6.html31870644editdlrm
api-index-1-9-0.html34600644editdlrm
api-index-2-0-0.html59260644editdlrm
api-index-2-1-0.html80690644editdlrm
api-index-2-2-0.html53260644editdlrm
api-index-2-3-0.html26500644editdlrm
api-index-2-4-0.html20870644editdlrm
api-index-2-5-0.html21080644editdlrm
api-index-2-6-0.html52400644editdlrm
api-index-2-7-3.html28240644editdlrm
api-index-full.html1403400644editdlrm
buffers-language-script-and-direction.html49510644editdlrm
building.html153460644editdlrm
ch01s03.html44950644editdlrm
ch03s02.html60780644editdlrm
ch03s03.html45800644editdlrm
ch12.html35570644editdlrm
ch13.html30780644editdlrm
ch14.html18760644editdlrm
ch15.html30440644editdlrm
clusters.html64990644editdlrm
complex-scripts.html30010644editdlrm
customizing-unicode-functions.html64000644editdlrm
deprecated-api-index.html62230644editdlrm
fonts-and-faces-custom-functions.html73980644editdlrm
fonts-and-faces-native-opentype.html51960644editdlrm
fonts-and-faces-variable.html53040644editdlrm
fonts-and-faces.html76710644editdlrm
getting-started.html50430644editdlrm
graphite-shaping.html23080644editdlrm
harfbuzz-hb-aat-layout.html1393450644editdlrm
harfbuzz-hb-blob.html359020644editdlrm
harfbuzz-hb-buffer.html1954910644editdlrm
harfbuzz-hb-common.html653230644editdlrm
harfbuzz-hb-coretext.html113710644editdlrm
harfbuzz-hb-deprecated.html253280644editdlrm
harfbuzz-hb-directwrite.html61550644editdlrm
harfbuzz-hb-face.html521000644editdlrm
harfbuzz-hb-font.html2626960644editdlrm
harfbuzz-hb-ft.html287190644editdlrm
harfbuzz-hb-gdi.html43100644editdlrm
harfbuzz-hb-glib.html100860644editdlrm
harfbuzz-hb-gobject.html29530644editdlrm
harfbuzz-hb-graphite2.html58280644editdlrm
harfbuzz-hb-icu.html79690644editdlrm
harfbuzz-hb-map.html291880644editdlrm
harfbuzz-hb-ot-color.html399490644editdlrm
harfbuzz-hb-ot-font.html46300644editdlrm
harfbuzz-hb-ot-layout.html1450880644editdlrm
harfbuzz-hb-ot-math.html528860644editdlrm
harfbuzz-hb-ot-meta.html102860644editdlrm
harfbuzz-hb-ot-metrics.html179270644editdlrm
harfbuzz-hb-ot-name.html196030644editdlrm
harfbuzz-hb-ot-shape.html62570644editdlrm
harfbuzz-hb-ot-var.html367080644editdlrm
harfbuzz-hb-set.html594230644editdlrm
harfbuzz-hb-shape-plan.html384120644editdlrm
harfbuzz-hb-shape.html117020644editdlrm
harfbuzz-hb-unicode.html1067010644editdlrm
harfbuzz-hb-uniscribe.html60990644editdlrm
harfbuzz-hb-version.html104150644editdlrm
harfbuzz.devhelp21794570644editdlrm
HarfBuzz.png62540644editdlrm
HarfBuzz.svg67450644editdlrm
home.png1690644editdlrm
index.html195660644editdlrm
install-harfbuzz.html37870644editdlrm
integration-coretext.html64830644editdlrm
integration-freetype.html92930644editdlrm
integration-icu.html41860644editdlrm
integration-python.html31810644editdlrm
integration-uniscribe.html67250644editdlrm
integration.html99360644editdlrm
left-insensitive.png3340644editdlrm
left.png1850644editdlrm
level-2.html70090644editdlrm
object-model-blobs.html29020644editdlrm
object-model-lifecycle.html49780644editdlrm
object-model-object-types.html41110644editdlrm
object-model-user-data.html32550644editdlrm
object-model.html39780644editdlrm
opentype-shaping-models.html44630644editdlrm
pt01.html94170644editdlrm
pt02.html126740644editdlrm
reordering-in-levels-0-and-1.html31020644editdlrm
right-insensitive.png2330644editdlrm
right.png1840644editdlrm
setting-buffer-properties.html78300644editdlrm
shaping-and-shape-plans.html81960644editdlrm
shaping-concepts.html38690644editdlrm
shaping-opentype-features.html66630644editdlrm
shaping-operations.html45370644editdlrm
shaping-plans-and-caching.html46410644editdlrm
shaping-shaper-selection.html34060644editdlrm
style.css116060644editdlrm
text-runs.html25330644editdlrm
the-distinction-between-levels-0-and-1.html48640644editdlrm
unicode-character-categories.html42040644editdlrm
up-insensitive.png2880644editdlrm
up.png1860644editdlrm
utilities-common-types-apis.html43650644editdlrm
utilities-ucdn.html26320644editdlrm
utilities.html92740644editdlrm
what-harfbuzz-doesnt-do.html55350644editdlrm
what-is-harfbuzz.html55030644editdlrm
why-do-i-need-a-shaping-engine.html81240644editdlrm
why-is-it-called-harfbuzz.html21710644editdlrm
working-with-harfbuzz-clusters.html100830644editdlrm
Edit: /usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-var.html (36708B)
hb-ot-var: HarfBuzz Manual

hb-ot-var

hb-ot-var — OpenType Font Variations

Includes

#include <hb-ot.h>

Description

Functions for fetching information about OpenType Variable Fonts.

Functions

hb_ot_var_has_data ()

hb_bool_t
hb_ot_var_has_data (hb_face_t *face);

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

Parameters

face

The hb_face_t to work on

 

Returns

true if data found, false otherwise

Since: 1.4.2


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

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

Parameters

face

hb_face_t to work upon

 

axis_tag

The hb_tag_t of the variation axis to query

 

axis_info

The hb_ot_var_axis_info_t of the axis tag queried.

[out]

Returns

true if data found, false otherwise

Since: 2.2.0


hb_ot_var_get_axis_count ()

unsigned int
hb_ot_var_get_axis_count (hb_face_t *face);

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

Parameters

face

The hb_face_t to work on

 

Returns

the number of variation axes defined

Since: 1.4.2


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

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

Parameters

face

hb_face_t to work upon

 

start_offset

offset of the first lookup to retrieve

 

axes_count

Input = the maximum number of variation axes to return; Output = the actual number of variation axes returned (may be zero).

[inout][allow-none]

axes_array

The array of variation axes found.

[out caller-allocates][array length=axes_count]

Returns

the number of variation axes in the face

Since: 2.2.0


hb_ot_var_get_named_instance_count ()

unsigned int
hb_ot_var_get_named_instance_count (hb_face_t *face);

Fetches the number of named instances included in the face.

Parameters

face

The hb_face_t to work on

 

Returns

the number of named instances defined

Since: 2.2.0


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

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

Parameters

face

The hb_face_t to work on

 

instance_index

The index of the named instance to query

 

Returns

the Name ID found for the Subfamily name

Since: 2.2.0


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

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

Parameters

face

The hb_face_t to work on

 

instance_index

The index of the named instance to query

 

Returns

the Name ID found for the PostScript name

Since: 2.2.0


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

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

Parameters

face

The hb_face_t to work on

 

instance_index

The index of the named instance to query

 

coords_length

Input = the maximum number of coordinates to return; Output = the actual number of coordinates returned (may be zero).

[inout][allow-none]

coords

The array of coordinates found for the query.

[out][array length=coords_length]

Returns

the number of variation axes in the face

Since: 2.2.0


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

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

Parameters

face

The hb_face_t to work on

 

variations

The array of variations to normalize

 

variations_length

The number of variations to normalize

 

coords

The array of normalized coordinates.

[out][array length=coords_length]

coords_length

The length of the coordinate array

 

Since: 1.4.2


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

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

Parameters

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

The normalized coordinates.

[out]

Since: 1.4.2

Types and Values

HB_OT_TAG_VAR_AXIS_ITALIC

#define HB_OT_TAG_VAR_AXIS_ITALIC HB_TAG('i','t','a','l')

HB_OT_TAG_VAR_AXIS_OPTICAL_SIZE

#define HB_OT_TAG_VAR_AXIS_OPTICAL_SIZE HB_TAG('o','p','s','z')

HB_OT_TAG_VAR_AXIS_SLANT

#define HB_OT_TAG_VAR_AXIS_SLANT HB_TAG('s','l','n','t')

HB_OT_TAG_VAR_AXIS_WEIGHT

#define HB_OT_TAG_VAR_AXIS_WEIGHT HB_TAG('w','g','h','t')

HB_OT_TAG_VAR_AXIS_WIDTH

#define HB_OT_TAG_VAR_AXIS_WIDTH HB_TAG('w','d','t','h')

enum hb_ot_var_axis_flags_t

Members

HB_OT_VAR_AXIS_FLAG_HIDDEN

The axis should not be exposed directly in user interfaces.

 

_HB_OT_VAR_AXIS_FLAG_MAX_VALUE

   

Since: 2.2.0


hb_ot_var_axis_info_t

typedef struct {
  unsigned int			axis_index;
  hb_tag_t			tag;
  hb_ot_name_id_t		name_id;
  hb_ot_var_axis_flags_t flags;
  float				min_value;
  float				default_value;
  float				max_value;
} hb_ot_var_axis_info_t;

Data type for holding variation-axis values.

The minimum, default, and maximum values are in un-normalized, user scales.

Note: at present, the only flag defined for flags is HB_OT_VAR_AXIS_FLAG_HIDDEN.

Members

unsigned int axis_index;

Index of the axis in the variation-axis array

 

hb_tag_t tag;

The hb_tag_t tag identifying the design variation of the axis

 

hb_ot_name_id_t name_id;

The name table Name ID that provides display names for the axis

 

hb_ot_var_axis_flags_t flags;

The hb_ot_var_axis_flags_t flags for the axis

 

float min_value;

The mininum value on the variation axis that the font covers

 

float default_value;

The position on the variation axis corresponding to the font's defaults

 

float max_value;

The maximum value on the variation axis that the font covers

 

Since: 2.2.0