\section{Elementary Fonts}
\label{group__Fonts}\index{Elementary Fonts@{Elementary Fonts}}


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


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
Eina\-\_\-\-List $\ast$ \hyperlink{group__Fonts_ga84c91af6c80d3a95a5600e4f34ee60c3}{elm\-\_\-config\-\_\-text\-\_\-classes\-\_\-list\-\_\-get} (void)
\begin{DoxyCompactList}\small\item\em Get Elementary's list of supported text classes. \end{DoxyCompactList}\item 
void \hyperlink{group__Fonts_ga7225e93618c0d8d5947bbe71bd7c0c02}{elm\-\_\-config\-\_\-text\-\_\-classes\-\_\-list\-\_\-free} (Eina\-\_\-\-List $\ast$list)
\begin{DoxyCompactList}\small\item\em Free Elementary's list of supported text classes. \end{DoxyCompactList}\item 
const Eina\-\_\-\-List $\ast$ \hyperlink{group__Fonts_ga41a8c9dea0ed2a96d78916aa29eb7aff}{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-list\-\_\-get} (void)
\begin{DoxyCompactList}\small\item\em Get Elementary's list of font overlays, set with \hyperlink{group__Fonts_gaab7ca58acc063e1e699ca0a9f74a2a0a}{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-set()}. \end{DoxyCompactList}\item 
void \hyperlink{group__Fonts_gaab7ca58acc063e1e699ca0a9f74a2a0a}{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-set} (const char $\ast$text\-\_\-class, const char $\ast$font, Evas\-\_\-\-Font\-\_\-\-Size size)
\begin{DoxyCompactList}\small\item\em Set a font overlay for a given Elementary text class. \end{DoxyCompactList}\item 
void \hyperlink{group__Fonts_gac9fbf1dee7d76aa983a5bc25c21ca846}{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-unset} (const char $\ast$text\-\_\-class)
\begin{DoxyCompactList}\small\item\em Unset a font overlay for a given Elementary text class. \end{DoxyCompactList}\item 
void \hyperlink{group__Fonts_ga9133c2fe664b794451772f4080959638}{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-apply} (void)
\begin{DoxyCompactList}\small\item\em Apply the changes made with \hyperlink{group__Fonts_gaab7ca58acc063e1e699ca0a9f74a2a0a}{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-set()} and \hyperlink{group__Fonts_gac9fbf1dee7d76aa983a5bc25c21ca846}{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-unset()} on the current Elementary window. \end{DoxyCompactList}\item 
Elm\-\_\-\-Font\-\_\-\-Properties $\ast$ \hyperlink{group__Fonts_gaf6e0e227201a26697a2680865061ced5}{elm\-\_\-font\-\_\-properties\-\_\-get} (const char $\ast$font)
\begin{DoxyCompactList}\small\item\em Translate a font (family) name string in fontconfig's font names syntax into an {\ttfamily Elm\-\_\-\-Font\-\_\-\-Properties} struct. \end{DoxyCompactList}\item 
void \hyperlink{group__Fonts_gabec6a0557a47af3965c6f6f2269c3f08}{elm\-\_\-font\-\_\-properties\-\_\-free} (Elm\-\_\-\-Font\-\_\-\-Properties $\ast$efp)
\begin{DoxyCompactList}\small\item\em Free font properties return by \hyperlink{group__Fonts_gaf6e0e227201a26697a2680865061ced5}{elm\-\_\-font\-\_\-properties\-\_\-get()}. \end{DoxyCompactList}\item 
char $\ast$ \hyperlink{group__Fonts_gaa2aef75926516f184b737d567a5a9420}{elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-get} (const char $\ast$name, const char $\ast$style)
\begin{DoxyCompactList}\small\item\em Translate a font name, bound to a style, into fontconfig's font names syntax. \end{DoxyCompactList}\item 
void \hyperlink{group__Fonts_ga1b538ca2669bfa253f07f6e56117b443}{elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-free} (char $\ast$name)
\begin{DoxyCompactList}\small\item\em Free the font string return by \hyperlink{group__Fonts_gaa2aef75926516f184b737d567a5a9420}{elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-get()}. \end{DoxyCompactList}\item 
Eina\-\_\-\-Hash $\ast$ \hyperlink{group__Fonts_gab7664f78372fa1954ad360931b4c888c}{elm\-\_\-font\-\_\-available\-\_\-hash\-\_\-add} (Eina\-\_\-\-List $\ast$list)
\begin{DoxyCompactList}\small\item\em Create a font hash table of available system fonts. \end{DoxyCompactList}\item 
void \hyperlink{group__Fonts_gafecc23df30e5aa9c0daabba22588bace}{elm\-\_\-font\-\_\-available\-\_\-hash\-\_\-del} (Eina\-\_\-\-Hash $\ast$hash)
\begin{DoxyCompactList}\small\item\em Free the hash returned by \hyperlink{group__Fonts_gab7664f78372fa1954ad360931b4c888c}{elm\-\_\-font\-\_\-available\-\_\-hash\-\_\-add()}. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{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 U\-I items containing text (text classes). 

\subsection{Function Documentation}
\index{Elementary Fonts@{Elementary Fonts}!elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-apply@{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-apply}}
\index{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-apply@{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-apply}!Elementary Fonts@{Elementary Fonts}}
\subsubsection[{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-apply}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-apply (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{group__Fonts_ga9133c2fe664b794451772f4080959638}


Apply the changes made with \hyperlink{group__Fonts_gaab7ca58acc063e1e699ca0a9f74a2a0a}{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-set()} and \hyperlink{group__Fonts_gac9fbf1dee7d76aa983a5bc25c21ca846}{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-unset()} on the current Elementary window. 

This applies all font overlays set to all objects in the U\-I. \index{Elementary Fonts@{Elementary Fonts}!elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-list\-\_\-get@{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-list\-\_\-get}}
\index{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-list\-\_\-get@{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-list\-\_\-get}!Elementary Fonts@{Elementary Fonts}}
\subsubsection[{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-list\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}const Eina\-\_\-\-List$\ast$ elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-list\-\_\-get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{group__Fonts_ga41a8c9dea0ed2a96d78916aa29eb7aff}


Get Elementary's list of font overlays, set with \hyperlink{group__Fonts_gaab7ca58acc063e1e699ca0a9f74a2a0a}{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-set()}. 

\begin{DoxyReturn}{Returns}
The font overlays list, with {\ttfamily Elm\-\_\-\-Font\-\_\-\-Overlay} blobs as data.
\end{DoxyReturn}
For each text class, one can set a {\bfseries 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.

\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Fonts_gaab7ca58acc063e1e699ca0a9f74a2a0a}{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-set()} and \hyperlink{group__Fonts_gac9fbf1dee7d76aa983a5bc25c21ca846}{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-unset()}. 
\end{DoxySeeAlso}
\index{Elementary Fonts@{Elementary Fonts}!elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-set@{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-set}}
\index{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-set@{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-set}!Elementary Fonts@{Elementary Fonts}}
\subsubsection[{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-set (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{text\-\_\-class, }
\item[{const char $\ast$}]{font, }
\item[{Evas\-\_\-\-Font\-\_\-\-Size}]{size}
\end{DoxyParamCaption}
)}\label{group__Fonts_gaab7ca58acc063e1e699ca0a9f74a2a0a}


Set a font overlay for a given Elementary text class. 


\begin{DoxyParams}{Parameters}
{\em text\-\_\-class} & Text class name \\
\hline
{\em font} & Font name and style string \\
\hline
{\em size} & Font size.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
If the {\ttfamily 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.
\end{DoxyNote}
{\ttfamily font} has to be in the format returned by \hyperlink{group__Fonts_gaa2aef75926516f184b737d567a5a9420}{elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-get()}. \begin{DoxySeeAlso}{See Also}
\hyperlink{group__Fonts_ga41a8c9dea0ed2a96d78916aa29eb7aff}{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-list\-\_\-get()} 

\hyperlink{group__Fonts_gac9fbf1dee7d76aa983a5bc25c21ca846}{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-unset()} 

edje\-\_\-object\-\_\-text\-\_\-class\-\_\-set() 
\end{DoxySeeAlso}
\index{Elementary Fonts@{Elementary Fonts}!elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-unset@{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-unset}}
\index{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-unset@{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-unset}!Elementary Fonts@{Elementary Fonts}}
\subsubsection[{elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-unset}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-config\-\_\-font\-\_\-overlay\-\_\-unset (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{text\-\_\-class}
\end{DoxyParamCaption}
)}\label{group__Fonts_gac9fbf1dee7d76aa983a5bc25c21ca846}


Unset a font overlay for a given Elementary text class. 


\begin{DoxyParams}{Parameters}
{\em text\-\_\-class} & Text class name\\
\hline
\end{DoxyParams}
This will bring back text elements belonging to text class {\ttfamily text\-\_\-class} back to their default font settings. \index{Elementary Fonts@{Elementary Fonts}!elm\-\_\-config\-\_\-text\-\_\-classes\-\_\-list\-\_\-free@{elm\-\_\-config\-\_\-text\-\_\-classes\-\_\-list\-\_\-free}}
\index{elm\-\_\-config\-\_\-text\-\_\-classes\-\_\-list\-\_\-free@{elm\-\_\-config\-\_\-text\-\_\-classes\-\_\-list\-\_\-free}!Elementary Fonts@{Elementary Fonts}}
\subsubsection[{elm\-\_\-config\-\_\-text\-\_\-classes\-\_\-list\-\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-config\-\_\-text\-\_\-classes\-\_\-list\-\_\-free (
\begin{DoxyParamCaption}
\item[{Eina\-\_\-\-List $\ast$}]{list}
\end{DoxyParamCaption}
)}\label{group__Fonts_ga7225e93618c0d8d5947bbe71bd7c0c02}


Free Elementary's list of supported text classes. 

\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Fonts_ga84c91af6c80d3a95a5600e4f34ee60c3}{elm\-\_\-config\-\_\-text\-\_\-classes\-\_\-list\-\_\-get()}. 
\end{DoxySeeAlso}
\index{Elementary Fonts@{Elementary Fonts}!elm\-\_\-config\-\_\-text\-\_\-classes\-\_\-list\-\_\-get@{elm\-\_\-config\-\_\-text\-\_\-classes\-\_\-list\-\_\-get}}
\index{elm\-\_\-config\-\_\-text\-\_\-classes\-\_\-list\-\_\-get@{elm\-\_\-config\-\_\-text\-\_\-classes\-\_\-list\-\_\-get}!Elementary Fonts@{Elementary Fonts}}
\subsubsection[{elm\-\_\-config\-\_\-text\-\_\-classes\-\_\-list\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}Eina\-\_\-\-List$\ast$ elm\-\_\-config\-\_\-text\-\_\-classes\-\_\-list\-\_\-get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{group__Fonts_ga84c91af6c80d3a95a5600e4f34ee60c3}


Get Elementary's list of supported text classes. 

\begin{DoxyReturn}{Returns}
The text classes list, with {\ttfamily Elm\-\_\-\-Text\-\_\-\-Class} blobs as data.
\end{DoxyReturn}
Release the list with elm\-\_\-text\-\_\-classes\-\_\-list\-\_\-free(). \index{Elementary Fonts@{Elementary Fonts}!elm\-\_\-font\-\_\-available\-\_\-hash\-\_\-add@{elm\-\_\-font\-\_\-available\-\_\-hash\-\_\-add}}
\index{elm\-\_\-font\-\_\-available\-\_\-hash\-\_\-add@{elm\-\_\-font\-\_\-available\-\_\-hash\-\_\-add}!Elementary Fonts@{Elementary Fonts}}
\subsubsection[{elm\-\_\-font\-\_\-available\-\_\-hash\-\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}Eina\-\_\-\-Hash$\ast$ elm\-\_\-font\-\_\-available\-\_\-hash\-\_\-add (
\begin{DoxyParamCaption}
\item[{Eina\-\_\-\-List $\ast$}]{list}
\end{DoxyParamCaption}
)}\label{group__Fonts_gab7664f78372fa1954ad360931b4c888c}


Create a font hash table of available system fonts. 

One must call it with {\ttfamily list} being the return value of evas\-\_\-font\-\_\-available\-\_\-list(). The hash will be indexed by font (family) names, being its values {\ttfamily Elm\-\_\-\-Font\-\_\-\-Properties} blobs.


\begin{DoxyParams}{Parameters}
{\em list} & The list of available system fonts, as returned by evas\-\_\-font\-\_\-available\-\_\-list(). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the font hash.
\end{DoxyReturn}
\begin{DoxyNote}{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. 
\end{DoxyNote}
\index{Elementary Fonts@{Elementary Fonts}!elm\-\_\-font\-\_\-available\-\_\-hash\-\_\-del@{elm\-\_\-font\-\_\-available\-\_\-hash\-\_\-del}}
\index{elm\-\_\-font\-\_\-available\-\_\-hash\-\_\-del@{elm\-\_\-font\-\_\-available\-\_\-hash\-\_\-del}!Elementary Fonts@{Elementary Fonts}}
\subsubsection[{elm\-\_\-font\-\_\-available\-\_\-hash\-\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-font\-\_\-available\-\_\-hash\-\_\-del (
\begin{DoxyParamCaption}
\item[{Eina\-\_\-\-Hash $\ast$}]{hash}
\end{DoxyParamCaption}
)}\label{group__Fonts_gafecc23df30e5aa9c0daabba22588bace}


Free the hash returned by \hyperlink{group__Fonts_gab7664f78372fa1954ad360931b4c888c}{elm\-\_\-font\-\_\-available\-\_\-hash\-\_\-add()}. 


\begin{DoxyParams}{Parameters}
{\em hash} & the hash to be freed. \\
\hline
\end{DoxyParams}
\index{Elementary Fonts@{Elementary Fonts}!elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-free@{elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-free}}
\index{elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-free@{elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-free}!Elementary Fonts@{Elementary Fonts}}
\subsubsection[{elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-free (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{name}
\end{DoxyParamCaption}
)}\label{group__Fonts_ga1b538ca2669bfa253f07f6e56117b443}


Free the font string return by \hyperlink{group__Fonts_gaa2aef75926516f184b737d567a5a9420}{elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-get()}. 


\begin{DoxyParams}{Parameters}
{\em name} & the font properties struct \\
\hline
\end{DoxyParams}
\index{Elementary Fonts@{Elementary Fonts}!elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-get@{elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-get}}
\index{elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-get@{elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-get}!Elementary Fonts@{Elementary Fonts}}
\subsubsection[{elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-get (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{name, }
\item[{const char $\ast$}]{style}
\end{DoxyParamCaption}
)}\label{group__Fonts_gaa2aef75926516f184b737d567a5a9420}


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


\begin{DoxyParams}{Parameters}
{\em name} & The font (family) name \\
\hline
{\em style} & The given style (may be {\ttfamily N\-U\-L\-L})\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the font name and style string
\end{DoxyReturn}
\begin{DoxyNote}{Note}
The reverse translation can be achieved with \hyperlink{group__Fonts_gaf6e0e227201a26697a2680865061ced5}{elm\-\_\-font\-\_\-properties\-\_\-get()}, for one style only (single font instance, not family). 
\end{DoxyNote}
\index{Elementary Fonts@{Elementary Fonts}!elm\-\_\-font\-\_\-properties\-\_\-free@{elm\-\_\-font\-\_\-properties\-\_\-free}}
\index{elm\-\_\-font\-\_\-properties\-\_\-free@{elm\-\_\-font\-\_\-properties\-\_\-free}!Elementary Fonts@{Elementary Fonts}}
\subsubsection[{elm\-\_\-font\-\_\-properties\-\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-font\-\_\-properties\-\_\-free (
\begin{DoxyParamCaption}
\item[{Elm\-\_\-\-Font\-\_\-\-Properties $\ast$}]{efp}
\end{DoxyParamCaption}
)}\label{group__Fonts_gabec6a0557a47af3965c6f6f2269c3f08}


Free font properties return by \hyperlink{group__Fonts_gaf6e0e227201a26697a2680865061ced5}{elm\-\_\-font\-\_\-properties\-\_\-get()}. 


\begin{DoxyParams}{Parameters}
{\em efp} & the font properties struct \\
\hline
\end{DoxyParams}
\index{Elementary Fonts@{Elementary Fonts}!elm\-\_\-font\-\_\-properties\-\_\-get@{elm\-\_\-font\-\_\-properties\-\_\-get}}
\index{elm\-\_\-font\-\_\-properties\-\_\-get@{elm\-\_\-font\-\_\-properties\-\_\-get}!Elementary Fonts@{Elementary Fonts}}
\subsubsection[{elm\-\_\-font\-\_\-properties\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}Elm\-\_\-\-Font\-\_\-\-Properties$\ast$ elm\-\_\-font\-\_\-properties\-\_\-get (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{font}
\end{DoxyParamCaption}
)}\label{group__Fonts_gaf6e0e227201a26697a2680865061ced5}


Translate a font (family) name string in fontconfig's font names syntax into an {\ttfamily Elm\-\_\-\-Font\-\_\-\-Properties} struct. 


\begin{DoxyParams}{Parameters}
{\em font} & The font name and styles string \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the font properties struct
\end{DoxyReturn}
\begin{DoxyNote}{Note}
The reverse translation can be achieved with \hyperlink{group__Fonts_gaa2aef75926516f184b737d567a5a9420}{elm\-\_\-font\-\_\-fontconfig\-\_\-name\-\_\-get()}, for one style only (single font instance, not family). 
\end{DoxyNote}
