ESP8266 Oled Display library: How to customize fonts

Do you like this post? A regular project like the PlaneSpotter Color takes many hours of my free time to develop and maintain. Would you offer me a beer for my hard work if I was your neighbour? Modern technology called teleportation makes it easy to send me a beer. Just click here. Thank you!

Many people were asking me to publish the code that creates the font files used in the SSD1306 OLED library. Well, I was hesitating since the code was a bit hacky. So I sat down and created an online tool which is now open for Beta testing. It allows you to select a font from a list of integrated Apache licensed files, choose font size and style (plain, italic, bold) and then create the C file which you can copy paste into your Arduino IDE. Almost forgot, there is also a preview of how the font will look on the display…

It might not be perfect yet and I’m looking forward to get your feedback…
And here is the tool: http://oleddisplay.squix.ch/

Preview pane of the Font creator

Posted by squix78

5 comments

  1. The tool and all is very cool. But, since the fonts aren't tailored for the minimal display it get "jaggered" when converted. I would like to have some more standard fonts that renders perfectly on the tiny display. Many of the fonts in the u8glib looks really beautiful on the 128×64.
    Is there a way to convert those fonts? Or a simple way to create nice looking fonts for the library?
    Fonts with 6 lines or even 8 lines of text would be cool.
    By the way, hope you enjoyed the donated beer 🙂

  2. Hello,
    And thx for this great job.
    I’m a beginner in Arduino and C++ dev. I’d like to use your library in my own library but it doesn’t work, compiler said that display an ui are already declared… Could you tell me how to do that ?

    Thx a lot.

    Eric

  3. Very neat utility. But I could not work out the actual mapping of codes to bitmap that it generates. I tried to hand-place some of the generated codes onto a bitmap, and it shows as rubbish.

    Can you please let us know how they are mapped ?

Leave a Reply