When I am working on TFT_LCD 3.5 ,I need to include fonts libraries to change font style.
Can I combine all this font styles libraries in the Adafruit library in one file and include it in the code and how?
This is the code:

#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;
#include <Fonts/FreeSans9pt7b.h>
#include <Fonts/FreeSans12pt7b.h>
#include <Fonts/FreeSerif12pt7b.h>
#include <FreeDefaultFonts.h>
#define BLACK   0x0000
#define RED     0xF800
#define GREEN   0x07E0
#define WHITE   0xFFFF
#define GREY    0x8410
void showmsgXY(int x, int y, int sz, const GFXfont *f, const char *msg)
  tft.setCursor(x, y);
  tft.setTextColor(0x780F, 0xffff);
void setup() {
  // put your setup code here, to run once:
  uint16_t ID = tft.readID();

void loop() {
  // put your main code here, to run repeatedly:
  showmsgXY(100, 100, 2, &FreeSmallFont, "kinda");
  showmsgXY(100, 150, 2, &FreeSans9pt7b, "kinda");
  showmsgXY(100, 200, 2, &FreeSans12pt7b, "kinda");
  showmsgXY(100, 250, 2, &FreeSerif12pt7b, "kinda");
  showmsgXY(80, 330, 1, &FreeSevenSegNumFont, "1808");

Please help me.Thank you.

You can create your own custom header file e.g.

#include <Fonts/FreeSans9pt7b.h>   //many Free Fonts come with Adafruit_GFX
#include <Fonts/FreeSans12pt7b.h>
#include <Fonts/FreeSerif12pt7b.h>
#include <FreeDefaultFonts.h>        //not part of Adafruit_GFX

You copy your “my_fonts.h” to a tab in each sketch
And your “sketch.ino” contains:

#include "my_fonts.h"

There is no harm in including Fonts that you don’t use.
The Linker will see the object code created from:

  //showmsgXY(100, 150, 2, &FreeSans9pt7b, "kinda");
  showmsgXY(100, 200, 2, &FreeSans12pt7b, "kinda");

And omit the FreeSans9pt7b code because it is not referenced in your project.

There are many things you can do with #include, #define, #if, …
They work fine with C++, C, S, H files
They don’t always work with .INO files i.e. the Arduino INO mangler may get confused.

I advise you to use bog-standard .INO sketches e.g.

#include <library.h>
#include "local.h"

void setup() { ... }
void loop() { ... }
int your_function(...) { ... ; return value; }
void devils_function(...) { ... ; return; }

can we put a long char variable in header file instead of using it in .ino files ?

i have an converted image to hex that very long hex variable…

—>is it necessary to make a library for this variable? or just make a simple .h file?

i make a library but not working ! i copied to my “sketchbook/libraries” folder (4.53 KB)