Gerben Wierda wrote:
On Apr 29, 2005, at 15:03, Ville Voipio wrote (on the ConTeX list, but this also is interesting for all gwTeX users):
I have spent some very interesting time trying to install the TeXlive fonts by using texfont type-tmf.dat. What happened was that a lot of complaints about "unknown subpath ../afm/public/urw" were given even though the path should have been there. This is a known problem, has been on several mailing lists, as well.
After a lot of thinking it became clear that texfont was really unable to find any font files. By browsing through the texfont.pl, the reason became evident: In gwTeX the root variables are:
TEXMFMAIN = /usr/local/teTeX/share/texmf TEXMFTE = /usr/local/teTeX/share/texmf.tetex
The problem here is that all the TeXlive fonts (and almost everthing else) is really in the TEXMFTE tree.
My quick'n'dirty was to make new file type-tmf-gwtex.dat by replacing all occurrences of TEXMFMAIN by TEXMFTE. Running that one in batch mode works fine.
Problem solved -- this time. But the solution is not a beautiful one. Could someone suggest something cleaner? Or has this been solved already (I tried googling after the answer without success)?
TEXMFMAIN in TL is now reserved for only the stuff that is directly related to the binaries (like the pool files or anything that needs to stay in sync - grammar wise - with the binaries and scripts). In TeX Live the 'foundation' now lives in .../texmf-dist (TEXMFDIST) and not in ../texmf
In gwTeX, there are a few foundation trees: TEXMFTE for the teTeX tree and TEXMFGW for my additions
I think it is a simplification by texfont that it has a hardwired location. TeX is not set up that way. Probably the correct solution is for texfont itself to act in a more dynamic way, e.g. by trying to locate with kpsewhich some elements that are supposed to be there already and take th eresult of that search as the settin for what it now assumes to be hardwired.
In the meantime: your fix is correct.
generated fonts metrics are put in a given path: if (defined($ENV{TEXMFLOCAL})) { $installpath = "TEXMFLOCAL" ; } if (defined($ENV{TEXMFFONTS})) { $installpath = "TEXMFFONTS" ; } if ($installpath eq "") { $installpath = "TEXMFLOCAL" ; # redundant } and later on my $fontroot = "" ; #/usr/people/gwhite/texmf-fonts" &GetOptions "fontroot=s" => \$fontroot, and if ($fontroot eq "") { if ($dosish) { $fontroot = `kpsewhich -expand-path=\$$installpath` } else { $fontroot = `kpsewhich -expand-path=\\\$$installpath` } chomp $fontroot } etc etc I've added texmfdist to the search trees list my $trees = 'TEXMFFONTS,TEXMFLOCAL,TEXMFEXTRA,TEXMFMAIN,TEXMFDIST' ; (not that i use dist: the first thing i do here when i get tex live is merging the main/dist/doc/extra trees) btw, it's interesting that when i asked for a texmffonts entry long ago the argument against was 'we don't want too many trees' but nowadays we have so many trees that i no longer feel trouble by my own amount: texmf texmf-extra texmf-local texmf-fonts texmf-projects texmf-mswin texmf-macosx texmf-linux etc -) normally i try to use kpse to locate and report paths, but this is kind of slow and the kpsewhich interface is not frozen [which is why in more recent scripts i use a wrapper system around kpse, so in the end such problems may disappear] Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------