Top |
unsigned int | hb_face_count () |
hb_face_t * | hb_face_create () |
hb_face_t * | hb_face_create_for_tables () |
void | hb_face_destroy () |
hb_face_t * | hb_face_get_empty () |
unsigned int | hb_face_get_table_tags () |
unsigned int | hb_face_get_glyph_count () |
unsigned int | hb_face_get_index () |
unsigned int | hb_face_get_upem () |
void * | hb_face_get_user_data () |
hb_bool_t | hb_face_is_immutable () |
void | hb_face_make_immutable () |
hb_face_t * | hb_face_reference () |
hb_blob_t * | hb_face_reference_blob () |
hb_blob_t * | hb_face_reference_table () |
void | hb_face_set_glyph_count () |
void | hb_face_set_index () |
void | hb_face_set_upem () |
hb_bool_t | hb_face_set_user_data () |
void | hb_face_collect_unicodes () |
void | hb_face_collect_variation_selectors () |
void | hb_face_collect_variation_unicodes () |
hb_face_t * | hb_face_builder_create () |
hb_bool_t | hb_face_builder_add_table () |
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.
unsigned int
hb_face_count (hb_blob_t *blob
);
Fetches the number of faces in a blob.
Since: 1.7.7
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]
Since: 0.9.2
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.
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 |
[optional] |
Since: 0.9.2
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]
Since: 0.9.2
hb_face_t *
hb_face_get_empty (void
);
Fetches the singleton empty face object.
Since: 0.9.2
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
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] |
Since: 1.6.0
unsigned int
hb_face_get_glyph_count (const hb_face_t *face
);
Fetches the glyph-count value of the specified face object.
Since: 0.9.7
unsigned int
hb_face_get_index (const hb_face_t *face
);
Fetches the face-index corresponding to the given face.
Since: 0.9.2
unsigned int
hb_face_get_upem (const hb_face_t *face
);
Fetches the units-per-em (upem) value of the specified face object.
Since: 0.9.2
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]
Since: 0.9.2
hb_bool_t
hb_face_is_immutable (const hb_face_t *face
);
Tests whether the given face object is immutable.
Since: 0.9.2
void
hb_face_make_immutable (hb_face_t *face
);
Makes the given face object immutable.
Since: 0.9.2
hb_face_t *
hb_face_reference (hb_face_t *face
);
Increases the reference count on a face object.
[skip]
Since: 0.9.2
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.
Since: 0.9.2
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.
Since: 0.9.2
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.
Since: 0.9.7
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.
Since: 0.9.2
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.
Since: 0.9.2
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]
face |
A face object |
|
key |
The user-data key to set |
|
data |
A pointer to the user data |
|
destroy |
A callback to call when |
[optional] |
replace |
Whether to replace an existing data with the same key |
Since: 0.9.2
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
.
Since: 1.9.0
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
.
Since: 1.9.0
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
.
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_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()
.
Since: 1.9.0
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()
.
face |
A face object created with |
|
tag |
The hb_tag_t of the table to add |
|
blob |
The blob containing the table data to add |
Since: 1.9.0