Sunday, November 14, 2004

เอาฟอนต์ Garuda ไปใช้กับ SimpleThai/มือถือ

ความเป็นมา

เดี๋ยวนี้หน้าจอมือถือมีความละเอียดสูงขึ้นเรื่อยๆ ขนาดจอไม่ได้โตขึ้น แต่จุดมันเล็กลง น่าจะประมาณ 200DPI ได้แล้วมั้ง (ขนาดจอ LCD ปกติจะ ~ 100DPI, ของ Windows XP ค่า Default จะเป็น 96DPI)

ก่อให้เกิดปัญหาคือโปรแกรม SimpleThai ใช้ฟอนต์ Bitmap ทีฝังเอาไว้ ขนาดตัวอักษรก็เลยเหลือตัวนิดเดียว อ่านสักพักแล้วเวียนหัว

ตอนเริ่มทำจอมันประมาณ 160x120 (ดูรูป) แต่เดี๋ยวนี้เครื่องถูกๆไม่กี่พันเยนก็ได้จอ QVGA 320x240 กันหมดแล้ว คิดง่ายๆ ตัวหนังสือก็เตี้ยลงเหลือครึ่งหนึ่ง

สมัยที่จอยังหยาบ พยายามเลือกฟอนต์ที่เล็กที่สุด จะได้แสดงภาษาไทยได้หลายบรรทัด สุดท้ายลงเอยด้วยฟอนต์ไพศาล

บนจอร้อยกว่าคูณร้อยกว่าของโทรศัพท์รุ่นเก่าหน่อยกำลังอ่านได้ดี

แก้สำหรับ J-Phone

ใช้จอ QVGA เครื่องแรกเป็น J-Phone รุ่นที่เล่นเกมส์แข่งรถ 3D ได้ ตอนนั้นเอาฟอนต์ Norasi มาใช้ โดยดึงมาทาง XFS

ออกเป็น SimpleThai-HiRes สำหรับผู้ใช้ J-Phone ตัวอักษรโตขึ้น แต่ดูๆแล้วไม่สวยเท่าไร วรรณยุกต์ก็ลอยละลิ่ว คิดว่าว่างๆอยากจะทำใหม่ให้มันมี Anti-Aliasing สักหน่อย

ใช้ FreeType

จนไม่กี่วันก่อนมาเล่น FreeType เอาโปรแกรมตัวอย่างใน FreeType 2 Tutorial มาดัดแปลง ให้มันวาดฟอนต์ออกมาในแบบที่ SimpleThai เอาไปใช้ได้เลย พร้อมข้อมูลเกี่ยวกับตัวอักษรต่างๆที่จำเป็นออกมาเป็น .java เลือกใช้ Hint และ AntiAliasing แบบต่างๆได้

พอดีกับ Otto ทำโทรศัพท์ตกเจ๊ง ไปซื้อเครื่องใหม่ QVGA มาเหมือนกัน บอกว่าอยากได้ Garuda ก็เลยทำออกมาชุดแรก 16pt@100DPI

เปิดดูบนเครื่อง Otto ก็ได้แบบนี้ มี Anti-Aliasing แล้วดูดีขึ้นเยอะเลยแฮะ แต่วรรณยุกต์ยังไม่ได้แก้

จะเอามาใส่ Docomo ที่ใช้อยู่บ้าง แต่คงต้องแก้อีกเยอะเพราะ Docomo จำกัดขนาดของ JAR เอาไว้เล็กกว่า AU ใส่ฟอนต์ Garuda แบบมี Anti-Aliasing นี่ลงไปเลยไม่ได้ ต้องแก้ให้โหลดจากเน็ตมาทีหลังแทน

1 comment:

supat2 said...

good.

but why post in here.

no one see it.