[tex-live] Sorting out updmap/updmap-sys-troubles

Reinhard Kotucha reinhard.kotucha at web.de
Wed May 23 01:30:55 CEST 2012


On 2012-05-22 at 16:17:49 +0200, Ulrike Fischer wrote:

 > 
 > Hello,
 > 
 > one recurrent problem with font installation is caused by mixed 
 > calls of updmap and updmap-sys (or on miktex of updmap / updmap 
 > --admin). 
 > 
 > While it is normally rather easy (for me) to identify the cause of 
 > the problem I find it difficult (as a Windows and MikTeX user) to 
 > tell TeXLive users what to do to resolve the problem. I would find 
 > it useful if some exact informations could be collected to help 
 > people to sort out the map files without breaking something else. 
 > 
 > So here a list of questions:
 > (Assuming a current TeXLive)
 > 
 > A. updmap
 > =========
 > 1. Which updmap.cfg's is updmap reading
 >    a) root names as "kpse-variable"
 >    b) a typical path on unix
 >    c) a typical path on windows
 > 
 > 2. Which updmap.cfg does "updmap --enable Map" change?
 > 
 > 3. In which texmf tree does updmap write the map-files?
 > 
 > 4. Which map-files does updmap write?
 > 
 > 5. Does updmap generate a log-file by default?
 > 
 >    If yes: where is it on unix
 >                           on windows
 >            when you call updmap manually
 >            and when updmap is executed by tlmngr (if ever)
 > 
 >    If not: How can you force updmap to write a log-file?
 > 
 > 
 > B. updmap-sys
 > =============
 > 1. Which updmap.cfg's is updmap-sys reading
 >    a) root names as "kpse-variable"
 >    b) typical path on unix
 >    c) typical path on windows
 > 
 > 2. Which updmap.cfg does "updmap-sys --enable Map" change?
 > 
 > 3. In which texmf tree does updmap-sys write the map-files?
 >    a) root names as "kpse-variable"
 >    b) typical path on unix
 >    c) typical path on windows
 > 
 > 4. Which map-files does updmap-sys write?
 > 
 > 5. Does updmap-sys generate a log-file by default?
 >    If yes: where is it on unix
 >                        on windows
 >            when you call updmap-sys manually
 >            and when updmap-sys is executed by tlmngr
 >    If not: How can you force updmap-sys to write a log-file?

Hi Ulrike, 
I'll attach the output of updmap-sys and updmap below.  All relevant
paths are printed to screen.

updmap-sys is actually a wrapper which sets

  TEXMFVAR=$TEXMFSYSVAR
  TEXMFCONFIG=$TEXMFSYSCONFIG

and then executes updmap.  All paths are determined by kpathsea from
texmf.cnf files.

There is absolutely no difference between Unix and Windows as far as
TeX Live is concerned.  Everything is relative to the root of the TeX
Live tree, which is /usr/local/texlive on Unix and c:/texlive under
Windows by default.

The directory trees for user files are under $HOME on Unix and under
%USERPROFILE% on Windows by default.

A log file is always written.  It's actually not necessary if updmap's
screen output isn't suppressed, but it provides valuable information
if you want to know from which source file a particular entry was
derived.  Example:

/usr/local/texlive/2011/texmf-dist/fonts/map/dvips/arabtex/arabtex.map:
hcaption
hclassic
xnsh14
xnsh14bf

Instead of the complete map entries the log file shows TFM names only.
This helps to keep the size of the log file small, and TFM names in
the generated files are always unique.

 > 6. Does it matter if you run updmap-sys (with sudo?) in a user 
 > account or in an admin account?

Yes, if /usr/local/texlive is owned by root, a user can't create or
modify files there.  If it's owned by a user and updmap-sys is invoked
with sudo, generated files are owned by root afterwards.  If you run
updmap-sys as a user then, these files can't be overwritten.

/usr/local is always owned by root by default.  However, I recommend
to install TL with sudo and afterwards run:

  sudo chown --recursive ulrike /usr/local/texlive

Then TeX Live is yours.  If you accidentally run tlmgr or updmap-sys
with sudo, just repeat the step above.

 
 > C. Resolving troubles
 > =====================
 > 
 > 1. Revert updmap and use updmap-sys from now on: 
 >   a) What is the best way to delete local map-files generated by  
 > updmap?
 >   b) What is the best way to merge map-files added by "updmap 
 > --enable Map" to the updmap.cfg of updmap-sys?

Unfortunately this has to be done manually.

 > 2. The other way round: If a user would prefer to use updmap from 
 > now on: What should he do to activate all map files which had been 
 > added with "updmap-sys --enable Map"? (Or do they work already??)

If updmap is invoked the very first time, the global configuration is
copied to the local tree.

BTW, with TL2012-beta I get

$ updmap
updmap is using the following updmap.cfg files (in precedence order):
  /home/reinhard/.texlive2012/texmf-config/web2c/updmap.cfg
  /usr/local/texlive/2012/texmf-config/web2c/updmap.cfg
  /usr/local/texlive/2012/texmf/web2c/updmap.cfg
  /usr/local/texlive/2012/texmf-dist/web2c/updmap.cfg

and I suppose this this is similar to MiKTeX.

