ฟอนต์โลมาบุตร

192 views
Skip to first unread message

wd

unread,
Apr 30, 2009, 11:04:24 PM4/30/09
to Thai Linux/FOSS developers
เอา Loma มาปรับเป็น Lomaputta (โลมาบุตร) แล้วทำ hint
เริ่มเดินตามแนวทาง Recommendation for Thai font design (http://
ftp.opentle.org/pub/national-fonts/FONTBOOK.PDF)
เช่นการทำตัวเลขไทยให้เป็น monospace เป็นต้น

ไฟล์ฟอนต์
http://www.thaitux.info/files/fonts/Lomaputta-ttf.tar.gz

ซอร์ส
http://www.thaitux.info/files/fonts/Lomaputta-src-520104.tar.gz

ช็อต
http://www.thaitux.info/node/582

หมายเหตุ
- จะเริ่มแกะโค๊ด Auto-Instruction ของ fontforge เพื่อมาปรับแต่ง
และต้องปรับปรุงโปรแกรม dfont.py เลย freeze โค๊ดอันนี้ไว้ก่อนครับ
- การแปลง Cubic Spline เป็น Quadratic พบว่าจุดจะเคลื่อนเสมอ
และไม่สามารถพยากรณ์ตัวเลขกำกับจุดได้ เวลาทำ hint ต้องไล่แก้ spline
หรือไม่ก็แก้โค๊ด

วิทยา

Arthit Suriyawongkul

unread,
May 1, 2009, 1:15:26 AM5/1/09
to thai-linux...@googlegroups.com
2009/5/1 wd <widh...@gmail.com>:

> เอา Loma มาปรับเป็น Lomaputta (โลมาบุตร) แล้วทำ hint
> เริ่มเดินตามแนวทาง Recommendation for Thai font design (http://
> ftp.opentle.org/pub/national-fonts/FONTBOOK.PDF)
> เช่นการทำตัวเลขไทยให้เป็น monospace เป็นต้น

ไม่รู้จะเสนอความคิดเห็นอะไร
แต่อยากจะขอบคุณคุณวิทยาอีกสักหนครับ

wd

unread,
May 6, 2009, 8:15:44 AM5/6/09
to Thai Linux/FOSS developers

On May 1, 12:15 pm, Arthit Suriyawongkul <art...@gmail.com> wrote:
> ไม่รู้จะเสนอความคิดเห็นอะไร
> แต่อยากจะขอบคุณคุณวิทยาอีกสักหนครับ

ขอบคุณเช่นกันครับ
(ถ้าได้รายงานคำติชม จะขอบพระคุณอย่างสูงครับ)

ตัวหนาเกือบเสร็จ เหลือเลขไทย กับปรับแต่งระดับสระและวรรณยุกต์
พอดีต้องหยุดพักสัก 1 สัปดาห์ จึง freeze code ไว้ก่อนครับ

(รุ่นนี้ทำตัวหนา Lomaputta-Bold.py
ได้แก้ไขโค๊ด dttcmd.py ค่อนข้างเยอะ มีการใช้คำสั่ง SROUND มาช่วย
จึงลดการทำ delta hint ไปได้มาก
ดังนั้น Lomaputta.py อาจทำงานไม่ได้ รอปรับแก้ขั้นสุดท้าย
เริ่มงานสัปดาห์หน้าครับ)

ไฟล์ฟอนต์
http://www.thaitux.info/files/fonts/Lomaputta-ttf.tar.gz

ซอร์ส
http://www.thaitux.info/files/fonts/Lomaputta-src-20090506.tar.gz

ช็อต
http://www.thaitux.info/node/582

วิทยา

ปล. เหลือบไปเห็นลิงก์ซอร์สเก่ามันผิด ที่ถูกคือ
http://www.thaitux.info/files/fonts/Lomaputta-src-520501.tar.gz
ขออภัยครับ สะเพร่าไปหน่อย

wd

unread,
May 11, 2009, 5:18:30 AM5/11/09
to Thai Linux/FOSS developers
ปิดงาน Lomaputta รอรายงานบั๊กอย่างเดียวครับ
hint อัตโนมัติมากขึ้น ทำให้หยาบหน่อย แต่ก็จำเป็น
เพื่อเอาเวลาไปทำตัวอื่น

ไฟล์ฟอนต์
http://www.thaitux.info/files/fonts/Lomaputta-ttf.tar.gz

ซอร์ส
http://www.thaitux.info/files/fonts/Lomaputta-src-20090511.tar.gz

Isriya Paireepairit

unread,
May 11, 2009, 5:38:13 AM5/11/09
to thai-linux...@googlegroups.com
ช่วยโปรโมทไว้ที่นี่นะครับ http://www.blognone.com/node/11565

2009/5/11 wd <widh...@gmail.com>:

wd

unread,
May 11, 2009, 8:04:18 AM5/11/09
to Thai Linux/FOSS developers

On May 11, 4:38 pm, Isriya Paireepairit <markp...@gmail.com> wrote:
> ช่วยโปรโมทไว้ที่นี่นะครับhttp://www.blognone.com/node/11565
>

ขอบพระคุณครับ :)

วิทยา

Arthit Suriyawongkul

unread,
May 12, 2009, 1:23:13 AM5/12/09
to thai-linux...@googlegroups.com
ขอแจ้ง เอ่อ ไม่แน่ว่าเป็นอะไร บั๊กก็ไม่น่าจะใช่รึเปล่า (?)

ผมลองใช้ฟอนต์โลมาบุตร ซึ่งดาวน์โหลดมาจาก
http://www.thaitux.info/node/582

ใน OpenOffice.org 3.0.1 บน Mac OS X 10.5
พบปัญหา สระบน (ยกเว้น สระอิ และ ไม้หันอากาศ)
สระล่าง วรรณยุกต์ เครื่องหมายต่าง ๆ
แสดงในตำแหน่งที่เหลื่อมไปทางด้านซ้ายของตัวอักษรฐาน
(ดูรูปที่แนบมาด้วย)

แต่กลับกัน ใน TextEdit ในโหมด plain text
มันกลับเหลื่อนไปทางขวา

แปลกต่อไปอีก ใน TextEdit ในโหมด rich text
ทุกอย่างแสดงผลสวยงาม ไม่มีปัญหาอะไรเลยครับ

ไม่ทราบว่าใครพบปัญหานี้บ้างไหมครับ ?

lomaputta-ooo30-macosx15.png

Theppitak Karoonboonyanan

unread,
May 12, 2009, 2:22:51 AM5/12/09
to thai-linux...@googlegroups.com
2009/5/11 Isriya Paireepairit <mark...@gmail.com>:

> ช่วยโปรโมทไว้ที่นี่นะครับ http://www.blognone.com/node/11565

comment ไปแล้วในกระทู้ แต่ขอแจ้งที่นี่อีกทาง

screenshot ที่บอกว่าสลับบรรทัดระหว่างโลมากับโลมาบุตรนั้น
บรรทัดที่บอกว่าเป็นโลมา ความจริงเป็น Garuda นะครับ
น่าจะต้องเปลี่ยน screenshot ใหม่ ป้องกันความสับสน

เทพ.
--
Theppitak Karoonboonyanan
http://linux.thai.net/~thep/

wd

unread,
May 12, 2009, 10:43:19 AM5/12/09
to Thai Linux/FOSS developers

On May 12, 12:23 pm, Arthit Suriyawongkul <art...@gmail.com> wrote:
> ขอแจ้ง เอ่อ ไม่แน่ว่าเป็นอะไร บั๊กก็ไม่น่าจะใช่รึเปล่า (?)
>

> ผมลองใช้ฟอนต์โลมาบุตร ซึ่งดาวน์โหลดมาจากhttp://www.thaitux.info/node/582


