Tft 7" ra8875 font

Bonjour à tous,
Après des heures et des heures à chercher sur le net une solution à mon problème je me tourne vers vous pour savoir si une bonne âme pouvait m'orienter un peu ! :slight_smile:
J'ai tout épluché concernant la possibilité d'afficher des fonts sur un tft RA8875.
Adafruit reconnait qu'ils n'ont pas de solution pour l'instant.
Mais j'ai finalement trouvé une librairie de "SUMOTOY" qui fonctionne et on peut même créer ses propres fonts ! Génial merci Sumotoy !!! GitHub - sumotoy/RA8875: A library for RAiO RA8875 display driver for Teensy3.x or LC/Arduino's/Energia/Spark
Mon souci est que je n'arrive pas à visualiser les caractères UTF-8. Je suppose que la librairie est construite sur l'ASCII.
Ma question : Quelqu'un saurait-il me guider pour ce problème ?
Merci beaucoup d'avance !!!
PS: Je suis novice... :slight_smile:

Bonjour,
Je suppose que tu utilises dans ton développement la librairie Adafruit_GFX ?
Pour accéder aux fonts UTF-8 donc des caractères accentués et autres, tu pourrais utiliser la bibliothèque U8g2_for_Adafruit_GFX.
De toute façon, il faudrait nous donner plus d'informations sur ton projet.

Bonjour Icare,
Effectivement, c'était mon idée au départ car j'ai déjà fait un projet avec Adafruit_GFX et U8g2_for_Adafruit_GFX et ça fonctionne parfaitement avec un TFT HX8357. U8g2 intègre la gestion de l'UTF-8.
Mais la librairie Adafruit_RA8875 ne permet pas l'utilisation de GFX et donc de U8g2... ça aurait été royal ! Du coup je me retourne vers sumotoy/RA8875.
Problème cette librairie ne gère que l'ASCII, et je n'ai pas suffisamment de compétence pour trouver le moyen d'y intégrer l'UTF-8.
Dans le skecth ci-dessous le résultat me donne : ABCD plus des lettres Ã....
(le font testBen_30 est en UTF-8)

#include <SPI.h>
#include <RA8875.h>
#include "fonts/testBen_30.c"
#define RA8875_CS 10 
#define RA8875_RESET 9
RA8875 tft = RA8875(RA8875_CS, RA8875_RESET); 

void setup()
{

  tft.begin(RA8875_800x480);
  tft.setRotation(0);
  tft.setFont(&testBen_36);
  tft.setFontScale(3);
  tft.setCursor(CENTER,0);
  tft.setTextColor(RA8875_GREEN);

  tft.println("ABCDÉÈÀ");
}

void loop()
{
}

Tu es sûr?
Parce que si je regarde les exemples de la librairie Adafruit_RA8875 et que j'en prends un au hasard, je trouve ça

#include <Adafruit_GFX.h> // Core graphics library
#include <SPI.h>
#include <Wire.h>
#include <SD.h>
#include "Adafruit_RA8875.h"
#include <Adafruit_STMPE610.h>
#define sd_cs 6

Oui je sais, j'en ai trouvé plusieurs comme ça ... mais non ça ne fonctionne pas
Voici un extrait du forum d'Adafruit et c'est un admin qui parle :slight_smile:

Re: RA8875 and Adafruit_GFX fonts

by adafruit2 on Tue May 12, 2020 6:11 pm

The RA8875 is 'significantly' different in how it handles drawing, so its not surprising that GFX fonts dont work. we don't have a fix at this time, so you cannot use 'Adafruit GFX' fonts. you could try this library GitHub - sumotoy/RA8875: A library for RAiO RA8875 display driver for Teensy3.x or LC/Arduino's/Energia/Spark :slight_smile:

https://forums.adafruit.com/viewtopic.php?f=47&t=165029

Je rebondis après une discussion avec @J-M-L
J'ai décidé de contourner le problème du RA8875 et de l'UTF-8 avec un TFT Nextion.
Pas d'bol il ne comprend que l'ASCII. Je reviens au point de départ mais avec une nouvelle piste

Sachant que je peux envoyer des bytes au Nextion il me faut convertir les caractères en hex.
Tant que ça reste dans l'ASCII ça marche. Du coup je pensais qu'il existait une procédure toute faite pour récupérer les caractères suivants dans la table LATIN-1. Apparemment non.
La construire semble être facile pour des connaisseurs... j'en suis loin !
Mais un exemple contribuerait à ma tâche :grinning:

vous ne pouvez pas poster à 2 endroits la même question...

compris...

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.