แก้ไขฟอนต์ภาษาไทยในรายงาน 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
Re: แก้ไขฟอนต์ภาษาไทยในรายงาน OpenERP
โพสต์แล้ว: อังคาร 12 มี.ค. 2013 10:58 pm
โดย phatcharapon
ผมสงสัยข้อ 3 ที่ให้ตรวจสอว่า path ถูกต้อง หมายความว่ายังไงหรอครับ ผมไม่เข้าใจว่าถูกต้อง จะมีข้อความเป็นลักษณะยังไงหรอครับ ผมใช้ OS Ubuntu ครับ
Re: แก้ไขฟอนต์ภาษาไทยในรายงาน OpenERP
โพสต์แล้ว: อังคาร 12 มี.ค. 2013 11:48 pm
โดย openerpthailand
phatcharapon เขียน:ผมสงสัยข้อ 3 ที่ให้ตรวจสอว่า path ถูกต้อง หมายความว่ายังไงหรอครับ ผมไม่เข้าใจว่าถูกต้อง จะมีข้อความเป็นลักษณะยังไงหรอครับ ผมใช้ OS Ubuntu ครับ
ยินดีตอนรับสมาชืก ใหม่ openerpthailand
แนะนำตัวได้ที่
viewforum.php?f=37เพื่อทำความรู้จักกันก่อนครับ

Re: แก้ไขฟอนต์ภาษาไทยในรายงาน OpenERP
โพสต์แล้ว: อังคาร 12 มี.ค. 2013 11:58 pm
โดย openerpthailand
TTFSearchPath_Linux ถ้าเป็น จะอยู่ที่
'/usr/share/fonts/truetype/*'
ลองเช็คดูครับ
Windows จะอยู่ที่ 'c:/winnt/fonts', 'c:/windows/fonts'
Re: แก้ไขฟอนต์ภาษาไทยในรายงาน OpenERP
โพสต์แล้ว: พุธ 13 มี.ค. 2013 7:51 am
โดย phatcharapon
CustomTTFonts = [ ('Angsana',"Angsana New", "angsa.ttf", 'normal'),
('Angsana',"Angsana New Bold", "angsab.ttf", 'bold'),
('Angsana',"Angsana New Italic", "angsai.ttf", 'italic'),
('Angsana',"Angsana New BoldItalic", "angsaz.ttf", 'bolditalic'),
('TH Niramit',"TH Niramit AS", "TH Niramit AS.ttf", 'normal'),
('TH Niramit',"TH Niramit AS Bold", "TH Niramit AS Bold.ttf", 'bold'),
('TH Niramit',"TH Niramit AS Italic", "TH Niramit AS Bold.ttf", 'italic'),
('TH Niramit',"TH Niramit AS BoldItalic", "TH Niramit AS Bold.ttf", 'bolditalic'),
('Helvetica',"DejaVu Sans", "DejaVuSans.ttf", 'normal'),
('Helvetica',"DejaVu Sans Bold", "DejaVuSans-Bold.ttf", 'bold'),
('Helvetica',"DejaVu Sans Oblique", "DejaVuSans-Oblique.ttf", 'italic'),
('Helvetica',"DejaVu Sans BoldOblique", "DejaVuSans-BoldOblique.ttf", 'bolditalic'),
('Times',"Liberation Serif", "LiberationSerif-Regular.ttf", 'normal'),
('Times',"Liberation Serif Bold", "LiberationSerif-Bold.ttf", 'bold'),
('Times',"Liberation Serif Italic", "LiberationSerif-Italic.ttf", 'italic'),
('Times',"Liberation Serif BoldItalic", "LiberationSerif-BoldItalic.ttf", 'bolditalic'),
('Times-Roman',"Liberation Serif", "LiberationSerif-Regular.ttf", 'normal'),
('Times-Roman',"Liberation Serif Bold", "LiberationSerif-Bold.ttf", 'bold'),
('Times-Roman',"Liberation Serif Italic", "LiberationSerif-Italic.ttf", 'italic'),
('Times-Roman',"Liberation Serif BoldItalic", "LiberationSerif-BoldItalic.ttf", 'bolditalic'),
('Courier',"FreeMono", "FreeMono.ttf", 'normal'),
('Courier',"FreeMono Bold", "FreeMonoBold.ttf", 'bold'),
('Courier',"FreeMono Oblique", "FreeMonoOblique.ttf", 'italic'),
('Courier',"FreeMono BoldOblique", "FreeMonoBoldOblique.ttf", 'bolditalic'),]
TTFSearchPath_Linux = [
'/usr/share/fonts/truetype', # SuSE
'/usr/share/fonts/dejavu', '/usr/share/fonts/liberation', # Fedora, RHEL
'/usr/share/fonts/truetype/*', # Ubuntu,
'/usr/share/fonts/TTF/*', # at Mandriva/Mageia
'/usr/share/fonts/TTF', # Arch Linux
]
ผมติดตั้ง font TH-Niramit-AS ไปแล้วครับ แต่ว่าการออกรายงานภาษาไทยยังเป็นตัวสี่เหลี่ยมอยู่เลยครับ ไม่ทราบว่า ผมทำผิดตรงส่วนไหนหรอครับ
Re: แก้ไขฟอนต์ภาษาไทยในรายงาน OpenERP
โพสต์แล้ว: พุธ 13 มี.ค. 2013 11:54 am
โดย openerpthailand
ติดตั้งด้วยวิธีไหนครับ
ลอง เช็ค ใน
/usr/share/fonts/truetype/*
หรือยังมีไฟล์ .ttf ชื่อที่ติดตั้งไปอยู่ในนั้นไหม
Re: แก้ไขฟอนต์ภาษาไทยในรายงาน OpenERP
โพสต์แล้ว: พุธ 13 มี.ค. 2013 5:53 pm
โดย phatcharapon
ผม ติดตั้งวิธีแรกครับ file .ttf ของชื่อที่ติดตั้งมีอยู่ใน /usr/share/fonts/truetype/ ครับ TH Niramit AS
Re: แก้ไขฟอนต์ภาษาไทยในรายงาน OpenERP
โพสต์แล้ว: พุธ 13 มี.ค. 2013 6:12 pm
โดย openerpthailand
วิธีแรกคืออะไรครับ
ถ้าหมายถึง ติดตั้งให้แต่ละ user น่าจะใช้ไม่ได้นะครับ หรืออาจเป็นเพราะลงทะเบียน font ไม่ถูก
ลองดูที่โปรแกรมอื่น font ที่ติดตั้งไป ว่าใช้งานได้หรือยัง
ลองเช็ค fc-list ดู font ทั้งหมด ว่ามีตัวที่จะใช้หรือยัง
http://manpages.ubuntu.com/manpages/har ... ist.1.html
Re: แก้ไขฟอนต์ภาษาไทยในรายงาน OpenERP
โพสต์แล้ว: พุธ 13 มี.ค. 2013 7:31 pm
โดย phatcharapon
วิธีแรกหมายถึง ผมทำตามวิธีนี้อ่ะครับ
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 ของท่านดูนะครับ
Re: แก้ไขฟอนต์ภาษาไทยในรายงาน OpenERP
โพสต์แล้ว: พุธ 27 มี.ค. 2013 4:15 pm
โดย wisanuwong
ถ้าเป็นไปได้รบกวน ใส่รูปขั้นตอนการทำ แบบ windows ให้ทีครับ