ช่วยเหลือ - ค้นหาข้อมูล - รายชื่อสมาชิก - ปฏิทิน
อ่านเว็บบอร์ดในเวอร์ชั่นเต็ม : ปัญหาสระลอย
นครไทยดรีมบ๊อก > NakhonThai Image > ข้อมูลการพัฒนา
Atten
ช่วงนี้กำลังทำสกินใหม่อยู่ครับ ก็ต้องจัดการเรื่องฟอนต์ใหม่ด้วย คิดว่าจะใช้ฟอนต์ครุฑ(Garuda) ซึ่งเป็นฟอนต์แบบวิชาการ ผมว่ามันก็กลาง ๆ ดี และน่าจะทำให้อ่านง่ายขึ้นด้วย ก็เลยไปเอามาจาก thaifonts-scalable 0.4.9 ซึ่งฟอนต์ในนี้เราสามารถนำมาใช้กับงานได้ทันทีครับ เพราะเราได้ปรับแก้ในตัวอิมเมจแล้วจากที่ Provider เค้าส่งมาผิดมาตรฐาน(ส่งมาเป็น ISO8859-10) ในมาตรฐานนี้เราไม่ได้ใช้ ก็เลยจับมันแปลงเป็น ISO8859-11 ให้ตรงกับมาตรฐานซ่ะ แค่นี้เราก็จะสามารถนำฟอนต์ที่เป็นมาตรฐานมาใช้กับเครื่องดรีมบ๊อกได้

ปัญหาในขณะนี้ก็คือ สระมันลอยครับพวกไม้เอก ไม้โท มันจะลอยสูง ๆ เข้าใจว่าน่าจะต้องไปปรับแก้ในไฟล์ estring.cpp แต่ยังมึน ๆ อยู่ว่าจะแก้ตรงไหน อย่างไร เป็นอะไร ซึ่งตอนนี้ก็มานั่งแงะตัว libthai อยู่ว่าเค้าทำยังไง ใครพอทราบหรือเคยทำแล้วก็มาช่วยแนะนำหน่อยครับ จะได้เสร็จเร็ว ๆ ไม่งั้นสงสัยผมต้องงมอีกหลายวันเลย

Pistol
เห็นในนี้ ไม่รู้ช่วยได้หรือเปล่า
http://www.thdiy.com/taxonomy/term/6


อยากช่วยแต่ทำไม่เป็นเหมือนกัน
Nakhonthai
QUOTE(Pistol @ 13 Feb 2008, 09:35 07) *
เห็นในนี้ ไม่รู้ช่วยได้หรือเปล่า
http://www.thdiy.com/taxonomy/term/6


อยากช่วยแต่ทำไม่เป็นเหมือนกัน

ดูแล้วครับ มีแต่รูปว่าทำได้ แต่ไม่มีเนื้อหาครับ
silagold
เป็นกำลังใจนะครับ น่าจะทดลองมาให้ใช้งานดูสักพัก จากนั้นดูเสียงตอบรับจากสมาชิกว่ามีสิ่งใดต้องปรับปรุงเป็น version ต่อไปนะครับ
stone
http://www.uploadd.com/download.aspx?pku=1...NH5[T58XFB4G852
ลองดูครับผมแก้วรรณยุกต์ลอยแล้วครับใช้วิธีปรับในตัวฟ้อนท์ครับ
Atten
QUOTE(stone @ 13 Feb 2008, 21:51 16) *
http://www.uploadd.com/download.aspx?pku=1...NH5[T58XFB4G852
ลองดูครับผมแก้วรรณยุกต์ลอยแล้วครับใช้วิธีปรับในตัวฟ้อนท์ครับ

