irpg Community
รวมวิธีแก้ปัญหาภาษาไทย ใน RPG Maker ทุกเวอร์ชั่น - Printable Version

+- irpg Community (https://irpg.in.th)
+-- Forum: irpg Fabella RPG Maker Academia (https://irpg.in.th/forum-4.html)
+--- Forum: The Great RPG Maker Library (https://irpg.in.th/forum-5.html)
+--- Thread: รวมวิธีแก้ปัญหาภาษาไทย ใน RPG Maker ทุกเวอร์ชั่น (/thread-3699.html)



รวมวิธีแก้ปัญหาภาษาไทย ใน RPG Maker ทุกเวอร์ชั่น - OP_Jum_RPG - 02-14-2024

จากที่มีคนถามกันเข้ามาเยอะ เกี่ยวกับปัญหาภาษาไทยในโปรแกรม 
ไม่ว่าจะเป็นภาษาไทยไม่ขึ้น ภาษาไทยเป็นสี่เหลี่ยม (พบใน VX Ace ลงไป)
และปัญหายอดฮิตอย่างปัญหาสระลอยซ้อนกัน หรือสระลอยไม่รวมกับพยัญชนะ 

ซึ่งการเปลี่ยนไปใช้ฟอนต์ที่ไม่มีปัญหานั้นเป็นเพียงวิธีการแก้ไขที่ปลายเหตุ 
และทำให้ไม่สามารถใช้ฟอนต์ที่ต้องการได้
ทางเราได้รวบรวมสคริปต์และปลั๊กอินสำหรับแก้ปัญหาไว้ให้ที่นี่แล้วครับ
****************************************************************************
RPG Maker 2000 และ 2003
๋ฟอนต์ Joker https://www.mediafire.com/file/comsyonh2x91hcr/
ฟอนต์ ฒ ผู้เฒ่า https://www.mediafire.com/file/vcpevx2bku3c31z/


ฟอนต์ ฒ.ผู้เฒ่า จะเป็นการแปลงตัวอักษรภาษาอังกฤษ ให้กลายเป็นตัวอักษรภาษาไทยที่มีสระลอยแทน (จะใช้ภาษาอังกฤษไม่ได้)
สามารถแปลโดยใช้ โปรแกรมแปลฟอนต์ ฒ.ผู้เฒ่า
https://www.mediafire.com/file/z1cdau1znmm

****************************************************************************
RPG Maker XP

เพิ่มเติมจาดดระทู้นี้ http://irpg.in.th/thread-393.html
1. แก้ปัญหาพิมพ์ภาษาไทยในโปรแกรมแล้วกลายเป็นภาษาต่างดาว
[Image: 706iq4um.png]
เนื่องด้วยปัญหา Unicode ของโปรแกรม RPG Maker XP เวอร์ชั่นภาษาอังกฤษ ทำให้ไม่สามารถแสดงผลภาษาไทยในตัวโปรแกรมได้
ซึ่งมีวิธีแก้ไขดังนี้
Show ContentSpoiler:

*** ภาษาต่างดาวนนโปรแกรม ไม่ส่งผลต่อภาษาในเกมนะครับ ***

2. ทำให้ใช้ภาษาไทยในเกมได้
2.1 กรณีสร้างโปรเจ็คต์ใหม่ที่ยังไม่เคยเพิ่มสคริปต์ใดๆ สามารถนำไฟล์ Script.rxdata ตัวเต็ม ไปแทนที่ไฟล์เดิมในโฟลเดอร์ Data ได้เลย
Download Script ภาษาไทย (มาจาก Patch ภาษาไทย 1.01) https://www.mediafire.com/file/u3cf6jyii704vqv/
Download Script ภาษาไทย (มาจาก Patch ภาษาไทย 1.03) https://www.mediafire.com/file/zk06evjot73xtte/

2.2 กรณีที่เป็นโปรเจ็คต์ที่มีการติดตั้งสคริปต์อื่นไว้แล้ว และไม่สะดวกที่จะลงใหม่หมดตามวิธีข้อ 2.1
- แก้ไขที่สคริปต์ทีละตัว หรือก็อปจากสคริปต์ไทยตัวเต็มไปก็ได้
- Script Window_Message https://www.mediafire.com/file/x6n6kcuss5tyke9
- แก้สระลอยตอนตั้งชื่อไทย http://irpg.in.th/thread-2166.html
- ใน Main ให้เพิ่มสองบรรทัดนี้
Code:
$fontface = Font.default_name = "ชื่อฟอนต์"
$fontsize = Font.default_size = ขนาดฟอนต์

- หากมีสคริปต์ตัวใดยังใช้ไม่ได้ อาจเป็นเพราะสคริปต์นั้นๆไม่ได้ใช้ Default Font เราจำเป็นต้องแก้ไขการตั้งค่า Font ในสคริปต์นั้นๆเอง
โดยหาบรรทัดที่หน้าตาประมาณนี้
Code:
self.contents.font.name = $fontface
self.contents.font.size = $fontsize


3. แก้ปัญหาสระลอยซ้อนกัน
เนื่องจากเป็นโปรแกรมเวอร์ชั่นเก่า สคริปต์จึงยังไม่อัพเดทปัญหาที่เกิดกับวินโดว์เวอร์ชั่นใหม่ๆ
ให้ใช้วิธีเปลี่ยนฟอนต์ที่รองรับ เช่น THSarabun แทน
หรือใช้ฟอนต์ XP http://www.mediafire.com/?v67z0aca6i3g666

สคริปต์แก้สระลอย (สำหรับ Window Message)
(จำเป็นต้องลงสคริปต์ภาษาไทยก่อน)
https://pastebin.com/raw/18ivZRtt
(สคริปต์นี้ใช้วิธีการเลื่อนตำแหน่งวรรณยุกต์ให้สูงขึ้น อาจยังไม่สมบูรณ์นัก อยู่ระหว่างการปรับปรุง สามารถปรับแต่งตำแหน่งให้เหมาะสมได้ครับ)  

หรือวิธีแก้อย่างย่อ ให้เพิ่มสคริปต์นี้
Code:
if c == "่" or c == "้" or c == "๊" or c == "๋" or c == "็"
          c_width = contents.text_size(c).width
          nowwidth = self.contents.text_size(phrase).width
          self.contents.draw_text (nowwidth, 32 * y - 8, c_width, 32, c)
          c = ""
        end

ใต้บรรทัดนี้ใน Window_Message
Code:
while ((c = text.slice!(/./m)) != nil)

[Image: gocTXMZm.png]

*********************************************************************************
RPG Maker VX


1. กรณีสร้างโปรเจ็คต์ใหม่ที่ยังไม่เคยเพิ่มสคริปต์ใดๆ สามารถนำไฟล์ Script.rxdata ตัวเต็ม ไปแทนที่ไฟล์เดิมในโฟลเดอร์ Data ได้เลย
Download Patch + Script ภาษาไทย ไฟล์เต็ม
http://www.mediafire.com/file/jadtsi20czxc5k8/

2. กรณีที่เป็นโปรเจ็คต์ที่มีการติดตั้งสคริปต์อื่นไว้แล้ว และไม่สะดวกที่จะลงใหม่หมดตามวิธีข้อ 2.1
- แก้ไขที่สคริปต์ทีละตัว หรือก็อปจากสคริปต์ไทยตัวเต็มไปก็ได้
- ใน Main ให้เพิ่มสองบรรทัดนี้
Code:
$fontface = Font.default_name = "ชื่อฟอนต์"
$fontsize = Font.default_size = ขนาดฟอนต์

- หากมีสคริปต์ตัวใดยังใช้ไม่ได้ อาจเป็นเพราะสคริปต์นั้นๆไม่ได้ใช้ Default Font เราจำเป็นต้องแก้ไขการตั้งค่า Font ในสคริปต์นั้นๆเอง
โดยหาบรรทัดที่หน้าตาประมาณนี้
Code:
self.contents.font.name = $fontface
self.contents.font.size = $fontsize


3. สคริปต์แก้สระลอย (สำหรับ Window Message)
(จำเป็นต้องลงสคริปต์ภาษาไทยก่อน)
https://pastebin.com/raw/SrTsi0i0
(สคริปต์นี้ใช้วิธีการเลื่อนตำแหน่งวรรณยุกต์ให้สูงขึ้น อาจยังไม่สมบูรณ์นัก อยู่ระหว่างการปรับปรุง สามารถปรับแต่งตำแหน่งให้เหมาะสมได้ครับ) 

หรือวิธีแก้อย่างย่อ ให้แก้บรรทัดนี้

Code:
        contents.draw_text(@contents_x, @contents_y, 40, WLH, c)
        c_width = contents.text_size(c).width

เป็น
Code:
c_width = contents.text_size(c).width
        if p == "่" or p == "้" or p == "๊" or p == "๋" or p == "็"
          contents.draw_text(@contents_x + c_width - 2, @contents_y - 4, 40, WLH, p)
        else
          contents.draw_text(@contents_x, @contents_y, 40, WLH, c)
        end


ใน Update Message ของ Window_Message
เหนือบรรทัดนี้
Code:
if @last_c != nil


*********************************************************************************

RPG Maker VXAce

1. กรณีสร้างโปรเจ็คต์ใหม่ที่ยังไม่เคยเพิ่มสคริปต์ใดๆ สามารถนำไฟล์ Script.rxdata ตัวเต็ม ไปแทนที่ไฟล์เดิมในโฟลเดอร์ Data ได้เลย
RPG Maker VX Ace Thai Script ไฟล์เต็ม
https://www.mediafire.com/file/bgnctsvnvma4rjg/

*Patch Thai ของ VXAce ใช้กับเวอร์ชั่นภาษาอังกฤษไม่ได้นะครับ แต่ Data ใช้ได้ครับ

2. กรณีที่เป็นโปรเจ็คต์ที่มีการติดตั้งสคริปต์อื่นไว้แล้ว และไม่สะดวกที่จะลงใหม่หมดตามวิธีข้อ 2.1
- แก้ไขที่สคริปต์ทีละตัว หรือก็อปจากสคริปต์ไทยตัวเต็มไปก็ได้
- ใน Main ให้เพิ่มสองบรรทัดนี้
Code:
$fontface = Font.default_name = "ชื่อฟอนต์"
$fontsize = Font.default_size = ขนาดฟอนต์

- หากมีสคริปต์ตัวใดยังใช้ไม่ได้ อาจเป็นเพราะสคริปต์นั้นๆไม่ได้ใช้ Default Font เราจำเป็นต้องแก้ไขการตั้งค่า Font ในสคริปต์นั้นๆเอง
โดยหาบรรทัดที่หน้าตาประมาณนี้
Code:
self.contents.font.name = $fontface
self.contents.font.size = $fontsize


3. สคริปต์แก้สระลอย
(จำเป็นต้องลงสคริปต์ภาษาไทยก่อน)
สคริปต์แก้สระลอย http://irpg.in.th/thread-1066.html

ถ้าไม่ได้ ให้ลองใช้เวอร์ชั่นที่ผมแก้ไขแล้วแทนครับ 
(สคริปต์นี้ใช้วิธีการเลื่อนตำแหน่งวรรณยุกต์ให้สูงขึ้น อาจยังไม่สมบูรณ์นัก อยู่ระหว่างการปรับปรุง สามารถปรับแต่งตำแหน่งให้เหมาะสมได้ครับ)
https://pastebin.com/raw/uMea62dR


*********************************************************************************
RPG Maker MV

แก้สระลอยตามกระทู้นี้ http://irpg.in.th/thread-2978.html
หากของ จขกท.ใช้ไม่ได้ ให้ลองใช้ของท่าน admanon แทน http://irpg.in.th/thread-2978-post-28988.html#pid28988

*********************************************************************************

RPG Maker MZ

แก้สระลอยตามกระทู้นี้ http://irpg.in.th/thread-3509.html


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++