# How to disable `mktexpk` in `dvips`?

Consider this `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
``````

Run metafont on it. All is good:

``````\$ 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.
``````

Now run `tex` on this file. All is good:

``````\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.
``````

When running `dvips -M0 ex-14-5` it tries to create the `pk` file automatically:

``````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>
``````

If I generate the `pk` file manually before calling `dvips ex-14-5`, all is OK:

``````\$ rm *pk
\$ gftopk ex-14-5.600gf
\$ dvips ex-14-5
' 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]
``````

Except using `-M0` command line option, I tried adding `M0` to `.dvipsrc` - it does not help.

How to tell `dvips` not to attempt to generate `pk` file automatically?

• I don't understand the question. What should dvips do with your char if the pk is not there? Leave a blank space? – Ulrike Fischer Mar 14 at 9:52
• @UlrikeFischer I think the problem being pointed to is that `gftopk` works but `mktexpk` does not, so perhaps a solution that involves calling `gftopk` instead would also be acceptable. – ShreevatsaR Mar 14 at 18:57
• @ShreevatsaR possible, but the question doesn't say so. Also on my system the compilation works fine, mktexpk doesn't fail. – Ulrike Fischer Mar 14 at 19:09
• @UlrikeFischer Maybe the question is about the fact that dvips has a documented `-M` option: "Turns off the automatic font generation facility. If any fonts are missing, commands to generate the fonts are appended to the file missfont.log...". That option seems to partially work for me (it doesn't write the missfont.log file), but it's not clear to me why the OP is trying `-M0` instead of `-M`. – ShreevatsaR Mar 14 at 21:05
• @ShreevatsaR indeed, `-M` must be used instead of `-M0`! This works: `dvips -M ex-14-5`. I would better use this option globally. Do you know how to use this option via config file or environment variable? (`M` in `.dvipsrc` does not work - is this a bug?) – Igor Liferenko Mar 15 at 1:24