ขอบคุณครับ ทดสอบแล้วครับ สามารถแสดงผลได้ดีไม่ตกขอบ แต่พวกไม้เอก ไม้โท ก็ยังลอยเหมือนเดิมครับ เช่นคำว่า ย่น กับคำว่า ยั่น ไม้เอกมันจะอยู่ในตำแหน่งเดียวกัน ทำให้ดูคำว่า ย่น ไมเอกมันลอยอยู่นะครับ ตอนนี้กำลังคิดว่าจะหาทางเอา libthai มาลงถ้าหาทางออกไม่ได้จริง ๆ มันจะมีดิกไว้ตัดคำไทยมาให้ด้วย แต่ก็คงจะงมอีกนานว่าจะเอามาปรับใช้กับเครื่องดรีมบ๊อกยังไง
Mad3Wizard
ดูจากรูปที่คุณ Atten เอามาให้ดู ผมเดาว่า Font ที่คุณ Atten นำมาใช้ ไม่ได้ทำสระแบบมีหลายๆระดับกระมังครับ sad.gif เพราะเท่าที่ศึกษามา(แต่ก็ยังแก้ไม่ได้เช่นกัน และระยะหลังๆนี่ไม่ได้ลองเล่นเลย เพราะเวลาไม่ค่อยว่างครับ tongue.gif ) เห็นเขาทำสระจะมีแบบสระต่ำ (โม้) สระสูง(ดี้) สระหลบพวกมีหาง(ป้า) อะไรประมาณนี้แหละครับ แต่รูปที่เป็นตัวอย่าง แสดงว่าเขาใช้แบบสระสูงอย่างเดียว ก็เลยออกมาเป็นเช่นในภาพครับ ถ้าจะแก ส่วนตัว(ผม)คิดว่าคงต้องทำขึ้นมาใหม่ โดยอ้างอิงจาก Font Table ที่มีแบบหลากหลายชั้น ดังที่ผมบอก(หรือเปล่า ไม่ทราบ)ครับ biggrin.gif
เสียดายที่ช่วยไรมากไม่ได้ เพราะผมเองก็ไม่เป็น Linux ลองโหลดตัวที่คุณ Atten ให้มา มันก็นามสกุล .tar.gz หลังจากแตกมาแล้ว ก็มีไฟล์เพียบไปหมด ไม่รู้ว่าตัวไหนเป็นไฟล์ Font ที่จะเอาไปเปิดกับโปรแกรมพวก LabFont หรือ Font Creater ได้อ่ะ huh.gif
Atten
QUOTE(Mad3Wizard @ 13 Feb 2008, 23:11 11) *
ดูจากรูปที่คุณ Atten เอามาให้ดู ผมเดาว่า Font ที่คุณ Atten นำมาใช้ ไม่ได้ทำสระแบบมีหลายๆระดับกระมังครับ sad.gif เพราะเท่าที่ศึกษามา(แต่ก็ยังแก้ไม่ได้เช่นกัน และระยะหลังๆนี่ไม่ได้ลองเล่นเลย เพราะเวลาไม่ค่อยว่างครับ tongue.gif ) เห็นเขาทำสระจะมีแบบสระต่ำ (โม้) สระสูง(ดี้) สระหลบพวกมีหาง(ป้า) อะไรประมาณนี้แหละครับ แต่รูปที่เป็นตัวอย่าง แสดงว่าเขาใช้แบบสระสูงอย่างเดียว ก็เลยออกมาเป็นเช่นในภาพครับ ถ้าจะแก ส่วนตัว(ผม)คิดว่าคงต้องทำขึ้นมาใหม่ โดยอ้างอิงจาก Font Table ที่มีแบบหลากหลายชั้น ดังที่ผมบอก(หรือเปล่า ไม่ทราบ)ครับ biggrin.gif
เสียดายที่ช่วยไรมากไม่ได้ เพราะผมเองก็ไม่เป็น Linux ลองโหลดตัวที่คุณ Atten ให้มา มันก็นามสกุล .tar.gz หลังจากแตกมาแล้ว ก็มีไฟล์เพียบไปหมด ไม่รู้ว่าตัวไหนเป็นไฟล์ Font ที่จะเอาไปเปิดกับโปรแกรมพวก LabFont หรือ Font Creater ได้อ่ะ huh.gif

ลิ้งค์ที่ thaifonts-scalable ให้ไว้ เป็น ftp แหล่งดาวน์โหลดต้นฉบับฟอนต์ที่เอามาปรับใช้กันครับ มันจะคล้าย ๆ กับโปรแกรม ที่ต้องเอามาคอมไพล์ โดยมันจะมีฟอนต์ต้นแบบเป็นนามสกุล .sfd สามารถปรับแก้ไขได้ด้วยโปรแกรม fontforg บนลีนุกซ์ครับ สามารถสร้างเองหรือแก้ไขได้เลย เสร็จแล้วค่อยเอามาคอมไพล์ให้เป็น TrueType ที่มีนามสกุลเป็น .ttf เอาไปใช้งานต่อไป สำหรับเนื้อหาการปรับแต่งแก้ไข ลองไปดูที่ลิ้งค์นี้น่าจะเข้าใจยิ่งขึ้นครับ http://www.thaitux.info/book/export/html/217 ส่วนเรื่องสระลอยผมเข้าใจว่าต้องไปปรับแก้โปรแกรมแสดงผลนะครับ แม้แต่บนวินโดว์เองพวกโปรแกรมใหม่ ก็เป็นเช่น photoshop ตัวใหม่ ๆ ถ้าจะมาปรับที่ปลายเหตุโดยการมานั่งแต่งฟอนต์ใหม่ ก็พอช่วยได้แต่ก็แก้ปัญหาไม่ได้ ผมลองเอาฟอนต์ Garudatas.ttf กับ thaidba.ttf(จากเพื่อนสมาชิกที่ให้ไว้ข้างบน) ซึ่งเป็นการแก้ไขที่ตัวฟอนต์ ผลที่ได้คือ การแสดงตัวอักษร มันจะสูง ๆ ต่ำ ๆ ไม่เสมอกัน แต่สระก็ยังคงลอยอยู่ ก็ยังพออ่านได้อาจไม่สวยนัก ก็ยังดีกว่าสระลอยทีมันไปชนกับบันทัดอื่น ไม่ก็ลอยจบตกขอบบันทัดหายไปนะครับ
N@K
ผมว่าแยกเป็น addon มั๊ยครับ ไม่งั้นมันจะยาว..... อีกอย่างพึ่งจะสังเกตเห็นว่าใน Nabilo ที่ใช้อยู่สระลอยเหมือนกัน แต่ต้องมองเพ่งๆ หน่อย
medkung
ลองใช้พวก alt+เลข อะไรแบบนี้อ่ะครับ

