แสดงบทความที่มีป้ายกำกับ Hardy แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Hardy แสดงบทความทั้งหมด

วันอังคารที่ 13 พฤษภาคม พ.ศ. 2551

Thai Font Tuning in Hardy 1

ใน Ubuntu Hardy (8.04) มีฟอนต์ไทยใหม่มาให้ใช้ 3 ตัว คือ Waree, Umpush และ Sawasdee โดยเฉพาะ Waree นั้นถูกกำหนดให้เป็นฟอนต์ปริยายแทน Loma แล้ว ดังนั้นเมื่อติดตั้งครั้งแรกจะเป็นหน้าตาฟอนต์แปลกไปไม่คุ้นตา ก็ด้วยเหตุนี้นี่เอง

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

1-default

ดูกันใกล้ ๆ

1-default-1 1-default-2

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

ปัญหานี้เกิดจาก โดยปกติแล้ว Hardy จะกำหนดให้ใช้ font hinting แบบ native คือเป็น hint ที่ฝังมากับฟอนต์เลย เช่นฟอนต์ Bitstream Vera ซึ่งจะแสดงได้สวยงาม คมชัดไม่เบลอในทุกขนาดตัวอักษร ส่วนฟอนต์ที่ไม่มี hint จะยังคงแสดงเบลอ ๆ เหมือนเดิม แต่ฟอนต์ Waree นั้นมี hint อยู่ด้วย แต่อย่างที่ทราบการดีว่าการทำ hint ให้สมบูรณ์นั้นยากมาก ฟอนต์ Waree จึงแสดงออกมาดีที่สุดได้แบบที่เห็น

ทางแก้แบบง่ายคือ ลดระดับของ hint ลงเหลือแค่ระดับ slight หรือ "นิดหน่อย" โดยเลือกเมนู "ระบบ" --> "ปรับแต่งพื้นโต๊ะ" --> "รูปโฉม" แล้วเลือกแท็บ "แบบอักษร" แล้วคลิกปุ่ม "รายละเอียด..." จากนั้นตั้งค่า Hinting เป็น "นิดหน่อย" ตามภาพ

2-font-render-details

ผลคือ

3-screen2

3-screen2-1 3-screen2-2

การตั้งระดับ Hint เป็น slight จะทำให้การเรนเดอร์ฟอนต์เน้นที่รูปทรงของฟอนต์มากกว่าความคมชัด ทำให้เห็นได้อย่างชัดเจนว่ารูปทรงของฟอนต์ถูกต้องสวยงาม แต่ก็มีความเบลอมากเช่นกัน และยังทำให้ฟอนต์ภาษาอังกฤษเบลอไปด้วย

สำหรับท่านที่พอใจกับการตั้งฟอนต์แบบนี้ก็หยุดได้เลยครับ แต่สำหรับผมแล้ว ผมต้องการมากกว่านั้น ผมอยากให้ตัวอักษรภาษาอังกฤษชัดเท่าที่มันจะชัดได้ ในขณะที่ภาษาไทยก็ไม่เพี้ยนถึงขั้นเส้นหาย หัวหาย

ทางออกคือ libfreetype ในปัจจุบันมี autohint ซึ่งเป็นวิธีการเรนเดอร์ฟอนต์โดยไม่ต้องพึ่ง hint ที่มาในตัวฟอนต์เอง แต่จะสร้าง hint อัตโนมัติ ซึ่งตัวหลัง ๆ นี่มันทำได้ดีมาก ๆ แต่เราจะใช้ autohint เฉพาะกับฟอนต์ที่เราต้องการ ในที่นี้คือฟอนต์ภาษาไทยเท่านั้น ฟอนต์ที่มี native hint ดี ๆ อย่าง Bitstream Vera เราจะไม่แตะ จะใช้ native hint เหมือนเดิม

ขั้นแรก สร้างแฟ้ม .fonts.conf ไว้ที่ home ของท่านเองโดยให้มีเนื้อหาดังนี้

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<test name="family">
<string>Loma</string>
<string>Garuda</string>
<string>Norasi</string>
<string>Kinari</string>
<string>Purisa</string>
<string>TlwgMono</string>
<string>TlwgTypewriter</string>
<string>Waree</string>
<string>Umpush</string>
<string>Sawasdee</string>
</test>
<edit name="autohint" mode="assign"><bool>true</bool></edit>
</match>
</fontconfig>


จากนั้นให้ล็อกเอาท์ออกจากระบบ แล้วล็อกอินเข้ามาใหม่ แล้วตั้งค่าฟอนต์ให้เป็นตามภาพนี้

4-font-render-details-full

ผลลัพธ์สุดท้าย

5-screen3

5-screen3-1 5-screen3-2

