แก้ปัญหาการแสดงภาษาไทยของ Java Application บน Mac OSX 10.9 Maverick

ตั้งแต่ที่ทาง Apple ออกตัว Mac OSX ตัวใหม่คือ 10.9 Maverick ออกมานั้น หลายๆมีการพัฒนาขึ้น แต่บางตัวก็เกิดปัญหาใหม่ขึ้นเหมือนกัน อย่างเช่น โปรแกรมที่พัฒนาด้วยภาษาจาวาเกือบทั้งหมดในเครื่องผม ที่ต้องมีการแสดงภาษาไทยในโปรแกรม ปรากฏว่าแสดงเพี้ยนหมดเลย ซึ่งอาการเพี้ยนก็คือ มีปัญหาการแสดงตัวอักษรที่อยู่ระดับบนและล่างของสระต่างๆ คือแทนที่มันจะไปอยู่ข้างบนตัวอักษร แต่ดันไปอยู่ด้านข้างตัวอักษรซะนี่ ตามตัวอย่างในรูป

Problem of Thai font on 10.9

แบบนี้ก็งานเข้าสิครับ เพราะว่าผมเขียนโปรแกรมขายและลูกค้าส่วนใหญ่เป็นคนไทย ก็ต้องพิมพ์ภาษาไทยด้วย และโดยเฉพาะอย่างยิ่ง ตัวผมเองซึ่งก็มีโปรแกรมหลายตัวที่เขียนใช้เอง แล้วต้องมีภาษาไทยแบบนี้ ทำให้ต้องหาวิธีแก้ไข

หลังจากถามอากู๋ซักพักใหญ่ ก็พบว่า ปัญหามันเกิดจาก Font ภาษาไทยตัวที่มากับ 10.9 นั้นมันทำใหม่ไม่เข้ากับจาวาและอีกหลายๆโปรแกรม(ซะงั้น) แกก็บอกว่าให้ลองไปดูที่ stackoverflow ดูนะมีคนแก้ได้อยู่ ผมเลยตามไปที่ http://stackoverflow.com/questions/12730230/set-the-same-font-for-all-component-java

ซึ่งมี code ในการเปลี่ยน font ใน java application ให้เป็น font เดียวกันหมดนั้นคือ method นี้

เพียงแค่เรียก method นี้ตอนแรกที่รันโปรแกรมเท่านั้น มันก็จะเปลี่ยน font ในโปรแกรมของเราให้เป็นตัวที่กำหนดเลยเช่น

ซึ่งพอเรียก method นี้แล้วก็ลองรันโปรแกรมอีกครั้ง ปัญหาภาษาไทยก็หายไปเลยครับ

Fix Thai font 10.9

References :

  1.  http://stackoverflow.com/questions/12730230/set-the-same-font-for-all-component-java

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *


Back to Top