>
> ใน OpenOffice.org 3.0.1 บน Mac OS X 10.5
> พบปัญหา สระบน (ยกเว้น สระอิ และ ไม้หันอากาศ)
> สระล่าง วรรณยุกต์ เครื่องหมายต่าง ๆ
> แสดงในตำแหน่งที่เหลื่อมไปทางด้านซ้ายของตัวอักษรฐาน
> (ดูรูปที่แนบมาด้วย)
>
> แต่กลับกัน ใน TextEdit ในโหมด plain text
> มันกลับเหลื่อนไปทางขวา
>
> แปลกต่อไปอีก ใน TextEdit ในโหมด rich text
> ทุกอย่างแสดงผลสวยงาม ไม่มีปัญหาอะไรเลยครับ
>
> ไม่ทราบว่าใครพบปัญหานี้บ้างไหมครับ ?
>

>  lomaputta-ooo30-macosx15.png
> 11KViewDownload

ถ้าเป็นเฉพาะกับ Mac เดาว่าคงเป็นเรื่องการไม่รองรับ OpenType น่ะครับ
ถ้าจะให้ใช้กับ Mac ได้ ก็คงต้องยกเลิกเรื่อง Anchor
และกลับไปใช้ตัวหลบแบบเดิม เหมือน Loma

วิทยา

wd

unread,
May 17, 2009, 10:15:02 PM5/17/09
to Thai Linux/FOSS developers
แก้บั๊กสระ 'แ' พิมพ์ผ่านเครื่องพิมพ์ไม่ออก ใน openoffice.org-3.0.1

แก้โดยวิธีพิศดารหน่อย คือสร้างจุดเปล่าที่ในช่อง uni0E00 (หน้า ก.ไก่)
ตั้งชื่อว่า dummy.thai แล้ว copy reference มาผสมลงในช่องสระแอ
(ซึ่งเดิม ประกอบด้วยสระเอ 2 ตัว) อนาคตคงเอาออก ถ้า openoffice.org
แก้บั๊กเรื่องฟอนต์แล้ว

ไฟล์ฟอนต์
http://www.thaitux.info/files/fonts/Lomaputta-ttf.tar.gz

ซอร์ส
http://www.thaitux.info/files/fonts/Lomaputta-src-20090518.tar.gz

wd

unread,
May 17, 2009, 11:38:52 PM5/17/09
to Thai Linux/FOSS developers
กราบขออภัยเรื่องบั๊ก
ตรวจละเอียดแล้ว เป็นบั๊กของโค๊ดผมเอง (ตรงจุดที่ลดความฟุ้งของหัว)
แก้ไขเรียบร้อยแล้วครับ

openoffice.org ซวยตามเคย ;D

ชื่อไฟล์เหมือนเดิมครับ

widhaya trisarnwadhana

unread,
Jun 1, 2010, 10:56:34 PM6/1/10
to Thai Linux/FOSS developers
- hint ภาษาอังกฤษ
- ปรับ hint เส้นนอนให้นุ่มขึ้น
- ปิดงาน

ไฟล์ฟอนต์ (รุ่นล่าสุดคือ 20100602)
 * http://www.thaitux.info/files/fonts/Lomaputta-ttf.tar.gz

ซอร์ส
 * http://www.thaitux.info/files/fonts/Lomaputta-src-20090602.tar.gz

ช็อต
 * http://www.thaitux.info/node/582

วิทยา

Pattara Kiatisevi (list)

unread,
Jun 2, 2010, 1:32:18 AM6/2/10
to thai-linux...@googlegroups.com
๏ฟฝรง๏ฟฝ๏ฟฝัก๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝาของ ๏ฟฝ ๏ฟฝ ๏ฟฝ ๏ฟฝ ๏ฟฝ ๏ฟฝ ๏ฟฝูด๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ ๏ฟฝุก๏ฟฝ ๏ฟฝ๏ฟฝวท๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝัก๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ ๏ฟฝัน๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ ๏ฟฝลก๏ฟฝ
๏ฟฝิด๏ฟฝ๏ฟฝ๏ฟฝวค๏ฟฝับ ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝึง ๏ฟฝาง ๏ฟฝ ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ

๏ฟฝ๏ฟฝ๏ฟฝเทพ: ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ deb ๏ฟฝอง ๏ฟฝอน๏ฟฝ๏ฟฝุณ wd ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝวค๏ฟฝับ ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝัน๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ thaifonts-scalable ๏ฟฝ๏ฟฝ๏ฟฝ :-p

๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝยน๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝัน๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝิก๏ฟฝ๏ฟฝ Tahoma ๏ฟฝ๏ฟฝ Linux ๏ฟฝ๏ฟฝ๏ฟฝวถ๏ฟฝาง๏ฟฝ๏ฟฝ :)

Ott

widhaya trisarnwadhana wrote:
> - hint ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝัง๏ฟฝ๏ฟฝ๏ฟฝ
> - ๏ฟฝ๏ฟฝับ hint ๏ฟฝ๏ฟฝ้นนอน๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ
> - ๏ฟฝิด๏ฟฝาน
>
> ๏ฟฝ๏ฟฝ๏ฟฝอน๏ฟฝ๏ฟฝ (๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝุด๏ฟฝ๏ฟฝ๏ฟฝ 20100602)
> * http://www.thaitux.info/files/fonts/Lomaputta-ttf.tar.gz
>
> ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ
> * http://www.thaitux.info/files/fonts/Lomaputta-src-20090602.tar.gz
>
> ๏ฟฝ๏ฟฝอต
> * http://www.thaitux.info/node/582
>
> ๏ฟฝิท๏ฟฝ๏ฟฝ
> --
> ๏ฟฝุณ๏ฟฝ๏ฟฝ๏ฟฝับ๏ฟฝ๏ฟฝอค๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝอง๏ฟฝาก๏ฟฝุณ๏ฟฝ๏ฟฝัค๏ฟฝ๏ฟฝับ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝลจาก๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ "Thai Linux/FOSS developers"
> ๏ฟฝอง Google Groups
> ๏ฟฝาก๏ฟฝ๏ฟฝอง๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝสต๏ฟฝึง๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝไปท๏ฟฝ๏ฟฝ thai-linux...@googlegroups.com
> ๏ฟฝาก๏ฟฝ๏ฟฝอง๏ฟฝ๏ฟฝ๏ฟฝยก๏ฟฝ๏ฟฝิก๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝัค๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝับ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ ๏ฟฝรด๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝไปท๏ฟฝ๏ฟฝ
> thai-linux-foss-...@googlegroups.com
> ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝับ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝอก๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ ๏ฟฝรด๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ
> http://groups.google.com/group/thai-linux-foss-devel?hl=th

Theppitak Karoonboonyanan

unread,
Jun 2, 2010, 1:40:52 AM6/2/10
to thai-linux...@googlegroups.com
2010/6/2 Pattara Kiatisevi (list) <pattar...@mm.co.th>:

> พี่เทพ: มีีได้ทำ deb ของ ฟอนต์คุณ wd ไว้ป่าวครับ หรือมันอยู่ใน
> thaifonts-scalable ไหม :-p

ล่าสุดที่เคยแกะ ผมยังไม่สามารถ automate กระบวนการ
build ได้ครับ คือถ้าทำระบบ make จาก source ได้แบบ
อัตโนมัติ ก็น่าจะทำแพกเกจได้ง่ายเข้าครับ

แต่อันนั้นคือแกะไว้นานแล้วนะครับ แล้วข้อมูลก็หายไปกับ
ฮาร์ดดิสก์ลูกเก่าเรียบร้อย ตัวปัจจุบันนี้ยังไม่ได้ดูครับ

Dome Charoenyost