จะเห็นว่าตัวอักษรภาษาอังกฤษมีความคมชัดเป็นปกติ ส่วนตัวไทยนั้นมีหัวหาง เส้นต่าง ๆ ครบถ้วน อ่านได้ชัดเจนดี มีเพี้ยนบ้างแต่น้อยมาก ๆ

เป็นอย่างไรครับ เห็นความงามของฟอนต์ Waree หรือยัง

วันเสาร์ที่ 26 เมษายน พ.ศ. 2551

เรื่องควรรู้ก่อนลง/อัพเกรดเป็น Hardy Heron

เมื่อวาน Ubuntu 8.04 Hardy Heron ออกอย่างเป็นทางการช่วงเย็น ๆ ในประเทศไทย ซึ่งอันที่จริง ผมก็ได้เอามาติดตั้งใช้งานจริง ตั้งแต่ออกเบต้าแล้ว และอัพเกรดมาเรื่อย ๆ

มีสิ่งที่คาดหวังไว้จำนวนหนึ่งกับ Hardy แต่ยังพบว่ายังไม่พร้อม อันเนื่องจาก Ubuntu กำหนดการออกรุ่นไว้ตามเวลาเป๊ะ ๆ ต่างจาก Debian ที่ออกเมื่อพร้อม จึงเป็นเรื่องปกติที่ Ubuntu รุ่น release อาจจะไม่ได้ทำงานได้ตามที่คาดหวังเสมอไป จึงขอเอาประสบการณ์ที่พบมาเล่าให้ฟัง
  1. Firefox รุ่นนี้ตั้งธงว่าจะใช้ Firefox 3.0 แต่ก็มีความล่าช้าที่โครงการ Mozilla เองซึ่งในที่สุดแล้วก็เสร็จไม่ทันแน่แล้ว ล่าสุด Firefox 3.0 กำหนดออกประมาณ มิ.ย. 51 ใน Hardy ตั้งใจจะใส่รุ่น 3.0pre แต่ก็ไม่ทัน ดังนั้นรุ่นที่ติดตั้งไปพร้อม Hardy คือ 3.0b5 ซึ่ง บอกตามตรงว่ายังไม่เสถียรพอ ใช้งานปกติ ยังมี crash ให้เห็นเป็นพัก ๆ วันละ 3-5 ครั้ง บางวันต้องถอยไปใช้ firefox-2 แทน แต่ก็อึดอัดกับข้อจำกัดบางอย่าง
    ทางออกทาง Hardy จะอัพเกรด Firefox ให้เรื่อย ๆ จนกระทั่งเป็น 3.0 ตัวเต็ม และอัพเกรด minor release ไปเรื่อย ๆ แต่นั่นก็ใช้เวลา อย่างเร็วก็รอรุ่น 3.0pre ซึ่งคงดีกว่านี้พอสมควร แต่ถ้าไม่ไหวจริง ๆ ก็ให้ติดตั้ง firefox-2 ใช้งานไปก่อนได้ ซึ่งเสถียรดีมาก ๆ
  2. Network Manager 0.6.6 ผมเจอปัญหาอันหนึ่งคือ ถ้าต่อเน็ตด้วย ppp ผ่านโทรศัพท์มือถือที่มี EDGE ไม่ว่าจะหมุนเองด้วยคำสั่ง pppd หรือผ่าน network manager applet สถานะของ network จะยังแสดงเป็น offline อยู่ ซึ่งคุณสมบัติหนึ่งของ network manager คือมันใช้ dbus ในการสื่อสารกับโปรแกรมอื่น ๆ ได้ ปัญหาคือ Firefox 3.0 ดันฉลาดเกิน ขอเช็คสถานะเน็ตเวิร์คกับ network manager ผ่านทาง dbus ทุกครั้งที่เปิดโปรแกรม ถ้าเน็ตเวิร์คไม่พร้อม มันจะปรับไปโหมด offline ให้อัตโนมัติ ทีนี้พอใช้ ppp ต่อเน็ต ก็ต้องคอยยกเลิก offline ทุกครั้งไป
    ปัญหานี้ Firefox ไม่รับว่าเป็นบั๊ก แต่โยนไปที่ network manager แทน ซึ่งการขยายขอบเขตการจัดการเน็ตเวิร์คไปถึง ppp นั้น จะอยู่ในแผนของรุ่น 0.7 ซึ่งก็ออกล่าช้าเช่นกัน คนพัฒนาอยู่ Red Hat ซึ่งจะออกมาให้ใช้ทัน Fedora 9 แต่กลับไม่ทันใช้ใน Hardy
    ทางออก มีวิธีเลี่ยงปัญหา โดยยกเลิกการ roaming การใช้ Lan แบบสาย แล้วตั้งให้ใช้ Lan แบบ manual ด้วย dhcp จะทำให้ network manager ไม่มีสถานะ offline อีกต่อไป (ผมใช้วิธีนี้อยู่) ส่วน network manager 0.7 จะไม่ถูกอัพเดทใน Hardy แต่คนดูแลแพกเกจรับรองว่า เมื่อรุ่น 0.7 ออก จะเตรียมไว้ให้ใช้ใน backports
  3. F-Spot ถูกใช้เป็นโปรแกรมหลักสำหรับจัดการรูปภาพในเครื่อง f-spot มีคุณสมบัติเด่น ๆ เรื่องการอัพโหลดรูปภาพไปยังบริการเก็บภาพบนอินเทอร์เน็ตหลายตัวเช่น flickr, picasaweb, gallery และอื่น ๆ อีก จำไม่ได้ละ ในด้านการใช้งานนั้น ดูจงใจให้เหมือน iPhotos ของ Mac ซึ่งก็ทำได้ดีทีเดียว แต่ปัญหาคือยังขาดคุณสมบัติอื่น ๆ ที่เคยมีใน gthumb ที่เป็นตัวหลักใน Ubuntu รุ่นก่อน ๆ เช่นการบราวซ์ดูภาพในโฟลเดอร์ที่ยังดูอืด ๆ แถมมันไม่เรียงลำดับมาให้ และเลือกให้เรียงไม่ได้ด้วย ทำให้เกือบจะไร้ประโยชน์ไปเลยทีเดียว ไม่มีการ prefetch ภาพต่อไปไว้ล่วงหน้า ทำให้ตอนดูภาพต่อไปต้องรอมันประมวลผลสักแป๊บนึงก่อน
    ทางออก ติดตั้งโปรแกรมตัวเก่งอย่าง gthumb หรือ gqview เถอะครับ สำหรับคนที่ชอบจัดภาพไว้ใน directory ด้วยตัวเองอย่างผม แล้วจะพบว่ามันสะดวกขึ้นเยอะเลย โดยส่วนตัวชอบ gqview มากกว่า เพราะเล็กและเร็วดี

