2016-08-31 1 views
0

Linux에서 LibreOffice로 작성된 PDF를 OSX에서 ghostscript 9.19를 통해 작성하여 다른 (병합 된) PDF를 생성 할 때 한 가지 문제점을 제외하고는 출력이 완벽합니다. 이상하게도 결과 하이픈 + 공백을 강조 표시하면 내 컨텍스트 메뉴에 emdash가 선택되어있는 것으로 표시됩니다. 그래서 전체 문서의 모든 emdashes가 표준 하이픈 (어색하게 공백의 절반 뒤에옵니다)으로 바뀌 었습니다. 밑에있는 텍스트는 여전히 emdash이며 잘못된 문자를 렌더링하는 것입니다.Ghostscript에서 emdash 문자가 없어지고 하이픈으로 바뀝니다

동일한 소스의 여러 문서에서이 내용을 재현 할 수 있으며이를 해결할 수있는 설정이나 스위치가 있다고 가정합니다.

사용 된 글꼴이 차이를 만들지는 모르겠지만 참고를 위해 내 문서의 본문 텍스트는 Arno Pro에서 설정됩니다. OS X에서 최신 버전의 LibreOffice를 사용하여 Arno Pro에 emdash가 포함 된 샘플 문서를 만들 때도 동일한 문제가 나타나지 않으므로 원래이 PDF 파일을 만든 소프트웨어에만 해당되는 것으로 보입니다.

이 PDF는 현재 재구성 할 준비가되지 않은 기존 프로젝트이므로 기존 파일을 사용하여 재 인쇄 할 준비를해야합니다.

다음과 같은 명령을 실행할 때 emdash 글리프를 어떻게 유지합니까?

gs -dSAFER -dBATCH -dNOPAUSE -dNOCACHE -sDEVICE=pdfwrite \ 
-sColorConversionStrategy=/LeaveColorUnchanged \ 
-dAutoFilterColorImages=true -dAutoFilterGrayImages=true \ 
-sOutputFile=output.pdf input.pdf 

필요한 경우이 질문에 입력 PDF의 예를 추가 할 수 있습니다.

+0

더 자세히 살펴보면 일반 하이픈으로 공백이 표시되지 않는다는 것을 알지만 공백이 뒤 따르는 내쉬 또는 빼기 기호처럼 보입니다. 즉, 대시는 emdash가 점유해야하는 거리의 절반을 차지하고 거리의 나머지 절반은 공백입니다. –

답변

1

PDF 파일을 보지 않고도 답변을 드릴 수 없습니다. 폰트가 임베드되지 않았거나 임베디드에 emdash 글리프가없는 경우가 대부분입니다.

복사하여 붙여 넣기는 ToUnicode CMap을 사용하므로 글꼴에 종속되지 않습니다. 주어진 폰트를 사용할 때의 문자 코드와 유니 코드 코드 포인트의 목록.

이것은 기본 텍스트가 여전히 emdash라는 것을 의미하지 않는다는 점에 유의하십시오. ToUnicode 정보는 사물의 글꼴 끝과는 완전히 별개의 것으로서, 사실상 메타 데이터이며 글꼴이나 렌더링과 실제 관계가 없습니다.

파일을 DropBox에 놓고 URL을 게시하면 누군가가 조사 할 수 있습니다. 나는 다음 며칠 동안 휴가를 보낼 것이지만, 아마도 다른 누군가가 보일 것입니다.

PDF에서 반드시 문자 및 위치를 연속 문자 목록으로 지정할 필요는 없습니다. 각각의 위치를 ​​개별적으로 지정할 수도 있고 글꼴의 너비를 덮어 쓰는 너비를 지정할 수도 있습니다. 그래서 거의 확실하게 하나의 글리프 일뿐입니다. 참조하는 '공백'은 아마도 그것, 공백, 다른 글리프가 아닙니다.

Ghostscript가 결코 PDF 파일에서 '평평하게', 연결, 병합 또는 이와 유사한 작업을 수행하지 않는다는 점도 지적해야합니다. Ghostscript와 pdfwrite 장치를 사용할 때 원래 입력 (모든 형식)은 그래픽 마킹 작업으로 완전히 해석되어 장치로 전송됩니다. 장치는 마킹 작업을 실행합니다. 렌더링 장치의 경우 스캔 변환을 수행하고 비트 맵에 씁니다. pdfwrite의 경우, PDF 연산자를 작성합니다.

이 결과는 출력 PDF 파일이 시각적 모양 외에 입력 PDF와 관련이 없다는 것입니다.

또한 사용중인 Ghostscript의 버전을 말하지 마십시오 ....

관련 문제