หน้า 1 จากทั้งหมด 1

เรื่อง font มีปัญหา (อีกแล้วครับ) กับ Java vs Express

โพสต์โพสต์แล้ว: อังคาร ต.ค. 20, 2009 4:29 pm
โดย wongzaputt
ผมใช้รายงานสร้างจาก 1A2 เพื่อที่จะนำข้อมูลลูกหนี้ออกมาเป็น CSV ไฟล์
จากนั้นก็เขียน JavaSE เพื่อนำข้อมูลที่ได้มาคำนวณ (เพื่อคิดดอกเบี้ย) โดยให้
พิมพ์ออกไปเป็น CSV เหมือนเดิมแล้วนำไปเปิดใน OpenOffice Calc
โดยทำเป็น GUI รับข้อมูลจากผู้ใช้เป็นจำนวนวันที่ให้เครดิต กับอัตราดอกเบี้ย
ผมยังใช้ Java เพื่อคำนวณแบบต่างๆอีกหลายอย่างจากไฟล์รายงานของ Express
ซึ่งจำเป็นจะต้องใช้ cmd.exe เพื่อแสดงผลเป็นบางครั้ง (โดยเฉพาะตอนช่วงทดสอบโปรแกรม)
ซึ่งต้องให้แสดงผลเป็น ภาษาไทย ใน cmd.exe ด้วย จึงต้องติดตั้ง font- Courier MonoThai
ซึ่งมันเป็นคนละ เวอร์ชั่นกับที่ Express มีให้ ทีนี้ พอใช้ CourierMonoThai (CMT) ของ
ที่เข้ากันได้กับ cmd.exe แล้ว ใน Express ก็จะแสดงผลเป็น ๔๔๔๔๔ หรืออื่นๆที่แสดงผลผิดพลาด
พอกลับมาใช้ font CMT ของ Express ก็จะทำให้ cmd.exe แสดงผลภาษาไทยไม่ได้ครับ

พอจะมีใครที่สามารถทำให้แสดงผลภาษาไทยใน cmd.exe ด้วย font ตัวอื่นได้บ้าง หรือพอจะมีวิธี
ไหนที่จะทำให้ลง CMT ทั้ง 2 เวอร์ชั่นพร้อมๆกันได้บ้างรึเปล่า ตอนนี้ต้องนั่งลบฟอนท์แล้วลงใหม่
เวลาที่จะใช้ทุกครั้งอ่ะครับ...

Re: เรื่อง font มีปัญหา (อีกแล้วครับ) กับ Java vs Express

โพสต์โพสต์แล้ว: อังคาร ต.ค. 20, 2009 7:55 pm
โดย savek
อืม ยังงงๆ กับคำถามอยู่ครับ พอดีไม่เคยเล่้นตัว java ครับ เลยนึกภาพไม่ออกว่ามันแสดงผลอย่างไรในโหมดคอมมานด์พร้อมท์ที่ว่า

แต่เท่าที่จับความได้ หมายถึงว่า ตัว Application ที่เขียนขึ้นมาด้วย java ก็ใช้ฟ้อนต์ Courier Mono Thai เหมือนกับ Express ใช่ไหมครับ (แต่เป็น Courier Mono Thai ต่างเวอร์ฺชั่น ต่างรุ่นกัน อย่างนั้นหรือเปล่าครับ)

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

ถ้าได้ข้อมูลเพิ่มเติมอย่างไร จะลองค้นหาคำตอบให้ครับ :)

Re: เรื่อง font มีปัญหา (อีกแล้วครับ) กับ Java vs Express

โพสต์โพสต์แล้ว: อังคาร ต.ค. 20, 2009 9:22 pm
โดย wongzaputt
ในส่วนของการอ่านข้อมูลใน CSV ด้วย JAVA นั้นแก้ปัญหาได้จากการระบุ Encoding เป็น TIS-620 ครับ
ซึ่งผลลัพท์จากการ อ่าน ประมวลผล และนำผลลัพธ์ไปเขียนเป็นไฟล์นั้น ไม่มีปัญหาใดๆ