unread,
Jun 2, 2010, 3:20:18 AM6/2/10
to thai-linux...@googlegroups.com
ลองเอาไปใส่ใน Meego แล้วสวยมาก ชอบๆๆๆ

เมื่อ 2 มิถุนายน 2553, 12:32, Pattara Kiatisevi (list)
<pattar...@mm.co.th> เขียนว่า:
> ตรงหยักแหลมเข้าของ ภ ญ ถ ฎ ฏ ฤ พูดง่ายๆ ทุกๆ ตัวที่มีหยักแหล้มเข้า มันดูมัวๆ
> แปลกๆ นิดป่าวครับ รวมถึง หาง ร เรือ


>
> พี่เทพ: มีีได้ทำ deb ของ ฟอนต์คุณ wd ไว้ป่าวครับ หรือมันอยู่ใน
> thaifonts-scalable ไหม :-p
>

> จะเปลี่ยนมาใช้อันนี้เลิกใช้ Tahoma บน Linux แล้วถ้างี้ :)
>
> Ott

>> --
>> คุณได้รับข้อความนี้เนื่องจากคุณสมัครรับข้อมูลจากกลุ่ม "Thai Linux/FOSS
>> developers" ของ Google Groups
>> หากต้องการโพสต์ถึงกลุ่มนี้ ให้ส่งอีเมลไปที่
>> thai-linux...@googlegroups.com
>> หากต้องการยกเลิกการสมัครสำหรับกลุ่มนี้ โปรดส่งอีเมลไปที่
>> thai-linux-foss-...@googlegroups.com
>> สำหรับตัวเลือกเพิ่มเติม โปรดเข้าสู่กลุ่มนี้ที่
>> http://groups.google.com/group/thai-linux-foss-devel?hl=th
>
> --
> คุณได้รับข้อความนี้เนื่องจากคุณสมัครรับข้อมูลจากกลุ่ม "Thai Linux/FOSS
> developers" ของ Google Groups
> หากต้องการโพสต์ถึงกลุ่มนี้ ให้ส่งอีเมลไปที่
> thai-linux...@googlegroups.com
> หากต้องการยกเลิกการสมัครสำหรับกลุ่มนี้ โปรดส่งอีเมลไปที่
> thai-linux-foss-...@googlegroups.com
> สำหรับตัวเลือกเพิ่มเติม โปรดเข้าสู่กลุ่มนี้ที่
> http://groups.google.com/group/thai-linux-foss-devel?hl=th
>
>

widhaya trisarnwadhana

unread,
Jun 2, 2010, 6:50:44 AM6/2/10
to thai-linux...@googlegroups.com
เมื่อ 2 มิถุนายน 2553, 12:32, Pattara Kiatisevi (list) <pattar...@mm.co.th> เขียนว่า:
ตรงหยักแหลมเข้าของ ภ ญ ถ ฎ ฏ ฤ พูดง่ายๆ ทุกๆ ตัวที่มีหยักแหล้มเข้า มันดูมัวๆ แปลกๆ นิดป่าวครับ รวมถึง หาง ร เรือ


เป็นการ hint แบบเอาง่ายเข้าว่าครับ เกิดจากความตั้งใจตั้งแต่ตอนแรกว่าจะ hint แบบนุ่ม แต่ตอนหลังมาเปลี่ยนใจ ว่าจะทำให้คมขึ้นที่ขนาด 16 ppem ลงไป วิธีการ hint เลยครึ่ง ๆ กลาง ๆ หน่อย

- สำหรับก.ไก่ เป็นบริเวณที่เส้นหยักไปมา ผมแก้ความฟุ้งด้วยการลดขนาดเส้นตรงหัวมุม จึงทำให้ดูมัว ๆ (รุ่นแก้ไขนี้ ผมยกเลิกการลดขนาดเส้นดังกล่าวแล้ว)

- สำหรับหาง ร.เรือ ถ้า hint ดุเดือดแบบในวินโดวส์ จะต้องบังคับบริเวณเส้นหลังอ่อนให้ตรง เพื่อให้ดูคมชัดในทุก ๆ ขนาด แต่สำหรับฟอนต์ตัวนี้ บริเวณดังกล่าวค่อนข้างจะอยู่ต่ำเมื่อเที่ยบกับฟอนต์อื่น ๆ ผลของการ hint ที่ขนาด 14, 15, 16 ppem เส้นจะตกลงมา 1 ช่อง จะทำให้ดูน่าเกลียด (ซึ่งขนาดดังกล่าวเป็นขนาดวิกฤตที่ใช้มากที่สุด) ผมจึงเลือกที่จะ hint ให้ดูมัวแต่นุ่มนวล (รุ่นแก้ไขนี้ ผมปรับให้ดูคมชัดขึ้นที่ขนาด 9-13 ppem แล้ว) ถ้าหากต้องการคมกว่านี้ จะต้องบังคับเส้นนี้ให้ตรงจนมาถึง 16 ppem แล้วยกเส้นด้านล่างขึ้นมาช่วย แต่มีข้อเสียคือทำให้ฟอนต์ดูผิดรูปไปเยอะครับ

ขอบคุณมาก ๆ สำหรับ feedback เป็นประโยชน์มากครับ

รุ่น 20100602 แก้ไข
- แก้ไข ปาก ก.ไก่ ให้หนาขึ้น ที่ขนาด 9, 10, 14, 15, 16 ppem
- แก้ไข หาง ร.เรือ ให้คมขึ้น ที่ขนาด 9-13 ppem

ไฟล์ฟอนต์ (รุ่นล่าสุดคือ 20100602 - แก้ไขใหม่) * http://www.thaitux.info/files/fonts/Lomaputta-src-20100602.tar.gz

Theppitak Karoonboonyanan

unread,
Jun 2, 2010, 9:27:24 AM6/2/10
to thai-linux...@googlegroups.com
2010/6/2 Theppitak Karoonboonyanan <th...@linux.thai.net>:

> 2010/6/2 Pattara Kiatisevi (list) <pattar...@mm.co.th>:
>
>> พี่เทพ: มีีได้ทำ deb ของ ฟอนต์คุณ wd ไว้ป่าวครับ หรือมันอยู่ใน
>> thaifonts-scalable ไหม :-p
>
> ล่าสุดที่เคยแกะ ผมยังไม่สามารถ automate กระบวนการ
> build ได้ครับ คือถ้าทำระบบ make จาก source ได้แบบ
> อัตโนมัติ ก็น่าจะทำแพกเกจได้ง่ายเข้าครับ
>
> แต่อันนั้นคือแกะไว้นานแล้วนะครับ แล้วข้อมูลก็หายไปกับ
> ฮาร์ดดิสก์ลูกเก่าเรียบร้อย ตัวปัจจุบันนี้ยังไม่ได้ดูครับ

ลองตรวจดูคร่าว ๆ ดูเหมือนระบบการ build font ยังเหมือนเดิม
อยากให้คุณวิทยาช่วย brief ระบบการ build ให้ฟังอีกครั้งครับ
เพราะข้อมูลเดิมของผมสูญหายไปแล้ว ต้องเริ่มใหม่แต่ต้น
เหมือนกัน

ขอบคุณครับ,

widhaya trisarnwadhana

unread,
Jun 2, 2010, 10:46:23 AM6/2/10
to thai-linux...@googlegroups.com
เมื่อ 2 มิถุนายน 2553, 20:27, Theppitak Karoonboonyanan <th...@linux.thai.net> เขียนว่า:


ลองตรวจดูคร่าว ๆ ดูเหมือนระบบการ build font ยังเหมือนเดิม
อยากให้คุณวิทยาช่วย brief ระบบการ build ให้ฟังอีกครั้งครับ
เพราะข้อมูลเดิมของผมสูญหายไปแล้ว ต้องเริ่มใหม่แต่ต้น
เหมือนกัน


