CircuitPythonで日本語フォント表示
が、いくつか注意点などもあるのでメモ
https://gyazo.com/211f2de003cc16db061c50de5ae49eb5
今回必要なもの
adafruit_bitmap_font
adafruit_display_text
adafruit_displayo_ssd1306 (mpyで提供されてる)
フォント
フォントはUnicode対応したBDFがあると話が早い
以下のようになっていればOK
code: txt
CHARSET_REGISTRY "ISO10646"
CHARSET_ENCODING "1"
X11 BDF 形式
フォントのPCF化
BDFフォントをそのまま使うこともできるがPCF形式に変換すると描画が早くなる(大げさでなく100倍ほど早くなる)
接続
VCC -> 3V3
GND -> GND
SCL -> 22
SDA -> 21
code: python
import board
from adafruit_display_text import label
from adafruit_bitmap_font import bitmap_font
import adafruit_displayio_ssd1306
import i2cdisplaybus
import displayio
import busio
# 未サポートのボードを使う場合
displayio.release_displays()
i2c = busio.I2C(scl=board.SCL, sda=board.SDA)
display_bus = i2cdisplaybus.I2CDisplayBus(i2c, device_address=0x3C)
WIDTH = 128
HEIGHT = 64
display = adafruit_displayio_ssd1306.SSD1306(display_bus, width=WIDTH, height=HEIGHT)
# サポートしているボードならこれでOK
# display = board.DISPLAY
font_file = "fonts/misaki_gothic.pcf"
text = "こんにちは世界!"
font = bitmap_font.load_font(font_file)
color = 0xFFFFFF
text_area = label.Label(font, text=text, color=color)
text_area.x = 0
text_area.y = 10
display.root_group = text_area