Wednesday, July 7, 2010

E6 Mod Guide 4 ; การเพิ่มเมนูภาษาไทย และคีบอร์ดภาษาไทย



การทำงานในส่วนนี้ผมจะแนะนำวิธีการทำงานอย่างง่ายๆ นั่นคือ การนำไฟล์ที่เกี่ยวข้องไปวางทับใน F/W ที่ต้องการแก้ไข โดยผมได้เตรียมไฟล์ที่จำเป็นไว้ให้แล้ว ซึ่ง download ได้จากด้านท้ายบทความนี้ พร้อมกับโปรแกรมที่จำเป็นต้องใช้งาน การแก้ไข F/W ในส่วนนี้สามารถทำได้ใน PC ที่ลง Windows (Xp) (ยังไม่เคยลองทำใน Win7)

สิ่งที่ต้องมี

โปรแกรม EZXCode (คลิกเพื่อดาวโหลด)

ค่า config เครือข่ายข้อมูลไทย (edge/gprs) (คลิกเพื่อดาวโหลด)

Thaifont (คลิกเพื่อดาวโหลด)

Thai keyboard (คลิกเพื่อดาวโหลด)

อื่นๆ (ต้องหาเอง)

โปรแกรม text editor เช่น Edit Plus, (ไม่แน่นำให้ใช้ Notepad ถึงแม้จะใช้ได้ แต่การขึ้นหน้าและย่อหน้าที่ไม่ค่อยสละสลวยทำให้อ่านลำบาก)

โปรแกรมตกแต่งภาพ เช่น Adobe Photoshop,

ดูเพิ่มเติม

การแตกไฟล์ .sbf ด้วยโปรแกรม EZXCodec (E6 Mod Guide 1)

การรวมไฟล์ (compile) ไฟล์ CG เป็น .smg และ การ compile ไฟล์ .smg เป็น.sbf (E6 Mod Guide 2)

โครงสร้างไฟล์ .sbf (E6 Mod Guide 2)

เริ่มต้นแก้ไข

ผมแบ่งการแก้ไขเป็น 3 ส่วนดังนี้ คือ การทำเมนูภาษาไทย, การทำให้รองรับการพิมพ์ไทย, และการใส่เครือข่ายข้อมูล (edge/gprs) สำหรับ operators ในไทย (AIS, DTAC, True Move)

การใส่เมนูภาษาไทย

1. แตกไฟล์ sbf ด้วยโปรแกรม EZXCodec เก็บไฟล์ที่แตกแล้วไว้ใน folder ที่ชื่อ MyE6Edit (หรือจะตั้งเป็นชื่ออื่นก็ได้)

2. ดับเบิ้ลคลิกที่โฟลเดอร์ MyE6_Edit และตามด้วย Cramfs-root-CG41

3. ก๊อปปี้ไฟล์อักษร (AMCSL.TTF และ fontdef.cfg) ที่ผมเตรียมให้ไปใน \MyE6Edit\Cramfs-root-CG41\fonts (กดปุ่ม Yes หากมีข้อความถามว่าจะวางทับไฟล์ที่มีอยู่ก่อนหรือไม่)

4. นำโฟลเดอร์ th ที่ผมเตรียมให้ ไปวางใน MyE6Edit\Cramfs-root-CG41\string หากไม่ต้องการเมนูภาษาอื่นให้ลบโฟลเดอร์ที่มีอยู่ใน String นี้ออก คงไว้แค่ en-gb และ th

5. หากต้องการแค่ใส่เมนูภาษาไทยก็สั่ง compile CG41 ได้เลย แต่หากต้องการทำให้ F/W รองรับการพิมพ์ไทยด้วย ให้ทำขั้นตอนถัดไปก่อน เสร็จแล้วค่อยคอมไพล์ทีเดียว

การทำให้รองรับการพิมพ์ไทย

1. ก่อนอื่นต้องตรวจสอบว่าได้นำ font ที่รองรับภาษาไทย (AMCSL.TTF และ fontdef.cfg ที่ผมเตรียมให้) ไปใส่ไว้ใน \MyE6Edit\Cramfs-root-CG41\fonts แล้ว

2. ไปที่ \MyE6Edit\Cramfs-root-CG41\ แล้วลบ Folder ที่ชื่อ inputmethods ออก นำ Folder ชื่อเดียวกันนี้ที่ผมเตรียมไว้ให้ไปวางแทน (ต้องลบของเก่าออกก่อน)

3. ตรวจสอบดูว่า F/W ที่ได้มามีไฟล์คีบอร์ดภาษาไทยมาด้วยหรือไม่ โดยการแตกไฟล์ iconres.ezx ซึ่งอยู่ที่ MyE6Edit\ cramfs-root-CG34\icon ด้วยโปรแกรม EZXCodec

4. ขั้นตอนการแตกไฟล์ iconres.ezx ด้วยโปรแกรม EZXCodec (ดูเพิ่มเติมคลิก)

4.1 เลือก working directory เป็น MyE6Ddit

4.2 คลิกแท๊บ Motoskin

4.3 ตรงช่อง Original Motoskin file คลิกที่ปุ่ม .... (ด้านขวา) จะมีหน้าต่าง Open ปรากกขึ้นมา จากนั้นเลือกไฟล์ iconres.ezx โดยเปิดไปที่ cramfs-root-CG34\icon\iconres.ezx (กดปุ่ม Open)

4.4 กลับมาที่โปรแกรม EZXCodec คลิกปุ่ม Open และตามด้วยปุ่ม Extract รอจนกระทั่งโปรแกรมแตกไฟล์ iconres.ezx เสร็จ



