พิมพ์เลขไทยในโปรแกรมสำนักงานง่ายๆ

เนื่องจากโดนพาดพิงในบทความ “เลิกใช้ Sarabun IT9 เถิด” ในบรรทัดสุดท้าย เรื่องการพิมพ์เลขไทยในโปรแกรมสำนักงานก็เลยมาเขียนตอบให้ 🙂 โดยปกติการพิมพ์เลขไทยในสมัยโบราณในแป้นพิมพ์ดีดต้องกดแป้นยก เพื่อพิมพ์ตัวอักษรที่อยู่ข้างบนแป้นนั้นๆ ถ้าต้องการพิมพ์เลขไทยยาวๆ ก็กดแป้นยกค้างไว้พิมพ์ไปเรื่อยๆ สำหรับท่านที่ใช้เครื่องคอมพิมพ์เตอร์เป็นเครื่องพิมพ์ดีด ก็จะใช้แป้นพิมพ์ลักษณะเดียวกัน คือกดแป้นยก (ปุ่ม Shift) แล้วกดปุ่มเพื่อพิมพ์ตัวเลขไทย แต่เนื่องจากคอมพิวเตอร์แสดงผลตัวอักษรบนหน้าจอโดยใช้ font (แบบอักษร) ที่อยู่ในรูปแบบของไฟล์ฟอนต์ ทำให้การแสดงผลตัวอักษรบนคอมพิวเตอร์สามารถแสดงผลได้หลากหลาย สามารถใช้ฟอนต์ในเอกสารได้หลากหลาย การทำงานเอกสารจึงเป็นเรื่องง่ายและสะดวกสบาย
แต่การที่เครื่องคอมพิวเตอร์มีแป้น Numeric Keypad ทำให้หลายท่านคิดว่าแป้น Numeric Keypad สามารถพิมพ์เลขไทยได้ เอ่อ… บนแป้นมันเป็นเลขอราบิกมันจะเป็นเลขไทยไปได้อย่างไร ไหนๆ ก็ต้องพิมพ์เลขไทยอยู่แล้วการแสดงผลให้เป็นเลขไทยทั้งเลขอราบิกแท้และเลขไทย แท้ยังไงๆ มันก็ต้องแสดงผลเป็นเลขไทยเพราะฟอนต์ จึงมีคนหัวใสเอาไฟล์ฟอนต์ไปแก้ให้อักษรที่เป็นเลขอราบิกเป็นเลขไทยทั้งหมด ไม่ว่าจะสลับแป้นพิมพ์เป็นอะไรตัวเลขที่ออกมาจะเป็นเลขไทยทั้งหมด อ่ะแน่นอนก็มันมีอักษรที่เป็นเลขไทยในอักษรเลขอราบิกน่ะสิ การทำแบบนี้ทำให้เกิดความสับสนทั้งผู้ที่ไม่มีฟอนต์และผู้ที่มีฟอนต์ ดังปัญหาที่คุณศิระได้นำเสนอไปแล้ว
กลับมาเรื่องการพิมพ์เลขไทยบนเครื่องคอมพิวเตอร์ สำหรับท่านที่ใช้เครื่องคอมพิวเตอร์เป็นเครื่องพิมพ์ดีดท่านจะรู้สึกว่า พิมพ์เลขไทยได้ยากมาก เพราะต้องกดแป้นยกจนเมื่อยมือ 🙂 ซึ่งคิดว่าท่านน่าจะคุ้นชินกับการทำงานบนเครื่องพิมพ์ดีดมากว่า แนะนำให้ท่านพยายามให้ใช้เครื่องคอมพิวเตอร์ให้เป็นเครื่องคอมพิวเตอร์ครับ 🙂 ซึ่งโปรแกรมสำนักงานบนคอมพิวเตอร์มีคุณสมบัติพิเศษต่างๆ ให้เรียกใช้หรือปรับแต่งได้ สำหรับบทความนี้จะกล่าวถึงโปรแกรมสำนักงานแบบโอเพนซอร์สเท่านั้น สำหรับไมโครซอฟต์ออฟฟิสสามารถโทรศัพท์เพื่อสอบถามจากเจ้าหน้าที่ของไมโคร ซอฟต์ (ประเทศไทย) ได้ สำหรับท่านที่ใช้โปรแกรมสำนักงานแบบโอเพนซอร์ส เช่น OpenOffice.org หรือ LibreOffice อ่านต่อกันได้เลย!
โปรแกรม OpenOffice.org หรือ LibreOffice สามารถเรียกใช้การแสดงผลตาม Locale ที่เราตั้งไว้ได้ ให้ดูที่ Language Setting ตั้งค่าไว้ถูกต้องหรือไม่
หน้าจอ Language Setting
หากท่านตั้งค่า Locale ได้ถูกต้องแล้วท่านสามารถใช้เครื่องมือของโปรแกรมสำนักงานในการทำงานกับเลข ไทยได้แล้ว เช่น การเปลี่ยนรูปแบบตัวเลขในโปรแกรมตารางคำนวณ หรือรูปแบบการแสดงผลวันที่ เป็นต้น สำหรับโปรแกรมพิมพ์เอกสาร ท่านที่สามารถพิมพ์เลขไทยได้ง่ายๆ ดังนี้
วิธีที่ 1 ใช้การแสดงผลของ Locale
หากท่านต้องการให้ทั้งเอกสารของท่านเป็นเลขไทยทั้งหมดและสามารถสลับไปมา ระหว่างเลขอราบิกและเลขไทย ให้ท่านตั้งค่าได้ในส่วน Complex Type Layout กำหนด Numeral ให้เป็น System ดังภาพ
Complex Type Layout
ตัวเอกสารเองเป็นเลขอราบิกแบบนี้