ผมยังไม่ได้ศึกษาสคริปต์การ build ของ fontforge เลยครับ เวลา build ผมใช้วิธี generate ผ่านเมนู File -> Generate Fonts ธรรมดาครับ

สคริปต์ไพธอนผมทำหน้าที่แค่แปลงโค๊ดที่พอจะอ่านเข้าใจได้ ไปเป็น instruction code เท่านั้น
เวลาทำงานต้องค่อย ๆ ทำไปแต่งไปทีละอักขระ เลยต้องทำแบบ interactive
ผมใช้วิธีเรียก gedit มาอ่านโค๊ดที่ถูกแปลงแล้ว แล้วคัดลอกไปแปะบน instruction code ของอักขระนั้น ๆ ทีละตัว ถ้ายังไม่เข้าที่ก็กลับไปแก้โค๊ดไพธอนแล้ววนการทำงานใหม่

1. โค๊ดไพธอนหลักคือ
- dfont.py ทำหน้าที่เป็นแกนหลักในการจัดการกับสแต็ก
- dttinst.py เป็น frontend ให้เรียกใช้ในการ decode เป็นโค๊ดเทียมที่พออ่านได้ และ encode เป็น instrcution code
- dttcmd.py เก็บฟังก์ชั่นคำสั่งเทียม เพื่อให้เรียกใช้งานคำสั่งได้สั้นและง่ายกว่าคำสั่งจริง ๆ

2. โค๊ดที่ถอดจากฟอนต์เดิม เพื่อดูแนวทางการ hint
- ไฟล์ header_FONTNAME.py ใช้เก็บค่า cvt, โค๊ด prep และโค๊ด fpgm ของฟอนต์
- และไฟล์ inst_FONTNAME.py ใช้เก็บทั้ง header และโค๊ดเทียมของฟอนต์ทุกอักขระ
ทั้งสองไฟล์ผมใช้ดูการ hint จากฟอนต์ต้นฉบับ หรือจาก AutoInst ของ fontforge
ถ้าเรา hint ด้วยมือแล้ว ไฟล์ดังกล่าวก็ไม่จำเป็นอีกต่อไป

3. โค๊ดที่เขียนเพื่อ hint ด้วยมือจริง ๆ
- man_FONTNAME.py และ man_FONTNAME_Bold.py


การทำงานคือ
1. ถ้าต้องการถอด instruction code (จากไฟล์ sfd) มาเป็นโค๊ดเทียมที่อ่านเข้าใจได้ (ผมเรียกว่า decode) ใช้คำสั่งว่า
./dttinst.py --decode-header FONTNAME
จะได้ไฟล์ header_FONTNAME.py ซึ่งมีตัวแปร cvt_dict ใช้เก็บค่า cvt, ตัวแปร pseudo_prep ใช้เก็บโค๊ด preprogram และตัวแปร pseudo_fpgm ใช้เก็บโค๊ดฟังก์ชั่น

และคำสั่ง
./dttinst.py --decode-all FONTNAME
จะได้ทั้งไฟล์ header_FONTNAME.py และไฟล์ inst_FONTNAME.py ซึงเก็บโค๊ดของทุกอักขระรวมทั้ง header ด้วย

เหตุที่ผมแยกกัน ทั้ง ๆ ที่เป็นโค๊ดเดียวกัน เพราะต้องการเก็บไฟล์ header ไว้เป็นไฟล์สำรอง และอีกประการนึงคือ ตอนที่โปรแกรมผลิตไฟล์ inst_FONTNAME.py เขาจะเอาค่าตัวแปร cvt จาก header_FONTNAME.py มาใส่ด้วย ดังนั้น ถ้าเราแก้ไขชื่อตัวแปร cvt ให้เราสามารถอ่านเข้าใจได้ง่าย ก็จะทำให้อ่านโค๊ดได้ง่ายขึ้นด้วย

เช่นสมมุติว่าเปลี่ยนจาก cvt_6 เป็น estemw คือ ความกว้างของ stem ในภาษาอังกฤษตัวเล็ก
โค๊ดเทียมเดิมจะเปลียนจาก
MIRP[min,rnd,black]    cvt_16 8
ตอนสั่งผลิตใหม่ จะกลายเป็น
MIRP[min,rnd,black]    estemw 8
เป็นต้น

การทำงานในการถอดและแกะโค๊ดจริง ๆ จะเป็นดังนี้
1.1 ผลิตทั้ง header_FONTNAME.py และ inst_FONTNAME.py ด้วยพารามิเตอร์ --decode-all แล้วมานั่งไล่ดูว่าค่า cvt ตัวไหนใช้แทนอะไร แล้วจึงตั้งชื่อให้ค่า cvt นั้นใหม่ให้เข้าใจง่ายขึ้น
1.2 แก้ไขชื่อค่า cvt ในไฟล์ header_FONTNAME.py
1.3 สั่งผลิต inst_FONTNAME.py ใหม่ด้วยพารามิเตอร์ --decode-all เขาจะตรวจว่ามีไฟล์ header_FONTNAME.py อยู่แล้ว และจะเอาตัวแปรที่เราแก้ไขแล้วมาใส่ใน inst_FONTNAME.py ให้ใหม่ ทำให้อ่านโค๊ดได้ง่ายขึ้นครับ

2. ถ้าต้องการเอาโค๊ดเทียม กลับไปสร้างเป็น instruction code (ผมเรียกว่า encode)

2.1 เอาจากไฟล์ inst_FONTNAME.py
สมมุติว่าจะ hint ตัว ก.ไก่ ก็ใช้คำสั่ง
./dttinst.py --inst -fFONTNAME uni0E01
เขาจะผลิต instruction code เอาไปเก็บไว้ในไฟล์ inst.txt แล้วใช้ gedit เรียกขึ้นมาแก้ไข ผมก็คัดลอกแล้วเอาไปแปะใน fontforge ด้วยเมนู Hint -> Edit Instructions เสร็จแล้วก็ดูผล hint ด้วยเมนู View -> Grid Fit -> Show Grid Fit

2.2 เอาจากไฟล์ man_FONTNAME.py ซึ่งอาจคัดลอกมาจาก inst_FONTANME.py หรือเขียนใหม่เองก็ได้ โดยใช้ส่วนหัวเหมือน header_FONTNAME.py (เหมือนกันทั้ง 3 ไฟล์)
สมมุติว่าจะ hint ตัว ก.ไก่ ก็ใช้คำสั่ง
./dttinst.py -fFONTNAME uni0E01

ทำทีละอักขระจนกว่าจะเสร็จครับ

ขออภัยที่เขียนละเอียดเยิ่นเย้อไปหน่อย เผื่อท่านอื่นด้วยน่ะครับ
วิทยา

ปล. เคยคิดจะทำเป็นไฟล์แม่แบบ แล้วทำกับทุกฟอนต์เหมือน ๆ กัน แต่พบว่าทำไม่ได้ เพราะฟอนต์แต่ละตัว hint ไม่เหมือนกัน เช่น s ของโลมาบุตร กับ s ของเตยหอม hint คนละแบบ จึงล้มเลิกไปครับ เจาะเป็นตัว ๆ แบบเดิมให้ผลดีกว่า

Theppitak Karoonboonyanan

unread,
Jun 2, 2010, 12:14:17 PM6/2/10
to thai-linux...@googlegroups.com
2010/6/2 widhaya trisarnwadhana <widh...@gmail.com>:

> ผมยังไม่ได้ศึกษาสคริปต์การ build ของ fontforge เลยครับ เวลา build ผมใช้วิธี
> generate ผ่านเมนู File -> Generate Fonts ธรรมดาครับ

