Liste des fontes

 

Voici une première fonction qui va vous permettre de récupérer une liste de fontes répondant aux critères d'un pattern respectant la convention XLFD.

 

XListFonts

char **XListFonts(display, pattern, maxnames, actual_count_return)
Display *display;
char *pattern;
int maxnames;
int *actual_count_return;


En entrée
display La connexion X server.
pattern chaîne de caractères spécifiant un nom de fonte avec possibilité d'utiliser les ? et/ou *
maxnames Maximum de noms de fontes à retourner

En sortie

actual_count_return Nombre de noms effectivement retournés par la fonction

La fonction retourne NULL si rien à retourner, sinon, un pointeur sur un tableau de noms.

Image non trouvée !Le serveur va réserver un espace mémoire pour retourner toutes ces informations. Il faudra donc libérer cet espace.

Pour cela, vous utiliserez la fonction XFreeFontNames en indiquant le pointeur retourné lors de l'appel à la fonction XListFonts.

 

Image non trouvée !Il existe une fonction similaire pour le shell qui se nomme xlsfonts

 

Exemple d'utilisation de la fonction XListFonts

Voici un exemple simple d'utilisation, où vous allez récupérer les 50 premiers noms de fontes ayant "fixed" indiquées.

Image non trouvée !

 

La fonction qui suit est identique à la précedente, mais permet en plus de récupérer des informations sur les fontes

XListFontsWithInfo

char **XListFontsWithInfo(display, pattern, maxnames, count_return, info_return)
Display *display;
char *pattern;
int maxnames;
int *count_return;
XFontStruct **info_return;

En entrée
display La connexion X server.
pattern chaîne de caractères spécifiant un nom de fonte avec possibilité d'utiliser les ? et/ou *
maxnames Maximum de noms de fontes à retourner

En sortie

count_return Nombre de noms effectivement retournés par la fonction

info_return Les informations sur les fontes retournées

 

La fonction retourne NULL si rien à retourner, sinon, un pointeur sur un tableau de noms et un pointeur sur les informations des fontes.

Image non trouvée !Le serveur va réserver un espace mémoire pour retourner toutes ces informations. Il faudra donc libérer cet espace.

Pour cela, vous utiliserez la fonction XFreeFontInfo en indiquant différentes informations comme suit:

- pattern qui contient la liste des fontes,

- info_return qui contient la listes des informations des fontes

- count_return qui est le nombre de fontes retournées

 

Exemple d'utilisation de la fonction XListFontsWithInfo

Voici un exemple simple d'utilisation, où vous allez récupérer les 100 premiers noms de fontes ayant "courier" indiquées et récupérer les informations pour calculer la hauteur.

Image non trouvée !