Text & Font
The Thumby screen is small at its 0.42" size, but you can still add perfectly readable text for game dialog, menus, rules, etc - you just won't be able to comfortably fit novels of text.
Printing Text
Text is important for communication, scores, and displaying the title of a game.
thumby.display.drawText(string, x, y, color) | draws string in color at x and y with font specified by thumby.display.setFont(...). Returns None, all parameters required.
string- type: str
- values: 128 ASCII characters
x- type: int
- values: 0 (left) ~ 71 (right)
y- type: int
- values: 0 (top) ~ 39 (bottom)
color- type: int
- values: 0 or 1 -- where 0 is black or an unlit pixel, and 1 is white or a lit pixel
Setting Font
You can use any font you would like with the Thumby. The default font on the Thumby is 5×7, but there are also 8×8 and 3×5 fonts included with the Thumby software under the lib/ folder.
thumby.display.setFont(fontFilePath, width, height, space) | sets the fontFilePath pointing to binary font file with character width, height, and space between characters for use by thumby.display.drawText(...). Returns None, all parameters required.
fontFilePath- type: string
- values: 128 ASCII character string up to 256 characters long ('/' separated)
width:- type: int
- values: 0 ~ integer max
height:- type: int
- values: 0 ~ integer max
space:- type: int
- values: 0 ~ integer max
Combined Example
This example uses both the drawText() and setFont() functions to show the appearance of the different sized fonts:
import thumby
thumby.display.setFPS(1)
while(1):
thumby.display.fill(0) # Fill canvas to black
thumby.display.setFont("/lib/font5x7.bin", 5, 7, 1)
thumby.display.drawText("Font5x7", 5, 16, 1)
thumby.display.update()
thumby.display.fill(0)
thumby.display.setFont("/lib/font8x8.bin", 8, 8, 1)
thumby.display.drawText("Font8x8", 5, 16, 1)
thumby.display.update()
thumby.display.fill(0)
thumby.display.setFont("/lib/font3x5.bin", 3, 5, 1)
thumby.display.drawText("Font3x5", 5, 16, 1)
thumby.display.update()