Below is the screen output of updmap-sys and updmap.  For Windows,
replace "/usr/local/texlive" by "c:/texlive" and "/home/reinhard" by
whatever %USERPROFILE% expands to.  These are the default paths, but
the installer allows to change them.

BTW, you can safely install TeX Live.  It will not interfere with your
MiKTeX installation.  The binaries which come first in %PATH% are used.  

Regards,
  Reinhard



$ updmap-sys 
Config file: "/usr/local/texlive/2011/texmf-config/web2c/updmap.cfg"
dvips output dir: "/usr/local/texlive/2011/texmf-var/fonts/map/dvips/updmap"
pdftex output dir: "/usr/local/texlive/2011/texmf-var/fonts/map/pdftex/updmap"
dvipdfm output dir: "/usr/local/texlive/2011/texmf-var/fonts/map/dvipdfm/updmap"
pxdvi output dir: "/usr/local/texlive/2011/texmf-var/fonts/map/pxdvi/updmap"

/usr/local/texlive/2011/bin/x86_64-linux/updmap is creating new map files
using the following configuration:
  LW35 font names                  : URWkb
  prefer outlines                  : true
  texhash enabled                  : true
  download standard fonts (dvips)  : true
  download standard fonts (pdftex) : true
  kanjiEmbed/variant replacement   : noEmbed/
  create a mapfile for pxdvi       : false

Scanning for LW35 support files  [  3 files]
Scanning for MixedMap entries    [ 44 files]
Scanning for KanjiMap entries    [  5 files]
Scanning for Map entries         [180 files]

Generating output for dvipdfm...
Generating output for ps2pk...
Generating output for dvips...
Generating output for pdftex...

Files generated:
  /usr/local/texlive/2011/texmf-var/fonts/map/dvips/updmap:
       11499 2012-05-22 23:17:15 builtin35.map
       15962 2012-05-22 23:17:15 download35.map
      589219 2012-05-22 23:17:16 psfonts_pk.map
      850224 2012-05-22 23:17:15 psfonts_t1.map
      845791 2012-05-22 23:17:15 ps2pk.map
          14 2012-05-22 23:17:17 psfonts.map -> psfonts_t1.map
  /usr/local/texlive/2011/texmf-var/fonts/map/pdftex/updmap:
      845798 2012-05-22 23:17:17 pdftex_dl14.map
      844224 2012-05-22 23:17:16 pdftex_ndl14.map
          15 2012-05-22 23:17:17 pdftex.map -> pdftex_dl14.map
  /usr/local/texlive/2011/texmf-var/fonts/map/dvipdfm/updmap:
        5003 2012-05-22 23:17:15 kanjix.map

Transcript written on "/usr/local/texlive/2011/texmf-var/web2c/updmap.log".
/usr/local/texlive/2011/bin/x86_64-linux/updmap: Updating ls-R files.


$ updmap
Config file: "/home/reinhard/.texlive2011/texmf-config/web2c/updmap.cfg"
dvips output dir: "/home/reinhard/.texlive2011/texmf-var/fonts/map/dvips/updmap"
pdftex output dir: "/home/reinhard/.texlive2011/texmf-var/fonts/map/pdftex/updmap"
dvipdfm output dir: "/home/reinhard/.texlive2011/texmf-var/fonts/map/dvipdfm/updmap"
pxdvi output dir: "/home/reinhard/.texlive2011/texmf-var/fonts/map/pxdvi/updmap"

/usr/local/texlive/2011/bin/x86_64-linux/updmap is creating new map files
using the following configuration:
  LW35 font names                  : URWkb
  prefer outlines                  : true
  texhash enabled                  : true
  download standard fonts (dvips)  : false
  download standard fonts (pdftex) : true
  kanjiEmbed/variant replacement   : noEmbed/
  create a mapfile for pxdvi       : false

Scanning for LW35 support files  [  3 files]
Scanning for MixedMap entries    [ 44 files]
Scanning for KanjiMap entries    [  0 files]
Scanning for Map entries         [166 files]

Generating output for dvipdfm...
Generating output for ps2pk...
Generating output for dvips...
Generating output for pdftex...

Files generated:
  /home/reinhard/.texlive2011/texmf-var/fonts/map/dvips/updmap:
       11507 2012-05-23 00:21:13 builtin35.map
       15970 2012-05-23 00:21:13 download35.map
      515001 2012-05-23 00:21:13 psfonts_pk.map
      776006 2012-05-23 00:21:13 psfonts_t1.map
      780463 2012-05-23 00:21:13 ps2pk.map
          14 2012-05-23 00:21:14 psfonts.map -> psfonts_t1.map
  /home/reinhard/.texlive2011/texmf-var/fonts/map/pdftex/updmap:
      780470 2012-05-23 00:21:14 pdftex_dl14.map
      778896 2012-05-23 00:21:14 pdftex_ndl14.map
          15 2012-05-23 00:21:14 pdftex.map -> pdftex_dl14.map
  /home/reinhard/.texlive2011/texmf-var/fonts/map/dvipdfm/updmap:
         353 2012-05-23 00:21:12 kanjix.map

Transcript written on "/home/reinhard/.texlive2011/texmf-var/web2c/updmap.log".
/usr/local/texlive/2011/bin/x86_64-linux/updmap: Updating ls-R files.





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