เช่นเว้นวรรคเป็น (alt+222)

QUOTE
ไม้เอก ( ท่ ) = < Alt + 0139 >
ไม้โท ( ท้ ) = < Alt + 0140 >
ไม้ตรี ( ท๊ ) = < Alt + 0141 >
ไม้จัตวา ( + ) = < Alt + 0142 >
ไม้ทัณฑฆาต ( ท์ ) = < Alt + 0143 >
อัญประกาศ ( " " ) = < Alt + 0147 >
= < Alt + 0148 >
ญ = < Alt + 0173 >


หรือใช้ Revowel ก็ได้ครับ

http://www.thaiware.com/main/info.php?id=2060
Tony
QUOTE(medkung @ 16 Feb 2008, 09:53 06) *
ลองใช้พวก alt+เลข อะไรแบบนี้อ่ะครับ

เช่นเว้นวรรคเป็น ��(alt+222)



หรือใช้ Revowel ก็ได้ครับ

http://www.thaiware.com/main/info.php?id=2060


ไอเดียนี้ใช้ได้เฉพาะ Static text เท่านั้นครับผมว่า เช่น คำแปลของ UI เพราะเราสามารถทำการเปลี่ยนไปได้เลยในตอนแรก แต่ถ้าเป็น EPG ที่เป็น dynamic จะทำไงได้หล่ะครับ ผมว่า ใช้ lib อย่างที่ atten พูดถึงน่าจะเวร์กกว่า ทำเป็นแบบถาวรไปเลย

วิธีแก้โดย Revowel เป็นการแก้ที่ปลายเหตุ ใช้กันมากในงานพิมพ์ (ผมเองก็ใช้อยู่พักนึง) แต่ช่วงหลังๆ แม้กระทั้ง Adobe เองก็พยายามแก้ที่ต้นทาง อย่างเช่น การออก Open Type ออกมา ถ้าคนใช้วินโดวส์ที่เป็น open type หรือ otf ก็จะเห็นวรรณยุกต์ จะไม่ลอยแล้ว สามารถพิมพ์งานได้ตรงๆ เลย ตอนนี้เหลืออยู่ที่ยังพัฒนาไม่เรียยร้อย หรือไม่ก็ทางคนไทยต้องพัฒนาเองก็คือ เรื่องของ dict เพื่อใช้ในการตัดคำ
tas
ผมไม่ได้ ติดตามพัฒนาเรื่องนี้ นานแล้ว
เก็บไว้นานมาก (ตั้งแต่ 2006-09-14) .. แต่ไม่ได้ เอาออกมาเปิดให้ดู เพราะ เพราะเป็น Code ที่เขียนทดสอบดุเฉยๆ

แต่ เห็นว่า ถามถึง

CODE
# diff -uN estring.cpp_old estring.cpp
--- estring.cpp_old     2006-09-10 22:10:38.000000000 +0700
+++ estring.cpp 2006-09-14 08:25:13.000000000 +0700
@@ -516,7 +516,44 @@
                        (code=doVideoTexSuppl(data[i], data[i+1])) )
                        i+=2;
                if (!code)