แต่... บางครั้งผมต้องการแสดง output ออกมาทาง command prompt น่ะครับ มันแสดงไม่ได้เพราะ
command prompt ปกติของ win xp ไม่รองรับการแสดงผลภาษาไทย ยกเว้นแต่ต้อง modify เล็กน้อย
ด้วยการใช้ thaidosxp แพคเกจที่มีผู้ใจดีในเน็ตแจกให้ ในนั้นจะมี courmon.ttf มาให้พร้อมด้วยการ modify
registry เล็กน้อยครับ ซึ่งจริงๆแล้วเจ้าตัว courmon.ttf ที่เค้าให้มาก็น่าจะเหมือนๆกับตัวที่อยู่ใน
ExpressI โฟลเดอร์นั่นแหละครับ แต่จริงๆแล้วมันไม่เหมือนกันครับ คือ ชื่อไฟล์เขียนต่างกัน แต่พอติดตั้งลงไป
บน win แล้ว ได้ผลลัพธ์คือ Courier MonoThai เหมือนกันน่ะครับ จะติดตั้งทับกันก็ไม่ได้ด้วย
ปัญหาเลยเกิดครับ เพราะ Express ก็ไปดึงข้อมูลโดยตรงมาจาก fonts โฟลเดอร์เดียวกันด้วย
ไม่รู้ว่ามีวิธีการเปลี่ยนชื่อ font ที่อยู่ในไฟล์ ttf รึเปล่า ถ้ามีก็น่าจะเปลี่ยนให้ cmd ไปใช้ font ชื่ออื่นแทนได้น่ะครับ...

Re: เรื่อง font มีปัญหา (อีกแล้วครับ) กับ Java vs Express

โพสต์โพสต์แล้ว: พุธ ต.ค. 21, 2009 3:42 pm
โดย wee2tee
จากที่ลองสืบเสาะหาข้อมูลในเืรื่องนี้มานะครับ ผมเข้าใจว่าคุณ wongzaputt น่าจะใช้วิธีการ ตามลิงค์ข้างล่างนี้ ใช่หรือเปล่าครับ
http://www.justusers.net/articles/others/thaidosxp/thaidosxp.htm

    ซึ่งถ้าเป็นตามนั้น ผมคิดว่าเราน่าจะลองปรับให้ cmd.exe ของ XP ไปใช้ Font ตัวอื่นที่ไม่ใช่ Courier MonoThai ดูนะครับอย่างเช่น CordiaUPC ซึ่งก็เป็น True Type Font เหมือนกัน และยัง Support Unicode และ Code Page ที่เป็นภาษาไทยด้วยเช่นเดียวกันกับ Courier MonoThai
    โดยวิธีการปรับเปลี่ยนให้ cmd.exe ไปใช้ CordiaUPC จากที่ผมลองสังเกตุจากบทความดังกล่าวแล้ว ก็น่าจะต้องเข้าไปแก้ใน registry ที่คีย์นี้ครับ
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont  แก้ไขข้อมูลชนิด String ที่ชื่อ "874"  ให้ข้อมูลภายในเป็น "CordiaUPC"

และ

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MS-DOS Emulation\Font  แก้ไขข้อมูลชนิด String ที่ชื่อ "font" ให้เป็น "CordiaUPC"

แล้วก็รีสตาร์ทเครื่องอีกทีครับ.

** วิธีการดังกล่าวนี้ ผมเองก็ยังไม่ได้ลองทดสอบด้วยตนเองนะครับ เพียงแต่ มองว่าน่าจะเป็นเช่นนั้น ยังไงก็คงต้องฝากคุณ wongzaputt ช่วยทดสอบให้ด้วยก็แล้วกันนะครับ

