การเลือกใช้ 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

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *