raspberry pi pico の framebuf にテキストを90度回転して出力する方法

現状framebuf のtextメソッドでは文字の出力向きを変える手段がない このため、misakifontを使用し出力時に向きを変えることとした。

import framebuf
from misakifont import MisakiFont

# Display resolution
EPD_WIDTH       = 128
EPD_HEIGHT      = 296

mf = MisakiFont()
# framebuf.FrameBufferを継承しepdを作成(ソース割愛)

def show_text_v(str, x, y, color, size):
    y -= 2 # 書き出しを少しずらす
    for c in str:
        fd = mf.font(ord(c))
        

        if y <= 8 * size:
            y = EPD_HEIGHT - 2
            x += 8 * size
        if x >= EPD_WIDTH:
            y = 0
        for row in range(0, 7):
            for col in range(0, 7):
                if (0x80 >> col) & fd[row]:
                    epd.rect(int(x + row * size), int(y - col * size), size, size, color)
        y -= 8 * size

year_str = "2023年"

show_text_v( year_str, 10,  274 , 0x00 , 1)
  • 90度反転出力を使用した作品例

カレンダー