trouble adding and using fonts

I'm trying to include and use fonts in my esp32 library but I cant seem to get it down. Ive actually almost gotten the include parts but I keep getting these errors.

Grafx_esp_font_t' does not name a type

I obviously cant post the whole library but there are links in my signature to both the Arduino/Teensy and esp libraries in my signature. but heres what I have.....

The fonts .h looks like this...

#ifndef _Grafx_esp_font_Arial_
#define _Grafx_esp_font_Arial_

#include "Grafx_esp.h"

#ifdef __cplusplus
extern "C" {
#endif

extern const Grafx_esp_font_t Arial_8;
extern const Grafx_esp_font_t Arial_9;
extern const Grafx_esp_font_t Arial_10;
extern const Grafx_esp_font_t Arial_11;
extern const Grafx_esp_font_t Arial_12;
extern const Grafx_esp_font_t Arial_13;
extern const Grafx_esp_font_t Arial_14;
extern const Grafx_esp_font_t Arial_16;
extern const Grafx_esp_font_t Arial_18;
extern const Grafx_esp_font_t Arial_20;
extern const Grafx_esp_font_t Arial_24;
extern const Grafx_esp_font_t Arial_28;
extern const Grafx_esp_font_t Arial_32;
extern const Grafx_esp_font_t Arial_40;
extern const Grafx_esp_font_t Arial_48;
extern const Grafx_esp_font_t Arial_60;
extern const Grafx_esp_font_t Arial_72;
extern const Grafx_esp_font_t Arial_96;

#ifdef __cplusplus
} // extern "C"
#endif

#endif

the .cpp

static const unsigned char Arial_8_index[] = {
0x00,0x00,0x30,0x1C,
0x0B,0x04,0xC1,0xC0,0x9C,0x31,0x0D,0x43,0xB1,0x04,
0x46,0x13,0x05,0x01,0x50,0x57,0x17,0x46,0x31,0xA0,
0x71,0x1E,0x88,0x22,0x2C,0x93,0x26,0x8A,0x22,0xA8,
0xAE,0x2C,0xCB,0xA2,0xFC,0xC6,0x33,0xCD,0xF3,0xA0,
0xF0,0x3E,0x10,0x04,0x21,0x0F,0x46,0x92,0x04,0x91,
0x2A,0x4D,0x13,0x95,0x05,0x4A,0x54,0x95,0x95,0x89,
0x6B,0x5D,0x57,0xA5,0xFD,0x88,0x65,0x19,0xD6,0x95,
0xAE,0x6C,0xDB,0x96,0xF9,0xC4,0x72,0x1C,0xC7,0x51,
0xDC,0x78,0xDE,0xB7,0xCD,0xF8,0x80,0x60,0x88,0x32,
0x11,0x86,0x61,0xD8,0x8E,0x28,0x8B,0xA3,0x68,0xFA,
0x43,0x92,0xE5,0x19,0x5E,0x5D,0x99,0xA6,0xD9,0xD2,
0x7B,0xA0,0x68,0x5A,0x2C,
};
/* font index size: 119 bytes */

const Grafx_esp_font_t Arial_8 = {
	Arial_8_index,
	0,
	Arial_8_data,
	1,
	0,
	32,
	126,
	0,
	0,
	10,
	4,
	4,
	2,
	4,
	4,
	11,
	8
};

the graphics library...

#include "Fonts/Grafx_esp_font_Arial.h"

typedef struct {
	const unsigned char *index;
	const unsigned char *unicode;
	const unsigned char *data;
	unsigned char version;
	unsigned char reserved;
	unsigned char index1_first;
	unsigned char index1_last;
	unsigned char index2_first;
	unsigned char index2_last;
	unsigned char bits_index;
	unsigned char bits_width;
	unsigned char bits_height;
	unsigned char bits_xoffset;
	unsigned char bits_yoffset;
	unsigned char bits_delta;
	unsigned char line_space;
	unsigned char cap_height;
} Grafx_esp_font_t;

        void      setFont(const Grafx_esp_font_t &f) { font = &f; }
	void      setFont() { font = NULL; }
	void      setFontAdafruit(void) { font = NULL; }

    int8_t    fontKern;
    const unsigned char *fontData;
    uint8_t   fontWidth, fontHeight, fontStart, fontLength;

        uint16_t textcolor, textbgcolor;
	uint8_t textsize, rotation;
	boolean wrap; // If set, 'wrap' text at right edge of display
	const Grafx_esp_font_t *font;

can I please get some help. I don't understand why my extern const aren't being declared. The spelling is the same.

Am I being ignored? I could really use some help. Please!!!

I started from a fresh library library today and re-worked the new library so it would match the original copy and finally seemed to get it worked out but now its telling me it doesn’t understand the uint16_t is in my structure for rectangles. if I add structure rect to the original library I get the same problem.

typedef struct {
	const unsigned char *index;
	const unsigned char *unicode;
	const unsigned char *data;
	unsigned char version;
	unsigned char reserved;
	unsigned char index1_first;
	unsigned char index1_last;
	unsigned char index2_first;
	unsigned char index2_last;
	unsigned char bits_index;
	unsigned char bits_width;
	unsigned char bits_height;
	unsigned char bits_xoffset;
	unsigned char bits_yoffset;
	unsigned char bits_delta;
	unsigned char line_space;
	unsigned char cap_height;
} ILI9341_t3_font_t;

struct Rect {
	uint16_t x;
	uint16_t y;
	uint16_t width;
	uint16_t height;
};

errors…

Arduino: 1.8.2 (Windows 10), TD: 1.36, Board: "Adafruit ESP32 Feather, 80MHz, 921600, None"

In file included from C:\Users\Duhjoker\Documents\Arduino\libraries\GameRIot_ESP\ili9341_esp_font_Arial.h:4:0,

                 from C:\Users\Duhjoker\Documents\Arduino\libraries\GameRIot_ESP\ili9341_esp_font_Arial.c:1:

C:\Users\Duhjoker\Documents\Arduino\libraries\GameRIot_ESP\Grafx_esp.h:188:2: error: unknown type name 'uint16_t'

  uint16_t x;

  ^

C:\Users\Duhjoker\Documents\Arduino\libraries\GameRIot_ESP\Grafx_esp.h:189:2: error: unknown type name 'uint16_t'

  uint16_t y;

  ^

C:\Users\Duhjoker\Documents\Arduino\libraries\GameRIot_ESP\Grafx_esp.h:190:2: error: unknown type name 'uint8_t'

  uint8_t width;

  ^

C:\Users\Duhjoker\Documents\Arduino\libraries\GameRIot_ESP\Grafx_esp.h:191:2: error: unknown type name 'uint8_t'

  uint8_t height;

  ^

exit status 1
Error compiling for board Adafruit ESP32 Feather.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

if I mark out struct I get errors about undefined reference to gcld font.

Arduino: 1.8.2 (Windows 10), TD: 1.36, Board: "Adafruit ESP32 Feather, 80MHz, 921600, None"

Archiving built core (caching) in: C:\Users\Duhjoker\AppData\Local\Temp\arduino_cache_728066\core\core_espessif_esp32_featheresp32_FlashFreq_80,UploadSpeed_921600,DebugLevel_none_e9ba2ad4defe2ff59661c2e93de94328.a
libraries\GameRIot_ESP\Grafx_esp.cpp.o:(.literal._ZN9Grafx_esp8drawCharEsshtth+0x0): undefined reference to `glcdfont'

collect2.exe: error: ld returned 1 exit status

exit status 1
Error compiling for board Adafruit ESP32 Feather.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.