ตรงนี้ไม่เป็นปัญหาครับ ใช้โครงสร้างแบบเดียวกับ thaifonts-scalable ได้

> สคริปต์ไพธอนผมทำหน้าที่แค่แปลงโค๊ดที่พอจะอ่านเข้าใจได้ ไปเป็น instruction
> code เท่านั้น
> เวลาทำงานต้องค่อย ๆ ทำไปแต่งไปทีละอักขระ เลยต้องทำแบบ interactive
> ผมใช้วิธีเรียก gedit มาอ่านโค๊ดที่ถูกแปลงแล้ว แล้วคัดลอกไปแปะบน instruction
> code ของอักขระนั้น ๆ ทีละตัว
> ถ้ายังไม่เข้าที่ก็กลับไปแก้โค๊ดไพธอนแล้ววนการทำงานใหม่

หลังจากอ่านกระบวนการคร่าว ๆ ทั้งหมด ผมคิดว่าระบบ make อาจจะทำอย่างนี้:

rule ส่วน generate font จาก sfd -> ttf เป็นภาคบังคับสำหรับคนที่จะ
make && sudo make install จาก source tarball โดยไม่แก้ไขอะไร
ซึ่งรวมถึงการทำ deb, rpm ด้วย ส่วนนี้ง่าย ตรงไปตรงมา

rule ส่วนช่วยเหลือเวลาแก้ไข อาจจะ automate ได้ไม่หมด ก็ทำเท่าที่ทำได้
แล้วที่เหลือก็เขียนเป็น README อธิบายไว้

ส่วนที่ automate ได้น่าจะเป็นส่วน decode แต่ส่วน encode นั้น
คงต้องใช้ README อธิบาย

ทีนี้ก็ต้องมาคัดแยก ว่าแฟ้มไหนเป็น generated file และแฟ้มไหนเป็น
manual file ที่ถ้าเอาเข้า VCS ก็จะต้องทำ version control

เท่าที่ผมอ่านดู ผมคัดแยกอย่างนี้:
- dfont.py, dttinst.py, dttcmd.py เป็น manual file แน่ ๆ
- header_FONTNAME.py เป็น manual file เพราะมีการแก้ไข
หลังจาก generate แล้ว
- inst_FONTNAME.py เป็น generated file เพราะ generate
จาก header_FONTNAME.py ได้ทุกเมื่อ และหลัง generate แล้ว
ก็ไม่มีการแก้ไข แต่เป็น intermediate file สำหรับ
man_FONTNAME.py เท่านั้น
- man_FONTNAME.py เป็น manual file ตัวจริง

Use Cases:

* make decode-header เพื่อสร้างเฉพาะ header_FONTNAME.py
-> สั่ง ./dttinst.py --decode-header FONTNAME
*** จะทับ header_FONTNAME.py เดิมถ้ามีอยู่และเก่ากว่า
FONTNAME.sfd ***

* make decode-all เพื่อสร้างทั้ง header_FONTNAME.py และ
inst_FONTNAME.py
-> สั่ง ./dttinst.py --decode-all FONTNAME
*** จะทับ header_FONTNAME.py เดิมถ้ามีอยู่และเก่ากว่า
FONTNAME.sfd ***

* แก้ไข header_FONTNAME.py -> ผู้ใช้ manual เอา

* make initial-man เพื่อสร้าง man_FONTNAME.py จาก
inst_FONTNAME.py
-> สั่ง cp inst_FONTNAME.py man_FONTNAME.py
*** จะทับ man_FONTNAME.py เดิมถ้ามีอยู่และเก่ากว่า
inst_FONTNAME.py ***

* แก้ instruction ของแต่ละ glyph -> ผู้ใช้ manual เอา

* make ปกติ เพื่อสร้าง ttf จาก sfd
-> เรียก fontforge script

* make install เพื่อติดตั้ง ttf ลงในระบบ
-> ใช้ automake scriptlet ตามปกติ

* make clean เพื่อล้าง generated files
-> ลบ inst_FONTNAME.py, *.ttf

แบบนี้โอเคหรือเปล่าครับ? หรือผมยังเข้าใจอะไรผิดอยู่?

> ปล. เคยคิดจะทำเป็นไฟล์แม่แบบ แล้วทำกับทุกฟอนต์เหมือน ๆ กัน แต่พบว่าทำไม่ได้
> เพราะฟอนต์แต่ละตัว hint ไม่เหมือนกัน เช่น s ของโลมาบุตร กับ s ของเตยหอม hint
> คนละแบบ จึงล้มเลิกไปครับ เจาะเป็นตัว ๆ แบบเดิมให้ผลดีกว่า

ผมคิดว่าบางส่วนน่าจะแชร์กันได้ คือ dfont.py, dttinst.py, dttcmd.py
แล้วจะได้รวมฟอนต์ทุกตัวในชุดของคุณวิทยาเข้าไว้ในแพกเกจเดียวกัน
ยกเว้นพวก *_FONTNAME.py ก็ให้ generate/manual แยกโฟลเดอร์กันไป
อย่างนี้เป็นไปได้ไหมครับ?

wd

unread,
Jun 2, 2010, 12:35:43 PM6/2/10
to Thai Linux/FOSS developers

On Jun 2, 11:14 pm, Theppitak Karoonboonyanan <t...@linux.thai.net>
wrote:
> 2010/6/2 widhaya trisarnwadhana <widha...@gmail.com>:

> Use Cases:
>
> * make decode-header เพื่อสร้างเฉพาะ header_FONTNAME.py
>   -> สั่ง ./dttinst.py --decode-header FONTNAME
>   *** จะทับ header_FONTNAME.py เดิมถ้ามีอยู่และเก่ากว่า
>   FONTNAME.sfd ***
>
> * make decode-all เพื่อสร้างทั้ง header_FONTNAME.py และ
>   inst_FONTNAME.py
>   -> สั่ง ./dttinst.py --decode-all FONTNAME
>   *** จะทับ header_FONTNAME.py เดิมถ้ามีอยู่และเก่ากว่า
>   FONTNAME.sfd ***
>

ไม่ทับครับ เพราะโปรแกรมมีการตรวจสอบว่า ถ้ามีไฟล์ header
อยู่แล้วจะไม่สร้างใหม่ และใช้เนื้อไฟล์ header นั้น ผลิตไฟล์อื่นต่อไป

อันอื่น ๆ ถูกต้องแล้วครับ

อ้อ ผมยังลืมอีกคำสั่งนึง คือให้ผลิต instruction code กับทุก ๆ อักขระ
ด้วยพารามิเตอร์ --all
คำสั่งคือ
./dttinst.py -fFONTNAME --all
โปรแกรมจะเข้าไปแก้ไขในไฟล์ sfd โดยตรง โดยจะแก้ไข instruction code
เฉพาะอักขระที่มีอยู่ในไฟล์ man_FONTNAME.py เท่านั้น
โดยไม่ไปยุ่งกับอักขระตัวอื่น แล้วจึงสั่งผลิต ttf ด้วยมืออีกครั้งนึง
คำสั่งนี้จะอันตรายอยู่หน่อยตรงที่ถ้าโครงสร้างไฟล์ sfd มีการเปลี่ยนแปลง

ส่วนรายละเอียดการบิลด์ต้องแล้วแต่คุณเทพแล้วครับ
เพราะไม่เคยศึกษาการบิลด์เลย ;P

ขอบคุณครับ
วิทยา

Theppitak Karoonboonyanan

unread,
Jun 3, 2010, 12:37:16 AM6/3/10
to thai-linux...@googlegroups.com
2010/6/2 wd <widh...@gmail.com>:

