Elementary Fonts

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

Functions

Eina_List * elm_config_text_classes_list_get (void)
 Get Elementary's list of supported text classes.
void elm_config_text_classes_list_free (Eina_List *list)
 Free Elementary's list of supported text classes.
const Eina_List * elm_config_font_overlay_list_get (void)
 Get Elementary's list of font overlays, set with 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.
void elm_config_font_overlay_unset (const char *text_class)
 Unset a font overlay for a given Elementary text class.
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.
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.
void elm_font_properties_free (Elm_Font_Properties *efp)
 Free font properties return by elm_font_properties_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.
void elm_font_fontconfig_name_free (char *name)
 Free the font string return by elm_font_fontconfig_name_get().
Eina_Hash * elm_font_available_hash_add (Eina_List *list)
 Create a font hash table of available system fonts.
void elm_font_available_hash_del (Eina_Hash *hash)
 Free the hash returned by elm_font_available_hash_add().

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

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.

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().
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

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()
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.

void elm_config_text_classes_list_free ( Eina_List *  list)

Free Elementary's list of supported text classes.

See also:
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().

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.
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.
void elm_font_fontconfig_name_free ( char *  name)

Free the font string return by elm_font_fontconfig_name_get().

Parameters:
namethe font properties struct
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).
void elm_font_properties_free ( Elm_Font_Properties *  efp)

Free font properties return by elm_font_properties_get().

Parameters:
efpthe font properties struct
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).