อันนี้เป็นการแก้แบบภาษาไทย
ส่วนเรื่องภาษาไทย
ผมแนะนำให้ใช้ Font ทางการของ SIPA เลย (TH Niramit AS)
ไม่มีปัญหาสระลอย ทั้งในหน้าweb และ report
วิธีการทำครับมี 2 วิธี :
=== Method 1 เพิ่ม Font===
1. copy font ลงไปที่ /usr/share/fonts/truetype/ หรือ ตาม OS ของท่าน
1.1 sudo fc-cache -fv
2. edit openerp/report/render/rml2pdf/customfonts.py
ที่ CustomTTFonts =
Add :
('TH Niramit',"TH Niramit AS", "TH Niramit AS.ttf", 'normal'),
('TH Niramit',"TH Niramit AS Bold", "TH Niramit AS Bold.ttf", 'bold'),
... จนครบ ทั้ง 4 รูปแบบ (ตัวธรรมดา/bold/เอียง/หนาเอียง)
หรือ ตาม Font ที่ท่าน Install
3. ที่ TTFSearchPath_Linux (หรือ _Win) ให้ตรวจสอบว่า path ถูกต้อง
4. Save and restart OpenERP server (จำเป็นต้อง restart นะครับ ผมงมอยู่หลายวัน เพราะไม่รีตาส แล้ว font มันไม่ reload)
จากนั้นทำการ customize format
Setting>Company>your name> Header/footer
edit ส่วน <setFont name="TH Niramit AS" size="8"/> (หรือ ชื่อ font อื่นๆ)
edit report ที่ต้องการเช่นกัน
ลอง find -R *.rml ใน folder openerp ของท่านดูนะครับ
=== Method 2 แก้ให้ font ทุกตัวไปอ่าน file font ของเราแทน===
วิธีนี้ทำทีเดียว แล้ว font ในทุกส่วนของเราจะถูกแทนที่ด้วย font ใหม่ไปเลย (วิธีมักง่ายนั้นเอง 555)
1. copy font ลงไปที่ /usr/share/fonts/truetype/ หรือ ตาม OS ของท่าน
1.1 sudo fc-cache -fv
2. edit openerp/report/render/rml2pdf/customfonts.py
ที่ CustomTTFonts =
แก้ส่วนที่เป็น ชื่อ file font ของทุก font เป็น font ใหม่ของเราซะเลย เช่น
('Tahoma',"Tahoma", "TH Niramit AS.ttf", 'normal'),
('Tahoma',"Tahoma Bold", "TH Niramit AS Bold.ttf", 'bold'),
... จนครบ ทุก font เลย :p
3. ที่ TTFSearchPath_Linux (หรือ _Win) ให้ตรวจสอบว่า path ถูกต้อง
4. Save and restart OpenERP server
ที่มา:
http://forum.ubuntuclub.com/forum?topic=23775.0