Mettre une police de caracteres differente dans println sur un ecran TFT

Est ce possible ou pas ?

Bonsoir

a priori oui ca dépends de l’écran et et de la façon dont les polices sont déclarées.
Vu la formulation de la question faudrait que je demande a ma boule de cristal ....


#include <SPI.h>
#include <TFT_eSPI.h> 
TFT_eSPI tft = TFT_eSPI();    
tft.setTextColor(noir);
    tft.setCursor(360, 10);
    tft.print("Recharger");}

Je fais comment là ? d'autre precision à donner ?

fonction tft.setfont(xxx);

regarder si c'est dispos dans la librairie

void TFT_eSPI::setTextFont(uint8_t f)

J'ai cela dans la librairie, je m'en sert comment ?
quel est la ligne de commande a utiliser precisement, un exemple simple.

/***************************************************************************************
**                         Section 4: Setup fonts
***************************************************************************************/
// Use GLCD font in error case where user requests a smooth font file
// that does not exist (this is a temporary fix to stop ESP32 reboot)
#ifdef SMOOTH_FONT
  #ifndef LOAD_GLCD
    #define LOAD_GLCD
  #endif
#endif

// Only load the fonts defined in User_Setup.h (to save space)
// Set flag so RLE rendering code is optionally compiled
#ifdef LOAD_GLCD
  #include <Fonts/glcdfont.c>
#endif

#ifdef LOAD_FONT2
  #include <Fonts/Font16.h>
#endif

#ifdef LOAD_FONT4
  #include <Fonts/Font32rle.h>
  #define LOAD_RLE
#endif

#ifdef LOAD_FONT6
  #include <Fonts/Font64rle.h>
  #ifndef LOAD_RLE
    #define LOAD_RLE
  #endif
#endif

#ifdef LOAD_FONT7
  #include <Fonts/Font7srle.h>
  #ifndef LOAD_RLE
    #define LOAD_RLE
  #endif
#endif

#ifdef LOAD_FONT8
  #include <Fonts/Font72rle.h>
  #ifndef LOAD_RLE
    #define LOAD_RLE
  #endif
#elif defined LOAD_FONT8N // Optional narrower version
  #define LOAD_FONT8
  #include <Fonts/Font72x53rle.h>
  #ifndef LOAD_RLE
    #define LOAD_RLE
  #endif
#endif

#ifdef LOAD_GFXFF
  // We can include all the free fonts and they will only be built into
  // the sketch if they are used
  #include <Fonts/GFXFF/gfxfont.h>
  // Call up any user custom fonts
  #include <User_Setups/User_Custom_Fonts.h>
#endif // #ifdef LOAD_GFXFF

// Create a null default font in case some fonts not used (to prevent crash)
const  uint8_t widtbl_null[1] = {0};
PROGMEM const uint8_t chr_null[1] = {0};
PROGMEM const uint8_t* const chrtbl_null[1] = {chr_null};

// This is a structure to conveniently hold information on the default fonts
// Stores pointer to font character image address table, width table and height
typedef struct {
    const uint8_t *chartbl;
    const uint8_t *widthtbl;
    uint8_t height;
    uint8_t baseline;
    } fontinfo;