ปล. เช่นเคยครับ ได้ผลหรือไม่,อย่างไร อย่าลืมกลับมาอัพเดทให้ทราบกันด้วยนะครับ โชคดีครับ...

Re: เรื่อง font มีปัญหา (อีกแล้วครับ) กับ Java vs Express

โพสต์โพสต์แล้ว: พฤหัสฯ. ต.ค. 22, 2009 5:10 am
โดย wongzaputt
คุณ wee2tee ตามไปถูกที่แล้วครับ thaidosxp ที่ว่านั่น
ผมลองหลายอย่างแล้วครับ เป็นเป็น CordiaUPC ไม่ได้แน่นอน
เพราะรู้สึกว่าจะไม่ใช่ font thai แบบ monospace หรือบางคน
เรียกว่า fixed-width น่ะครับ
ส่วน font thai monospace ตัวอื่นๆที่ผมลองดู ก็ไม่ทำงานกับ
command prompt น่ะครับ ลักษณะคือตัว properties ของ
cmd จะมองไม่เห็นเลยครับ

ผมคิดว่าน่าจะต้องเป็น font ที่ถูกกำหนดมาว่าสามารถใช้เป็น
console font ด้วย จึงจะนำมาใช้ได้ ซึ่ง console font ของ
windows xp ที่รองรับภาษาไทย เท่าที่ผมทราบ มี
Courier MonoThai ตัวเดียวครับ ผู้ใดทราบว่ามี font thai
สำหรับ console ใน win xp ตัวอื่นๆนอกจาก Courier MonoThai
บ้าง กรุณาแบ่งปันกันด้วยครับผม... :( ขอบคุณครับ

Re: เรื่อง font มีปัญหา (อีกแล้วครับ) กับ Java vs Express

โพสต์โพสต์แล้ว: พฤหัสฯ. ต.ค. 22, 2009 8:54 am
โดย wee2tee
อ่อ... ถ้าอย่างนั้น ลองดูที่นี่ดูสิครับ --> http://software.thai.net/tis-620/courierthai.html
อาจจะมีสิ่งที่คุณ wongzaputt ต้องการอยู่ก็ได้ครับ

ปล. ได้ผลหรือไม่,อย่างไร อย่าลืมกลับมาอัพเดทให้ทราบกันด้วยนะครับ โชคดีครับ...

Re: เรื่อง font มีปัญหา (อีกแล้วครับ) กับ Java vs Express

โพสต์โพสต์แล้ว: พฤหัสฯ. ต.ค. 22, 2009 9:33 am
โดย wee2tee
[quote="wee2tee"]
อ่อ... ถ้าอย่างนั้น ลองดูที่นี่ดูสิครับ --> http://software.thai.net/tis-620/courierthai.html
อาจจะมีสิ่งที่คุณ wongzaputt ต้องการอยู่ก็ได้ครับ

ปล. ได้ผลหรือไม่,อย่างไร อย่าลืมกลับมาอัพเดทให้ทราบกันด้วยนะครับ โชคดีครับ...
[/quote]

เพิ่มให้อีกลิงค์นะครับ --> http://www.fedu.uec.ac.jp/zzzthai/fonts.html#dbthaitext_win

Re: เรื่อง font มีปัญหา (อีกแล้วครับ) กับ Java vs Express

โพสต์โพสต์แล้ว: พฤหัสฯ. ต.ค. 22, 2009 5:00 pm
โดย wongzaputt
ลองดูแล้วครับ EBCDIC MonoThai นี่ใช้ใน command promt ได้ครับ
แต่...แสดงผลภาษาไทยทั้งหมดเป็นสี่เหลี่ยม
ส่วนเจ้า Proportional ใช้ไม่ได้ครับ มองไม่เห็นเลย
ตัวอื่นๆยังไม่ได้ลองครับ สงสัยต้องลบกลับไปกลับมาแบบเดิมแน่ๆ
ขอบคุณครับ คุณ wee2tee