Example
I wanted a fairly small font that was also readable, and I also wanted monospacing, but without it looking too boring. After fiddling with sizes, I found I could get something reasonable looking with with 5x8 pixels.
If you see anything that could be improved, feel free to create a pull request.
This is free for you to use. You are welcome to credit me, but it is totally not required.
You can check out my games here: []
Some high level ascii characters are used to make different symbols.
For a list of characters, go to ./test-characters-for-caps-app.txt. You can load this the font into https://play.date/caps/, and paste that text to see it in action.
The best way to use them is just to copy the ascii characters from that text file and paste them into your code. Some characters are double wide (like the star and A & B buttons) and take two ascii characters to show.
The character images are 5x8, but for the most part, the right most line of pixels and the bottom most line of pixels are blank to give nice spacing. This doesn't need to be true on the special characters, but if possible, the actual drawn characters should be 4x7 pixels.
You can add it to your Playdate project by installing toybox.py, going to your project folder in a Terminal window and typing:
toybox add RobkohrFont
toybox update
Then, if your code is in the source
folder, just import the following:
import '../toyboxes/toyboxes.lua'
This toybox contains assets toys for you to play with.
To use the font, just use the setFont
method and then just write something:
RobkohrFont.setFont()
playdate.graphics.drawText("Hello World!", 10, 10)
In case you need to access the Playdate font directly, you can use getFont
:
RobkohrFont.getFont()
It should be noted that on both of the games I made that used the 5x8 font, it ended up too small to be easily readable on the physical device, even though fine in the simulator. I recommend just using the 10x16.
I am thinking of making 8x12 font next to create a bit of an in between.