/* 4_Basic_custom_font example for e-radionica.com Inkplate 6 For this example you will need only USB cable and Inkplate 6 Select "Inkplate 6(ESP32)" from Tools -> Board menu. Don't have "Inkplate 6(ESP32)" option? Follow our tutorial and add it: https://e-radionica.com/en/blog/add-inkplate-6-to-arduino-ide/ This example will show you how to use custom fonts on Inkplate 6 thanks to Adafruit GFX More on custom fonts in Adafruit GFX: https://learn.adafruit.com/adafruit-gfx-graphics-library/using-fonts In this example, we will use already prebuilt .h font file. If you want use your own fonts, you first need to convert it from .ttf to .h using online converter: https://rop.nl/truetype2gfx/ When you convert it, download .h file and put it inside sketch folder. Include that file using #include macro and set font using setFont() function. NOTE: When using custom fonts, you can't use background color. Also, start position of text is not in top left corner! Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: http://forum.e-radionica.com/en/ 15 July 2020 by e-radionica.com */ #include "Inkplate.h" //Include Inkplate library to the sketch #include "Not_Just_Groovy20pt7b.h" //Include first .h font file to the sketch #include "DSEG14Classic_Regular20pt7b.h" //Include second font Inkplate display(INKPLATE_1BIT); //Create an object on Inkplate library and also set library into 1-bit mode (Monochrome) void setup() { display.begin(); //Init Inkplate library (you should call this function ONLY ONCE) display.clearDisplay(); //Clear frame buffer of display display.display(); //Put clear image on display display.setFont(&Not_Just_Groovy20pt7b); //Select new font display.setTextSize(2); //Set font scaling to two (font will be 2 times bigger) display.setCursor(0,60); //Set print cursor on X = 0, Y = 60 display.println("Inkplate 6"); //Print some text display.setTextSize(1); //Set font scaling to one (font is now original size) display.print("by e-radionica.com"); //Print text display.setFont(&DSEG14Classic_Regular20pt7b); //Select second font display.setCursor(0, 250); //Set print position on X = 0, Y = 250 display.println("Some old-school 14 segment"); //Print text display.println("display font on e-paper"); display.print("display"); display.setFont(); //Use original 5x7 pixel fonts display.setCursor(0, 550); //Set new print position at X = 0, Y = 550 display.setTextSize(3); //Set font scaling to three (font will be 3 times bigger) display.print("Classic 5x7 px fonts"); //Print text display.display(); //Display everything on display } void loop() { //Nothing... }