Data Structures | Typedefs | Functions
Elementary Fonts

These are functions dealing with font rendering, selection and the like for Elementary applications. More...

Data Structures

struct  _Elm_Font_Properties
 

Typedefs

typedef struct _Elm_Font_Properties Elm_Font_Properties
 

Functions

Eina_Listelm_config_text_classes_list_get (void)
 Get Elementary's list of supported text classes. More...
 
void elm_config_text_classes_list_free (Eina_List *list)
 Free Elementary's list of supported text classes. More...
 
const Eina_Listelm_config_font_overlay_list_get (void)
 Get Elementary's list of font overlays, set with elm_config_font_overlay_set(). More...
 
void elm_config_font_overlay_set (const char *text_class, const char *font, Evas_Font_Size size)
 Set a font overlay for a given Elementary text class. More...
 
void elm_config_font_overlay_unset (const char *text_class)
 Unset a font overlay for a given Elementary text class. More...
 
void elm_config_font_overlay_apply (void)
 Apply the changes made with elm_config_font_overlay_set() and elm_config_font_overlay_unset() on the current Elementary window. More...
 
void elm_config_font_hint_type_set (int type)
 Apply the specified font hinting type. More...
 
Elm_Font_Propertieselm_font_properties_get (const char *font)
 Translate a font (family) name string in fontconfig's font names syntax into an Elm_Font_Properties struct. More...
 
void elm_font_properties_free (Elm_Font_Properties *efp)
 Free font properties return by elm_font_properties_get(). More...
 
char * elm_font_fontconfig_name_get (const char *name, const char *style)
 Translate a font name, bound to a style, into fontconfig's font names syntax. More...
 
void elm_font_fontconfig_name_free (char *name)
 Free the font string return by elm_font_fontconfig_name_get(). More...
 
Eina_Hashelm_font_available_hash_add (Eina_List *list)
 Create a font hash table of available system fonts. More...
 
void elm_font_available_hash_del (Eina_Hash *hash)
 Free the hash returned by elm_font_available_hash_add(). More...
 
EINA_DEPRECATED void elm_font_overlay_all_apply (void)
 Apply the changes made with elm_font_overlay_set() and elm_font_overlay_unset() on all Elementary application windows. More...
 

Detailed Description

These are functions dealing with font rendering, selection and the like for Elementary applications.

One might fetch which system fonts are there to use and set custom fonts for individual classes of UI items containing text (text classes).

Function Documentation

◆ elm_config_text_classes_list_get()

Eina_List* elm_config_text_classes_list_get ( void  )

Get Elementary's list of supported text classes.

Returns
The text classes list, with Elm_Text_Class blobs as data.

Release the list with elm_text_classes_list_free().

◆ elm_config_text_classes_list_free()

void elm_config_text_classes_list_free ( Eina_List list)

Free Elementary's list of supported text classes.

Parameters
listThe text classes list.
See also
elm_config_text_classes_list_get().

◆ elm_config_font_overlay_list_get()

const Eina_List* elm_config_font_overlay_list_get ( void  )

Get Elementary's list of font overlays, set with elm_config_font_overlay_set().

Returns
The font overlays list, with Elm_Font_Overlay blobs as data.

For each text class, one can set a font overlay for it, overriding the default font properties for that class coming from the theme in use. There is no need to free this list.

See also
elm_config_font_overlay_set() and elm_config_font_overlay_unset().

◆ elm_config_font_overlay_set()

void elm_config_font_overlay_set ( const char *  text_class,
const char *  font,
Evas_Font_Size  size 
)

Set a font overlay for a given Elementary text class.

Parameters
text_classText class name
fontFont name and style string
sizeFont size.
Note
If the size is lower than zero, the value will be the amount of the size percentage. ex) -50: half of the current size, -100: current size, -10: 1/10 size.

font has to be in the format returned by elm_font_fontconfig_name_get().

See also
elm_config_font_overlay_list_get()
elm_config_font_overlay_unset()
edje_object_text_class_set()

