hb-common

hb-common

Functions

Types and Values

Object Hierarchy

    GBoxed
    ╰── hb_user_data_key_t
    GEnum
    ├── hb_direction_t
    ╰── hb_script_t

Description

Functions

hb_tag_from_string ()

hb_tag_t
hb_tag_from_string (const char *str,
                    int len);

Parameters

str

.

[array length=len][element-type uint8_t]

Since: 0.9.2


hb_tag_to_string ()

void
hb_tag_to_string (hb_tag_t tag,
                  char *buf);

Parameters

buf

.

[out caller-allocates][array fixed-size=4][element-type uint8_t]

Since: 0.9.5


hb_direction_from_string ()

hb_direction_t
hb_direction_from_string (const char *str,
                          int len);

Parameters

str

.

[array length=len][element-type uint8_t]

Since: 0.9.2


hb_direction_to_string ()

const char *
hb_direction_to_string (hb_direction_t direction);

Returns

.

[transfer none]

Since: 0.9.2


hb_script_from_iso15924_tag ()

hb_script_t
hb_script_from_iso15924_tag (hb_tag_t tag);

Converts an ISO 15924 script tag to a corresponding hb_script_t.

Parameters

tag

an hb_tag_t representing an ISO 15924 tag.

 

Returns

An hb_script_t corresponding to the ISO 15924 tag.

Since: 0.9.2


hb_script_from_string ()

hb_script_t
hb_script_from_string (const char *str,
                       int len);

Converts a string str representing an ISO 15924 script tag to a corresponding hb_script_t. Shorthand for hb_tag_from_string() then hb_script_from_iso15924_tag().

Parameters

str

a string representing an ISO 15924 tag.

[array length=len][element-type uint8_t]

len

length of the str , or -1 if it is NULL-terminated.

 

Returns

An hb_script_t corresponding to the ISO 15924 tag.

Since: 0.9.2


hb_script_to_iso15924_tag ()

hb_tag_t
hb_script_to_iso15924_tag (hb_script_t script);

See hb_script_from_iso15924_tag().

Parameters

script

an hb_script_ to convert.

 

Returns

An hb_tag_t representing an ISO 15924 script tag.

Since: 0.9.2


hb_script_get_horizontal_direction ()

hb_direction_t
hb_script_get_horizontal_direction (hb_script_t script);

Since: 0.9.2


hb_language_from_string ()

hb_language_t
hb_language_from_string (const char *str,
                         int len);

Converts str representing an ISO 639 language code to the corresponding hb_language_t.

Parameters

str

a string representing ISO 639 language code.

[array length=len][element-type uint8_t]

len

length of the str , or -1 if it is NULL-terminated.

 

Returns

The hb_language_t corresponding to the ISO 639 language code.

[transfer none]

Since: 0.9.2


hb_language_to_string ()

const char *
hb_language_to_string (hb_language_t language);

See hb_language_from_string().

Parameters

language

an hb_language_t to convert.

 

Returns

A NULL-terminated string representing the language . Must not be freed by the caller.

[transfer none]

Since: 0.9.2


hb_language_get_default ()

hb_language_t
hb_language_get_default (void);

Returns

.

[transfer none]

Since: 0.9.2


hb_destroy_func_t ()

void
(*hb_destroy_func_t) (void *user_data);

HB_TAG()

#define HB_TAG(c1,c2,c3,c4) ((hb_tag_t)((((uint8_t)(c1))<<24)|(((uint8_t)(c2))<<16)|(((uint8_t)(c3))<<8)|((uint8_t)(c4))))

HB_UNTAG()

#define HB_UNTAG(tag)   ((uint8_t)((tag)>>24)), ((uint8_t)((tag)>>16)), ((uint8_t)((tag)>>8)), ((uint8_t)(tag))

HB_DIRECTION_REVERSE()

#define HB_DIRECTION_REVERSE(dir) ((hb_direction_t) (((unsigned int) (dir)) ^ 1))

HB_DIRECTION_IS_BACKWARD()

#define HB_DIRECTION_IS_BACKWARD(dir) ((((unsigned int) (dir)) & ~2U) == 5)

HB_DIRECTION_IS_FORWARD()

#define HB_DIRECTION_IS_FORWARD(dir) ((((unsigned int) (dir)) & ~2U) == 4)

HB_DIRECTION_IS_HORIZONTAL()

#define HB_DIRECTION_IS_HORIZONTAL(dir) ((((unsigned int) (dir)) & ~1U) == 4)

