Bonjour à tous J'ai le plaisir de vous proposer le tutoriel
Polices Truetype Micropython pour afficheurs matriciels
portant sur la manipulation des polices Truetype ou Opentype avec MicroPython pour l'affichage sur écrans matriciels pilotés par microcontrôleur.
MicroPython implémente la classe FrameBuffer pour gérer l’affichage sur les écrans matriciels tels que les écrans OLED, LCD ou TFT. Cette classe fournit, entre autres, une fonction destinée à afficher du texte sur ces écrans.
Pour afficher du texte, cette fonction doit disposer d’une fonte au format bitmap. FrameBuffer fournit donc une fonte de ce type. Cette fonte est à chasse fixe et chaque caractère est dessiné dans une matrice de 8×8 pixels. Si, compte tenu des dimensions courantes des écrans, elle permet un remplissage optimal de la zone d’affichage, elle présente malgré tout trois inconvénients majeurs :
• sa taille est insuffisante pour assurer un confort de lecture correct ;
• elle n’est actuellement pas modifiable, et rien ne laisse penser qu’elle le sera dans un avenir proche ;
• elle ne dispose que du sous-ensemble imprimable des caractères ASCII, donc codés sur 7 bits, s’étendant de 32 à 126, ce qui interdit notamment l’affichage des signes diacritiques utilisés dans la langue française.
Dans ce tutoriel, nous allons voir comment générer des fontes bitmap à partir des fontes Truetype vectorielles et comment les utiliser pour réaliser un affichage digne de ce nom, dans les limites, bien sûr, des contraintes liées au matériel.
Nous verrons également comment optimiser l’utilisation de la RAM en pré-compilant les fichiers.
amicalement,
naute
Vous avez lu gratuitement 3 720 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
qui ressemble physiquement au SSD1306 du tuto (même taille, même PCB bleu, même dalle, même connecteur GND-VCC-SCL-SDA, même sérigraphie...
), mais avec un contrôleur différent qui ne dispose pas de support officiel par MicroPython, donc il faut chercher un peu dans la communauté.
