`dvips`에서 `mktexpk`를 비활성화하는 방법은 무엇입니까?

`dvips`에서 `mktexpk`를 비활성화하는 방법은 무엇입니까?

이걸 고려하세요 ex-14-5.mf:

mode:=ljfour; % 600dpi for dvips (you must run "gftopk")
mode_setup;

beginchar("e",10pt#,7.5pt#,2.5pt#);
pickup pencircle scaled (.4pt+blacker);
draw fullcircle scaled .2w shifted (w/2,(h+d)/2-d);
draw fullcircle scaled .6w shifted (w/2,(h+d)/2-d);
draw fullcircle scaled w shifted (w/2,(h+d)/2-d);
endchar;

end

mf여기에 메타폰트( )를 실행하세요 . 모두 좋은:

$ mf ex-14-5
This is METAFONT, Version 2.7182818 (TeX Live 2017) (preloaded base=mf)
(ex-14-5.mf [101] )
Font metrics written on ex-14-5.tfm.
Output written on ex-14-5.600gf (1 character, 696 bytes).
Transcript written on ex-14-5.log.

이제 tex이 파일을 실행해 보세요. 모두 좋은:

\font\x=ex-14-5 \x e \bye
$ tex ex-14-5
This is TeX, Version 3.14159265
(ex-14-5.tex [1] )
Output written on ex-14-5.dvi (1 page, 260 bytes).
Transcript written on ex-14-5.log.

실행 시 자동으로 파일 dvips -M0 ex-14-5생성을 시도합니다 pk.

This is dvips(k) 5.998 Copyright 2018 Radical Eye Software (www.radicaleye.com)
' TeX output 2019.03.14:1625' -> ex-14-5.ps

kpathsea: Running mktexpk --mfmode ljfour --bdpi 600 --mag 1+0/600 --dpi 600 ex-14-5
<various errors follow>

pk호출하기 전에 파일을 수동으로 생성하면 dvips ex-14-5모두 정상입니다.

$ rm *pk
$ gftopk ex-14-5.600gf
$ dvips ex-14-5
This is dvips(k) 5.998 Copyright 2018 Radical Eye Software (www.radicaleye.com)
' TeX output 2019.03.14:1625' -> ex-14-5.ps
<./ex-14-5.600pk></usr/share/texlive/texmf-dist/dvips/base/tex.pro>
</usr/share/texlive/texmf-dist/dvips/base/texps.pro>. 
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb>[1] 

명령줄 옵션을 사용하는 것을 제외하고 추가를 -M0시도했지만 도움이 되지 않습니다.M0.dvipsrc

dvips자동으로 파일 생성을 시도하지 않도록 하는 방법은 무엇입니까 pk?

답변1

./다음과 같이 글꼴을 사용하는 경우

\font\x=./myfont

그런 다음 mktexpk호출되지 않습니다.

이 기능을 사용하면 mktexpk선택적으로 억제할 수 있습니다. -M이 경우 옵션은 mktexpk모든 글꼴을 금지하므로 사용할 수 없습니다.

마법은 에서 일어납니다 kpathsea_find_glyph. 이것은 tex-glyph.c의 관련 코드입니다.

    /* If not an alias, try creating it on the fly with mktexpk,
       unless FONTNAME is absolute or explicitly relative.  */
    if (!ret && !kpathsea_absolute_p (kpse, fontname, true)) {

따라서 kpathsea_absolute_p파일 이름이 명시적으로 상대적인 경우 true를 반환합니다.

이제 상대 경로를 사용하면 출력이 dvips필요합니다.

$ dvips -q ex-14-5
dvips: Font ./ex-14-5 not found; using cmr10
dvips: Design size mismatch in font ex-14-5
dvips: Checksum mismatch in font ex-14-5

관련 정보