Top | ![]() |
![]() |
![]() |
![]() |
hb_tag_t | hb_tag_from_string () |
void | hb_tag_to_string () |
hb_direction_t | hb_direction_from_string () |
const char * | hb_direction_to_string () |
hb_script_t | hb_script_from_iso15924_tag () |
hb_script_t | hb_script_from_string () |
hb_tag_t | hb_script_to_iso15924_tag () |
hb_direction_t | hb_script_get_horizontal_direction () |
hb_language_t | hb_language_from_string () |
const char * | hb_language_to_string () |
hb_language_t | hb_language_get_default () |
hb_bool_t | hb_feature_from_string () |
void | hb_feature_to_string () |
hb_bool_t | hb_variation_from_string () |
void | hb_variation_to_string () |
void | (*hb_destroy_func_t) () |
#define | HB_TAG() |
#define | HB_UNTAG() |
#define | HB_DIRECTION_REVERSE() |
#define | HB_DIRECTION_IS_BACKWARD() |
#define | HB_DIRECTION_IS_FORWARD() |
#define | HB_DIRECTION_IS_HORIZONTAL() |
#define | HB_DIRECTION_IS_VALID() |
#define | HB_DIRECTION_IS_VERTICAL() |
typedef | hb_bool_t |
typedef | hb_codepoint_t |
enum | hb_direction_t |
typedef | hb_language_t |
hb_feature_t | |
hb_variation_t | |
typedef | hb_mask_t |
typedef | hb_position_t |
typedef | hb_tag_t |
enum | hb_script_t |
hb_user_data_key_t | |
hb_var_int_t | |
#define | HB_TAG_NONE |
#define | HB_TAG_MAX |
#define | HB_TAG_MAX_SIGNED |
#define | HB_LANGUAGE_INVALID |
#define | HB_FEATURE_GLOBAL_END |
#define | HB_FEATURE_GLOBAL_START |
GBoxed ├── hb_feature_t ╰── hb_user_data_key_t GEnum ├── hb_direction_t ╰── hb_script_t
hb_direction_t hb_direction_from_string (const char *str
,int len
);
Since: 0.9.2
const char *
hb_direction_to_string (hb_direction_t direction
);
Since: 0.9.2
hb_script_t
hb_script_from_iso15924_tag (hb_tag_t tag
);
Converts an ISO 15924 script tag to a corresponding hb_script_t.
Since: 0.9.2
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()
.
str |
a string representing an ISO 15924 tag. |
[array length=len][element-type uint8_t] |
len |
length of the |
Since: 0.9.2
hb_tag_t
hb_script_to_iso15924_tag (hb_script_t script
);
See hb_script_from_iso15924_tag()
.
Since: 0.9.2
hb_direction_t
hb_script_get_horizontal_direction (hb_script_t script
);
Since: 0.9.2
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.
str |
a string representing a BCP 47 language tag. |
[array length=len][element-type uint8_t] |
len |
length of the |
Since: 0.9.2
const char *
hb_language_to_string (hb_language_t language
);
See hb_language_from_string()
.
A NULL
-terminated string representing the language
. Must not be freed by
the caller.
[transfer none]
Since: 0.9.2
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.
Since: 0.9.2
hb_bool_t hb_feature_from_string (const char *str
,int len
,hb_feature_t *feature
);
Parses a string into a hb_feature_t.
The format for specifying feature strings follows. All valid CSS font-feature-settings values other than 'normal' and the global values are also accepted, though not documented below. CSS string escapes are not supported.
The range indices refer to the positions between Unicode characters. The position before the first character is always 0.
The format is Python-esque. Here is how it all works:
Syntax | Value | Start | End | |
---|---|---|---|---|
Setting value: | ||||
kern | 1 | 0 | ∞ | Turn feature on |
+kern | 1 | 0 | ∞ | Turn feature on |
-kern | 0 | 0 | ∞ | Turn feature off |
kern=0 | 0 | 0 | ∞ | Turn feature off |
kern=1 | 1 | 0 | ∞ | Turn feature on |
aalt=2 | 2 | 0 | ∞ | Choose 2nd alternate |
Setting index: | ||||
kern[] | 1 | 0 | ∞ | Turn feature on |
kern[:] | 1 | 0 | ∞ | Turn feature on |
kern[5:] | 1 | 5 | ∞ | Turn feature on, partial |
kern[:5] | 1 | 0 | 5 | Turn feature on, partial |
kern[3:5] | 1 | 3 | 5 | Turn feature on, range |
kern[3] | 1 | 3 | 3+1 | Turn feature on, single char |
Mixing it all: | ||||
aalt[3:5]=2 | 2 | 3 | 5 | Turn 2nd alternate on for range |
str |
a string to parse. |
[array length=len][element-type uint8_t] |
len |
length of |
|
feature |
the hb_feature_t to initialize with the parsed values. |
[out] |
Since: 0.9.5
void hb_feature_to_string (hb_feature_t *feature
,char *buf
,unsigned int size
);
Converts a hb_feature_t into a NULL
-terminated string in the format
understood by hb_feature_from_string()
. The client in responsible for
allocating big enough size for buf
, 128 bytes is more than enough.
feature |
an hb_feature_t to convert |
|
buf |
output string. |
[array length=size][out] |
size |
the allocated size of |
Since: 0.9.5
hb_bool_t hb_variation_from_string (const char *str
,int len
,hb_variation_t *variation
);
Since: 1.4.2
void hb_variation_to_string (hb_variation_t *variation
,char *buf
,unsigned int size
);
Since: 1.4.2
#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)))
#define HB_UNTAG(tag) (uint8_t)(((tag)>>24)&0xFF), (uint8_t)(((tag)>>16)&0xFF), (uint8_t)(((tag)>>8)&0xFF), (uint8_t)((tag)&0xFF)
#define HB_DIRECTION_REVERSE(dir) ((hb_direction_t) (((unsigned int) (dir)) ^ 1))
#define HB_DIRECTION_IS_BACKWARD(dir) ((((unsigned int) (dir)) & ~2U) == 5)
#define HB_DIRECTION_IS_FORWARD(dir) ((((unsigned int) (dir)) & ~2U) == 4)
#define HB_DIRECTION_IS_HORIZONTAL(dir) ((((unsigned int) (dir)) & ~1U) == 4)