ps2epsi เรื่องขำ ๆ ของ GsView


ผมใช้คำสั่ง ps2epsi เพื่อใส่ BoundingBox ให้กับรูปที่สร้างเป็น eps มานานมากแล้ว

epstool

จริง ๆ ก็เห็นปัญหาอยู่นะว่ามีการกำหนด box ให้ผิดตามรูปข้างบนด้านขวามือ ซึ่งจะเห็นได้ว่า
ตัวเลขสองมันถูกขลิปส่วนบนออกไป แต่ผมก็ไม่ได้คิดจะแก้ไขอะไร คงเป็นเพราะผมทำงาน
ในลักษณะนี้น้อยมาก วันนี้ลองใช้ Xfig ที่เราสามารถใส่รูปที่เป็น pdf, eps ลงไปในรูปเพื่อ
ตกแต่งใน Xfig (เวอร์ชัน 3.2.5 ขึ้นไป) พอได้ก็ลองใชู้ และลองสร้างไฟล์ pdf ตามที่ได้เคย
เสนอไปใน Xfig reuse ก็เกิดปัญหาตามที่ได้กล่าวข้างบน ดูรูปแล้วจะเห็นชัด ปัญหาก็คือถ้า
เราใส่ BoundingBox ให้รูป eps ผิด เวลาเราแปลงรูปเป็น pdf ก็จะได้ลักษณะอย่างที่เห็น
ทางขวามือ ปัญหานี้มีมานานมากแล้วสำหรับคำสั่งนี้ของ GhostScript เห็นว่าได้รับการแก้ไข
ไปบางส่วนแล้ว

ครั้งนี้แปลกออกไปที่ผมยอมลงทุนเสียเวลาหาวิธีแก้ไข คิดว่ามีทางแก้ไขโดยการเพิ่มตัวเลือก
ให้คำสั่ง ps2epsi เสียเวลาเป็นชั่วโมงในการหาตัวเลือก ด้วยความเชื่อที่ว่า GsView ไปเรียก
คำสั่ง GhostScript มาใช้ ดังนั้นมันต้องใช้คำสั่งเดียวกัน แต่เปล่าเลย สิ่งที่เชื่อกับสิ่งที่เป็น
จริงมันต่างกัน
กล่าวคือเมื่อผมสิ้นหวังผมก็ต้องไปหาเครื่องมือตัวอื่นมาใช้งาน แล้วก็ไปเจอ
epstool พออ่านถึงบรรทัดที่ว่า

GSview (same code as epstool)

ก็ร้อง… ออกมาทีหนึ่ง เพราะว่า GsView ใช้ epstool ในการแปลงรูปจาก PS ไปเป็น eps
ไม่ได้ใช้คำสั่ง ps2epsi ตามที่เข้าใจ เพื่อแก้ปัญหานี้ผมต้องไปโหลด epstool จาก CTAN
มา แล้วก็เพิ่มคำสั่งในการคำนวณ BoundingBox ที่ถูกต้องเข้าไปอีกทีหนึ่ง ดังนี้

epstool --copy --bbox golfer.eps golfer2.eps 

ซึ่งผมใช้ batch file อยู่แล้วก็แค่เพิ่มบรรทัดนี้เข้าไป ไม่ยากอะไร ผลที่ได้ก็ดีขึ้นได้รูป
แบบทางซ้ายมือ ถึงตอนนี้คุณก็สามารถสร้างรูป eps จาก Inkscape แล้วนำไปประกอบ
กับสมการคณิตศาสตร์ใน Xfig เพื่อให้ได้รูปที่สวยงามไปใช้กับเอกสารได้แล้ว

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s