เมื่อกำหนดรูปแบบ Numeral ใน CTL จะได้เอกสารหน้าตาแบบนี้

หมายเหตุ วิธีนี้ใช้สำหรับการแสดงผลบนหน้าจอ การพิมพ์ออกทางเครื่องพิมพ์ จัดทำเป็น PDF เท่านั้น ข้อมูลในเอกสารยังคงเป็นเลขอราบิก
วิธีที่ 2 ใช้ Extension
สำหรับเปลี่ยนเลขอาราบิกเป็นเลขไทย ดาวน์โหลดได้ที่ http://www.osdev.co.th/extensions/convert-arabic-number-to-thai-number ติดตั้งโดยใช้ Extension Mananger คุณจะพบว่าโปรแกรมมี Icon เพิ่มขึ้นมา 1 อัน ดังภาพ

คลิกปุ่มเลข ๑ เพื่อใช้เปลี่ยนเลขอราบิกเป็นเลขไทย 🙂
หมายเหตุ วิธีนี้ข้อมูลในเอกสารจะกลายเป็นเลขไทยจริงๆ

Ubuntu ในชีวิตประจำวัน ทำอย่างไร?

คุณใช้ Ubuntu แบบจริงๆ จังๆ มั๊ย เพราะเท่าที่ทราบ ส่วนใหญ่ใช้เพราะความเท่ห์ หรือไม่ก็ว่างๆ ค่อยใช้ หรือไม่ก็เอาไว้โชว์ความเมพ ฯลฯ และเท่าที่ทราบ ส่วนใหญ่ติดพฤติกรรมการใช้งานซอฟต์แวร์บน Windows ดังนั้นการเปลี่ยนมาใช้ Ubuntu หรือ Linux อื่นๆ ทำได้ยากมากๆ หากต้องมาใช้งานจริงๆ จังๆ มักจะมีข้ออ้างสารพัด คุณแปลกในมั๊ยใช้เวลาเห็นคนใช้ Ubuntu แล้วมี Windows อีก 1 พาร์ทิชั่นซึ่ง คุณอาจถามตัวเองว่า เอ๊ะ! ใช้ Ubuntu จริงๆ หรือเปล่า? หรือว่าเพียงแค่ทดลองเท่านั้น? หรือ Ubuntu อย่างเดียวนี่เพียงพอหรือยังสำหรับการทำงานงานหรือใช้งานในชีวิตประจำวัน? งั้นลองมาทำ SAM (Software Asset Management) กันดีกว่า เอาผมเป็นตัวอย่างละกัน 🙂
ซอฟต์แวร์ที่ผมใช้แบ่งออกเป็น 5 กลุ่มใหญ่ๆ คือ
1. โปรแกรมสำนักงาน

  • OpenOffice.org
  • Dia
  • XMind

