# แนวทางการออกแบบ และฟังก์ชั่นของระบบ

ระบบภาษาไทยบนลีนุกซ์จะถูกจัดแบ่งออกเป็นระดับ เป็นชั้นๆ โดยที่แต่ละชั้นจะต้อง
มีความเป็นอิสระจากกันมากที่สุด และสิ่งที่อยู่ในลำดับขั้นที่ต่ำกว่าจะนำมาใช้เพื่อ
เป็น resource ให้กับระบบในลำดับขั้นที่สูงกว่า
เนื่องจากการพัฒนาระบบภาษาไทยบนลีนุกซ์ในช่วงแรกนี้ จะทำการพัฒนาบนระบบ
Graphics ซึ่งจะต้องมีความสัมพันธ์กับระบบ X window โดยที่การแก้ไขหรือเพิ่มเติม
API ให้กับ X window จำเป็นจะต้องทำในระดับของ Xlib ทั้งนี้เนื่องจากตามโครงสร้าง
ของ X window นั้น Xlib จะเป็นโครงสร้างในระดับต่ำสุดของระบบ X window ที่
X clients จะใช้ทำการติดต่อกับระดับ X server
ในบางกรณีจำเป็นจะต้องมีการเพิ่มเติมส่วนขยายให้กับระบบของ Xlib ที่มีอยู่แล้ว
ทั้งนี้เนื่องจากการทำงานของระบบจะมีการเปลี่ยนแปลงเมื่อมีการใช้งานภาษาไทย เช่น
การแสดงผลนั้นจำเป็นจะต้องมีการปรับแต่ง ในส่วนนี้จำเป็นจะต้องทำส่วนขยาย
(extension) โดยผ่าน Hooking function
ระบบภาษาไทยจะมีฟังก์ชั่นในการทำงานดังต่อไปนี้

- Level 1:
  ในระดับนี้จะเป็นส่วนแกนของระบบ (CORE system) ซึ่งจะนำมาใช้เป็น resource
  พื้นฐานของระบบ ได้แก่
  1. การรับอินพุตจากคีย์บอร์ด (keyboard input)
  2. ส่วนการแสดงผล
     - normal ไม่มีการจัดระดับสระอย่างถูกต้อง (เป็นแบบ default)
     - extra มีการดักการแสดงผลของสระ
  3. การจัดการเกี่ยวกับฟอนต์ภาษาไทย ทั้ง bitmap, truetype, adobe
  4. การจัดการรหัสภาษาไทย การแปลงรหัสต่างๆ และการใช้รหัสหลัก
     ASCII, มอก., เกษตร, UNICODE
  5. การพิมพ์ภาษาไทยออกทางพรินเตอร์ (ทั้งแบบ dot-matrix และ laser)
- Level 2:
  ในระดับนี้จะเป็นส่วนที่เกี่ยวกับฟังก์ชั่นไลบราลีหรือ API ที่เกี่ยวกับการจัด
  การภาษาไทย (Thai API) เช่น
  1. API สำหรับการ serching text : SearchStr
  API สำหรับการเปรียบเทียบ string : StrCmp
  API สำหรับการจัดลำดับ : Index, Soundex
  API เกี่ยวกับตัวเลขภาษาไทย วันที่ เดือน ตัวเลข การตัดคำ
- Level 3:
  ส่วนของการจัดการและอินเทอร์เฟส ได้แก่
  1. ระบบเมนูภาษาไทย
  2. ระบบให้ความช่วยเหลือเป็นภาษาไทย (HELP)
  3. ดิกชั่นนารีระบบ ไทย/อังกฤษ เอาไว้เป็น resource ของระบบเนื่อง
  4. จากระบบภาษาไทยต้องการ dictionary เข้ามาช่วยเหลือในการ
     ประมวลผล
  5. การคอนฟิกข้อมูลภาษาไทย เช่น วันที่, ระบบเงินตรา, อื่นๆ
- Level 4:
  ส่วนของแอพพลิเคชั่นหลักภาษาไทย (Thai Applications) แอพพลิเคชั่นทั่วไป และ AI
  แอพพลิเคชั่น

HTML developed by Kaiwal Development Team (kaiwal@geocities.com)