• Hey folks, I got creative and made a font!

    Yesterday I was shocked to find that Espruino doesn't speak German to me through the OLED display, because all of its fonts lack the letters ÄÖÜäöüß. So I went to study how fonts work in Espruino. I like Espruino's 6x8 bitmap font and I couldn't find anything alike online (all fonts I found in that size with extended characters are serif fonts that look ugly and waste space on displays), so I ended up actually drawing my own font based on the 6x8.

    My font Dennis8 not only supports German but most other european languages as well, such as Spanish, French, Italian, Portuguese, Swedish, Danish, Icelandic etc. The characters are located in the charset according to ISO 8859-1, so some characters used by Turkish, Polish etc. are present as well (but not those outside of the 8bit address space).

    While I was already at it, I included some symbols I found in other fonts (used by popular LCD drivers) and even more symbols I found useful for embedded development, such as transport control buttons, arrows, a house (home) and some more.

    The repository can be found here:
    https://github.com/pastaclub/espruino-fo­nt-dennis8

    To try the font, include it like so:

    require("https://raw.githubusercontent.c­om/pastaclub/espruino-font-dennis8/maste­r/FontDennis8.js").add(Graphics);
    
    // Update: Since Gordon added the font to Espruino module repo, you can now do
    require("FontDennis8").add(Graphics);
    

    Have fun!

    Here's a demo:

  • Wow, that's really nice - variable width too!

    Yes, sorry about the lack of non-english language fonts - for a lot of them I've been trying to cut down on the RAM used (but on the Pico it's not such a big deal).

    Would it be ok (if there aren't copyright issues?) if I added that to the fonts page ?

  • Yes, feel free to add it :)

  • Thanks! Just added it. Really nice idea putting the extra icons in there.

    What's the display you've used? It looks like it's in a really compact package.

  • The display is this I2C 128x32px OLED I mentioned here before, and finally it works :)

  • @Gordon, I noticed that in the js file you made available as a module, some of the special characters used in the example (in the comments) got broken. They're okay in the github version. Only the comments are affected, so it shouldn't hurt the functionality, but it doesn't look nice.

  • Ahh - great! Sorry, I didn't look back at that thread before to see what the difference was.

    I bet those would fit really nicely on a Pico - you could solder to the 0.05" header if you were careful (just missing out every other pin) and you'd have a really tiny display + uC :)

    I'm flicking between:

    and I don't see any differences... I guess it's an issue with the code that outputs modules then, as http://www.espruino.com/modules/FontDenn­is8.js is definitely off as you say...

  • ... turns out it was just that the web server needed to tell clients that JS files were in UTF-8 :)

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

New font with Latin-1 characters for many languages + useful symbols

Posted by Avatar for Dennis @Dennis

Actions