2. โปรแกรมด้านกราฟิก

  • Font Manager
  • GIMP
  • Inkscape
  • Blender

3. โปรแกรมด้านมัลติมีเดีย

  • Banshee
  • Totem
  • VLC
  • Brasero
  • Deja-dup

4. โปรแกรมด้านอินเตอร์เน็ต

  • Firefox
  • Thunderbird
  • Empathy
  • Gwibber

5. โปรแกรมด้านพัฒนาซอฟต์แวร์

  • Glade
  • Quickly
  • Eclipse PDT
  • MySQL Workbench

ผมมักจะตั้งคำถามหรือสังเกตคนที่ใช้ Ubuntu ว่าเขาจะทำอะไรหลังจากที่ติดตั้ง Ubuntu เสร็จ และทุกรายก็เหมือนๆ กัน คือ ติดตั้งโปรแกรมสามัญประจำเครื่อง คือ ใช้ไม่ใช้ติดตั้งหมด หากดูรายชื่อโปรแกรมข้างต้นที่ผมใช้เชยมากๆ และผมมักติดตั้งโปรแกรมเท่าที่ใช้ อันที่ไม่ได้ใช้ถอดออกไป จริงๆ ครับ ถอดออกให้หมด 🙂 หลังจากติดตั้ง Ubuntu ผมมักจะทำสิ่งนี้
1. เลือก Repository ใกล้บ้าน
2. ถอดโปรแกรมที่ไม่ได้ใช้ออก
3. Update โปรแกรมในเครื่อง
4. ติดตั้ง Repository เพิ่มเติม เช่น GetDeb, Suriyan Repository เป็นต้น
5. Update โปรแกรมรุ่นใหม่จาก getdeb
6. ติดตั้งฟอนต์ไทยจาก Suriyan Repository
7. ตั้งค่า Keyboard Change Layout ผมใช้ Shift-Alt เปลี่ยนภาษา
8. ติดตั้งโปรแกรมที่ต้องใช้เพิ่มเติม ตามรายการข้างต้น
9. ตั้งค่า Firefox ในส่วนการแสดงผลของแบบอักษร mono space
10. ตั้งค่า OpenOffice.org ส่วน Language, Locale, Default Font
11. สำรองข้อมูลแบบอัตโนมัติผ่าน Deja-dup
หลายคนมักตั้งคำถามว่า ทำไมต้องติดตั้งฟอนต์จาก Suriyan Repository ติดตั้งจาก .ttf ก็ได้ คำตอบง่ายๆ ก็คือแพคเกจฟอนต์ใน Suriyan Repository มีการสร้างกฏและคอนฟิกเพื่อการชดเชยฟอนต์ไทยบน Windows ให้เรียบร้อยแล้ว ดังนั้นเอกสารที่ใช้ฟอนต์บน Windows จะสามารถแสดงผลได้ถูกต้องบน Ubuntu 🙂

เรียนออกแบบงาน 3D ด้วย Blender

ช่วงเดือนพฤษภาคมที่ผ่านมาได้ทดลองทำ Render Farm ขนาดย่อมประมาณ 40 เครื่องบน Cloud ทำให้ได้ความรู้อะไรหลายๆ อย่างเกี่ยวกับ Render Farm เทคโนโลยีด้านการประมวลผล รวมไปถึง Render Engine ต่างๆ แต่ที่ค้างคาใจและไม่ได้ลงมือซักที คงเป็นเครื่องของงาน 3D ที่ผมมักเกี่ยงงอนไม่ยอมเล่น จนได้ทดลอง Render Farm และได้ลองเล่น Blender แบบจริงๆ จังๆ เนื่องจากเพื่อน (gumara) ที่ทำงานใช้ Blender คล่องมากๆ เลยได้ที่ปรึกษาในการเล่นและการเรียนลัดในสไตล์ผม คือ เรียนตามบทเรียนในเว็บ ถ้าไม่เข้าใจก็ถามเพื่อนข้างๆ และหาการบ้านมาลองทำฝึกทักษะอย่างสม่ำเสมอ วันนี้ก็เลยจะมารวมลิงค์ที่ผมเข้าไปศึกษาเกี่ยวกับ Blender เผื่อมีท่านใดสนใจอยากจะเรียนรู้ด้วยตัวเองบ้าง

  1. Blender Cookie เว็บนี้เป็นเว็บสอน Blender ตั้งแต่เบื้องต้น มี Tutorial สอนทำภาพ 3D ในแบบต่างๆ ด้วย ใครเป็นมือใหม่เรียน Blender เบื้องต้นได้จากเว็บนี้ครับ
  2. Blender Guru เว็บนี้เป็นเว็บแนว Video Tutorial สอนการทำภาพ 3D ภาพเคลื่อนไหวแอนิเมชั่น มี Trick & Tips ซ่อนอยู่ใน Video Tutorial อยู่ตลอดต้องดูห้ามพลาด
  3. Blender Nation ข่าวสารเกี่ยวกับ Blender โชว์เคสงาน 3D ต่างๆ
  4. Youtube หา Video สอน Blender มีเยอะมากๆ