>
> On Jun 2, 11:14 pm, Theppitak Karoonboonyanan <t...@linux.thai.net>
> wrote:
>> 2010/6/2 widhaya trisarnwadhana <widha...@gmail.com>:
>
>> Use Cases:
>>
>> * make decode-header เพื่อสร้างเฉพาะ header_FONTNAME.py
>>   -> สั่ง ./dttinst.py --decode-header FONTNAME
>>   *** จะทับ header_FONTNAME.py เดิมถ้ามีอยู่และเก่ากว่า
>>   FONTNAME.sfd ***
>>
>> * make decode-all เพื่อสร้างทั้ง header_FONTNAME.py และ
>>   inst_FONTNAME.py
>>   -> สั่ง ./dttinst.py --decode-all FONTNAME
>>   *** จะทับ header_FONTNAME.py เดิมถ้ามีอยู่และเก่ากว่า
>>   FONTNAME.sfd ***
>>
> ไม่ทับครับ เพราะโปรแกรมมีการตรวจสอบว่า ถ้ามีไฟล์ header
> อยู่แล้วจะไม่สร้างใหม่ และใช้เนื้อไฟล์ header นั้น ผลิตไฟล์อื่นต่อไป
>
> อันอื่น ๆ ถูกต้องแล้วครับ

โอเคครับ ขอบคุณที่แก้ไข

> อ้อ ผมยังลืมอีกคำสั่งนึง คือให้ผลิต instruction code กับทุก ๆ อักขระ
> ด้วยพารามิเตอร์ --all
> คำสั่งคือ
> ./dttinst.py -fFONTNAME --all
> โปรแกรมจะเข้าไปแก้ไขในไฟล์ sfd โดยตรง โดยจะแก้ไข instruction code
> เฉพาะอักขระที่มีอยู่ในไฟล์ man_FONTNAME.py เท่านั้น
> โดยไม่ไปยุ่งกับอักขระตัวอื่น แล้วจึงสั่งผลิต ttf ด้วยมืออีกครั้งนึง
> คำสั่งนี้จะอันตรายอยู่หน่อยตรงที่ถ้าโครงสร้างไฟล์ sfd มีการเปลี่ยนแปลง

เพิ่มเป็นอีก use case คือ 'make merge-inst' นะครับ

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

Theppitak Karoonboonyanan

unread,
Jun 9, 2010, 2:02:50 AM6/9/10
to thai-linux...@googlegroups.com
2010/6/3 Theppitak Karoonboonyanan <th...@linux.thai.net>:

> ตอนนี้ผมติดตรวจคำแปล gimp ที่คุณมะระส่งเข้ามาอยู่ ไว้ตรวจเสร็จ
> แล้วจะกลับมาทำครับ

เริ่มทำอยู่ครับ มีคำถามเพิ่มเติมคือ โปรแกรมไพธอนทั้งหลาย (dfont.py,
dttinst.py, dttcmd.py) ใน sys/ กับใน Lomaputta/src/ นั้น
ต่างกันยังไงครับ? สามารถดึงออกมาใช้ร่วมกันในทุกฟอนต์ได้หรือเปล่า?
เช่น ถ้าผมจะเอาฟอนต์ชุด ABC มาใส่ด้วย แล้วให้มันเรียกสคริปต์ใน sys/
ร่วมกันแทน จะเป็นไปได้ไหม?

wd

unread,
Jun 9, 2010, 2:56:55 AM6/9/10
to Thai Linux/FOSS developers
อันนี้คือปัญหาอันนึงครับ
dfonts.py พัฒนาและปรับปรุงมาเรื่อย ๆ
มันเลยเปลี่ยนไปตามความรู้ที่เพิ่มเข้ามาครับ
ดั้งนั้นจึงใช้ร่วมกันระหว่างฟอนต์ไม่ได้ครับ
ถ้าจะให้ใช้กันได้ ผมต้องตามไปแก้ man_FONTNAME.py ทุก ๆ ตัว
(ถ้าลงตัวเมื่อไหร่คงได้ทำครับ)
ส่วนใน sys เหมือนกับเป็น backup เท่านั้นครับ

วิทยา

On Jun 9, 1:02 pm, Theppitak Karoonboonyanan <t...@linux.thai.net>
wrote:
> 2010/6/3 Theppitak Karoonboonyanan <t...@linux.thai.net>:

wd

unread,
Jun 9, 2010, 3:01:51 AM6/9/10
to Thai Linux/FOSS developers
อีกเรื่องนึงคือ Auto Instruction ของ fontforge คุณภาพแย่ครับ
ถ้าทำเป็น ttf ผมว่าไม่ hint ดีกว่า รูปฟอนต์สวยกว่า

ผมว่าฟอนต์ที่จำเป็นต้อง hint คือฟอนต์ที่สำหรับอ่านหน้าจอเท่านั้น
อีกอย่างคือ แนวโน้มการแสดงผลเปลียนมานิยมแบบ apple คือไม่มี hint
ตัวอย่างคือ ubuntu

วิทยา

Theppitak Karoonboonyanan

unread,
Jun 9, 2010, 3:22:27 AM6/9/10
to thai-linux...@googlegroups.com
2010/6/9 wd <widh...@gmail.com>:

> อีกเรื่องนึงคือ Auto Instruction ของ fontforge คุณภาพแย่ครับ

เรื่อง auto instruction คงไม่ทำครับ เพราะจะไปทำลาย
manual instruction ที่ทำไว้

> ถ้าทำเป็น ttf ผมว่าไม่ hint ดีกว่า รูปฟอนต์สวยกว่า

แต่ manual instruction ที่ทำไว้ยังใช้อยู่ใช่ไหมครับ

> ผมว่าฟอนต์ที่จำเป็นต้อง hint คือฟอนต์ที่สำหรับอ่านหน้าจอเท่านั้น
> อีกอย่างคือ แนวโน้มการแสดงผลเปลียนมานิยมแบบ apple คือไม่มี hint
> ตัวอย่างคือ ubuntu

เรื่องนั้นเป็นส่วนของ fontconfig ที่จะตัด hint ออกล่ะมั้งครับ?
ถ้าเขาอยากใช้ hint ของฟอนต์ก็จะเปิด full hint เอง

Theppitak Karoonboonyanan

unread,
Jun 9, 2010, 3:29:54 AM6/9/10
to thai-linux...@googlegroups.com
2010/6/9 wd <widh...@gmail.com>:

> อันนี้คือปัญหาอันนึงครับ
> dfonts.py พัฒนาและปรับปรุงมาเรื่อย ๆ
> มันเลยเปลี่ยนไปตามความรู้ที่เพิ่มเข้ามาครับ
> ดั้งนั้นจึงใช้ร่วมกันระหว่างฟอนต์ไม่ได้ครับ

โอ้.. :-O

> ถ้าจะให้ใช้กันได้ ผมต้องตามไปแก้ man_FONTNAME.py ทุก ๆ ตัว
> (ถ้าลงตัวเมื่อไหร่คงได้ทำครับ)
> ส่วนใน sys เหมือนกับเป็น backup เท่านั้นครับ

ถ้างั้นผมทำ source tarball สำหรับ Lomaputta ตัวเดียวก่อน
โดยย้ายโปรแกรมไพธอนพวกนี้มาไว้ที่ sys/ (อาจจะเปลี่ยนชื่อ
ให้สื่อขึ้นเป็น tools/) แล้วถ้าจะเอาฟอนต์ตัวอื่น ๆ มารวมเมื่อไร
ค่อยปรับให้เข้ากับของ Lomaputta อย่างนี้ดีไหมครับ?

ผม assume ว่าโปรแกรมของ Lomaputta คือตัวที่พัฒนา
มากที่สุด เพราะใหม่สุดน่ะครับ ถ้าไม่ใช่ ก็อาจจะต้องมาปรับ
Lomaputta เองเวลาที่เอาฟอนต์ที่โปรแกรมดีกว่ามารวม

