Category: Uncategorized

  • การเลือกใช้ font จาก u8g2 library

    ช่วงนี้ผมกำลังฝึกใช้จอแสดงผลกับ ESP32 อยู่ เลยต้องศึกษาวิธีการใช้ u8g2 library ซึ่งใช้สำหรับแสดงผลจอ monochrome ซึ่งก็คือพวกจอ LCD หรือ OLED ที่มีขายกัน อย่างเช่น พวกจอ 0.96 นิ้วใน Shopee

    แต่พอจะเลือก font มาใช้ก็สงสัยว่า เอะ! ชื่อฟอนต์ก็เหมือนกันนี่หว่า แล้วตัวท้าย f, r, และ u คืออะไร พออ่านแล้วก็เลยต้องมา note 📝 ไว้จะดีกว่า เพราะส่วนใหญ่ทำไปแล้วลืม และกลับไปหาอีกก็ไม่เจอแล้วก็มี

    โดยข้อมูลมาจาก 🔗 https://github.com/olikraus/u8g2/wiki หากใครต้องการข้อมูลและวิธีใช้เพิ่มเติม

    ชื่อ font ของ u8g2 จะประกอบด้วย

    <prefix>_<name>_<purpose><char set>
    • <prefix> จะมักจะเป็น u8g2_font_
    • <name> ก็คือชื่อเรียกของ font นั้น ๆ
    • <purpose>
      • t — ย่อมาจาก Transparent ซึ่งก็คือโปร่งแสง ไม่มี background
      • h — ทุกอักขระจะสูงเท่ากัน
      • m — ทุกอักขระจะสูงและกว้างเท่ากัน หรือที่เรียกว่า  monospace
      • 8 — ทุกอักขระจะปรับให้อยู่ในขนาดไม่เกิน 8×8 พิกเซล
    • <char set>
      • f — ใน font แบบนี้จะมีทั้งหมด 256 อักขระ
      • r — จะมีเฉพาะอักขระในช่วง 32 ถึง 127 ของ ASCII code
      • u — จะมีเฉพาะอักขระในช่วง 32 ถึง 95 หรือมีเฉพาะตัวเลขถึงตัวพิมพ์ใหญ่เท่านั้น
      • n — จะมีเฉพาะอักขระตัวเลขและอักขระที่จำเป็นสำหรับการแสดงผลวันและเวลาเท่านั้น
      • … — อักขระที่ออกแบบมาเฉพาะอื่น

    ASCII Code

    จากหัวข้อที่ผ่านที่เราพูดถึง ตารางด้านล่างเป็นรายการอักขระใน ASCII code ช่วงที่เรากล่าวถึง จะเห็นว่ามีเฉพาะภาษาอังกฤษ

    ASCII CODEอักขระASCII CODEอักขระASCII CODEอักขระ
    32SPACE64@96`
    33!65A97a
    3466B98b
    35#67C99c
    36$68D100d
    37%69E101e
    38&70F102f
    3971G103g
    40(72H104h
    41)73I105i
    42*74J106j
    43+75K107k
    44,76L108l
    4577M109m
    46.78N110n
    47/79O111o
    48080P112p
    49181Q113q
    50282R114r
    51383S115s
    52484T116t
    53585U117u
    54686V118v
    55787W119w
    56888X120x
    57989Y121y
    58:90Z122z
    59;91[123{
    60<92\124
    61=93]125}
    62>94^126~
    63?95_127DEL