It can sometimes happen that dvi2bitmap
fails to find fonts,
successfully calls mktexpk
to build them, but then still
fails to find them, even though mktexpk
has put them where they
should be. There are (at least) three possible reasons for this.
If you are using the kpathsea
library, there might be some
misconfiguration which is confusing it. You can trace
kpathsea
's deliberations in great detail by giving the option
-ggp
(item `-g(d|p|r|i|b|m|g)
').
Perhaps you do not have the kpathsea
library installed, or
have disabled it, but you have requested that font-generation be
enabled (see Section 3.1). What happens in this case
is that mktexpk
successfully builds the fonts, and installs
them in the correct place, where `correct place' means `the place
where kpathsea
would find them'; you're not using
kpathsea
, so no fonts for you. What you have to do in this
case is work out where the `correct place' is (kpsepath
and
kpsewhich
can help here), and specify that place using either
the -fp
option or the DVI2BITMAP_PK_PATH
variable, as
above (this is confusing, I know, but more-or-less unavoidable, since
we are here trying to do kpathsea
's job, without kpathsea
).
Another, slightly nastier reason is as follows.
Some texmf.cnf
files declare the location of the
user-writable font directory though a setting like
whereas others have something likeVARTEXFONTS=$SELFAUTOPARENT/var/lib/texmf
Now,VARTEXFONTS=$TEXMFLOCAL/fonts
$SELFAUTOPARENT
is a variable which is set
by the kpathsea library to be the grandparent directory of the executable
which uses the library. So, for /usr/bin/{tex,latex,mktexpk,...}
,
it's /
, but if your dvi2bitmap
binary doesn't live
with the other dvi-ware then its $SELFAUTOPARENT
will be
different, so that dvi2bitmap
will look for fonts in a
different place from the place where mktexpk
put them when
it successfully generated them.I would argue fairly strongly that having the VARTEXFONTS
directory depend on the location of the dvi-ware executables is
a very silly thing to do. This was the case in the teTeX distribution
which came with RedHat 6.0, though this was fixed pretty rapidly. If
you've fallen foul of this, then you can either
texmf.cnf
file to something more like the
second example above; ordvi2bitmap
along with the other TEXware.A third option is to get dvi2bitmap
to work around the
problem, by telling it to claim to be some program which is
installed along with the other dvi-ware. You do this with the
--enable-fake-progname
option to the configuration
script. See Section 3.1 for details.