[tex-live] "Can't find font" : which step(s) have I overlooked ?

Reinhard Kotucha reinhard.kotucha at web.de
Thu Feb 11 01:49:03 CET 2010


On 10 February 2010 Philip TAYLOR wrote:

 > I now see (both from Windows' Search and from "getnonfreefonts"
 > output) that it has installed the Webomintsgd collection in
 > 
 > >      install:   'H:/TeX/Live/2009/texmf/home'
 > 
 > which is not a directory hierarchy I ever anticipated using.
 > Is it possible to persuade "getnonfreefonts" to install things
 > in the local equivalent of "texmflocal" ?

Yes, but first of all a few words about the error message you got:

> H:\TeX\Live\2009\bin\win32\runscript.tlu:293:
> no appropriate script or program found: getnonfreefonts-sys

The purpose of the wrappers is to run programs in a modified
environment on order to make the hidden ghostscript and perl, for
instance, visible to scripts which need them.  If you can convince
your Exploder to show file sizes in bytes instead of kilobytes, you'll
see many .exe files with a size of 1536 bytes.  All these tiny
programs are doing the same thing:  They invoke the generic wrapper
(bin/win32/runscript.tlu) and pass what you typed on the command line
to it.  runscript.tlu then evaluates the first argument (the name of
the script) in order to decide what to do.

I just looked at the code of the generic wrapper.  It behaves different
from the old one.  

The old wrapper always checked whether the first argument ends with
"-sys".  The new wrapper only supports updmap-sys as an exception and
doesn't recognize getnonfreefonts-sys.  Instead of launching
getnonfreefonts in a modified environment, it assumes that a script
called getnonfreefonts-sys actually exists.

I could change the getnonfreefonts installer in order to install
getnonfreefonts-sys also, but I'd like to hear Tomek's opinion first.
It would be nice if one and the same program has to be installed twice
under different names.

For the time being you have two options in order to invoke
getnonfreefonts-sys.

  1. cd texmf/scripts/getnonfreefonts
     copy /b getnonfreefonts.pl getnonfreefonts-sys.pl
     mktexlsr

  2. getnonfreefonts has an undocumented option --sys.  The
     invocations

       getnonfreefonts-sys
     
     and

       getnonfreefonts --sys

     should be equivalent.

The reason files were installed in TEXMFHOME instead of TEXMFLOCAL is
that you ran getnonfreefonts instead of getnonfreefonts-sys.  Running
getnonfreefonts-sys again won't help because files in TEXMFHOME take
priority.

If you are absolutely sure that you never installed anything in
TEXMFHOME yourself, just remove everything from TEXMFHOME and TEXMFVAR
and run mktexlsr.

You could run

  getnonfreefonts --sys webomints

but I think it's best to remove the files you installed manually
first.  You installed them in other directories than getnonfreefonts.

   fonts/type1/local/webomintsgd.pfb
   fonts/type1/public/webomints/WebOMintsGD.pfb

I don't expect any problems because these files are identical.
However, if things change on CTAN, getnonfreefonts will offer you to
update the fonts.  getnonfreefonts will replace old files by newer
ones but it's not aware of stuff in other directories.  And kpathsea
doesn't know which version of a particular file is more appropriate.
There should never be two files with the same name within a particular
TeX installation.

Let me cite Monty Python: "And Now For Something Completely Different".

getnonfreefonts provides documentation.  I'm aware that manual pages
are more or less inaccessible to Windows users.  Therefore, the web
page

   http://tug.org/~kotucha/getnonfreefonts

offers the manual page in HTML.

Though one could regard the manual page as the definite guide, it
also makes sense to invoke getnonfreefonts with the -h or --help
option.  The help message tells you where files are supposed to be
installed:
 
 $ getnonfreefonts --help
 [...]
 Directories:
       temporary: '/tmp/501-reinhard/getfont-<PID>'
       install:   '/home/reinhard/texmf'

 $ getnonfreefonts --sys --help
 [...]
 Directories:
       temporary: '/tmp/0-root/getfont-<PID>'
       install:   '/usr/local/texlive/2009/../texmf-local'

Regards,
  Reinhard

-- 
----------------------------------------------------------------------------
Reinhard Kotucha			              Phone: +49-511-3373112
Marschnerstr. 25
D-30167 Hannover	                      mailto:reinhard.kotucha at web.de
----------------------------------------------------------------------------
Microsoft isn't the answer. Microsoft is the question, and the answer is NO.
----------------------------------------------------------------------------


More information about the tex-live mailing list