1

Salut a tous

une petite question, avec quelle outil creer une fonte 8*8 et au moins 2 couleurs visiblent?
une fois la fonte creer comment la réutiliser dans un programme GP32?

miam

2

Quelqu'un serait tenter par le petit utilitaire que j'ai dans un carton, à la limite de la finition et qui vous transforme un TTF en image hexé directement codé dans le .c ?

Si oui je le sort de la pile de chose 'à faire' et je le met dans la pile de chose 'à faire dans les 8 jours' ! wink
avatar
:*)

3

ça peut toujours servir smile

4

Euhh, oui ca peut aider certains ton util. De toutes facon tout est bon pour la GP32 !grin

Pour ce qui est de la fonte, l'ideal pour moi utilisateur de macro et après reflexion, ca serai un macro genre:
put_string(char *string, int x, int y);

Ou x et y sont les positions X et Y sur le LCD en pixel. Ensuite on reprend char *string dans la macro pour rediriger chaque caracteres vers un sprite bien definit. Avantage d'utiliser des sprites comme pseudo fonte est je pense enorme au point de vue souplesse de programmation:
-256 couleurs (ou 16bits) par caratere
-taille des carateres totalement libre.
-plusieurs fontes possibles dans le même programmes
-comme ce sont des sprites, on peut retravailler chaque caracteres via tous les tools graphique deja existant.
-placement sur le LCD au pixel X et Y.

bref du tout je pense

yin

5

C'est ce principe qui est utilisé sur la GBA d'ailleurs.

6

Bon j'ai changer mon idée: je vais vous produire un truc basé sur des gifs, de TTF on créé les images en gifs, qui seront lu en début de prog , on sort donc les 2 fonctions classiques:

- LoadFont("Times16Bold");
et - PutChar ('a',100,100);

sachant que la moulinette va créé sur PC d'après TTF les images gifs qui seront dans
le répertoire FaceTailleStyle, répertoire qu'il faudra transféré par Gplink, par exemple ...

A c'est bien la nouvel année.

Bonne année.
avatar
:*)

7

Et bien, ça me semble bie parti tout ça !
je vais attendre que ce soit au point pour que je puisse faire un tuto Hello world pour les newbee wink
mon site dessins en tout genre ( BD, presse... ) :
http://loupekele.free.fr
mon site de peinture :
http://dmontoro.free.fr

8

// ------------------- // from text.c // ------------------- // // structs // typedef struct text_info_typ {     bg_info_ptr     bg;      map_info_ptr     mi;      tile_info_ptr     ti;      u8                    front_col;      u8                    back_col;      u8                    bgno; } text_info,*text_info_ptr; // // variables // extern text_info_ptr ham_text; // // functions // // // NAME:    ham_initText // USAGE:   ham_initText(); // NOTES:   use this call once before you use any other  //          libHAM text output functions. It loads the  //          standard HAM font and sets up the text system. extern void          ham_InitText(u8 bgno); extern void          ham_DeInitText(void); extern void          ham_DrawText(u8 x, u8 y,char*, ...); extern void                ham_SetTextCol(u8 front_col,u8 back_col);

J'ai fouiné un peu a gauche et a droite et j'ai trouvé les sources ci-dessus pour GBA. Mon pb c'est j'y connais rein dans les structures alors je comprends pas du tout comme ca marche bien que je pense que le principe soit comme je voudrai faire!

9

ben c'est comme je le pensait, la source utilise tout d'abord la librairie HAM pour la GBA donc, probs de compatibilité.....

Sinon, pour chaque lettre il y a un sprite....et la fonction d'affichage de string, va afficher le sprite correspondant aux lettres en questions....
TI-NSpire Pwned !

Thx ya all...thx ExtendeD.

...The rebirth of the community...

10

Edorul a développé une biblio pour le dev GBA.
Sa biblio est super facile à utiliser pour l'affichage d'un texte.

11

Ben me voilà dans le sillage d'iceman,
si vous voulez connaître les différentes étapes pour réaliser notre fonte en sprite, d'après TTF.

http://unplugandplay.free.fr/fonte/txt.php?size=20&r=120&b=160&g=180

