ILI9341_t3 font editor

spook

Member
Hi!

Since I couldn't find an easy to use tool for creating and editing fonts for ILI9341_t3, I've created one. So, here it is, Embedded Font Creator:

Screenshot1.png

Features:
  • Create font from scratch (specify size, default offset and delta)
  • Create font from existing system TTF font
  • Easy to use editor with zoom (mouse wheel) and scroll (middle button) as well as continuous drawing
  • Preview the whole font or specific string
  • Batch glyph operations allows quick tweaks (for instance, batch offset change)
  • Quick optimization of character or the whole set (removes empty columns and rows while keeping character's position and size)
  • Export to ILI9341_t3 format (.h + .cpp)

Some more screenshots:

Screenshot2.png

Screenshot3.jpg

Currently available as source from my repository: https://gitlab.com/spook/embeddedfonteditor (if there's an interest, I'll prepare binary pack). Requires Visual Studio 2017 to build.

Many thanks to Paul for his extensive help on developing this one!
 

Attachments

  • Screenshot1.png
    Screenshot1.png
    56.2 KB · Views: 249
That's excellent! Really nice work.
It's not too much trouble to build it, but not all users of Teensy will necessarily use Visual Studio, so may make it more accessible for those users.
 
That's excellent! Really nice work.
It's not too much trouble to build it, but not all users of Teensy will necessarily use Visual Studio, so may make it more accessible for those users.

I cannot find a way to create a release in the GitLab, so I'll put the build here, attached to this post. Have fun and please tell me what you think about this app.

View attachment EmbeddedFontEditor.zip
 
Last edited:
Yea, this tool is a total home run.

Thanks, this is nice to hear :)

Grab a little newer version, a couple of tweaks and small features (ie. importing glyph from image)

Best regards -- Spook.
 

Attachments

  • EmbeddedFontEditor.zip
    1.5 MB · Views: 485
Spook: I'll have to commend you once again!. This font editor totally rocks! I downloaded a free "seven segment" ttf font and used it to create a 120 point font for my 2.8" tft. Since i only need numbers this tool lets you omit text. I was able to customize the spacing to squeeze the numbers closer. My giant numbers require little RAM. Kudos to the author for putting this together. I'd vote to deliver with the the teensyduino so others can find it easily (if allowed).
 
Spook: I'll have to commend you once again!. This font editor totally rocks! I downloaded a free "seven segment" ttf font and used it to create a 120 point font for my 2.8" tft. Since i only need numbers this tool lets you omit text. I was able to customize the spacing to squeeze the numbers closer. My giant numbers require little RAM. Kudos to the author for putting this together. I'd vote to deliver with the the teensyduino so others can find it easily (if allowed).

Sorry for the late reply. I'm really glad, that my tool helped - this is why I designed it in the first place :)

I have nothing against bundling it with teensyduino. Its author would have to add an icon on toolbar to launch it. I guess I'd have to work somewhat on the interface, it's kinda clumsy now (and also no undo/redo - this is really annoying sometimes). Keep in mind though, it's for Windows only (C#/WPF).

Best regards -- Spook.
 
@spook

Quick question here:
I ran the app on Windows, installed the new font I wanted to generate
File > New >New from font
I selected the font, 20pt
I then optimised the font to remove the spaces and generated the CPP + h files

Does this create the font only in 20pt? That's what I see in the files created.
How can I get it to do a full set of sizes in one go?
 
I created a font from 10, 11 and 12pt fonts.
I set the 10pt font to use, but it looks huge, like 30pt huge (its the 0.0 and 14. numbers in the gauges)
Eurostile10.png
Display is a 2.8" ILI3941
Am I doing something wrong, or perhaps my ttf file is bad?
 
I used another tool that seems to be providing better sizing but its converting to Adafruit GFX fonts

I've tried multiple fonts on font editor and a 12pt font displays twice as large as it should. I'm baffled about it. Perhaps someone else can try and confirm if they are experiencing the same behavior. I suspect it might have to do with how Windows 10 is providing the font data to the application perhaps.
 
you can also adjust kerning and such in the font editor. Use the move origin and height width and offsets for that.
 
@spook. I'm in the process of creating a YouTube video of this font editor and some results--of course citing you as the creator. I would like to include a formal link to the download but the github site only has the source. Maybe make a folder "Executable" on Github and put the zip there?

My only other option is to link to this thread where the zip lives.
 
@spook. I'm in the process of creating a YouTube video of this font editor and some results--of course citing you as the creator. I would like to include a formal link to the download but the github site only has the source. Maybe make a folder "Executable" on Github and put the zip there?

My only other option is to link to this thread where the zip lives.

No problem. I uploaded my tool to my website. Head to https://spooksoft.pl/download/, the tool is on the bottom.
 
Thanks for this!

It would be awesome if this also supported the LVGL font format ( https://lvgl.io/tools/fontconverter ) or an intermediate format to work with the existing LVGL converter.

My editor is modular and you can generate virtually to any bitmap-based format, given you know the format itself. If you know, where is specification for LVGL's format, then post it here - if I have some free time, I may try to write a proper exporter.

Obviously any intermediate format is also simple, but I would have to know its specification too.

Best regards -- Spook.
 
My editor is modular and you can generate virtually to any bitmap-based format, given you know the format itself. If you know, where is specification for LVGL's format, then post it here - if I have some free time, I may try to write a proper exporter.

Obviously any intermediate format is also simple, but I would have to know its specification too.

Best regards -- Spook.

Is this font editor no longer available? I watched the UT video and followed the link, several times, but do not see the font conversion tool. Thanks!
 

Thanks for the rapid response. I am trying to create a seven segment font for a Teensy 3.2 and ILI9341 display application I am building.

I found and used the tool, but had not planned to use the lvgl library. I created a sevensegment.h file to what I thought would work. (Still learning Arduino, C++, Teensy, etc. so trying to figure out what to do.) On compiling, it said I needed to add lfgl.h, which I did. Tried again, and same error: could not find lfgl.h. Changed directory names to agree with c/h files. Again, same error. Also looked at note at end of the link supplied: "To use the Fonts without LVGL you need lv_font.c/h, lv_font_fmt_txt.c/h from here." Could not find those files at that location. I also looked at loading the offline font conversion tool, but it is not clear how to install that from the Github page referenced. Using Win 10. Thanks again for the link. Will continue trying tomorrow.
 
Is this font editor no longer available? I watched the UT video and followed the link, several times, but do not see the font conversion tool. Thanks!

That's because I've rebuilt my website recently. I'll soon add the editor again, will notify you when that happens. Sorry for the inconvenience.

Best regards -- Spook.
 
This is a superb tool!
I was able to print special characters like ñ and á by opening a Windows font, then copying from the original 'n' or 'a', then hand-drawing the rest. Adjust the vertical offset for your new character. Reduce delta by a couple of pixels for all characters. Increase the delta for space (0x20) by 2 or 3 pixels. Done.
Thank you so much.
 
Back
Top