// Now fill the structure
const PROGMEM fontinfo fontdata [] = {
  #ifdef LOAD_GLCD
   { (const uint8_t *)font, widtbl_null, 0, 0 },
  #else
   { (const uint8_t *)chrtbl_null, widtbl_null, 0, 0 },
  #endif
   // GLCD font (Font 1) does not have all parameters
   { (const uint8_t *)chrtbl_null, widtbl_null, 8, 7 },

  #ifdef LOAD_FONT2
   { (const uint8_t *)chrtbl_f16, widtbl_f16, chr_hgt_f16, baseline_f16},
  #else
   { (const uint8_t *)chrtbl_null, widtbl_null, 0, 0 },
  #endif

   // Font 3 current unused
   { (const uint8_t *)chrtbl_null, widtbl_null, 0, 0 },

  #ifdef LOAD_FONT4
   { (const uint8_t *)chrtbl_f32, widtbl_f32, chr_hgt_f32, baseline_f32},
  #else
   { (const uint8_t *)chrtbl_null, widtbl_null, 0, 0 },
  #endif

   // Font 5 current unused
   { (const uint8_t *)chrtbl_null, widtbl_null, 0, 0 },

  #ifdef LOAD_FONT6
   { (const uint8_t *)chrtbl_f64, widtbl_f64, chr_hgt_f64, baseline_f64},
  #else
   { (const uint8_t *)chrtbl_null, widtbl_null, 0, 0 },
  #endif

  #ifdef LOAD_FONT7
   { (const uint8_t *)chrtbl_f7s, widtbl_f7s, chr_hgt_f7s, baseline_f7s},
  #else
   { (const uint8_t *)chrtbl_null, widtbl_null, 0, 0 },
  #endif

  #ifdef LOAD_FONT8
   { (const uint8_t *)chrtbl_f72, widtbl_f72, chr_hgt_f72, baseline_f72}
  #else
   { (const uint8_t *)chrtbl_null, widtbl_null, 0, 0 }
  #endif
};

/***************************************************************************************
**                         Section 5: Font datum enumeration
***************************************************************************************/
//These enumerate the text plotting alignment (reference datum point)
#define TL_DATUM 0 // Top left (default)
#define TC_DATUM 1 // Top centre
#define TR_DATUM 2 // Top right
#define ML_DATUM 3 // Middle left
#define CL_DATUM 3 // Centre left, same as above
#define MC_DATUM 4 // Middle centre
#define CC_DATUM 4 // Centre centre, same as above
#define MR_DATUM 5 // Middle right
#define CR_DATUM 5 // Centre right, same as above
#define BL_DATUM 6 // Bottom left
#define BC_DATUM 7 // Bottom centre
#define BR_DATUM 8 // Bottom right
#define L_BASELINE  9 // Left character baseline (Line the 'A' character would sit on)
#define C_BASELINE 10 // Centre character baseline
#define R_BASELINE 11 // Right character baseline

Faut essayer les exemples donné avec la librairie et choisir les font nécessaires .
Sans contexte precis difficile de donner une réponse
parfois on les charge a la demande parfois elles sont déjà chargée ...

tft.loadFont(???)
??? quel est la liste des mots à mettre que je puisse essayer svp

tft.loadFont(AA_FONT_SMALL, LittleFS); // Must load the font first

c'est donné dans les exemples.

y a plein d'exemples

charger un ou plusieurs exemple et regarder ce qu il se passe dans les différents cas.

exit status 1
'AA_FONT_SMALL' was not declared in this scope

Je fais quoi ??

#define AA_FONT_SMALL "NotoSansBold15"
#define AA_FONT_LARGE "NotoSansBold36"

on y va a l'aveuglette la .. je ne sais pas ce que tu fais en réalité.

Et pour essayer :
tft.loadFont( FreeMono9pt7b) ??

Je veux ecrire un mot sur un ecran tft avec un lolin32 lite, avec la police que je choisie, mais j'essai de trouver la liste des polices possible, et je ne sais pas comment la valider en commande

comment j'utilise une de ces police en ligne de commande ??

image

exemple la

J'ai ce probleme a la compilation

compilation terminated.
exit status 1
Free_Fonts.h: No such file or directory

Que faire ?

Bah charger le fichier ...

Je l'ai le fichier au meme endroit, j'ai toute la bibliotheque

 No such file or directory

S'il le trouve pas c'est un problème de chemin relatif ou pas

créer un dossier avec le bon nom
mettre les deux fichier dedans.

D'accord, là ca va mais j'ai un nouveau probleme :
j'ai mis cela :

 tft.loadFont(Orbitron_Light_24);

à la compilation j'ai :

no matching function for call to 'TFT_eSPI::loadFont(const GFXfont&)'

Bah on est plus dans l'exemple la ....

pour comprendre comment ca marche il faut deja avoir un exemple qui fonctionne et pas forcement faire des mélanges.

donc compiler a partir de l'example sans rien y changer.

ensuite en tirer l'utile et l'adapter ....