HB_DIRECTION_IS_VALID()

#define HB_DIRECTION_IS_VALID(dir) ((((unsigned int) (dir)) & ~3U) == 4)

HB_DIRECTION_IS_VERTICAL()

#define HB_DIRECTION_IS_VERTICAL(dir) ((((unsigned int) (dir)) & ~1U) == 6)

Types and Values

hb_bool_t

typedef int hb_bool_t;

hb_codepoint_t

typedef uint32_t hb_codepoint_t;

enum hb_direction_t

Members

HB_DIRECTION_INVALID

Initial, unset direction.

 

HB_DIRECTION_LTR

Text is set horizontally from left to right.

 

HB_DIRECTION_RTL

Text is set horizontally from right to left.

 

HB_DIRECTION_TTB

Text is set vertically from top to bottom.

 

HB_DIRECTION_BTT

Text is set vertically from bottom to top.

 

hb_language_t

typedef const struct hb_language_impl_t *hb_language_t;

hb_mask_t

typedef uint32_t hb_mask_t;

hb_position_t

typedef int32_t hb_position_t;

hb_tag_t

typedef uint32_t hb_tag_t;

enum hb_script_t

Members

HB_SCRIPT_COMMON

   

HB_SCRIPT_INHERITED

   

HB_SCRIPT_UNKNOWN

   

HB_SCRIPT_ARABIC

   

HB_SCRIPT_ARMENIAN

   

HB_SCRIPT_BENGALI

   

HB_SCRIPT_CYRILLIC

   

HB_SCRIPT_DEVANAGARI

   

HB_SCRIPT_GEORGIAN

   

HB_SCRIPT_GREEK

   

HB_SCRIPT_GUJARATI

   

HB_SCRIPT_GURMUKHI

   

HB_SCRIPT_HANGUL

   

HB_SCRIPT_HAN

   

HB_SCRIPT_HEBREW

   

HB_SCRIPT_HIRAGANA

   

HB_SCRIPT_KANNADA

   

HB_SCRIPT_KATAKANA

   

HB_SCRIPT_LAO

   

HB_SCRIPT_LATIN

   

HB_SCRIPT_MALAYALAM

   

HB_SCRIPT_ORIYA

   

HB_SCRIPT_TAMIL

   

HB_SCRIPT_TELUGU

   

HB_SCRIPT_THAI

   

HB_SCRIPT_TIBETAN

   

HB_SCRIPT_BOPOMOFO

   

HB_SCRIPT_BRAILLE

   

HB_SCRIPT_CANADIAN_SYLLABICS

   

HB_SCRIPT_CHEROKEE

   

HB_SCRIPT_ETHIOPIC

   

HB_SCRIPT_KHMER

   

HB_SCRIPT_MONGOLIAN

   

HB_SCRIPT_MYANMAR

   

HB_SCRIPT_OGHAM

   

HB_SCRIPT_RUNIC

   

HB_SCRIPT_SINHALA

   

HB_SCRIPT_SYRIAC

   

HB_SCRIPT_THAANA

   

HB_SCRIPT_YI

   

HB_SCRIPT_DESERET

   

HB_SCRIPT_GOTHIC

   

HB_SCRIPT_OLD_ITALIC

   

HB_SCRIPT_BUHID

   

HB_SCRIPT_HANUNOO

   

HB_SCRIPT_TAGALOG

   

HB_SCRIPT_TAGBANWA

   

HB_SCRIPT_CYPRIOT

   

HB_SCRIPT_LIMBU

   

HB_SCRIPT_LINEAR_B

   

HB_SCRIPT_OSMANYA

   

HB_SCRIPT_SHAVIAN

   

HB_SCRIPT_TAI_LE

   

HB_SCRIPT_UGARITIC

   

HB_SCRIPT_BUGINESE

   

HB_SCRIPT_COPTIC

   

HB_SCRIPT_GLAGOLITIC

   

HB_SCRIPT_KHAROSHTHI

   

HB_SCRIPT_NEW_TAI_LUE

   

HB_SCRIPT_OLD_PERSIAN

   

HB_SCRIPT_SYLOTI_NAGRI

   

HB_SCRIPT_TIFINAGH

   

HB_SCRIPT_BALINESE

   

HB_SCRIPT_CUNEIFORM

   

HB_SCRIPT_NKO

   

HB_SCRIPT_PHAGS_PA

   

HB_SCRIPT_PHOENICIAN

   

HB_SCRIPT_CARIAN

   

