hb-ot-name

hb-ot-name — OpenType font name information

Functions

const hb_ot_name_entry_t * hb_ot_name_list_names ()
unsigned int hb_ot_name_get_utf16 ()
unsigned int hb_ot_name_get_utf32 ()
unsigned int hb_ot_name_get_utf8 ()

Types and Values

Includes

#include <hb-ot.h>

Description

Functions for fetching name strings from OpenType fonts.

Functions

hb_ot_name_list_names ()

const hb_ot_name_entry_t *
hb_ot_name_list_names (hb_face_t *face,
                       unsigned int *num_entries);

Enumerates all available name IDs and language combinations. Returned array is owned by the face and should not be modified. It can be used as long as face is alive.

Parameters

face

font face.

 

num_entries

number of returned entries.

[out][optional]

Returns

Array of available name entries.

[transfer none][array length=num_entries]

Since: 2.1.0


hb_ot_name_get_utf16 ()

unsigned int
hb_ot_name_get_utf16 (hb_face_t *face,
                      hb_ot_name_id_t name_id,
                      hb_language_t language,
                      unsigned int *text_size,
                      uint16_t *text);

Fetches a font name from the OpenType 'name' table. If language is HB_LANGUAGE_INVALID, English ("en") is assumed. Returns string in UTF-16 encoding. A NUL terminator is always written for convenience, and isn't included in the output text_size .

Parameters

face

font face.

 

name_id

OpenType name identifier to fetch.

 

language

language to fetch the name for.

 

text_size

input size of text buffer, and output size of text written to buffer.

[inout][optional]

text

buffer to write fetched name into.

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

Returns

full length of the requested string, or 0 if not found.

Since: 2.1.0


hb_ot_name_get_utf32 ()

unsigned int
hb_ot_name_get_utf32 (hb_face_t *face,
                      hb_ot_name_id_t name_id,
                      hb_language_t language,
                      unsigned int *text_size,
                      uint32_t *text);

Fetches a font name from the OpenType 'name' table. If language is HB_LANGUAGE_INVALID, English ("en") is assumed. Returns string in UTF-32 encoding. A NUL terminator is always written for convenience, and isn't included in the output text_size .

Parameters

face

font face.

 

name_id

OpenType name identifier to fetch.

 

language

language to fetch the name for.

 

text_size

input size of text buffer, and output size of text written to buffer.

[inout][optional]

text

buffer to write fetched name into.

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

Returns

full length of the requested string, or 0 if not found.

Since: 2.1.0


hb_ot_name_get_utf8 ()

unsigned int
hb_ot_name_get_utf8 (hb_face_t *face,
                     hb_ot_name_id_t name_id,
                     hb_language_t language,
                     unsigned int *text_size,
                     char *text);

Fetches a font name from the OpenType 'name' table. If language is HB_LANGUAGE_INVALID, English ("en") is assumed. Returns string in UTF-8 encoding. A NUL terminator is always written for convenience, and isn't included in the output text_size .

Parameters

face

font face.

 

name_id

OpenType name identifier to fetch.

 

language

language to fetch the name for.

 

text_size

input size of text buffer, and output size of text written to buffer.

[inout][optional]

text

buffer to write fetched name into.

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

Returns

full length of the requested string, or 0 if not found.

Since: 2.1.0

Types and Values

hb_ot_name_id_t

typedef unsigned int hb_ot_name_id_t;

An integral type representing an OpenType 'name' table name identifier. There are predefined name IDs, as well as name IDs return from other API. These can be used to fetch name strings from a font face.

For more information on these fields, see the OpenType spec.

Since: 2.0.0


hb_ot_name_entry_t

typedef struct {
  hb_ot_name_id_t name_id;
  hb_language_t   language;
} hb_ot_name_entry_t;

Structure representing a name ID in a particular language.

Members

hb_ot_name_id_t name_id;

name ID

 

hb_language_t language;

language

 

Since: 2.1.0