อ้อเกือบลืมขอปิดท้ายด้วยผลงานที่ได้ไปร่ำเรียนมาดังนี้






แค่นี้ก่อนละกันครับ สำหรับงาน Motion คงอีกซักพักเพราะงาน 3D + Motion นี่ต้องอาศัยทักษะพอสมควร คงต้องศึกษาเพิ่มเติมอีกซักหน่อย 🙂

มาทำ Render Farm สำหรับ Blender กัน

ช่วงนี้มีกลุ่มคลั่งแอนิเมชั่นมาปรึกษาเยอะ แต่ผมไม่ค่อยชอบงานด้านมัลติมีเดียที่เกี่ยวกับภาพ เสียง วิดีโอ สักเท่าไร เคยพยายามทดลองศึกษาแต่ก็ไม่ค่อยเข้าใจนัก ซึ่งคงยังไม่อาร์ตติสพอละมั๊งครับ ถ้าพูดถึงเรื่องซอฟต์แวร์ด้าน 3D แอนิเมชั่น ในกลุ่มโอเพนซอร์สจะต้องบอกว่า Blender! ผมเองไม่ค่อยจะซาบซึ้งกับ Blender เท่าไร ที่พอจะทำได้คือออกแบบ Render Farm เล็กๆ สำหรับไฟล์ .blend ครับ 🙂 ซอฟต์แวร์ที่ผมเลือกมาใช้ทำ Render Farm ขนาดเล็กนี้ได้แก่

  • Debian/Ubuntu
  • Blender 2.5x
  • BRender
  • Apache2
  • PHP5
  • MySQL 5.x

Render Farm ที่เราจะสร้างกันนี้ ใช้แนวคิดแบบ out-of-box ซึ่งมีส่วน Interface บนเว็บสามารถสั่ง Render Job ต่างๆ ได้ง่าย และใช้ตัว Blender เป็นตัว Render Engine เอง ซึ่งหากคุณไม่ชอบ Blender คุณสามารถเปลี่ยน Render Engine เองได้ (แก้โค้ดในส่วน Client เองได้ง่ายๆ) มาดูโครงสร้าง Render Farm กันครับ

จากภาพ เท่าที่ศึกษาการทำงานของคนที่ทำงานด้านกราฟิกพบว่าชอบใช้ Share Storage กันมาก ไม่ว่าจะผ่าน CIFS หรือ SSH ซึ่งโครงสร้าง Render Farm จึงมีส่วน Share Storage สำหรับวางไฟล์ Projects/Senes/Shots (.blend) ซึ่งไม่ว่าจะเป็น Workstation แบบใดก็สามารถเข้าถึงเพื่อวางไฟล์สำหรับรอการ Render ได้ การสั่ง Render สามารถสั่ง Render ผ่านหน้าเว็บซึ่งเป็นตัวจัดการของ BRender ในขณะเดียวกันเราสามารถจัดการ Render Node ผ่านทางหน้าเว็บนี้ได้เช่นกัน มาลงมือกันเลย! ให้คุณติดตั้ง OS อาจจะเป็น Ubuntu หรือ Debian ในเครื่อง Front End และเครื่อง Node ให้เรียบร้อย
ติดตั้งเครื่อง Front End (BRender Server)
ติดตั้ง Apache2, PHP5, MySQL ให้เรียบร้อย

sudo apt-get install phpmyadmin mysql-server

