วันอังคารที่ 17 ตุลาคม พ.ศ. 2549

Thai Localization for OLPC

เป้าหมาย


ทำให้การแสดงผล (output) และป้อนข้อมูล (input) ภาษาไทยทำงานได้สมบูรณ์


Tasks




  • Thai Infrastructure



    • สร้าง locale-data ภาษาไทย:
      # localedef -f UTF-8 -i th_TH th_TH.utf8


    • กำหนดให้ใช้ Locale ไทย:สร้างไฟล์ /etc/sysconfig/i18n ให้มีบรรทัดนี้
      LANG=th_TH.utf8


    • กำหนด local time ให้เป็นประเทศไทย:
      # rm /etc/localtime
      # ln -s /usr/share/zoneinfo/Asia/Bangkok /etc/localtime





  • Thai Output Method



    • จัดทำแพกเกจฟอนต์ไทยให้เหมาะกับ OLPC โดยต้องปรับแต่งการแสดงผลให้สวยงามฟอนต์ที่ใช้เลือกฟอนต์ชุด thaifonts-scalable ที่ TLWG ได้รวบรวมไว้ และมีการปรับปรุงให้สมบูรณ์ที่สุดที่มีในขณะนี้ โดยเมื่อนำมาทำเป็นแพกเกจไบนารี่ ได้เปลี่ยนชื่อแพกเกจเป็น fonts-thai-ttf เพื่อให้สอดคล้องกับชื่อฟอนต์อื่นๆ ใน Fedora Core นอกจากนี้ ใน OLPC ตัดการสนับสนุนฟอนต์วิธิเก่า มาใช้ xft, fontconfig อย่างเดียว จึงต้อง patch บางส่วน เพื่อให้ไม่ต้องพึ่งแพกเกจ ttmkfdir, mkfontscale, chkfontpathการปรับแต่งการแสดงผลให้สวยงาม ได้จัดทำไฟล์ 66-thai-ttf.conf สำหรับ fontconfig เพื่อให้มีการตั้งค่าฟอนต์ให้ถูกต้องตามที่ต้องการ ได้แก่ ตั้งค่า prefer เพื่อให้เลือกใช้ฟอนต์ Loma เป็นฟอนต์หลัก สำหรับฟอนต์ในกลุ่ม sans-serif และ serif, และ TlwgTypewriter สำหรับฟอนต์ในกลุ่ม monospace และกำหนดให้ฟอนต์เหล่านี้ไม่ต้องใช้ฟีเจอร์ Autohint, Hinting และ Embededbitmap

    • ตั้งค่าใน xulrunner:เพิ่มบรรทัดต่อไปนี้เข้าไปที่ /usr/lib/xulrunner-1.8.0.4/defaults/pref/xulrunner.js
      pref("font.minimum-size.th", 13);
      pref("font.default.th", "sans-serif");
      pref("intl.accept_languages", "th,en-us,en");
      pref("intl.charset.default","TIS-620");

      ส่วนชื่อฟอนต์ไม่ต้องกำหนด เนื่องจากได้ prefer ไว้ที่ fontconfig แล้ว


    • ทำแพกเกจ pango-libthaiแพกเกจนี้จะทำให้ pango สามารถตัดคำภาษาไทยได้ ซึ่งต่อไป xulrunner ของ OLPC จะใช้ pango ก็จะทำให้ xulrunner ตัดคำไทยได้เช่นกัน




  • Thai Input Method



    • ตั้งค่าคีย์บอร์ดภาษาไทยบน X:เพิ่ม Option เหล่านี้เข้าไปในไฟล์ /etc/X11/xorg.conf ใน section "InputDevice" ของ keyboard
      Option      "XkbLayout" "us,th"
      Option "XkbVariant" ",tis"
      Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"

      โดยแป้นพิมพ์ของ OLPC จะ screen layout แบบ มอก.820.2538 ส่วนปุ่มสำหรับสลับภาษา จะมีแยกต่างหากเป็นปุ่มพิเศษ ซึ่งยังไม่มีข้อมูลว่าจะสลับอย่างไร ในตอนนี้เลยใช้ alt_shift ไปก่อน


    • จัดทำแพกเกจ gtk-im-libthaiการทำแพกเกจ gtk-im-libthai จำเป็นต้องทำแพกเกจ libdatrie และ libthai เข้าไปด้วย เนื่องจากจำเป็นต้องใช้ โดยมีการ patch เล็กน้อย เนื่องจากคำสั่ง gtk-query-immodules-2.0 นั้น บน Fedora ต้องพ่วง -32 ต่อท้ายเข้าไปด้วย เป็น gtk-query-immodules-2.0-32โดย libdatrie และ libthai ใช้รุ่นล่าสุดที่คุณเทพพิทักษ์ได้พัฒนาขึ้น อ้างจากบล็อก http://thep.blogspot.com/2006/10/libthai-lexitron-dictd-deb.html ส่วน gtk-in-libthai และ pango-libthai ก็เป็นงานของคุณเทพพิทักษ์ด้วยเช่นเดียวกัน



ไม่มีความคิดเห็น :

โพสต์ความคิดเห็น