5. ไปที่ folder \MyE6Edit จะพบ folder ที่ถูกสร้างขึ้นใหม่ ชื่อ motoskin ดับเบิลคลิกเข้าไป แล้วมองหาไฟล์ (5 ไฟล์) ชื่อ InputW_HWR_THAI.gif, InputW_HWR_THAI_4.gif, InputW_KB_THAI.gif InputW_KB_THAI_Caps.gif และ InputW_Symbol_THAI.gif เมื่อเปิดดูด้วยโปรแกรมดูภาพแล้วจะพบเป็นรูปคีบอร์ดภาษาไทย (ดังรูปประกอบ) หากไม่เจอไฟล์ที่กล่าวมานี้ ให้นำไฟล์คีบอร์ดภาษาไทยที่ผมเตรียมให้ใส่เข้าไปใน motoskin จากนั้นแพคกลับเข้าเป็นไฟล์ iconres.ezx เช่นเดิม ดังนี้

5.1 ที่ช่อง Working directory เลือกไปที่ MyE6_Edit

5.2 ช่อง Original Motoskin file คลิกที่ปุ่ม ... หน้าต่าง Open จะปรากฏขึ้น แล้วเปิดไฟล์ชื่อ iconres.ezx ซึ่งอยู่ใน cramfs-root-CG34\icon\iconres.ezx เสร็จแล้วคลิกปุ่ม Open

5.3 เมื่อกลับมาที่โปรแกรม EZXCodec คลิกปุ่ม open เพื่อให้โปรแกรมอ่านไฟล์

5.4 จากนั้นมองดูที่ช่อง New Motoskin file เลือกแหล่งที่เก็บไฟล์ iconres.ezx ตัวใหม่ แนะนำให้เลือกโฟลเดอร์ MyE6_Edit ซึ่งเป็นโฟลเดอร์เดียวกับ Working directory (ปกติโปรแกรมจะตั้งให้อัตโนมัติแล้ว)

5.5 กดปุ่ม compile รอสักครู่ให้โปรแกรมทำการรวมไฟล์

6. ไปที่ folder MyE6_Edit จะพบไฟล์ใหม่ชื่อ new_iconres.ezx ให้ทำการเปลี่ยนชื่อไฟล์เป็น iconres.ezx ทำการ copy แล้วนำไปวางทับใน cramfs-root-CG34\icon คลิกปุ่ม Yes เมื่อมีข้อความถามว่าจะวางทับไฟล์เดิมที่มีอยู่แล้วหรือไม่

7. คอมไพล์ CG34 (ดูเพิ่มเติมเรื่อง การ compile CG ให้เป็น CG.smg (E6 Mod Guide 2)

7.1 ที่ช่อง working directory ให้เลือกเป็น MyE6_Edit

7.2 คลิกที่แท็บ CramFS ที่ช่อง Original CramFS file ให้ติกทำเครื่องหมายหน้าข้อความ From Working directory ช่องตัวเลือก (drop down menu ) หลังข้อความเดียวกันเลือก CG34

7.3 คลิกปุ่ม Open และตามด้วยปุ่ม Compile (ระวังอย่างกดปุ่ม Extract ในขั้นตอนนี้ เพราะจะทำให้ไฟล์ข้อมูล CG34 ที่เราแก้ไขแล้วถูกเขียนทับด้วยอันเดิม แต่ถ้าเผลอกดไปแล้วก็มานั่งแก้ไขใหม่ได้)

8. เสร็จสิ้นขั้นตอนการทำให้ F/W รองรับการพิมพ์ไทย และทำการ compile CG41 ซึ่งจะได้ไฟล์ใหม่ชื่อ CG41_new.smg (ดูรายละเอียดเรื่อง compile CG)

การใส่เครือข่ายข้อมูลไทย

การใส่เครือข่ายข้อมูลไทยเพื่อให้โทรศัพท์สามารถใช้ edge/gprs ได้

1. ไปที่ MyE6_Edit\ cramfs-root-CG42 ลบ folder ชื่อ connection ออก แล้วนำ folder เดียวกันนี้ที่ผมเตรียมให้ไปใส่แทน

2. นำไฟล์ devdetail.wbxml และ ezx_connection.cfg วางใน cramfs-root-CG42 กดปุ่ม Yes เมื่อมีข้อความถามว่าต้องการวางทับไฟล์ที่มีอยู่เดิมหรือไม่

3. เสร็จสิ้นการใส่เครือข่ายข้อมูลไทย หากท่านต้องการแก้ไขค่า config ต่างๆ ของเครื่อง เช่น เวลามาตรฐานโลก จำนวนจุดทศนิยมของ fmradio , การส่ง sms, การเก็บข้อมูลในสมุดโทรศัพท์, ท่านสามารถแก้ไขได้ที่นี่ โดยไฟล์ที่แก้ไขได้ส่วนใหญ่จะขึ้นต้นด้วย ezx_ และนามสกุล .cfg

4. ทำการ Compile CG42 (ดูเรื่องการคอมไฟล์ CG ให้เป็น .smg ใน E6 Mod Guide 2 ; แนะนำโปรแกรม EZXCode สำหรับแก้ไข Moto E6's Firmware (ภาค 2))

ขั้นตอนสุดท้าย คือการ Compile ไฟล์ .smg ให้เป็น .sbf ก็จะได้ไฟล์ Firmware ตัวใหม่ที่ท่านได้ใส่ภาษาไทยด้วยฝีมือตัวท่านเอง จากนั้นก็ Flash ลงสู่ E6 ได้

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

ขอให้โชคดีครับ