Excel fonts editor-converter for Adafruit, UTFT, Squix, ILI9341_t3, OLED_I2C

binFontsTool 0.2.7 - MS Excel based Arduino multi-libraries fonts editor and converter.
Reading fonts from C files. Saving fonts to C files with the ability to add font to an existing file, or replace an existing font in file. Possibility of creating binary versions of fonts for some libraries. Support Adobe BDF format. Set of editing and encoding tools.

supports Arduino libraries:
UTFT classic
UTFT Glyph0, Glyph1
Adafruit classic
Adafruit GFX
Squix V2
Squix V3
ILI9341_t3 V1
OLED_I2C

Notice: long open large files. If you only need to open the file and save it in another format without editing, you can turn off the coloring in the settings to speed up the reading.

Squix library support with participation Louis Roll
See online fonts editor:
Glyph Editor

Collection of DOS fonts, files FNT (F08, F10, F16 etc.) can open in binFontsTool as binary
http://orangetide.com/fonts/DOS/
Convert any font type to BDF file you can using program FontForge:
http://fontforge.github.io/faq.html#outline-bitmap
Convert and generate any font with Fonty:
http://hukka.ncn.fi/index.php?fony

To use fonts with regional encoding, it is necessary to use the function of converting the two-byte encoding of UTF-8 to the native one-byte one. An example for the Russian language, the function of translating the symbols UTF-8 to ANSI WIN-1251

binFontsTool-0.2.7.zip (422 KB)

New version 0.2a

  • Added support for Adafruit GFX fonts.
  • All operations are performed through dialog windows.
  • Width of the edited font is increased to 32 bytes.

New version 0.2.1

  • added function to change the encoding. Requires a character mapping table
  • move characters to left and right added
  • bug fixes

New version 0.2.2

  • Changing encoding by values from the BDF files (column 354)
  • Improved Encoding change function

15.05.2017 update 0.2.3

  • Fixed error saving Adafruit GFX fonts

06.11.2017 update 0.2.4

  • Improved performance

Often ask how to create a large font. A large font can not be placed in one array, so divide it into several.

In the program FontForge I created a BDF version of the font with the size of 240 pixels from the font Young At Heart (the total size of the characters will be much smaller). Uploaded the BDF font to the editor from 48 to 57 characters (only digits). Then made removal of unnecessary rows from the top and bottom (delete rows). Made the figure 4 thinner using the cut-paste. Set the font width to 100 and aligned the characters horizontally - first made move char to right for all characters, then manually move digit 1 and 4. Example in a file YoungAtHeart100x180nums.zip

YoungAtHeart100x180nums.zip (4.25 KB)

New version 0.2.5

  • Added support for Adafruit classic fonts. Any font size other than 5x7 is supported, if you want to expand the standard functionality of the library.
  • Added support for Squix V2 and V3 fonts.
  • Added formats for binary versions of fonts.
  • Added a table of symbol names for comments.
  • UTFT glyph0 save bug fixed

New version 0.2.6

Big changes. Greatly accelerated reading of files, it became much more comfortable to work. Improved parsing C, added quotes processing. Implemented adding a font to an existing file with the replacement of the existing font. When adding a font to an existing file with the fonts of another library or any other code, be careful of the directives that are added with the font. Added color modes, second block for regional symbols, zoom view mode. Zoom modes you can create any yourself, see the description R1C52 on sheet Manual.
The negative offset value along the Y axis now means the number of rows from the bottom to the first. The sign of the value of the offset along the X axis does not currently matter, only the value modulo.

  • Added support for ILI9341_t3 library. While without unicode table.
  • Added support for OLED_I2C library. Don't sure about fonts whose height is not multiple of 8, check please who use this library.

First of all, GREAT tool! It really helped me a lot since I tried multiple converters and if they even worked they weren't really usable.

Currently I'm converting the DejaVuMono font in size 112pt with the fontconvert tool from the Adafruit GFX library.
After that, in your converter I remove some not needed lines and move the chars to the left.
The problem is, I have the chars , / - / + which take a full width, while they only need a bit of space.

I export to a fonts C file using UTFT glyph0, since I use the UTFT library with your binFonts library.

Do you know how or is there a possibility to change the char width for specific chars?
Or is there another option I'm missing out?

I already tried to modify the "width" / "corr" field but this doesn't work (as far as I can see the corr field get's overwritten due to the whole font size).

Currently for temperature display it looks like this:

  • 13, 53

Instead of
-13,53

Hi! Thanks for the feedback)
Fonts UTFT glyph0 like the standard UTFT format are only monospace. Probably the time has come to make a proportional format for UTFT, the next month I'll try to provide something.

This looks like a wonderful tool! (I just wish I could use it on my Mac.)

Having it run in Excel helps a lot for compatibility, but apparently the use of ActiveX controls is still going to make it fail on all Macs. I have Excel for Mac 2011, and get the error:

This workbook includes content that is not supported by Excel for Mac 2011
    * ActiveX

If you continue after the warning, try to run the file Read-Only, it crashes Excel (because, yeah, Macs don't run ActiveX).

Any possibility of writing it without ActiveX? uh, even Microsoft is deprecating the use of ActiveX now. :slight_smile:

New version 0.2.7

  • All editing tools are moved to one form. Added new tools.
  • Added support for UTFT Glyph1 fonts.

Hello. Maybe someone will help me create a font that will work with the UTFT library. I created a font type BDF. And now I don't know how to use the binFonts Tool program to create a font type C to work with the UTFT library.
The font contains numbers from 0 to 9 and characters -. and:

Not work in libreoffice
Basic sintax error.

tanks for solution.

Vittorio