HB_SCRIPT_CHAM

   

HB_SCRIPT_KAYAH_LI

   

HB_SCRIPT_LEPCHA

   

HB_SCRIPT_LYCIAN

   

HB_SCRIPT_LYDIAN

   

HB_SCRIPT_OL_CHIKI

   

HB_SCRIPT_REJANG

   

HB_SCRIPT_SAURASHTRA

   

HB_SCRIPT_SUNDANESE

   

HB_SCRIPT_VAI

   

HB_SCRIPT_AVESTAN

   

HB_SCRIPT_BAMUM

   

HB_SCRIPT_EGYPTIAN_HIEROGLYPHS

   

HB_SCRIPT_IMPERIAL_ARAMAIC

   

HB_SCRIPT_INSCRIPTIONAL_PAHLAVI

   

HB_SCRIPT_INSCRIPTIONAL_PARTHIAN

   

HB_SCRIPT_JAVANESE

   

HB_SCRIPT_KAITHI

   

HB_SCRIPT_LISU

   

HB_SCRIPT_MEETEI_MAYEK

   

HB_SCRIPT_OLD_SOUTH_ARABIAN

   

HB_SCRIPT_OLD_TURKIC

   

HB_SCRIPT_SAMARITAN

   

HB_SCRIPT_TAI_THAM

   

HB_SCRIPT_TAI_VIET

   

HB_SCRIPT_BATAK

   

HB_SCRIPT_BRAHMI

   

HB_SCRIPT_MANDAIC

   

HB_SCRIPT_CHAKMA

   

HB_SCRIPT_MEROITIC_CURSIVE

   

HB_SCRIPT_MEROITIC_HIEROGLYPHS

   

HB_SCRIPT_MIAO

   

HB_SCRIPT_SHARADA

   

HB_SCRIPT_SORA_SOMPENG

   

HB_SCRIPT_TAKRI

   

HB_SCRIPT_BASSA_VAH

   

HB_SCRIPT_CAUCASIAN_ALBANIAN

   

HB_SCRIPT_DUPLOYAN

   

HB_SCRIPT_ELBASAN

   

HB_SCRIPT_GRANTHA

   

HB_SCRIPT_KHOJKI

   

HB_SCRIPT_KHUDAWADI

   

HB_SCRIPT_LINEAR_A

   

HB_SCRIPT_MAHAJANI

   

HB_SCRIPT_MANICHAEAN

   

HB_SCRIPT_MENDE_KIKAKUI

   

HB_SCRIPT_MODI

   

HB_SCRIPT_MRO

   

HB_SCRIPT_NABATAEAN

   

HB_SCRIPT_OLD_NORTH_ARABIAN

   

HB_SCRIPT_OLD_PERMIC

   

HB_SCRIPT_PAHAWH_HMONG

   

HB_SCRIPT_PALMYRENE

   

HB_SCRIPT_PAU_CIN_HAU

   

HB_SCRIPT_PSALTER_PAHLAVI

   

HB_SCRIPT_SIDDHAM

   

HB_SCRIPT_TIRHUTA

   

HB_SCRIPT_WARANG_CITI

   

HB_SCRIPT_AHOM

   

HB_SCRIPT_ANATOLIAN_HIEROGLYPHS

   

HB_SCRIPT_HATRAN

   

HB_SCRIPT_MULTANI

   

HB_SCRIPT_OLD_HUNGARIAN

   

HB_SCRIPT_SIGNWRITING

   

HB_SCRIPT_ADLAM

   

HB_SCRIPT_BHAIKSUKI

   

HB_SCRIPT_MARCHEN

   

HB_SCRIPT_OSAGE

   

HB_SCRIPT_TANGUT

   

HB_SCRIPT_NEWA

   

HB_SCRIPT_INVALID

   

_HB_SCRIPT_MAX_VALUE

   

_HB_SCRIPT_MAX_VALUE_SIGNED

   

hb_user_data_key_t

typedef struct {
} hb_user_data_key_t;

hb_var_int_t


HB_TAG_NONE

#define HB_TAG_NONE HB_TAG(0,0,0,0)

HB_TAG_MAX

#define HB_TAG_MAX HB_TAG(0xff,0xff,0xff,0xff)

HB_TAG_MAX_SIGNED

#define HB_TAG_MAX_SIGNED HB_TAG(0x7f,0xff,0xff,0xff)

HB_LANGUAGE_INVALID

#define HB_LANGUAGE_INVALID ((hb_language_t) NULL)