Bug TTF_OpenFont

Mameiix Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Pour le cadre d'un projet, je dois programmer un space invader, et on a une contrainte, pour le score on doit utiliser la bibliothèque TTF. Et mon soucis c'est que quand je souhaite charger ma police arial.ttf, OpenFont retourne null, et pourtant ma police est bien dans le même dossier que mon exécutable, et j'initialise bien TTF_Init() avant, je vous donne un bout de mon code, j'espère que vous arriverez à m'aider car ça fait plusieurs jours que je suis dessus sans comprendre, errant sur divers forums sans trouver de réponse....

TTF_Init();
    if(TTF_Init() == -1)
 {

  fprintf(stderr, "Erreur d'initialisation de TTF_Init : %s\n", TTF_GetError());

  exit(EXIT_FAILURE);

 }
        TTF_Font *police;
        police=TTF_OpenFont("arial.ttf", 16);
        if(police==NULL) {
         printf("TTF_OpenFont: %s\n", TTF_GetError());
         return 2;
         // handle error
    }



Et voici un ls du dossier :
*****@*****:~/Documents/Projet/SDL2/DossierTest$ ls
arial.ttf etape3.c map.bmp tir.bmp vaisseau.bmp
ennemi.bmp etape3.c~ test tirE.bmp



Edit:
TTF_GetError() me retourne ceci :
TTF_OpenFont: Couldn't load font file




1 réponse

[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Salut Mameiix,

Comme tu sembles être sous Linux, essaye ceci :
police=TTF_OpenFont("./arial.ttf", 16);
(donc n'oublie pas le point et le slash, qui indiquent le répertoire courant sous Linux) ou en précisant le path complet
police=TTF_OpenFont("/home/Mameiix/Documents/Projet/SDL2/DossierTest/arial.ttf", 16);
(en supposant que c'est ton nom d'utilisateur, bien sûr).

Sinon, vois si ton problème ne vient pas d'une différence de versions bibliothèques SDL2 (que tu sembles utiliser) et de la bibliothèque ttf ... et que tu passes bien
-lSDL2_ttf
et non
-lSDL_ttf
au linker.

Comme lui : https://stackoverflow.com/questions/20817694/ttf-openfont-returning-null


Dal
0