- ดึงข้อมูลแพกเกจล่าสุดมาก่อน.
# emerge sync
- ดาว์นโหลด patch ไปไว้ที่ได้เรกทอรี files. รู้สึกว่ามันเป็น patch สำหรับ 0.9.2 แต่ก็น่าจะใช้ได้, ต้องลองดู.
# cd /usr/portage/net-www/mozilla-firefox/files # wget -nd ftp://ftp.opentle.org/people/mrchoke/patches/firefox-0.9.2-icu-thai-lwbr.patch
- emerge icu ก่อนถ้ายังไม่มีในระบบ.
# emerge icu
- ตรวจสอบดูว่า firefox รุ่นล่าสุดคืออันไหน.
# emerge -pv mozilla-firefox These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild U ] net-www/mozilla-firefox-1.0-r3 [1.0-r2] -debug +gnome +java +ldap -mozdevelop -moznoxft -mozsvg -mozxmlterm -xinerama -xprint 0 kB Total size of downloads: 0 kB
- ในกรณีนี้คือ 1.0-r3 เพราะฉะนั้นไปแก้ไฟล์ mozilla-firefox-1.0-r3.ebuild ที่อยู่ในไดเรกทอรี /usr/portage/net-www/mozilla-firefox. เพิ่มบรรทัด
epatch ${FILESDIR}/firefox-0.9.2-icu-thai-lwbr.patchต่อจากบรรทัดepatch ${FILESDIR}/mozilla-firefox-1.0-kp_separator.patch - ตรงบรรทัด
mozconfig_annotate '' --enable-oji --enable-mathml
แก้เป็นmozconfig_annotate '' --enable-ctl --enable-oji --enable-mathml
คือเพิ่มความสามารถ complex text layout ไปด้วย. จะแสดงสระไม่ลอย. - emerge
# USER="xprint" emerge mozilla-firefox Calculating dependencies ...done! >>> emerge (1 of 1) net-www/mozilla-firefox-1.0-r3 to / >>> md5 src_uri ;-) firefox-1.0-source.tar.bz2 >>> Unpacking source... >>> Unpacking firefox-1.0-source.tar.bz2 to /var/tmp/portage/mozilla-firefox-1.0-r3/work * Applying mozilla-firefox-1.0-4ft2.patch ... [ ok ] * Applying mozilla-firefox-1.0-kp_separator.patch ... [ ok ] * Applying firefox-0.9.2-icu-thai-lwbr.patch ... [ ok ] >>> Source unpacked. ~x86 ... --enable-ctl mozilla.org default ...ดูตอนคอมไพล์ว่าต้องเป็นอย่างตัวอย่างข้างบนครับคือมีการ patch และ --enable-ctl. - ขั้นสุดท้ายเกี่ยวกับ ctl ต้องไปแก้ไฟล์ /usr/lib/MozillaFirefox/res/fonts/fontEncoding.properties. เพิ่มบรรทัดต่อไปนี้
encoding.loma.ttf = x-thaittf-0.wide encoding.kinnari.ttf = x-thaittf-0.wide encoding.tlwgtypewriter.ttf = x-thaittf-0.wide encoding.tlwgmono.ttf = x-thaittf-0.wide encoding.purisa.ttf = x-thaittf-0.wide
ถัดจากบรรทัดencoding.norasi.ttf = x-thaittf-0.wide encoding.garuda.ttf = x-thaittf-0.wide encoding.dbthaitext.ttf = x-thaittf-0.wide
ตรงนี้จะแก้ที่รหัสต้นฉบับก่อนคอมไพล์ก็ได้แต่ลืมครับ.
หน้าจอจะเป็นแบบนี้ครับ.
ขยายจอออกอีกนิดจะเห็นว่าตัดคำได้สวย, และสระวรรณยุกต์ไม่ลอย. ต้องขอขอบคุณคนทำ patch จริงๆNATTAPOL KRITSUTHIKUL สำหรับ patch อันนี้และคุณสัมพันธ์สำหรับ patch อันใหม่.
อันนี้เป็น patch เก่า, ใช้ได้ดีแต่ช้าไปหนึ่งวินาทีถ้ามีการย่น/ขยายหน้าจอ. เห็นคุณโชคบอกว่า patch อันใหม่เร็วขึ้นแต่ผมลองแล้วไม่เห็นตัดคำให้เลย. แล้วจะลองใหม่ครับ.