ou size sera votre taille de fonte, r pour niveau de rouge ( 0-255), idem pour b et bleu et g et vert (à vous d'adapter)

Résultat sous http://unplugandplay.free.fr/fonte/sauve/


Je ne sais pas si on chargera des png ou alors si il faudra compiler avec les fontes
comme images dans le sources...

enfin ... un peu plus la semaine prochaine !!! on pourra choisir sa fonte parmis une liste assez abracadabrante !
avatar
:*)

12

ton 1er lien ne marche pas sad
mon site dessins en tout genre ( BD, presse... ) :
http://loupekele.free.fr
mon site de peinture :
http://dmontoro.free.fr

13

Heu si, il affiche juste une page blanche...

Tout se passe sous http://unplugandplay.free.fr/fonte/sauve/

Si il y a une erreur interne, il ne faut pas hésiter à "Recharger"

Le gros bidouillage, cela me plait !!!
avatar
:*)

14

Bon j'ai fais cette fonction:

void put_char(string,x,y)
unsigned char *string;
unsigned int x,y;
{
unsigned char i,temp,temp2;
temp=strlen(string); // OK detect la taille du string
for(i=0;i<temp;i++)
{
GpBitBlt(NULL
,&gpDraw[nflip]
,x+(i<<4) // OK
,y //OK
,16 //OK
,16 //OK
,(unsigned char*)font1616 //OK
,(*string-32)<<4 // ca ca marche pas !!!!!!!!!!
,0 //OK
,1024,16); //OK
++*string; // normalement pour le caractere suivant
}
}


ca ne marche qu'a moitié confus, j'appelle la fonction dans le gpmain par:
put_char("AZERTY QSDFG",10,100);

et ca m'affiche des caracteres mes n'importe lequels par roulement!

15

arff bordel fonction debuggé:

void put_char (char *string,unsigned int x,unsigned int y)
{
unsigned char i,temp;
temp=strlen(string);
for(i=0;i<temp;i++)
{
GpBitBlt(NULL,&gpDraw[nflip],x+(i<<4),y,16,16,(unsigned char*)font1616,(*string-32)<<4,0,1024,16);
string++;
}
}

la chaine de caractere commence a 32 cad l'ESPACE !
chaque caractere fait 16*16 pixel
pour appeler la fonction :
put_char("votre texte ici",x_coord_en pixel,y_coord_en_pixel);

Conclusion, nb de font perso autant que l'on veut, taille que l'on veut, 256 couleurs (possibilité d'en mettre une transparente)

Bref que du bonheur pour moi gringringrin

16

Mes fontes sont en vacances pour une semaine... ou 2 deux ... je suis sur Lyon pour emménager et trouver un boulot sympa ....
avatar
:*)

17

ha ben on va être voisin alors ! wink
ça va coder grave !!!!!! grin
mon site dessins en tout genre ( BD, presse... ) :
http://loupekele.free.fr
mon site de peinture :
http://dmontoro.free.fr

18

jycet dans ton code le unsigned char*font1616, c'est donc une image qui contient une font1616.

Tu peux m'envoyer un fichier d'exemple pour savoir dans quel ordre il fo mettre les lettres, chiffres et symboles particuliers ?
Yenaphe point info

19

yenaphe : tu dois ranger tes caractères de la même manière qu'ils le sont dans le prog "table des caractères" de windows. Ils sont ainsi rangés suivant leur code ASCII. C'es tà dire que tu commences ton bitmap par l'espace, puis !, puis ", # etc...

Juste une modif sur le code de Jycet pour facilité la lecture du code :

GpBitBlt(NULL,&gpDraw[nflip],x+(i<<4),y,16,16,(unsigned char*)font1616,(*string-32)<<4,0,1024,16); peut être remplacé par GpBitBlt(NULL,&gpDraw[nflip],x+(i<<4),y,16,16,(unsigned char*)font1616,(*string-' ')<<4,0,1024,16);

Je remplace le 32 par ' ' (le caractère espace) c'est la même chose mais là on voit le lien avec le fait que le bitmap commence par un espace, sinon 32 c'est pas parlant dans cette ligne de code.

20

lock a repondu pour moi ! grin

il faut respecter la norme ascii comme http://www.neurophys.wisc.edu/www/comp/docs/ascii.html par exemple.

21

ok c'est bien ce qu'il me semblait, mais je voulais en etre sur!
Sinon apres je vais jusqu'a la fin smile
Yenaphe point info

22

Desole j'ai trouve la reponse a ma question smile
Yenaphe point info