TEXMFMAIN problem in gwTeX (font installation)
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)? - Ville
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. G
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 -----------------------------------------------------------------
generated fonts metrics are put in a given path:
And this is not the problem. I have to apologise for the bad wording of my previous message. I am not saying there would be anything wrong with the Perl script. The only slight annoyance there is the error message, which states: "unknown subpath ../fonts/afm/$vendor/$collection" At least to my eye this seems to refer to the parent directory (..), whereas it really doesn't. It just says that something/something/fonts/afm/$vendor/$collection is missing. Full path in that message would've gotten me to the goal a bit faster. The problem is really in the font installation script (type-tmf.dat). There the root (i.e. the source tree for the fonts) is explicitly given as TEXMFMAIN. And this does not work in gwTeX, because if something is given, it has to be TEXMFTE. As a summary: - texfont.pl is fine - gwTeX is fine - type-tmf.dat is not fine, but I really don't know how to reliably fix it (yes, patching is simple, but then it does not work in other distros) --- But am I doing something stupid (again)? I think I have some kind of understanding of the ConTeXt font mechanisms. However, I am still a bit confused about this mess. So, what is the easy, standard, newbie way to install the TeX Live font collection to be used with ConTeXt? Is it still using the type-tmf.dat batch file? - Ville
The problem is really in the font installation script (type-tmf.dat). There the root (i.e. the source tree for the fonts) is explicitly given as TEXMFMAIN. And this does not work in gwTeX, because if something is given, it has to be TEXMFTE.
Just for my understanding. Does texfont.pl only read in TEXMFMAIN or does it also write (can it be a search path or does it require for TEXMFMAIN to be just one directory)? G
Gerben Wierda said this at Mon, 2 May 2005 17:10:03 +0200:
The problem is really in the font installation script (type-tmf.dat). There the root (i.e. the source tree for the fonts) is explicitly given as TEXMFMAIN. And this does not work in gwTeX, because if something is given, it has to be TEXMFTE.
Just for my understanding. Does texfont.pl only read in TEXMFMAIN or does it also write (can it be a search path or does it require for TEXMFMAIN to be just one directory)?
My understanding is that you can enter a comma-separated list of trees. The default is "TEXMFFONTS,TEXMFLOCAL,TEXMFEXTRA,TEXMFMAIN". That suggests to me that the --ro=TEXMFMAIN defaults in the type-tmf.dat file probably should go away, as 1) they get in the way of over-rides at the CLI, and 2) it's covered by the current default, anyway. adam % texfont --help TeXFont 2.2.1 - ConTeXt / PRAGMA ADE 2000-2004 --fontroot=path : texmf destination font root (default: /usr/local/tetex/share/texmf.local) --rootlist=paths : texmf source roots (default: TEXMFFONTS,TEXMFLOCAL,TEXMFEXTRA,TEXMFMAIN) -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Adam T. Lindsay, Computing Dept. atl@comp.lancs.ac.uk Lancaster University, InfoLab21 +44(0)1524/510.514 Lancaster, LA1 4WA, UK Fax:+44(0)1524/510.492 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Gerben Wierda wrote:
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.
one can specify the fontroot on the commandline in most cases texfont is is used for installing fonts not in a tex tree (or in a local tree); given unpredictable changes in patterns and fonts, i'll probably put a context font metrics zip on the website anyway and include patterns in the main zip; moreover, the new fonts by the polish font gurus [lm, antykwa, kurier, iwona, etc] already come with context friendly metrics and names 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 -----------------------------------------------------------------
participants (4)
-
Adam Lindsay
-
Gerben Wierda
-
h h extern
-
Ville Voipio