Une font alternative pour MicroPython
Bonjour à tous,
Si vous utilisez régulièrement MicroPython avec des afficheurs graphiques, vous n'aurez certainement pas manqué d'être déçu par la Font par défaut utilisée par MicroPython.
Il y a bien entendu des solutions:
- Utilliser SMALL-FONT (l'objet de ce billet)
- Utiliser le projet FreeType-Generator et des fichiers de Fonts binaires transférés sur la plateforme MicroPython.
- Recompiler MicroPython avec une Font alternative (mais c'est une tâche ardue).
SMALL-FONT
Le projet MicroPython SMALL-FONT permet d'utiliser une Font moins "grasse" que celle proposée par défaut avec MicroPython.
Source: SMALL-FONT pour MicroPython |
Small-Font utilise la classe FontDrawer définie dans sfont.py . La classe FontDrawer (de sfont.py) embarque les données binaires de la Small font et manipule le FrameBuffer du pilote de votre afficheur pour dessiner le texte à afficher.
Cette solution simple fonctionne donc avec tous les pilotes d'affichage bâti sur la classe FrameBuffer (comme le recommande MicroPython). Et cela sans priver l'utilisateur des fonctionnalités habituelles de son pilote.
Voici comment utiliser le SMALL-FONT avec un écran OLED 128x32 et le pilote MicroPython SSD1306 officiel.
from machine import Pin, I2C import time import ssd1306 from sfont import FontDrawer # Créer le bus I2C i2c = I2C( sda=Pin(23), scl=Pin(22) ) # ESP32 # Créer le pilote MicroPython lcd = ssd1306.SSD1306_I2C( 128, 32, i2c ) # Créer le SMALL-FONT FontDrawer pour afficher le # texte compacte. Le FrameBuffer du pilote est passé # en premier argument (SSD1306_I2C dérive de FrameBuffer) fd = FontDrawer( lcd, font_color=1, bgcolor=0 ) # Affichage avec la font MicroPython lcd.text( "MicroPython! <3", 0, 0 ) # Dessiner une ligne horizontale # méthode standard de FrameBuffer lcd.hline( 0, 16, 128, 1 ) #x,y, width, color # Affiche un texte SMALL-FONT en utilisant # la classe FontDrawer fd.text( "MicroPython! <3", 0, 20 ) lcd.show() # Afficher sur l'OLED!
Intéressant n'est-ce pas!
Ressource
- esp8266-upy/SMALL-FONT (dépôt Github, MCHobby)
Écrire un commentaire