LaTeX

LaTeX작업할 때, 사용하지도 않은 폰트가 자꾸 끼어들어가서 font embedding에 실패할 때

ForceCore 2014. 1. 24. 14:55

http://forcecore.tistory.com/1199


글꼴은 PDF에 내장하는 방법은 예전에도 다루었다. 그러나 그 이후 깨닫게 된 것은, LaTeX 시스템 자체엔 아무 잘못이 없다는 것이다. LaTeX를 돌리면 기본적으로는 font embedding을 해주는 것 같다? 그래서 embed되지 않은 폰트가 있다고 뜨면 그림으로 넣은 PDF파일이 문제가 되는 경우가 99%였다?


우선, 예전 방법을 편하게 하려면 Adobe Acrobat을 써도 된다. 리눅스에서 커맨드라인에서 힘들게 하기 싫다면, 웬만한 PDF파일은, Adobe Acrobat에서 save as optimized PDF 를 하면서, 상세옵션에 들어가서 "Do not unembed any font"를 해주면 해결되는 경우가 많다.


문제인 경우는, 사용하지도 않은 글씨체가 사용 할거라는 언급만 되어있고, 실제로는 사용중이지 않아서 전혀 embed할 것이 없어서, embed하라고 해도 아무것도 안 되어가지고, 논문 제출시, 자꾸 font embedding을 하라는 요구를 받을 때이다. 이 경우 해결방법은, Adobe Acrobat을 쓰든 안 쓰든 우선 PDF -> EPS 파일로 변경을 한다. 그러면 사용되지 않는 폰트에 대한 언급이 없어진다. 그 뒤 EPS를 PDF로 다시 바꾸면서 font embedding을 하면 된다. 모든 문제가 있는 그림에 대해 이 작업을 해주면 된다.


필자의 경우는 자리를 졸업이나, 출장으로 비운 사람의 논문 뒤치닥거리를 좀 해봤다. 이런 경우 교수님께는 그림 원본파일을 보내드리지 않아서 난 PDF/EPS 그림에만 접근할 수 있는 짜증나는 일이 일어나기도 한다. 보통은 위에 언급한 방법으로 유령폰트를 없애주면 상황 종료지만 그 방법으로도 안 되는 혈압을 오르게 하는 경우도 아래와 같이 발생할 수 있다.


그림에 실제로 사용중인 폰트가, 내가 가진 폰트가 아니라서 무슨 수를 써도 embedding을 하기는 해야 하는데 불가능한 경우이다. 그러면 내가 가진 폰트중 하나로 모든 글씨체를 바꿔야 한다.......... 근데 원본 그림이 없고 PDF/EPS만 있다..........................


InkScape에는 eps/pdf를 읽는 기능이 있다. 필자가 여러번 작업을 해봤지만 매번 원본(? eps/pdf가 원본은 아닌데...)과 거의 차이가 없는 만족스런 결과물이 나왔다. 그 뒤 모든 글씨에 대해 Arial/Times New Roman과 같은 적절한 폰트를 지정해준다. 그 뒤 다시 eps/pdf 를 만들어서 논문에 넣으면 끝. 리눅스에서 작업한다면 절대로 Sans 와 같은 폰트를 지정해주지 말자. 잘못하면 Helvetica와 같이 까다로운 폰트를 넣으려고 하는 이상한 시도가 되는 수가 있다.


교훈? 다른 사람들에게 논문의 소스코드를 보내야 할 때에는 반드시 원본 그림까지 보내줘서 누군가 나중에 그림을 변경할 수 있도록 해주자.