จากนั้นใช้ PHPMyAdmin เพิ่มผู้ใช้ชื่อ brender ให้สามารถเชื่อมต่อเข้ามายัง MySQL จาก Host ใดๆ ได้ ดาวน์โหลด BRender จากเว็บไซต์ http://oenvoyage.github.com/brender/ แตกไฟล์ tar.gz หรือ zip ไปยัง /var/www/brender ตั้งค่า Document Root ไปยัง /var/www/brender
ดาวน์โหลด Render Engine ซึ่งก็คือตัว Blender เองจากเว็บ blender.org มาแล้วคลี่ไฟล์ลงไปที่ /var/www/brender/blender_bin/linux/ จากนั้นเริ่มติดตั้ง BRender กันได้เลย โดยเปิด Browser ไปยังเครื่อง Front End เช่น http://192.168.56.100 เป็นต้น เบราเซอร์จะเปิดโปรแกรมติดตั้ง BRender ดังภาพ

เลือกชนิด OS ให้ถูกต้อง ใส่ชื่อ Host หรือ IP Address ของ MySQL Server ในกรณีนี้เป็น localhost (ฐานข้อมูลอยู่ที่เครื่อง Front End) ใส่ Username และ Password ให้ถูกต้อง คลิกปุ่ม Install BRender โปรแกรมจะติดตั้งฐานข้อมูลที่ต้องใช้และสร้างไฟล์คอนฟิกให้ จากนั้นจะโปรแกรมจะพาเข้าหน้า Overview ดังภาพ

จากหน้า Overview คุณจะพบว่าโปรแกรมจะแจ้งว่า Server Render ตาย (มุมขวาบนตัวสีแดง) และไม่มี Render Node เชื่อมต่ออยู่ (โปรแกรมใช้คำว่า Client) ให้คุณเปิด terminal จากนั้นเข้าไปที่ /var/www/brender พิมพ์คำสั่ง

./brender_server.php

เพื่อเริ่มการทำงานของ Brender Server เมื่อ refresh หน้า Overview อีกครั้งจะไม่พบข้อความเตือนแล้ว

หากคุณใช้ Share Storage ให้คุณสร้าง Directory ชื่อ [ShareDir]/blender เอาไว้แล้วคัดลอก ไดเรคทอรี blend, render, thumbnails ไปยัง [ShareDir]/blender และชี้ลิงค์กลับไปยัง /var/www/brender เหมือนเดิม
ติดตั้งเครื่อง Render Node (ทำเหมือนกันทุกเครื่อง)
เมื่อติดตั้ง Ubuntu หรือ Debian เรียบร้อยแล้วให้ติดตั้ง PHP5, MySQL Client ให้เรียบร้อย จากนั้น mount ไปยัง Share Directory ที่เครื่อง Front End โดยให้ mount point ชื่อเดียวกันเช่น [ShareDir]/blender คุณจะพบไดเรคทอรี blend, render และ thumbnails อยู่ในนั้น จากนั้นให้คัดลอกไฟล์ brender จากเครื่อง Front End ที่ /var/www/brender ไปยังเครื่อง Render Node ตั้งค่าคอนฟิก /var/www/brender/connect.php ของ BRender ให้ถูกต้อง
เพิ่ม Render Node ให้ BRender Server
คลิกที่เมนู Client ของ BRender เพิ่ม Render Node (Client) คลิกปุ่ม Add New Client กรอกชื่อ Client เลือกระบบปฏิบัติการให้ถูกต้อง ดังภาพ

แล้วคลิกปุ่ม Add New Client โปรแกรมจะกลับมาที่หน้า Client พร้อมรายงานสถานะ Client ชื่อ Node01 ว่า not running แถบสถานะจะเป็นสีส้ม ดังภาพ

ให้เพิ่ม Client ไปจนครบตามจำนวนที่ต้องการ จากนั้นสั่งใช้ Brender Client ในทุกๆ Node ด้วยคำสั่ง ./brender_client.php <ชื่อ Client ที่เพิ่มลงใน BBrender Server> เช่น

./brender_client.php node01

ให้ refresh หน้า Client จะพบว่าสถานะ Client เป็น running แถบสถานะเป็นสีเขียว ถือว่าใช้ได้

