/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-face.html (52100B)
hb-face: HarfBuzz Manual

hb-face

hb-face — Font face objects

Types and Values

typedef hb_face_t

Includes

#include <hb.h>

Description

A font face is an object that represents a single face from within a font family.

More precisely, a font face represents a single face in a binary font file. Font faces are typically built from a binary blob and a face index. Font faces are used to create fonts.

Functions

hb_face_count ()

unsigned int
hb_face_count (hb_blob_t *blob);

Fetches the number of faces in a blob.

Parameters

blob

a blob.

 

Returns

Number of faces in blob

Since: 1.7.7


hb_face_create ()

hb_face_t *
hb_face_create (hb_blob_t *blob,
                unsigned int index);

Constructs a new face object from the specified blob and a face index into that blob. This is used for blobs of file formats such as Dfont and TTC that can contain more than one face.

[Xconstructor]

Parameters

blob

hb_blob_t to work upon

 

index

The index of the face within blob

 

Returns

The new face object.

[transfer full]

Since: 0.9.2


hb_face_create_for_tables ()

hb_face_t *
hb_face_create_for_tables (hb_reference_table_func_t reference_table_func,
                           void *user_data,
                           hb_destroy_func_t destroy);

Variant of hb_face_create(), built for those cases where it is more convenient to provide data for individual tables instead of the whole font data. With the caveat that hb_face_get_table_tags() does not currently work with faces created this way.

Creates a new face object from the specified user_data and reference_table_func , with the destroy callback.

Parameters

reference_table_func

Table-referencing function.

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

user_data

A pointer to the user data

 

destroy

A callback to call when data is not needed anymore.

[optional]

Returns

The new face object.

[transfer full]

Since: 0.9.2


hb_face_destroy ()

void
hb_face_destroy (hb_face_t *face);

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

[skip]

Parameters

face

A face object

 

Since: 0.9.2


hb_face_get_empty ()

hb_face_t *
hb_face_get_empty (void);

Fetches the singleton empty face object.

Returns

(transfer full) The empty face object

Since: 0.9.2


hb_face_get_table_tags ()

unsigned int
hb_face_get_table_tags (const hb_face_t *face,
                        unsigned int start_offset,
                        unsigned int *table_count,
                        hb_tag_t *table_tags);

Fetches a list of all table tags for a face, if possible. The list returned will begin at the offset provided

Parameters

face

A face object

 

start_offset

The index of first table tag to retrieve

 

table_count

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

[inout]

table_tags

The array of table tags found.

[out][array length=table_count]

Returns

Total number of tables, or zero if it is not possible to list

Since: 1.6.0


hb_face_get_glyph_count ()

unsigned int
hb_face_get_glyph_count (const hb_face_t *face);

Fetches the glyph-count value of the specified face object.

Parameters

face

A face object

 

Returns

The glyph-count value of face

Since: 0.9.7


hb_face_get_index ()

unsigned int
hb_face_get_index (const hb_face_t *face);

Fetches the face-index corresponding to the given face.

Note: face indices within a collection are zero-based.

Parameters

face

A face object

 

Returns

The index of face .

Since: 0.9.2


hb_face_get_upem ()

unsigned int
hb_face_get_upem (const hb_face_t *face);

Fetches the units-per-em (upem) value of the specified face object.

Parameters

face

A face object

 

Returns

The upem value of face

Since: 0.9.2


hb_face_get_user_data ()

void *
hb_face_get_user_data (const hb_face_t *face,
                       hb_user_data_key_t *key);

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

[skip]

Parameters

face

A face object

 

key

The user-data key to query

 

Returns

A pointer to the user data.

[transfer none]

Since: 0.9.2


hb_face_is_immutable ()

hb_bool_t
hb_face_is_immutable (const hb_face_t *face);

Tests whether the given face object is immutable.

Parameters

face

A face object

 

Returns

True is face is immutable, false otherwise

Since: 0.9.2


hb_face_make_immutable ()

void
hb_face_make_immutable (hb_face_t *face);

Makes the given face object immutable.

Parameters

face

A face object

 

Since: 0.9.2


hb_face_reference ()

hb_face_t *
hb_face_reference (hb_face_t *face);

