Bonjour,
Si j'ai bien compris tu veux afficher ton texte comme cela:
0 ________________________________320
|A |
| L |
| E |
| X |
| A |
| N |
| D |
| R |
240|_______________________________A|
Pour l'instant tes for loop affichent tous les caractères aux coordonnées {0, 0}, puis tous les caractères aux coords { 0, 35 }, puis tous les caractères aux coords { 0, 70 } etc ???
Une solution consiste à calculer les coordonnées de chaque caractère, en calculant d'abord l'espacement entre chaque caractère à partir de coordonnée de début et de fin.
Supposons que tu veuille afficher le premier caractère aux coords { 20, 20 } et le dernier aux coords { 300, 220 }. On calcule les espacements:
L'espacement X de chaque caractère sera: ( fin X - départ X ) / ( nb de caractères - 1 ) = (300-20) / (9-1) = 280 / 8 = 35
L'espacement Y de chaque caractère sera: ( fin Y - départ Y ) / ( nb de caractères - 1 ) = (220-20) / (9-1) = 200 / 8 = 25
Puis on calcul les coordonnées de chaque caractère en ajoutant l'espacement requis:
Coordonnées X du caractère 0 ( 'A' ) = ( 0 * espacement X ) + départ X = ( 0 * 35 ) + 20 = 20
Coordonnées Y du caractère 0 ( 'A' ) = ( 0 * espacement Y ) + départ Y = ( 0 * 25 ) + 20 = 20
Coordonnées X du caractère 1 ( 'L' ) = ( 1 * espacement X ) + départ X = ( 1 * 35 ) + 20 = 55
Coordonnées Y du caractère 1 ( 'L' ) = ( 1 * espacement Y ) + départ Y = ( 1 * 25 ) + 20 = 45
Etc etc...
Voici ce que ça donne en code:
char text[] = "ALEXANDRA"; // le texte à afficher
int startPos[] = { 20, 20 }; // coordonnées X Y du premier caractère
int endPos[] = { 300, 220 }; // coordonnées X Y du dernier caractère
size_t len = strlen( text ); // le nombre de caractères dans le texte
int distances[2]; // pour stocker les espacements entre chaque caractère
distances[0] = ( endPos[0] - startPos[0] ) / (len-1); // calcul de l'espacement X
distances[1] = ( endPos[1] - startPos[1] ) / (len-1); // calcul de l'espacement Y
// calcul des coordonnées et affichage de chaque caractère
for ( int i = 0; i < len; i++ )
{
int x = ( i * distances[0] ) + startPos[0]; // calcul de la coord X
int y = ( i * distances[1] ) + startPos[1]; // calcul de la coord Y
Tft.drawChar( text[i], x, y, 4, BLUE ); // affichage
}
Je te laisse chercher un peu pour ajouter la couleur à chaque caractère 
Ah et une petite précision, j'ai fais les calculs avec des int, dans ce cas précis, ça fonctionne, mais si tu compte changer la longueur du texte et/ou les coordonnées de départ et de fin, il y a de grandes chances que les valeurs pour les espacements ne soient pas des nombres entiers, il faudra donc utiliser des variables de type float, et arrondir les coordonnées des caractères au plus proche pixel ( avec la fonction round() ) sinon le texte ne sera pas bien centré.