References EINA_SAFETY_ON_NULL_RETURN, and EINA_TRUE.

◆ elm_config_font_overlay_unset()

void elm_config_font_overlay_unset ( const char *  text_class)

Unset a font overlay for a given Elementary text class.

Parameters
text_classText class name

This will bring back text elements belonging to text class text_class back to their default font settings.

References EINA_SAFETY_ON_NULL_RETURN, and EINA_TRUE.

◆ elm_config_font_overlay_apply()

void elm_config_font_overlay_apply ( void  )

Apply the changes made with elm_config_font_overlay_set() and elm_config_font_overlay_unset() on the current Elementary window.

This applies all font overlays set to all objects in the UI.

◆ elm_config_font_hint_type_set()

void elm_config_font_hint_type_set ( int  type)

Apply the specified font hinting type.

EVAS_FONT_HINTING_NONE < No font hinting EVAS_FONT_HINTING_AUTO < Automatic font hinting EVAS_FONT_HINTING_BYTECODE < Bytecode font hinting

Parameters
typeThe font hinting type

This applies font hint changes to all windows of the current application.

Since
1.13

References EINA_LIST_FOREACH, EINA_TRUE, EVAS_FONT_HINTING_AUTO, EVAS_FONT_HINTING_BYTECODE, EVAS_FONT_HINTING_NONE, evas_font_hinting_set(), and evas_object_evas_get().

◆ elm_font_properties_get()

Elm_Font_Properties* elm_font_properties_get ( const char *  font)

Translate a font (family) name string in fontconfig's font names syntax into an Elm_Font_Properties struct.

Parameters
fontThe font name and styles string
Returns
the font properties struct
Note
The reverse translation can be achieved with elm_font_fontconfig_name_get(), for one style only (single font instance, not family).

References EINA_SAFETY_ON_NULL_RETURN_VAL.

◆ elm_font_properties_free()

void elm_font_properties_free ( Elm_Font_Properties efp)

Free font properties return by elm_font_properties_get().

Parameters
efpthe font properties struct

References EINA_LIST_FREE, EINA_SAFETY_ON_NULL_RETURN, and eina_stringshare_del().

◆ elm_font_fontconfig_name_get()

char* elm_font_fontconfig_name_get ( const char *  name,
const char *  style 
)

Translate a font name, bound to a style, into fontconfig's font names syntax.

Parameters
nameThe font (family) name
styleThe given style (may be NULL)
Returns
the font name and style string
Note
The reverse translation can be achieved with elm_font_properties_get(), for one style only (single font instance, not family).

References EINA_SAFETY_ON_NULL_RETURN_VAL, and eina_stringshare_add().

◆ elm_font_fontconfig_name_free()

void elm_font_fontconfig_name_free ( char *  name)

Free the font string return by elm_font_fontconfig_name_get().

Parameters
namethe font properties struct

References eina_stringshare_del().

◆ elm_font_available_hash_add()

Eina_Hash* elm_font_available_hash_add ( Eina_List list)

Create a font hash table of available system fonts.

One must call it with list being the return value of evas_font_available_list(). The hash will be indexed by font (family) names, being its values Elm_Font_Properties blobs.

Parameters
listThe list of available system fonts, as returned by evas_font_available_list().
Returns
the font hash.
Note
The user is supposed to get it populated at least with 3 default font families (Sans, Serif, Monospace), which should be present on most systems.

References EINA_LIST_FOREACH.

◆ elm_font_available_hash_del()

void elm_font_available_hash_del ( Eina_Hash hash)

Free the hash returned by elm_font_available_hash_add().

Parameters
hashthe hash to be freed.

◆ elm_font_overlay_all_apply()

EINA_DEPRECATED void elm_font_overlay_all_apply ( void  )

Apply the changes made with elm_font_overlay_set() and elm_font_overlay_unset() on all Elementary application windows.

This applies all font overlays set to all objects in the UI.

Deprecated:
Use elm_font_overlay_apply and elm_config_all_flush()