hibou :
non, y'aura un problème avec la petite font : elle est à taille variable, et les tailles sont entremélées avec les sprites
J'ai fait un truc à ce propos, mais ca m'a l'air bien compliqué... je fait des espèces de modes et d'autre trucs... et j'ai essayé de faire de l'italique et ca foire
Tu parles de HibView? C'est vrai que pour l'italique je me rappelle avoir eu des problèmes dûs au fait que je faisais GetSprite x,y,taille,h/2 puis DrawSprite x+1,y

(en plus les caractères débordaient les uns sur les autres à cause de ça...).
Pour l'italique, il suffit de dessiner la première partie en utilisant un certain offset, puis un autre dans la seconde, etc. et pas de BitmapGet/BitmapPut
J'avais écrit cette routine pour la GBA:
void IN_IWRAM Mode4_EcritPlusDe4PixelsMasqueCouleur(u32 x, u32 y, u32 nbre, u32 *motif, u32 *masque, u32 couleur) {
u32 *adr;
u32 i,j,val;
adr=(u32*)MemVideo+60*y+(x>>2);
j=(x&3)<<3;
while(nbre--) {
val=(*motif)*couleur;
i=j;
*adr&=~((*masque)<<i);
*adr|=val<<i;
adr++;
i=32-j;
*adr&=~((*masque)>>i);
*adr|=val>>i;
masque++, motif++;
}
}
//Idem.
void IN_IWRAM DessCarItalique256(u32 x, s32 y, u8 car, u32 couleur) {
int i=0,h=hauteur_texte;
u32 o;
//Clipping (en y)
if (y<0) {
if (y+h<0) {
return;
}
i+=-y;
}
if (y+h>=160) {
if (y>=160)
return;
h-=(y+h)-160;
}
o=(hauteur_texte*largeur_texte)*(car-32)+i*largeur_texte;
for (;i<h;i++) {
Mode4_EcritPlusDe4PixelsMasqueCouleur(x+(2-i/3),y+i,largeur_texte,(u32*)(fonte+o),(u32*)(masque+o),couleur);
o+=largeur_texte;
}
}
La taille des caractères est toujours identique; c'est seulement l'avancement du chariot qui n'est pas le même pour chaque lettre...
Par contre si t'ajoutes en plus du gras et du surlignage (et autres), là ça devient plus sport pour l'italique parce qu'il te faut une pétée de routines différentes...