อีกคำถามคือ เราจะ import source เข้าใน VCS ตัวไหน
หรือเปล่าครับ? เช่น อาจจะเป็น SVN ของ TLWG ก็ได้
หรือจะเป็นที่อื่นก็ได้

wd

unread,
Jun 9, 2010, 3:49:57 AM6/9/10
to Thai Linux/FOSS developers
On Jun 9, 2:22 pm, Theppitak Karoonboonyanan <t...@linux.thai.net>
wrote:
> 2010/6/9 wd <widha...@gmail.com>:

>
> > อีกเรื่องนึงคือ Auto Instruction ของ fontforge คุณภาพแย่ครับ
>
> เรื่อง auto instruction คงไม่ทำครับ เพราะจะไปทำลาย
> manual instruction ที่ทำไว้

ผมหมายถึงฟอนต์ตัวอื่น ๆ น่ะครับ เช่นฟอนต์ ABC น่ะครับ ว่าไม่ควรทำ
AutoInst ปล่อยไว้แบบไม่มี hint ดีกว่า


> > ถ้าทำเป็น ttf ผมว่าไม่ hint ดีกว่า รูปฟอนต์สวยกว่า
>
> แต่ manual instruction ที่ทำไว้ยังใช้อยู่ใช่ไหมครับ
>

ใช้ครับ ถ้าปรับเล็กก็จะใช้ไฟล์เดิม แต่ถ้าปรับใหญ่ ก็จะใช้แค่ส่วนหัว
header เท่านั้น


วิทยา

Theppitak Karoonboonyanan

unread,
Jun 9, 2010, 4:10:58 AM6/9/10
to thai-linux...@googlegroups.com
2010/6/9 Theppitak Karoonboonyanan <th...@linux.thai.net>:

> ถ้างั้นผมทำ source tarball สำหรับ Lomaputta ตัวเดียวก่อน
> โดยย้ายโปรแกรมไพธอนพวกนี้มาไว้ที่ sys/ (อาจจะเปลี่ยนชื่อ
> ให้สื่อขึ้นเป็น tools/) แล้วถ้าจะเอาฟอนต์ตัวอื่น ๆ มารวมเมื่อไร
> ค่อยปรับให้เข้ากับของ Lomaputta อย่างนี้ดีไหมครับ?
>
> ผม assume ว่าโปรแกรมของ Lomaputta คือตัวที่พัฒนา
> มากที่สุด เพราะใหม่สุดน่ะครับ ถ้าไม่ใช่ ก็อาจจะต้องมาปรับ
> Lomaputta เองเวลาที่เอาฟอนต์ที่โปรแกรมดีกว่ามารวม
>
> อีกคำถามคือ เราจะ import source เข้าใน VCS ตัวไหน
> หรือเปล่าครับ? เช่น อาจจะเป็น SVN ของ TLWG ก็ได้
> หรือจะเป็นที่อื่นก็ได้

มีคำถามเพิ่มครับ:

- Lomaputta/src/gen_mod_file.py มีไว้ทำอะไรครับ?
ดูเหมือนเนื้อหายังไม่มีอะไร
- inst.txt, pseudo_code.txt ใน Lomaputta/src/
ดูเหมือนจะเป็นแฟ้มชั่วคราว ผมลบทิ้งได้นะครับ?
- x.txt, y.txt, diff.txt ค่อนข้างชัดเจนว่าไม่เกี่ยวกับการ
build เลยลบไปแล้ว
- man_FONTNAME.py กับ mod_FONTNAME.py ต่างกันยังไงครับ?

wd

unread,
Jun 9, 2010, 10:20:12 AM6/9/10
to Thai Linux/FOSS developers

On Jun 9, 3:10 pm, Theppitak Karoonboonyanan <t...@linux.thai.net>
wrote:
> 2010/6/9 Theppitak Karoonboonyanan <t...@linux.thai.net>:


>
> > ถ้างั้นผมทำ source tarball สำหรับ Lomaputta ตัวเดียวก่อน
> > โดยย้ายโปรแกรมไพธอนพวกนี้มาไว้ที่ sys/ (อาจจะเปลี่ยนชื่อ
> > ให้สื่อขึ้นเป็น tools/) แล้วถ้าจะเอาฟอนต์ตัวอื่น ๆ มารวมเมื่อไร
> > ค่อยปรับให้เข้ากับของ Lomaputta อย่างนี้ดีไหมครับ?
>

ทำไงดีล่ะ
ฟอนต์ทุกตัวที่ hint ไป ผมใช้วิธีการไม่เหมือนกันเลยสักตัวเดียว
จุดประสงค์คือต้องการค้นหาวิธีการที่จะสร้างฟอนต์ออกมาให้ได้เร็วที่สุด

เทคนิกล่าสุดจะอยู่ใน Lomaputta ชุด glyph ภาษาอังกฤษครับ และ Taeyhom
(ทุก glyph) ก็รองลงมา
แต่ละวิธีจะมีข้อดีเสียต่างกันไป
แต่เครื่องมือ คือ dfont.py ใช้ร่วมกันได้สำหรับฟอนต์สองตัวนี้ครับ


> > ผม assume ว่าโปรแกรมของ Lomaputta คือตัวที่พัฒนา
> > มากที่สุด เพราะใหม่สุดน่ะครับ ถ้าไม่ใช่ ก็อาจจะต้องมาปรับ
> > Lomaputta เองเวลาที่เอาฟอนต์ที่โปรแกรมดีกว่ามารวม
>

Lomaputta กับ Taeyhom ทำได้ทันทีครับ แต่ตัวอื่น ๆ อาจต้องคง dfont.py
เอาไว้ใน src ของตัวเองไปก่อน จึงจะสามารถ build ได้จริงครับ


> > อีกคำถามคือ เราจะ import source เข้าใน VCS ตัวไหน
> > หรือเปล่าครับ? เช่น อาจจะเป็น SVN ของ TLWG ก็ได้
> > หรือจะเป็นที่อื่นก็ได้
>

อันอื่นไม่ทราบเลยครับ แล้วแต่เห็นควร
แต่ถ้าเอาเข้า TLWG ก็ดีนะครับ จะได้รวมศูนย์ฟอนต์ลินุกซ์ไว้ที่เดียว

> มีคำถามเพิ่มครับ:
>
> - Lomaputta/src/gen_mod_file.py มีไว้ทำอะไรครับ?
>   ดูเหมือนเนื้อหายังไม่มีอะไร

ลืมไปแล้วครับ ลบได้เลย


> - inst.txt, pseudo_code.txt ใน Lomaputta/src/
>   ดูเหมือนจะเป็นแฟ้มชั่วคราว ผมลบทิ้งได้นะครับ?

ลบได้ครับ

> - x.txt, y.txt, diff.txt ค่อนข้างชัดเจนว่าไม่เกี่ยวกับการ
>   build เลยลบไปแล้ว

ทำตอน debug dfont.py ล่าสุดครับ ลบได้เลย


> - man_FONTNAME.py กับ mod_FONTNAME.py ต่างกันยังไงครับ?
>
> เทพ.
> --
> Theppitak Karoonboonyananhttp://linux.thai.net/~thep/

mod_FONTNAME.py เกิดจากความคิดว่าจะปรับแก้จาก inst_FONTNAME.py
แต่ปรากฎว่าผลงานออกมาแย่ และเสียเวลามากกว่า hint มือเสียอีกครับ
ล้มเลิกไปแล้ว ลบทิ้งได้เหมือนกัน ตอนนี้ใช้ man_FONTNAME.py อย่างเดียว

Theppitak Karoonboonyanan

