Cet utilitaire permet aussi de rajouter des caractères. Pour cet exemple nous allons rajouter le caractère Σ.
On le représente en binaire :
00000
11111
01000
00100
01000
11111
00000
Il est à noter que la hauteur est de 7, il faut donc au total 7 lignes. La ligne du dessus n'est ici pas obligatoire (vu que c'est des 0 à gauche) mais si vous ne mettez pas la ligne tout en bas, votre caractère sera décalé d'un pixel.
Ensuite vous allez ici :
http://www.binaryhexconverter.com/binary-to-decimal-converter et puis vous copiez collez le nombre en binaire ici (ou alors vous l'écrivez directement dans le convertisseur). Ce convertisseur est sympa parce qu'il enlève automatiquement les nouvelles lignes, il convertira donc le bon nombre.
Le convertisseur nous donne 1048716256. Nous allons l'ajouter dans la police :
Ensuite vous allez dans l'array des longueurs et vous mettez 5 dans l'emplacement réservé à votre caractère.
Pour afficher ce caractère (qui a dans cet exemple la valeur 0x96) il faut concaténer des strings. Exemple :
char* str = "Le caract""\x90""re pour la somme est ""\x96"" .";
0x90 est le caractère 'è'.
Le maximum est actuellement 64 pixels, il est donc possible avec une hauteur de 7 pixels d'aller jusqu'à 9 pixels de longueur. Dans un autre exemple nous allons reprendre le caractère Σ mais l'adapter pour qu'il soit de 7 pixels de hauteur au lieu de 5 (même si ça fait moche, mais c'est pour l'exemple).
Vous aurez remarqué que dans le fonts.c un caractère est représenté par un array de 2 longs, un long pour chaque 32 pixels. Voici comment découper un caractère qui tient sur plus de 32 pixels.
Notre somme sera :
111
11
10001
01000
00100
01000
10001
11111
On prend les 32 derniers bits (ici en gras) et on les isole du reste. On obtient 3800179263, que vous mettez dans le deuxième long.
Ensuite on prend le reste. 111 en binaire donne 7, donc vous mettez 7 dans le premier long.