ทำไมแก้ไข PDF ภาษาไทยแล้วตัวอักษรมักจะเพี้ยน
ภาษาไทยเป็นอักษรที่มีสระและวรรณยุกต์ "ซ้อนตำแหน่ง" กับพยัญชนะ เช่น เ-ตี-๋-ย-ว (เตี๋ยว) หรือ เ-ก-ี-๊-ย-ว (เกี๊ยว) ซึ่งสระและวรรณยุกต์เหล่านี้ไม่มีความกว้างของตัวเอง (zero-width) ต้องถูกวางซ้อนในตำแหน่งที่ถูกต้องเหนือ/ใต้พยัญชนะหลัก
เครื่องมือแก้ไข PDF ส่วนใหญ่ที่สร้างขึ้นมาแบบทั่วไป (ไม่เฉพาะเจาะจงภาษาไทย) มักจะ "วาง" ตัวอักษรแต่ละตัวเรียงต่อกันตามความกว้างมาตรฐานของฟอนต์ โดยไม่รู้ว่าตัวไหนเป็นสระ/วรรณยุกต์ที่ต้องซ้อน ผลคือ:
- สระลอยห่างจากพยัญชนะ เกิดช่องว่างแปลกๆ ระหว่างตัวอักษร
- วรรณยุกต์เลื่อนตำแหน่งผิด ซ้อนทับตัวอื่นหรือหายไป
- คำที่มีสระ/วรรณยุกต์หลายชั้นซ้อนกัน เช่น "ก๋วยเตี๋ยว" หรือ "เกี๊ยว" จะเสียหายชัดเจนที่สุด
เบื้องหลังทางเทคนิค: text shaping คืออะไร
การจัดวางตัวอักษรภาษาไทย (และภาษาอื่นที่มีอักษรประกอบ เช่น อาหรับ หรือฮินดี) ให้ถูกต้อง ต้องผ่านขั้นตอนที่เรียกว่า text shaping — เอนจินจะอ่านฟอนต์เพื่อหาตำแหน่ง glyph ที่แท้จริงของสระ/วรรณยุกต์แต่ละตัว (ค่า x-offset, y-offset และ advance width ที่เป็นศูนย์สำหรับตัวที่ต้องซ้อน) แล้ววาดกราฟิกตามตำแหน่งนั้นทีละตัวอักษร แทนที่จะเรียงต่อกันตามลำดับ Unicode ตรงๆ
เครื่องมือ PDF ทั่วไปจำนวนมากไม่ได้ทำขั้นตอนนี้ให้ภาษาไทยโดยเฉพาะ จึงเกิดปัญหาตามที่อธิบายไปข้างต้น แม้แต่ฟีเจอร์ "กรอกฟอร์ม" (AcroForm) ในบางเครื่องมือก็ยังใช้การจัดวางตัวอักษรแบบง่ายที่ไม่รองรับการซ้อนสระ/วรรณยุกต์ ทำให้ข้อความในช่องฟอร์มเพี้ยนได้ทั้งที่ข้อความปกติ (ที่วาดด้วยเอนจิน shaping ที่ถูกต้อง) ในหน้าเดียวกันกลับถูกต้องดี
วิธีแก้ไขให้สระ/วรรณยุกต์ไม่เพี้ยน
สรุปสั้นๆ ว่าต้องมี 2 อย่างไปพร้อมกัน:
- เอนจิน text shaping เฉพาะภาษาไทย ที่คำนวณตำแหน่ง glyph จริงจากฟอนต์ (เช่น fontkit) แทนการเรียงตัวอักษรแบบ Unicode ตรงๆ
- วาด glyph ทีละตัวตามตำแหน่งที่คำนวณได้ ลงในไฟล์ PDF โดยตรง ไม่ใช่ปล่อยให้ไลบรารีมาตรฐานจัดการเอง
เว็บแก้ไข PDF ของเราใช้วิธีนี้ทั้งตอนเพิ่มข้อความใหม่ แก้ไขข้อความเดิม และตอนนี้รวมถึงช่องฟอร์ม (AcroForm) ด้วยแล้ว — ทดสอบกับคำที่ซับซ้อนที่สุดอย่าง "ก๋วยเตี๋ยวน้ำตก" "ไก่ย่างเกี๊ยวซ่า" ก็ยังเรนเดอร์ถูกต้องทุกตัว รวมถึงทดสอบกับไฟล์ PDF ราชการจริงที่มีฟอนต์และโครงสร้างฟอร์มหลากหลายแบบ
ถ้าคุณกำลังมองหาเครื่องมือแก้ไข PDF ภาษาไทยที่มั่นใจได้ว่าสระและวรรณยุกต์จะไม่เพี้ยน ลองเปิดไฟล์ PDF ของคุณที่หน้าแรกของเว็บนี้ดูได้เลย ฟรี ไม่ต้องติดตั้งโปรแกรม