manpagez: man pages & more
html files: harfbuzz
Home | html | info | man

hb-common

hb-common — Common data types

Types and Values

Object Hierarchy

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

Includes

#include <hb.h>

Description

Common data types used across HarfBuzz are defined here.

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 a BCP 47 language tag to the corresponding hb_language_t.

Parameters

str

a string representing a BCP 47 language tag.

[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 BCP 47 language tag.

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

Get default language from current locale.

Note that the first time this function is called, it calls "setlocale (LC_CTYPE, nullptr)" to fetch current locale. The underlying setlocale function is, in many implementations, NOT threadsafe. To avoid problems, call this function once before multiple threads can call it. This function is only used from hb_buffer_guess_segment_properties() by HarfBuzz itself.

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)((((uint32_t)(c1)&0xFF)<<24)|(((uint32_t)(c2)&0xFF)<<16)|(((uint32_t)(c3)&0xFF)<<8)|((uint32_t)(c4)&0xFF)))

HB_UNTAG()

#define HB_UNTAG(tag)   (((tag)>>24)&0xFF), (((tag)>>16)&0xFF), (((tag)>>8)&0xFF), ((tag)&0xFF)

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_MASARAM_GONDI

   

HB_SCRIPT_NUSHU

   

HB_SCRIPT_SOYOMBO

   

HB_SCRIPT_ZANABAZAR_SQUARE

   

HB_SCRIPT_DOGRA

   

HB_SCRIPT_GUNJALA_GONDI

   

HB_SCRIPT_HANIFI_ROHINGYA

   

HB_SCRIPT_MAKASAR

   

HB_SCRIPT_MEDEFAIDRIN

   

HB_SCRIPT_OLD_SOGDIAN

   

HB_SCRIPT_SOGDIAN

   

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) 0)
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.