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


การพัฒนาให้ใช้ภาษาไทยได้ตรงนี้เริ่มมาตั้งแต่ Android แจก Source Code ทำให้นักพัฒนาหลายคนไม่ว่าจะเป็น @kengggg, @chanwit รวมทั้งผมเองไม่รอช้าที่จะดาวน์โหลดซอร์สขนาด 1.6 GB นี้มาคอมไพล์

หลังจากคอมไพล์สำเร็จ สิ่งแรกที่ทุกคนทำโดยไม่ได้นัดหมายคือใส่ฟอนต์ภาษาไทยเข้าไปในไฟล์ฟอนต์ของแอนดรอยด์อย่าง DroidSans.ttf และนี่เองเป็นที่มาของชื่อเว็บแห่งนี้

ส่วนตัวผม ผมได้ลองยัดฟอนต์ Tahoma เข้าไป ได้ผลออกมาเป็นแบบนี้

จะเห็นว่ายังมีบางส่วนที่เป็นสี่เหลี่ยมอยู่ อันนี้เพราะว่ายังมีไฟล์ฟอนต์ที่ต้องแก้ไขอยู่อีกหลายตัวเช่น ฟอนต์ตัวหนา ฟอนต์ตัวเอียง เป็นต้น ซึ่งตรงนี้ทางคุณ @chanwit ได้แก้ไขฟอนต์ทั้งหมดเสร็จเป็นคนแรก โดยเลือกใช้ฟอนต์ Loma มา ถือว่าสวยมากทีเดียว ^^ (และไม่มีปัญหาเรื่องลิขสิทธิ์ด้วย)

ดูเผินๆอาจจะโอเคแล้ว แต่จริงๆถ้าสังเกตดีๆจะยังมีปัญหาเรื่องสระลอยอยู่ ตรงนี้ช่วยกัน Track ไปมาจนเจอส่วนที่ต้องแก้ไขใน sgl จึงทำการแก้ไขกันไป จนเสร็จเกือบสมบูรณ์

สระไม่ลอยแล้ว สระอำสำหรับอักษรหางยาวก็แสดงผลได้ถูกต้อง

ญ ฐ ก็ไม่มีปัญหา

ที่บอกว่า”เกือบ”สมบูรณ์ก็เพราะว่ายังมีอยู่สองคำที่ไม่ครอบคลุมคือ เกื็อก (มีไม้ไต่คู้อยู่บนสระอือ) เห็นทางคุณเก่งบอกว่าเป็นคำที่ใช้ในชนกลุ่มน้อย แล้วก็มีคำว่า กิสมิํ (มีนิคหิตอยู่บนสระอิ) ตรงนี้ยังแก้ไขไม่ได้เนื่องจากฟอนต์ไม่อำนวย ไว้ก่อนนะคร้าบบบบ

เผอิญมี G1 อยู่ในมือก็เลยคว้ามันมายัดฟอนต์และส่วนแก้สระลอย (libsgl) ใส่ดูจึงได้ผลดังนี้…

โอเคเลยครับ ทุกอย่างสวยงาม

ก็ถือเป็นข่าวดีสำหรับคนที่รอ Android Phone อยู่ เพราะมีโอกาสที่มันจะใช้ภาษาไทยได้ในเครื่องรุ่นถัดๆไป เอ๊ะ… ทำไมถึงแค่มีโอกาส? ก็เห็นๆว่าใช้ได้แล้วหนิ? ใช่ครับ มันใส่ได้แล้ว แต่นี่ผมใส่แบบแฮคเข้าไป ครั้นจะให้มันไปรวมกับ OS เลยทางทีมแอนดรอยด์ก็ไม่ยอม พวกผมกำลังปวดหัวกับการต่อสู้กับทีมแอนดรอยด์อยู่ เนื่องจากภาษาไทยเป็นภาษาที่ซับซ้อนและต้องมีสคริปต์ในการเลือกว่าจะนำ Font Glyph ตัวไหนมาแสดง ไม่ได้ตรงไปตรงมาเหมือนภาษาอังกฤษ ทำให้ทางนั้นไม่อาจยอมรับการนำสคริปต์ตรงนี้ไปใส่ใน Android Core ได้ เพราะจะทำให้ระบบโดยรวมช้า

ก็เข้าใจเค้าครับ แต่ทุก OS มันมี Preprocessor ตรงนี้อยู่แล้ว ถ้าไม่มีก็ไม่อาจจะเป็น OS ที่สมบูรณ์ได้ ก็จะพยายามแก้ไขทุกวิถีทางจนกว่าเค้าจะยอมรับได้ ตรงนี้ก็จะคอยรายงานสถานการณ์เรื่อยๆละกันครับ ขอบคุณคุณ @chanwit มากที่ไม่ย่อท้อ 😉

จบ Entry นี้ไปก่อน Entry หน้าจะมาพูดเรื่องระบบการพิมพ์ภาษาไทยครับซึ่งใช้งานได้สมบูรณ์แล้ว รอติดตามครับ 😉