2017-11-30 20 views
0

Ghostscript가 Arial + 000040/Arial, Bold + 000041을 Arial/Arial-Bold로 대체하도록하려면 어떻게해야합니까? jhtest.pdf을 읽을 때?Ghostscript 글꼴 대체 수수께끼

Ghostscript는 두 글꼴 모두 Helvetica-Bold로 대체하려고합니다. 은 바이너리 모드로 정력을 사용하여 PDF에 글꼴 이름을 변경하는 데 도움이 - 예상대로 굴림 및 굴림-굵은이 대체됩니다 - jhtest-patched.pdf

로그인 jhtest-patched.pdf에 대한 jhtest.pdf

GS_FONTPATH=C:\Windows\Fonts 
gs -dNOPAUSE -dBATCH -dCCFONTDEBUG -sDEVICE=nullpage jhtest.pdf 
GPL Ghostscript 9.18 (2015-10-05) 
Copyright (C) 2015 Artifex Software, Inc. All rights reserved. 
This software comes with NO WARRANTY: see the file PUBLIC for details. 
Processing pages 1 through 1. 
Page 1 
Scanning C:\windows\Fonts for fonts... 666 files, 473 scanned, 447 new fonts. 
Querying operating system for font files... 
Substituting font Helvetica-Bold for Arial+000040. 
Loading NimbusSanL-Bol font from %rom%Resource/Font/NimbusSanL-Bol... 8611036 7144230 2673392 1348904 3 done. 
Substituting font Helvetica-Bold for Arial,Bold+000041. 
Substituting font Times-Bold for TimesNewRoman,Bold+000013. 
Loading NimbusRomNo9L-Med font from %rom%Resource/Font/NimbusRomNo9L-Med... 8870100 7399404 3366000 1964135 3 done. 

로그.

GS_FONTPATH=C:\Windows\Fonts 
gs -dNOPAUSE -dBATCH -dCCFONTDEBUG -sDEVICE=nullpage jhtest-patched.pdf 
GPL Ghostscript 9.18 (2015-10-05) 
Copyright (C) 2015 Artifex Software, Inc. All rights reserved. 
This software comes with NO WARRANTY: see the file PUBLIC for details. 
Processing pages 1 through 1. 
Page 1 
Can't find (or can't open) font file %rom%Resource/Font/ArialMT. 
Can't find (or can't open) font file ArialMT. 
Can't find (or can't open) font file %rom%Resource/Font/ArialMT. 
Can't find (or can't open) font file ArialMT. 
Scanning C:\windows\Fonts for fonts... 666 files, 473 scanned, 447 new fonts. 
Can't find (or can't open) font file %rom%Resource/Font/ArialMT. 
Can't find (or can't open) font file ArialMT. 
Loading ArialMT font from C:\windows\Fonts/arial.ttf... 8312100 3435413 4127492 2703302 3 done. 
Can't find (or can't open) font file %rom%Resource/Font/Arial-BoldMT. 
Can't find (or can't open) font file Arial-BoldMT. 
Loading Arial-BoldMT font from C:\windows\Fonts/arialbd.ttf... 8369364 3483445 6172560 4696464 3 done. 
Querying operating system for font files... 
Substituting font Times-Bold for TimesNewRoman,Bold+000013. 
Loading NimbusRomNo9L-Med font from %rom%Resource/Font/NimbusRomNo9L-Med... 8413932 3678215 7135440 5602384 3 done. 
+0

-sFONTMAP = Fontmap.GS 매개 변수가 Resource/Init의 파일로 덮어 쓰기 때문에 KenS에서 제안한대로 Fontmap.GS에서 필요한 대체를 정의하려는 시도가 실패했습니다. Ghostscript 매개 변수에는 콜론이 따르는 슬래시 또는 드라이브 문자로 시작하는 전체 경로 이름이 필요합니다. 수수께끼가 해결되었습니다. – user1016438

답변

1

이 (일부 글꼴이 보통 6 편지 '태그'더하기 기호 다음 원래 글꼴의 이름으로 명명 된) 일부 글꼴을 포함하도록 만드는 소프트웨어의 시도처럼 보인다. 그러나 이것은 (분명히) 그 체계에 해당하는 글꼴이 아닙니다.

솔직히 나쁜 아이디어 인 글꼴은 포함되지 않으며 이름이 비표준입니다. 즉, PDF 소비자 대체 폰트를 사용해야합니다. Ghostscript의 기본 대체 글꼴은 Helvetica입니다.

글꼴 이름을 '실제'글꼴 이름과 일치하도록 변경하면 다음 Ghostscript (및 다른 PDF 사용자)는 대체 글꼴로 Arial을 찾을 수 있습니다.

Ghostscript가 파일에서 '맹 글링 된'이름을 찾으려면 그 정확한 글꼴 이름 대신 대체로 정의해야합니다.

Windows를 사용하고 있으므로 빌드는 ROM 파일 시스템을 사용하고 있습니다. 그러나 문제를 복잡하게하려면 ghostscript (gswin32 또는 gswin64 대신 gs)의 Linux 버전을 사용하는 것 같습니다.

이렇게하면 내가하는 일을 정확히 알 수 없게됩니다. 그러나 Ghostscript 소스를 얻으면 /ghostpdl/Resource/Init/fontmap.GS 파일을 수정하십시오.

/Arial + 000040/ArialMT;

다음은 고스트 스크립트를 실행

gswin32c의 -I/ghostpdl/자원/초기화 jhtest.pdf

결과가 굴림은 000,040 + 굴림에 사용되는 것입니다. 환경에 맞게 수정해야하며 사용중인 Ghostscript 버전에 적합한 리소스 파일을 찾아야합니다 (버전이 지정 되었기 때문에).

그런 다음 원하는만큼 대용을 추가 할 수 있습니다.

또는 '비주얼 소프트웨어'를 사용하면 글꼴이 포함 된 더 분별있는 PDF 파일을 만들 수 있습니다. 글꼴 이름을 혼란시키지 말아야합니다.