ทดสอบการ Render จาก BRender Benchmark
คลิก Menu Setting คลิกปุ่ม New Project ใส่ชื่อ Project กำหนด path ของไฟล์ .blend และ path ของผลการ render ซึ่งก็คือ Share Storage ที่เราใช้นั่นเอง ของผมใช้ /blender/blend, /blender/render ครับ 🙂

เมื่อเพิ่ม Project เรียบร้อยแล้วจะพบว่ามีรายชื่อ Project ดังภาพ

เมื่อเพิ่ม Project เรียบร้อยแล้ว ให้คุณเพิ่ม job เพื่อสั่ง render ไฟล์ .blend ได้ดังนี้ คลิกไปที่เมนู New Job เลือก Project เลือก Scene และ Shot ที่ต้องการ render กำหนดรูปแบบไฟล์ output ค่าคอนฟิก เฟรมเริ่มต้น เฟรมสิ้นสุด ดังภาพ

จากนั้นคลิกปุ่ม Start job โปรแกรมจะกลับมาที่หน้า Overview อีกครั้งพร้อมรายการ job คลิกปุ่ม Play เพื่อเริ่มการ render สภานะจะเป็นสีฟ้า และมีภาพ thumbnails แสดง frame ที่ render ล่าสุดออกมาให้ดูดังภาพ

ผลลัพท์ที่ได้จากการ render จะได้ดังภาพ

เล่น Karaoke บน Linux

พี่ที่ทำงานไม่ยอมเปลี่ยนมาใช้ Linux สักทีเพราะเหตุผลหลายอย่าง แต่ที่สำคัญที่สุดคือร้อง Karaoke ใช่ครับ ร้อง Karaoke เป็นชีวิตจิตใจ 🙂 ซึ่งต่างจากเหตุผลของหลายๆ คน เช่น เล่นเกมส์ไม่ได้ เล่นโน่นนี่นั่นไม่ได้ ฯลฯ ซึ่งปัญหา Karaoke นี้แก้ไขได้หลายวิธีเช่น ใช้ Wine กรณีที่เป็นโปรแกรมเล่นบน Windows ใช้ DOS Box เล่น Karaoke บน DOS เป็นต้น แต่ในกรณีนี้ใช้วิธีข้างต้นได้ยากมาก เพราะหลายขั้นตอนทำให้การเปลี่ยนมาใช้ Linux ได้ยากมากขึ้นด้วย เพราะ Karaoke เป็นชีวิตจิตใจ 😛 จากการค้นหา (ขุด) จาก Web Board ก็พบว่ามีหลายวิธีมากและวิธีที่พบว่าดีที่สุดคือใช้โปรแกรม ncnp karaoke ของคุณ Dreamer จากเว็บ Ubuntu Club
วิธีการติดตั้งง่ายมากครับ เพียงแต่ดาวน์โหลด .deb ไฟล์จากเว็บข้างต้น

wget http://forum.ubuntuclub.com/forum?action=dlattach;topic=18825.0;attach=11765

จากนั้นสั่งติดตั้งด้วย gdebi

sudo gdebi ncnp_1.0.1_all.deb

gdebi จะดาวน์โหลด dependency อื่นๆ มาด้วย เมื่อติดตั้งเสร็จโปรแกรมจะอยู่ที่ Applications > Sound & Video > NCN Karaoke Player เปิดโปรแกรมขึ้นมาแล้วเริ่มตั้งค่ากันได้เลย ให้คลิกขวาที่พื้นหลังของโปรแกรม จะมี popup menu ขึ้นมาให้เราเลือกครับ
อันดับแรกตั้งค่า Song Directory กันก่อน Song Directory นี้คือ Directory ที่มี Directory ย่อยๆ อยู่ข้างในดังนี้ Song, Lylics, Cursor

โปรแกรมจะทะยอยสร้างรายการเพลง ใครมีเพลงมากหน่อยก็ใช้เวลานานสักหน่อยครับ เมื่อโปรแกรมทำรายการเพลงเสร็จ ก็มาตั้งค่า SoundFront Directory ดังภาพ (สำหรับท่านที่ใช้ NCN Karaoke จะมีมาให้อยู่แล้วในแผ่น)

เท่านี้ก็ใช้งานได้แล้ว มาร้องเพลงกันได้ โอ้ววววว เย้!