-                       code=recode(data[i++], table);
+                       if (table==11) {
+                               if (i>0) {
+                                       if (data[i-1]==0xD1 || (data[i-1]>=0xD4 && data[i-1]<=0xD7)) {
+                                               code=recode(data[i++], table);
+                                       } else {
+                                               switch (data[i]) {
+                                                       case 0xE8:
+                                                               code=0xF70A;
+                                                               i++;
+                                                               break;
+                                                       case 0xE9:
+                                                               code=0xF70B;
+                                                               i++;
+                                                               break;
+                                                       case 0xEA:
+                                                               code=0xF70C;
+                                                               i++;
+                                                               break;
+                                                       case 0xEB:
+                                                               code=0xF70D;
+                                                               i++;
+                                                               break;
+                                                       case 0xEC:
+                                                               code=0xF70E;
+                                                               i++;
+                                                               break;
+                                                       default:
+                                                               code=recode(data[i++], table);
+                                                               break;
+
+                                               }
+                                       }
+                               } else {
+                                       code=recode(data[i++], table);
+                               }
+                       } else {
+                               code=recode(data[i++], table);
+                       }
                if (!code)
                        continue;
                                // Unicode->UTF8 encoding


หมายเหตุ: ไม่แน่ใจว่าเอามาถูกไฟล์หรือเปล่า เพราะ นานมากๆๆ แล้วอันนี้ผมน่าจะเขียนใช้กับ 8859-11 อย่างเดียว
Mad3Wizard
ขอปรึกษาคุณ tas ครับ(ยินดีที่ได้รู้จัก หลังจากที่นำ Font ไปใช้หลายต่อหลายครั้ง tongue.gif )
ไม่ทราบว่าแล้วการจะแปลง Font เองนี่ เราจะดูได้จากตรงไหนในเรื่องตัวหนังสือบางทีมันตกไปอยู่ต่ำกว่าหรือบางทีมันก็อยู่สูงเกินไป(เมื่อแสดงในก
รอบรายการของ Image ต่างๆอ่ะครับ) และไม่ทราบว่าตัวองศา มันอยู่ที่ตำแหน่งไหนครับ huh.gif
tas
เรื่อง font ที่ผม ทำ .. จริงๆ ผมไม่ได้มีการจัดวาง font ไม่ ครับ.

แค่ map ต่ำแหน่ง เพิ่มให้ ทับกับ ISO-8859-11 เท่านั้นครับ ผมไม่ค่อยชำนานเรื่องนี้ ... ถ้าอย่างไร ลองถามที่เว็บ www.f0nt.com ก็ได้ครับ.. ที่นั้น มีคนออกแบบ font เอง เยอะ

ส่วน ตัวอักษรองศา นั้น ถ้าในตาราง ภาษา อังกฤษ จะอยู่ที่ตำแหน่ง 0xB0 ซึ่งตำแหน่งนี้ .. ในภาษาไทย เป็น ตัว ฐ ครับ...

ถ้าจำเป็น ที่ต้องใช้จริงๆ .. คงต้องหางต่ำแหน่งว่างๆ ซักที่ ย้ายตัวองศา ไปลง แล้ว แก้ ข้อความตาม อย่างแถว 0x80-0x9F รู้สึกว่า น่าจะยังมีที่ว่างอยุ่ ครับ
Atten
ขอบคุณ tas มากครับ ที่เป็นแนวทางให้ แก้ไขได้แล้วครับ ใช้ฟอนต์ไทยมาตรฐานแบบสระไม่ลอยได้แล้วครับ ยังมีในเมนูอีกนิดหน่อย ค่อยควานหากันต่อไป rolleyes.gif
snoopz1
ทำยังไงให้ web interface ของ gemini แสดงภาษาไทย ได้ปกติ ไม่เป็นตัวยึกยือ อะครับ
Atten
QUOTE(snoopz1 @ 8 May 2010, 05:49 13) *
ทำยังไงให้ web interface ของ gemini แสดงภาษาไทย ได้ปกติ ไม่เป็นตัวยึกยือ อะครับ

เอาฟอนต์ที่ใช้ในเครื่องดรีมบ๊อก ไปใส่ในวินโดว์ แล้วเลือกใช้ฟอนต์นั้นที่บราวเซอร์อีกที ก็จะแสดงผลได้ ถ้าจะกลับไปดูเว็บอื่นปกติก็สลับเลือกใช้ฟอนต์เดิมครับ
นี่คือหมวดอ่านเว็บบอร์ดแบบไม่มีกราฟฟิค : หมวดที่คุณสามารถดูข้อมูลได้อย่างรวดเร็วโดยที่ไม่ต้องโหลดกราฟฟิคมากมาย ซึ่งบอร์ดได้ตัดส่วนนั้นออก เพื่อให้โหลดไวขึ้น
แต่ถ้าคุณอยากกลับไปดูข้อมูลแบบเต็มรูปแบบ ให้คุณคลิกที่นี่
.
Invision Power Board © 2001-2012 Invision Power Services, Inc.