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

แก้ไขฟอนต์ภาษาไทยในรายงาน OpenERP

โพสต์แล้ว: เสาร์ 03 พ.ย. 2012 11:47 am
โดย openerp_docman
แนะนำให้ใช้ 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 ใหม่ไปเลย
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 เลย
3. ที่ TTFSearchPath_Linux (หรือ _Win) ให้ตรวจสอบว่า path ถูกต้อง
4. Save and restart OpenERP server


ที่มา : คุณ polppol , ubuntuclub.com