右寄せに嬉しいフォントが足元にありました。
フォントを FreeSans.ttf から DejaVuSansMono.ttf に変えました。
その足元とは、ラズパイの中です。Raspberry Pi OS Liteなのですが最初から入っていたのでしょうか? 等幅フォントで右寄せに良い感じのフォントです。
↓ その等幅フォントで表示させると温度、湿度、気圧の数値を右寄せに、小数点を揃える事が出来ました。それに、見やすいフォントなのでちょっと満足。因みに、日時のフォントは別のフォントです。
↓ こちらも右寄せなのですが、使用した FreeSans.ttf が等幅フォントでは無いせいか小数点の位置が不揃いです。気圧値がズレています。当初は、この状態で気持ち悪かったのですが、解決してスッキリです。
その等幅フォントは、DejaVuSansMono.ttf
/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
↓ ラズパイの中をfindコマンドで
$ sudo find / -name "*.ttf"
この検索に複数ヒットして、その中にありました。
↓ FreeSans.ttf から DejaVuSansMono.ttf に変えた所のコード(Python)は
#FreeSans14 = ImageFont.truetype('FreeSans.ttf', 14)
DejaVuSansMono14 = ImageFont.truetype('DejaVuSansMono.ttf', 14)
oled.cls()
draw.text((10, 0), data1, fill=1) #日時
draw.text((10, 17), f'{data2:>6.1f}', font=DejaVuSansMono14, fill=1)#温度
draw.text((10, 34), f'{data3:>6.1f}', font=DejaVuSansMono14, fill=1)#湿度
draw.text((10, 51), f'{press:>6.1f}', font=DejaVuSansMono14, fill=1)#気圧
draw.text((65, 17), "C", font=DejaVuSansMono14, fill=1)
draw.text((65, 34), "%", font=DejaVuSansMono14, fill=1)
draw.text((65, 51), "hPa", font=DejaVuSansMono14, fill=1)
oled.display()
この記事の続きは「 OLED-Displayと反転文字 」です。