Increases the reference count on a face object.

[skip]

Parameters

face

A face object

 

Returns

The face object

Since: 0.9.2


hb_face_reference_blob ()

hb_blob_t *
hb_face_reference_blob (hb_face_t *face);

Fetches a pointer to the binary blob that contains the specified face. Returns an empty blob if referencing face data is not possible.

Parameters

face

A face object

 

Returns

A pointer to the blob for face .

[transfer full]

Since: 0.9.2


hb_face_reference_table ()

hb_blob_t *
hb_face_reference_table (const hb_face_t *face,
                         hb_tag_t tag);

Fetches a reference to the specified table within the specified face.

Parameters

face

A face object

 

tag

The hb_tag_t of the table to query

 

Returns

A pointer to the tag table within face .

[transfer full]

Since: 0.9.2


hb_face_set_glyph_count ()

void
hb_face_set_glyph_count (hb_face_t *face,
                         unsigned int glyph_count);

Sets the glyph count for a face object to the specified value.

Parameters

face

A face object

 

glyph_count

The glyph-count value to assign

 

Since: 0.9.7


hb_face_set_index ()

void
hb_face_set_index (hb_face_t *face,
                   unsigned int index);

Assigns the specified face-index to face . Fails if the face is immutable.

Note: face indices within a collection are zero-based.

Parameters

face

A face object

 

index

The index to assign

 

Since: 0.9.2


hb_face_set_upem ()

void
hb_face_set_upem (hb_face_t *face,
                  unsigned int upem);

Sets the units-per-em (upem) for a face object to the specified value.

Parameters

face

A face object

 

upem

The units-per-em value to assign

 

Since: 0.9.2


hb_face_set_user_data ()

hb_bool_t
hb_face_set_user_data (hb_face_t *face,
                       hb_user_data_key_t *key,
                       void *data,
                       hb_destroy_func_t destroy,
                       hb_bool_t replace);

Attaches a user-data key/data pair to the given face object.

[skip]

Parameters

face

A face object

 

key

The user-data key to set

 

data

A pointer to the user data

 

destroy

A callback to call when data is not needed anymore.

[optional]

replace

Whether to replace an existing data with the same key

 

Returns

true if success, false otherwise

Since: 0.9.2


hb_face_collect_unicodes ()

void
hb_face_collect_unicodes (hb_face_t *face,
                          hb_set_t *out);

Collects all of the Unicode characters covered by face and adds them to the hb_set_t set out .

Parameters

face

A face object

 

out

The set to add Unicode characters to

 

Since: 1.9.0


hb_face_collect_variation_selectors ()

void
hb_face_collect_variation_selectors (hb_face_t *face,
                                     hb_set_t *out);

Collects all Unicode "Variation Selector" characters covered by face and adds them to the hb_set_t set out .

Parameters

face

A face object

 

out

The set to add Variation Selector characters to

 

Since: 1.9.0


hb_face_collect_variation_unicodes ()

void
hb_face_collect_variation_unicodes (hb_face_t *face,
                                    hb_codepoint_t variation_selector,
                                    hb_set_t *out);

Collects all Unicode characters for variation_selector covered by face and adds them to the hb_set_t set out .

Parameters

face

A face object

 

variation_selector

The Variation Selector to query

 

out

The set to add Unicode characters to

 

Since: 1.9.0


hb_face_builder_create ()

hb_face_t *
hb_face_builder_create (void);

Creates a hb_face_t that can be used with hb_face_builder_add_table(). After tables are added to the face, it can be compiled to a binary font file by calling hb_face_reference_blob().

Returns

New face.

[transfer full]

Since: 1.9.0


hb_face_builder_add_table ()

hb_bool_t
hb_face_builder_add_table (hb_face_t *face,
                           hb_tag_t tag,
                           hb_blob_t *blob);

Add table for tag with data provided by blob to the face. face must be created using hb_face_builder_create().

Parameters

face

A face object created with hb_face_builder_create()

 

tag

The hb_tag_t of the table to add

 

blob

The blob containing the table data to add

 

Since: 1.9.0

Types and Values

hb_face_t

typedef struct hb_face_t hb_face_t;

Data type for holding font faces.