Font Converter part#1 A Little Bit of History

น่าจะมีคนไม่เข้าใจว่า … ผมจะทำโปรแกรมนี้ขึ้นมาทำไม ถ้าเริ่มท้าวความไปสมัยตอนที่ทำโปรเจคนี้ใหม่ ๆ ตอนนั้นผมยังคงทำงานอยู่ที่ Sanuk Software ในตำแหน่งโปรแกรมเมอร์ เขียนเกมอยู่น่ะล่ะครับ ก็ได้มีโอกาสได้เห็น Tool หลาย ๆ ตัวที่เขาใช้ในการพัฒนาเกม ซึ่งในจำนวนนั้นก็มีโปรแกรมแปลงฟอนท์อยู่ด้วย เพราะว่า Platform ที่ใช้นั้นไม่รองรับการอ่านไฟล์ true type ซึ่งต่างจาก Windows ดังนั้นก็ต้องมีฟอนท์เฉพาะของมันเอง

ในตอนนั้นผมเริ่มที่อยากเขียน Game Engine ของตัวเอง ซึ่งก็ได้มีโอกาสเขียนเหมือนกัน แต่ว่าเขียนในโปรเจคของบริษัท ซึ่งก็เป็นสินทรัพย์ของบริษัทไป ตอนนั้นตัว Engine ถ้าจำไม่ผิดรู้สึกว่ามันยังวาดตัวอักษรไม่ได้ แต่ผมวางแผนเอาไว้แล้วล่ะว่าจะไม่ใช้ระบบ Font ของวินโดวส์ เพราะอยากให้ Engine มัน Cross-Platform ได้ (รายละเอียดเกี่ยวกับโปรเจคนี้ผมคงไม่สามารถเปิดเผยได้มากนัก เอาเป็นว่า มันเคยมีละกัน) ก็มีการเตรียมออกแบบไฟล์ฟอนท์ไปบ้าง และมีการเขียนตัวแปลงฟอนท์

แต่หลังจากนั้นผมก็ลาออกจากที่นั่น และก็ไม่ทราบชะตากรรมของมันอีก (จริง ๆ ก็รู้แหละแต่ไม่บอกล่ะนะ 555)

โปรแกรมนี้ ไม่ใช่โปรแกรมแปลงฟอนท์ตัวที่ผมกล่าวถึงขั้นต้น (เพราะตัวนั้นเขียนด้วย Java ซึ่งลบไปนานละ มันยังใช้ไม่ได้ด้วยซ้ำ) แต่โปรแกรมที่ว่ามันก็เป็นจุดกำเนิดของโปรแกรมนี้เหมือนกัน …

อีกเรื่องนึงคือ ตอนนั้น ผมยังเล่นเกมประเภท Date Sim อยู่บ้าง เห็นหลาย ๆ เกมที่มีการวาด Font สวย ๆ ก็เลยอยากทำบ้าง ตัวที่เป็นแรงบันดาลใจจริง ๆ เป็นเกมของ StudioGU ที่ชื่อว่า Angel’s Tale

screenshot3

ผมเคยคุยกับโปรแกรมเมอร์เกมนี้ เขาว่า เกมนี้ทั้งหมดวาดด้วย GDI และ รวมทั้งตัวอักษรด้วย สังเกตให้ดีว่า ตัวอักษรจะมีการไล่สีในแนวตั้ง (Linear Gradient) และมีเส้นขอบด้านนอก ตัวอักษรจะเปลี่ยนสีไปตามคนพูด อย่างในภาพก็จะเป็นสีฟ้า

นอกจากนี้ก็จะเป็นเกมของ F&C อย่างเกม White Breath ข้างล่างนี้ ซึ่งตัวอักษรจะเป็นแค่ตัวอักษรสีขาวธรรมดา แต่จะมีเงาสีดำอยู่ด้านล่าง ก็ดูดีนะครับ อ้อ ขอบของตัวอักษรเป็น anti-aliasing ด้วยนะ

screenshot2

(ปล. เกมนี้ 18+ …)

ผมก็เลยเกิดบ้าพลังขึ้นมา อยากทำตัวแปลงฟอนท์ที่สามารถใส่เอฟเฟคตัวอักษรได้เอง

จริง ๆ ผมก็ตั้งใจเอาไว้ว่าจะทำ Game Engine ของตัวเองด้วย แต่ด้วยความขี้เกียจผมก็ล้มเลิกโปรเจคไป ตัวแปลงฟอนท์ตัวนี้ก็เลย … ไม่รู้จะเอาไปใช้กับอะไร สุดท้าย ผมก็เลยคิดว่า ทำไมเราไม่เอาโปรแกรมไปเปิดโค๊ดซะ แล้วก็ทำให้มันสามารถใช้กับ Engine อะไรก็ได้ ตราบเท่าที่ผู้ใช้สามารถประยุกต์มันได้

โปรแกรมแปลงฟอนท์ของผม ก็เลยไม่มีกำหนดเอาไว้ว่า Output จะหน้าตาเป็นอย่างไร แต่ะจะให้ผู้ใช้เขียน Plugin ขึ้นมาเพื่อที่จะกำหนด output format ของตัวเองซะเลย

หลังจากนั้นสักพักใหญ่ ๆ ผ่านไปสองปี นับจากที่ผมเปิดโค๊ด ผมก็ตัดสินใจอีกอย่างว่า ทำไมเราไม่ให้ผู้ใช้เขียน Plugin ขึ้นมา เพื่อที่จะกำหนดว่าหน้าตาของแต่ละ Glyph (ภาพตัวอักษร) จะเป็นเช่นไร ผมก็เลยทำอย่างนั้น

สรุปว่าตัวโปรแกรมจริง ๆ ก็เลยมีแต่แกนครับ ทุกอย่างผู้ใช้ต้องเขียนเพิ่มเอง อยากได้อะไรก็ทำเอง ว่างั้น !

Wutipong Wongsakuldej

Programmer, interested in frontend applications, music and multimedia.

Latest posts by Wutipong Wongsakuldej (see all)

Leave a Reply

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