วันพฤหัสบดีที่ 17 เมษายน พ.ศ. 2551

Suspend/Hibernate with ATI proprietary driver on Ubuntu Gutsy/Hardy

แล็ปท็อปที่ใช้อยู่นี้ ใช้ชิปแสดงผลเป็น ATI Radeon Xpress 200M ตอนที่ใช้ Ubuntu 7.04 (Feisty) นั้น สามารถ suspend/hibernate ได้ทันทีโดยไม่ต้องตั้งค่าอะไรเพิ่มเติม น่าประทับใจมาก แต่ไปเสียตรงเรื่อง driver ของ wireless ที่ผมใช้นั้นยังไม่เก่ง ตอนนั้นต้องหันไปพึ่ง wifi-radar แทน NetworkManager (บล็อกเก่า) พออัพเกรดมาเป็น 7.10 (Gutsy) ปัญหาเรื่อง wireless + NetworkManager หมดไป แต่มาตายเอาตรง suspend/hibernate กลับไม่ทำงาน คือจริง ๆ แล้วมัน suspend/hibernate ได้ แต่พอเรียกกลับมาก มันค้างไปเลย หน้าจอดำสนิท ต้องปิดแล้วเปิดใหม่เท่านั้น

ตอนแรกไม่รู้วิธีแก้ เลยต้องปิดฟังก์ชันการ supend และ hibernate ไป และต้องปิดเครื่องทุกครั้งที่ไม่ได้ใช้งาน ซึ่งไม่สะดวกเอามาก ๆ

เมื่อราว ๆ 15 ก.พ. 51 เลยลองหาวิธีแก้ดูซักตั้ง มั่ว ๆ ดูใน /etc/default/acpi-support แล้วสำเร็จ แต่ยังไม่ชัดเจนนักว่าเพราะคอนฟิกบรรทัดไหนแน่ หรือรวม ๆ กัน

คราวนี้มาติดตั้ง 8.04 (Hardy) ก็พบปัญหาเดิมอีก วันนี้เลยมาลองค้นหาข้อมูลในเน็ตดูอีกที พบอันนี้เข้า http://wiki.cchtml.com/index.php/Ubuntu_Gutsy_Installation_Guide#Suspend.2FHibernation_work_with_7.12 ตรง ๆ เลย ทำตามแล้วได้ทันที สรุปว่าให้แก้แฟ้ม /etc/default/acpi-support ดังนี้

SAVE_VBE_STATE=false
POST_VIDEO=false

ซึ่งเดิมมันเป็น true ทั้งคู่ แล้ว reboot เครื่อง หรือ sudo /etc/init.d/acpi-support restart ต่อไปก็ใช้ได้เลย

สำหรับผู้ที่ใช้ Gutsy ต้องติดตั้ง radeontool เพิ่มด้วยนะครับ ส่วนใน Hardy นั้นติดตั้งมาพร้อมแล้ว