unread,
Jun 9, 2010, 11:24:51 AM6/9/10
to thai-linux...@googlegroups.com
2010/6/9 wd <widh...@gmail.com>:

> ทำไงดีล่ะ
> ฟอนต์ทุกตัวที่ hint ไป ผมใช้วิธีการไม่เหมือนกันเลยสักตัวเดียว
> จุดประสงค์คือต้องการค้นหาวิธีการที่จะสร้างฟอนต์ออกมาให้ได้เร็วที่สุด
>
> เทคนิกล่าสุดจะอยู่ใน Lomaputta ชุด glyph ภาษาอังกฤษครับ และ Taeyhom
> (ทุก glyph) ก็รองลงมา
> แต่ละวิธีจะมีข้อดีเสียต่างกันไป
> แต่เครื่องมือ คือ dfont.py ใช้ร่วมกันได้สำหรับฟอนต์สองตัวนี้ครับ

ถ้าอย่างนั้นก็ต้องถือว่าโปรแกรมพวกนี้เป็นของฟอนต์แต่ละตัว
ไม่ใช่ของส่วนกลางของแพกเกจ

งั้นผมก็ล้มเลิกแผนที่จะแยกเครื่องมือออกมาก่อนละกันครับ
กระจายโปรแกรมไปแต่ละฟอนต์เหมือนเดิม แล้วก็ลบ sys/
ทิ้งเสีย

>> > ผม assume ว่าโปรแกรมของ Lomaputta คือตัวที่พัฒนา
>> > มากที่สุด เพราะใหม่สุดน่ะครับ ถ้าไม่ใช่ ก็อาจจะต้องมาปรับ
>> > Lomaputta เองเวลาที่เอาฟอนต์ที่โปรแกรมดีกว่ามารวม
>>
> Lomaputta กับ Taeyhom ทำได้ทันทีครับ แต่ตัวอื่น ๆ อาจต้องคง dfont.py
> เอาไว้ใน src ของตัวเองไปก่อน จึงจะสามารถ build ได้จริงครับ

ผมขอแยกโปรแกรมเอาไว้กับฟอนต์แต่ละตัวไปก่อนละกันครับ

>> > อีกคำถามคือ เราจะ import source เข้าใน VCS ตัวไหน
>> > หรือเปล่าครับ? เช่น อาจจะเป็น SVN ของ TLWG ก็ได้
>> > หรือจะเป็นที่อื่นก็ได้
>>
> อันอื่นไม่ทราบเลยครับ แล้วแต่เห็นควร
> แต่ถ้าเอาเข้า TLWG ก็ดีนะครับ จะได้รวมศูนย์ฟอนต์ลินุกซ์ไว้ที่เดียว

อันนี้ต้องขึ้นอยู่กับคุณวิทยาด้วย ว่าสะดวกทำงานแบบไหน
เพราะคนทำหลักคงเป็นคุณวิทยาอยู่ดีครับ

>> มีคำถามเพิ่มครับ:

ดำเนินการตามที่แนะนำหมดแล้วครับ ได้ความว่าไง
เดี๋ยวกลับมาแจ้งอีกทีครับ

Theppitak Karoonboonyanan

unread,
Jun 10, 2010, 5:43:24 AM6/10/10
to thai-linux...@googlegroups.com
2010/6/9 Theppitak Karoonboonyanan <th...@linux.thai.net>:

> ดำเนินการตามที่แนะนำหมดแล้วครับ ได้ความว่าไง
> เดี๋ยวกลับมาแจ้งอีกทีครับ

ได้เป็น tarball เริ่มแรกสำหรับ Lomaputta + Toeyhom
(ขออนุญาตเปลี่ยนตัวสะกดจาก Taeyhom เป็น Toeyhom)

- VCS tarball สำหรับ import เข้า VCS:
http://linux.thai.net/~thep/tmp/thaitux/thaifonts-thaitux-vcs.tar.gz

- Release tarball สำหรับ release ถึง user:
http://linux.thai.net/~thep/tmp/thaitux/thaifonts-thaitux-0.1.1.tar.gz

ปัญหาที่พบ:

- dttinst.py --decode-all นั้น ถ้าตัว sfd ไม่มี cvt table
มันจะ crash ตอนนี้ผมเลยแก้ขัดด้วยการใส่ "|| true" ต่อท้าย
ในกฎของ decode-all ไปก่อน

- target อื่น ยังไม่ได้ทดสอบ เพราะข้อมูลยังไม่ค่อยครบดี

- มีปัญหาสำหรับการสั่ง make จากนอก source tree สำหรับ
target ที่เกี่ยวกับการพัฒนา เช่น decode-all, initial-man,
merge-inst เนื่องจากคำสั่ง d*.py ทั้งหลายจะ assume ว่า
แฟ้มต่าง ๆ ต้องอยู่ในไดเรกทอรีเดียวกันหมด ไม่สามารถสั่งแบบ
อ้างข้ามไดเรกทอรีได้ เช่น สั่งแบบนี้ไม่ได้:

../Lomaputta/dttinst.py --decode-all ../Lomaputta/Lomaputta

ถามว่าเป็นปัญหาไหม ก็คงมีบ้างในแง่ที่ทำให้ไม่สามารถทำงาน
นอก source dir โดยรักษา source dir ให้สะอาดปราศจาก
generated file ได้ แต่สำหรับผู้ใช้ทั่วไปที่ไม่ได้พยายามแก้ hint
ก็คงไม่มีผลอะไร

wd

unread,
Jun 10, 2010, 7:27:37 AM6/10/10
to Thai Linux/FOSS developers
On Jun 10, 4:43 pm, Theppitak Karoonboonyanan <t...@linux.thai.net>

wrote:
> 2010/6/9 Theppitak Karoonboonyanan <t...@linux.thai.net>:
>
> > ดำเนินการตามที่แนะนำหมดแล้วครับ ได้ความว่าไง
> > เดี๋ยวกลับมาแจ้งอีกทีครับ
>
> ได้เป็น tarball เริ่มแรกสำหรับ Lomaputta + Toeyhom
> (ขออนุญาตเปลี่ยนตัวสะกดจาก Taeyhom เป็น Toeyhom)

- ผมว่าออกเสียง Taeyhom ใกล้เคียงกว่านะ (ลองจากโปรแกรม recite)
- อักษรสองตัวแรกเหมือน Tahoma ทำให้ตัวเลือกฟอนต์อยู่ติดกัน
- ไฟล์ ttf กระจายไปเยอะแล้วน่ะครับ

แต่ถ้าเปลี่ยนจริง เดี๋ยวผมตามไปเปลี่ยนต้นฉบับด้วย

วิทยา

Chalermkiat Kaewsanay

unread,
Jun 10, 2010, 9:32:26 AM6/10/10
to thai-linux...@googlegroups.com
2010/6/10 wd <widh...@gmail.com>

> ได้เป็น tarball เริ่มแรกสำหรับ Lomaputta + Toeyhom
> (ขออนุญาตเปลี่ยนตัวสะกดจาก Taeyhom เป็น Toeyhom)


- ผมว่าออกเสียง Taeyhom ใกล้เคียงกว่านะ (ลองจากโปรแกรม recite)
- อักษรสองตัวแรกเหมือน Tahoma ทำให้ตัวเลือกฟอนต์อยู่ติดกัน
- ไฟล์ ttf กระจายไปเยอะแล้วน่ะครับ

แต่ถ้าเปลี่ยนจริง เดี๋ยวผมตามไปเปลี่ยนต้นฉบับด้วย

วิทยา
 
รู้สึกคุ้นเคยกับการสะกด Toeyhom มากกว่าครับ ถ้าเปลี่ยนก็ดีครับ

เฉลิมเกียรติ
Reply all
Reply to author
Forward
0 new messages