diff options
author | Norbert Preining <preining@logic.at> | 2012-05-13 03:53:19 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2012-05-13 03:53:19 +0000 |
commit | 677388a3c8652b310f83074efd620cc0a052ed4a (patch) | |
tree | 84a91fcb2f28f1eadf517612952f92b2a7e2e8e7 /Master/texmf | |
parent | 9b3a52f96953df4e8e846b63d7cc8779e48d6f6f (diff) |
multi updmap integration, we have now separate updmap.cfg files
git-svn-id: svn://tug.org/texlive/trunk@26320 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf')
-rwxr-xr-x | Master/texmf/scripts/texlive/tlmgr.pl | 133 | ||||
-rw-r--r-- | Master/texmf/web2c/updmap-hdr.cfg | 107 | ||||
-rw-r--r-- | Master/texmf/web2c/updmap.cfg | 259 |
3 files changed, 47 insertions, 452 deletions
diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl index 647eb29510d..04460f71290 100755 --- a/Master/texmf/scripts/texlive/tlmgr.pl +++ b/Master/texmf/scripts/texlive/tlmgr.pl @@ -632,47 +632,21 @@ sub handle_execute_actions chomp(my $TEXMFSYSVAR = `kpsewhich -var-value=TEXMFSYSVAR`); chomp(my $TEXMFSYSCONFIG = `kpsewhich -var-value=TEXMFSYSCONFIG`); chomp(my $TEXMFLOCAL = `kpsewhich -var-value=TEXMFLOCAL`); + chomp(my $TEXMFDIST = `kpsewhich -var-value=TEXMFDIST`); # # maps handling - # if enabled and disabled -> do nothing - # if only enabled -> enable it - # if only disabled -> disable it - # if the option "generate_updmap" is set, then simply ignore all that - # and run the equivalent of tlmgr generate updmap { my $updmap_run_needed = 0; - my %do_enable; - my %do_disable; for my $m (keys %{$::execute_actions{'enable'}{'maps'}}) { $updmap_run_needed = 1; - $do_enable{$m} = 1; } for my $m (keys %{$::execute_actions{'disable'}{'maps'}}) { $updmap_run_needed = 1; - if (defined($do_enable{$m})) { - # we are upgrading because it is disabled and enabled, so - # delete the entry in do_enable, it is already - delete $do_enable{$m}; - } else { - # not new installed, so simply removed - $do_disable{$m} = 1; - } } - if ($updmap_run_needed && $localtlpdb->option("generate_updmap")) { - my $dest = "$TEXMFSYSCONFIG/web2c/updmap.cfg"; - my $localcfg = "$TEXMFLOCAL/web2c/updmap-local.cfg"; - info("tlmgr: generate_updmap writing new $dest\n"); - TeXLive::TLUtils::create_updmap($localtlpdb, $dest, $localcfg); - } else { - for my $m (keys %do_disable) { - $errors += do_cmd_and_check("updmap-sys --nomkmap --nohash --disable $m"); - } - for my $m (keys %do_enable) { - my $str = "updmap-sys --nomkmap --nohash --enable " . - $::execute_actions{'enable'}{'maps'}{$m} . "=$m"; - $errors += do_cmd_and_check($str); - } + if ($updmap_run_needed) { + my $dest = "$TEXMFDIST/web2c/updmap.cfg"; + TeXLive::TLUtils::create_updmap($localtlpdb, $dest); } $errors += do_cmd_and_check("updmap-sys") if $updmap_run_needed; } @@ -3962,17 +3936,15 @@ sub action_generate { init_local_db(); # we create fmtutil.cnf, language.dat, language.def in TEXMFSYSVAR and - # updmap.cfg in TEXMFSYSCONFIG. The reason is that calls to - # updmap-sys (as is done by the tlmgr update call when packages with - # maps are installed) will create the updmap.cfg file in - # TEXMFSYSCONFIG. It would start from the version in TEXMFSYSVAR, but - # after that the TEXMFSYSCONFIG takes precedence and thus the - # mechanism explained in updmap.cfg header would not work. We don't - # want that. So just use TEXMFSYSCONFIG from the start. + # updmap.cfg in TEXMFDIST. The reason is that we are now using an + # implementation of updmap that supports multiple updmap files. + # Local adaptions should not be made there, but only in TEXMFLOCAL + # or TEXMF(SYS)CONFIG updmap.cfg # chomp (my $TEXMFSYSVAR = `kpsewhich -var-value=TEXMFSYSVAR`); chomp (my $TEXMFSYSCONFIG = `kpsewhich -var-value=TEXMFSYSCONFIG`); chomp (my $TEXMFLOCAL = `kpsewhich -var-value=TEXMFLOCAL`); + chomp (my $TEXMFDIST = `kpsewhich -var-value=TEXMFDIST`); # we do generate all config files, treat $opts{"dest"} as pattern # and make it append the respective extensions @@ -4050,10 +4022,9 @@ sub action_generate { } } elsif ($what =~ m/^updmap$/i) { - my $dest = $opts{"dest"} || "$TEXMFSYSCONFIG/web2c/updmap.cfg"; - my $localcfg = $opts{"localcfg"} || "$TEXMFLOCAL/web2c/updmap-local.cfg"; + my $dest = $opts{"dest"} || "$TEXMFDIST/web2c/updmap.cfg"; debug("$prg: writing new updmap.cfg to $dest\n"); - TeXLive::TLUtils::create_updmap($localtlpdb, $dest, $localcfg); + TeXLive::TLUtils::create_updmap($localtlpdb, $dest); if ($opts{"rebuild-sys"}) { do_cmd_and_check("updmap-sys"); @@ -6179,7 +6150,6 @@ the definitive list): sys_bin (directory to which executables are linked by the path action) sys_man (directory to which man pages are linked by the path action) sys_info (directory to which Info files are linked by the path action) - generate_updmap (run the equivalent of tlmgr generate updmap on changes) desktop_integration (Windows-only: create Start menu shortcuts) fileassocs (Windows-only: change file associations) multiuser (Windows-only: install for all users) @@ -6235,9 +6205,6 @@ The C<sys_bin>, C<sys_man>, and C<sys_info> options are used on Unix-like systems to control the generation of links for executables, info files and man pages. See the C<path> action for details. -For the C<generate_updmap> option, see the C<updmap> section in -L<generate|/"generate [I<option>]... I<what>">. - The last three options control behaviour on Windows installations. If C<desktop_integration> is set, then some packages will install items in a sub-folder of the Start menu for C<tlmgr gui>, documentation, etc. If @@ -6628,31 +6595,20 @@ Do not ask for confirmation, remove immediately. =back The C<generate> action overwrites any manual changes made in the -respective files: it recreates them from scratch. - -For C<fmtutil> and the language files, this is normal, and both the TeX -Live installer and C<tlmgr> routinely call C<generate> for them. - -For C<updmap>, however, C<tlmgr> does I<not> use C<generate> by default, -because the result would be to disable all maps which have been manually -installed via S<C<updmap-sys --enable>>, e.g., for proprietary or local -fonts, which has been the standard method for adding fonts to TeX -installations for years. Rather, the C<generate> action only -incorporates the changes in the C<--localcfg> file mentioned below. - -Notwithstanding the above, if you only use the fonts and font packages -within TeX Live, and rigorously maintain your local fonts (if any) using -C<updmap-local.cfg>, there is nothing wrong with using C<generate -updmap>. It can be helpful in moving from release to release, -especially. We use it ourselves to generate the C<updmap.cfg> file in -the live source repository. If you want to commit yourself to using -C<updmap-local.cfg>, you can set the C<generate_updmap> option and -C<tlmgr> will run C<generate updmap> for you on update. - -In any case, C<tlmgr> updates and maintains the final C<updmap.cfg> in -C<TEXMFSYSCONFIG> (while the other generated files are in -C<TEXMFSYSVAR>), because that is the location that C<updmap-sys> (via -C<tcfmgr>) historically uses. +respective files: it recreates them from scratch based on the +information of the installed packages, plus local adaptions. + +The TeX Live installer and C<tlmgr> routinely call C<generate> for +all of these files. + +For managing your own fonts, please see the documentation of +updmap, which supports multiple updmap.cfg files. So by simply +editing TEXMFLOCAL's updmap.cfg they will be accounted for. + +In any case, C<tlmgr> updates and maintains C<updmap.cfg> in +C<TEXMFDIST> (while the other generated files are in +C<TEXMFSYSVAR>), because that is the location where the fonts +are installed. In more detail: C<generate> remakes any of the five config files C<language.dat>, C<language.def>, C<language.dat.lua>, C<fmtutil.cnf>, @@ -6660,26 +6616,27 @@ and C<updmap.cfg> from the information present in the local TLPDB, plus locally-maintained files. The locally-maintained files are C<language-local.dat>, -C<language-local.def>, C<language-local.dat.lua>, C<fmtutil-local.cnf>, -or C<updmap-local.cfg>, searched for in C<TEXMFLOCAL> in the respective -directories. If they are present, the final file is made by starting +C<language-local.def>, C<language-local.dat.lua>, or C<fmtutil-local.cnf>, +searched for in C<TEXMFLOCAL> in the respective directories. +The formerly supported C<updmap-local.cfg> is not supported anymore, +since C<updmap> now supports multiple updmap.cfg files, so local +additions can be put into an updmap.cfg file in TEXMFLOCAL. +If local additions are present, the final file is made by starting with the main file, omitting any entries that the local file specifies to be disabled, and finally appending the local file. Local files specify entries to be disabled with a comment line, namely one of these: - #!NAME %!NAME --!NAME -where C<fmtutil.cnf> and C<updmap.cfg> use C<#>, C<language.dat> and +where C<fmtutil.cnf> uses C<#>, C<language.dat> and C<language.def> use C<%>, and C<language.dat.lua> use C<-->. In any -case, the I<name> is the respective format name, map file name (include -the C<.map> extension), or hyphenation pattern identifier. Examples: +case, the I<name> is the respective format name, or hyphenation pattern +identifier. Examples: #!pdflatex - #!lm.map %!german --!usenglishmax @@ -6692,20 +6649,9 @@ except for the special disabling lines, the local files follow the same syntax as the master files. The form C<generate language> recreates both the C<language.dat>, the -C<language.def> and the C<language.dat.lua>files, while the forms with +C<language.def> and the C<language.dat.lua> files, while the forms with extension recreates only the given language file. -Special consideration for updmap.cfg: in addition to font map files, -this file specifies the setting of five options: C<dvipsPreferOutline>, -C<LW35>, C<dvipsDownloadBase35>, C<pdftexDownloadBase14>, and -C<dvipdfmDownloadBase14>. The defaults for these as set in -C<updmap-hdr.cfg> are usually fine. If you want to change them, you can -include changed settings for any or all of these five options in your -C<updmap-local.cfg> file and they will be respected by C<generate -updmap>. For example: - - dvipsDownloadBase35 true - Options: =over 4 @@ -6713,7 +6659,7 @@ Options: =item B<--dest> I<output_file> specifies the output file (defaults to the respective location in -C<TEXMFSYSVAR> for C<language*> and C<fmtutil>, and C<TEXMFSYSCONFIG> +C<TEXMFSYSVAR> for C<language*> and C<fmtutil>, and C<TEXMFSYSDIST> for C<updmap>). If C<--dest> is given to C<generate language>, it serves as a basename onto which C<.dat> will be appended for the name of the C<language.dat> output file, C<.def> will be @@ -6751,13 +6697,6 @@ The respective locations are as follows: web2c/fmtutil.cnf (and fmtutil-local.cnf); web2c/updmap.cfg (and updmap-local.cfg). -Final repetition: as explained above, C<tlmgr> does I<not> use -C<generate updmap> for font map files. Therefore, if you want to make -use of C<updmap-local.cfg>, you must run C<tlmgr generate updmap> -and C<updmap-sys> yourself after making any local changes. If you -make yourself responsible for rigorously using C<updmap-local.cfg>), set -C<option generate_updmap>). - =head1 TLMGR CONFIGURATION FILE diff --git a/Master/texmf/web2c/updmap-hdr.cfg b/Master/texmf/web2c/updmap-hdr.cfg index 0586af64348..c2014eb4466 100644 --- a/Master/texmf/web2c/updmap-hdr.cfg +++ b/Master/texmf/web2c/updmap-hdr.cfg @@ -1,8 +1,8 @@ # $Id$ # -# The full updmap.cfg is generated by concatenating updmap-hdr.cfg with -# all the Map and MixedMap lines from an installation, possibly -# appending a local configuration file. +# The updmap.cfg in this tree (TEXMFDIST) is generated by tlmgr by +# concatenating updmap-hdr.cfg with all the Map and MixedMap lines +# from an installation. # # To make local customizations to the map files, please use of the # following methods: @@ -11,102 +11,11 @@ # updmap-sys --enable Map=foo.map # for each map file. (Or MixedMap instead of Map, if your font has # both Metafont and outline definitions.) See the updmap --help -# documentation. +# documentation. This will add lines to the updmap.cfg file in +# TEXMFSYSCONFIG (creating it if necessary). # -# 2) add your local map entries to the file -# TEXMFLOCAL/web2c/updmap-local.cfg -# and then call -# tlmgr generate updmap -# which will concatenate updmap-local.cfg to the end of the final -# updmap.cfg. (You can override the local.cfg file location with the -# --localcfg option; see tlmgr --help.) +# 2) put all your additional fonts into TEXMFLOCAL and edit +# TEXMFLOCAL/web2c/updmap.cfg. # -# If you use either of these methods, your local adaptations will be -# preserved when tlmgr updates the installation or this config file. -# Manual edits to updmap.cfg may be lost on update. - - -################################################################ -# OPTIONS -################################################################ - +# Manual edits to this updmap.cfg will be lost on update. # -# dvipsPreferOutline -# -# Should dvips (by default) prefer bitmap fonts or outline fonts -# if both are available? Independent of this setting, outlines -# can be forced by putting "p psfonts_t1.map" into a config file -# that dvips reads. Bitmaps (for the fonts in question) can -# be forced by putting "p psfonts_pk.map" into a config file. -# We provide such config files which can be enabled via -# dvips -Poutline ... resp. dvips -Ppk ... -# -# Valid settings for dvipsPreferOutline are true / false: -dvipsPreferOutline true - -# -# LW35 -# -# Which fonts for the "Basic 35 Laserwriter Fonts" do you want to use and -# how are the filenames chosen? Valid settings: -# URW: URW fonts with "vendor" filenames (e.g. n019064l.pfb) -# URWkb: URW fonts with "berry" filenames (e.g. uhvbo8ac.pfb) -# ADOBE: Adobe fonts with "vendor" filenames (e.g. hvnbo___.pfb) -# ADOBEkb: Adobe fonts with "berry" filenames (e.g. phvbo8an.pfb) -LW35 URWkb - -# -# dvipsDownloadBase35 -# -# Should dvips (by default) download the standard 35 LaserWriter fonts -# with the document (then set dvipsDownloadBase35 true) or should these -# fonts be used from the ps interpreter / printer? -# Whatever the default is, the user can override it by specifying -# dvips -Pdownload35 ... resp. dvips -Pbuiltin35 ... to either download -# the LW35 fonts resp. use the built-in fonts. -# -# Valid settings are true / false: -dvipsDownloadBase35 true - -# -# pdftexDownloadBase14 -# -# Should pdftex download the base 14 pdf fonts? Since some configurations -# (ps / pdf tools / printers) use bad default fonts, it is safer to download -# the fonts. The pdf files will get bigger, though. -# Valid settings are true (download the fonts) or false (don't download -# the fonts). Adobe recommends embedding all fonts. -pdftexDownloadBase14 true - -# -# dvipdfmDownloadBase14 -# -# Should dvipdfm download the base 14 pdf fonts? Since some configurations -# (ps / pdf tools / printers) use bad default fonts, it is safer to download -# the fonts. The pdf files will get bigger, though. -# Valid settings are true (download the fonts) or false (don't download -# the fonts). -dvipdfmDownloadBase14 true - -# -# kanjiEmbed -# -# updmap generates a file kanjix.map for usage with dvipdfmx. Using this -# option one can switch between not embedding any kanji font, and several -# available. -# Valid setting is any string. At updmap run time the @kanjiEmbed@ substring -# in a map file name will be replaced with this settings, and the respective -# map file used. -kanjiEmbed noEmbed - -################################################################ -# Map files. -################################################################ -# -# There are two possible entries: Map and MixedMap. Both have one additional -# argument: the filename of the map file. MixedMap ("mixed" means that -# the font is available as bitmap and as outline) lines will not be used -# in the default map of dvips if dvipsPreferOutline is false. Inactive -# Map files should be marked by "#! " (without the quotes), not just #. -# - diff --git a/Master/texmf/web2c/updmap.cfg b/Master/texmf/web2c/updmap.cfg index e7533d91f26..f49ff777758 100644 --- a/Master/texmf/web2c/updmap.cfg +++ b/Master/texmf/web2c/updmap.cfg @@ -1,30 +1,7 @@ -# Generated by /home/texlive/karl/Master/bin/i386-linux/tlmgr on Fri May 11 04:40:06 2012 -# $Id: updmap-hdr.cfg 24398 2011-10-26 01:07:22Z preining $ -# -# The full updmap.cfg is generated by concatenating updmap-hdr.cfg with -# all the Map and MixedMap lines from an installation, possibly -# appending a local configuration file. -# -# To make local customizations to the map files, please use of the -# following methods: -# -# 1) call -# updmap-sys --enable Map=foo.map -# for each map file. (Or MixedMap instead of Map, if your font has -# both Metafont and outline definitions.) See the updmap --help -# documentation. # -# 2) add your local map entries to the file -# TEXMFLOCAL/web2c/updmap-local.cfg -# and then call -# tlmgr generate updmap -# which will concatenate updmap-local.cfg to the end of the final -# updmap.cfg. (You can override the local.cfg file location with the -# --localcfg option; see tlmgr --help.) -# -# If you use either of these methods, your local adaptations will be -# preserved when tlmgr updates the installation or this config file. -# Manual edits to updmap.cfg may be lost on update. +# updmap.cfg +# TEXMFMAIN +# only the options are defined here ################################################################ @@ -100,233 +77,3 @@ dvipdfmDownloadBase14 true # map file used. kanjiEmbed noEmbed -################################################################ -# Map files. -################################################################ -# -# There are two possible entries: Map and MixedMap. Both have one additional -# argument: the filename of the map file. MixedMap ("mixed" means that -# the font is available as bitmap and as outline) lines will not be used -# in the default map of dvips if dvipsPreferOutline is false. Inactive -# Map files should be marked by "#! " (without the quotes), not just #. -# - -Map OrnementsADF.map -Map ArrowsADF.map -Map BulletsADF.map -MixedMap allrunes.map -Map euler.map -MixedMap cm.map -MixedMap cmextra.map -MixedMap cyrillic.map -MixedMap latxfont.map -MixedMap symbols.map -Map uaq.map -Map antt.map -Map arabi.map -MixedMap arabtex.map -Map archaicprw.map -Map arev.map -Map bkaiu.map -Map bsmiu.map -Map gbsnu.map -Map gkaiu.map -Map ascii.map -Map aspectratio.map -Map augie.map -Map auncial.map -Map aurical.map -Map ybv.map -MixedMap bbold.map -Map belleek.map -Map bera.map -Map ybd.map -Map sqrcaps.map -Map boondox.map -Map pbsi.map -Map burmese.map -Map calligra.map -Map cantarell.map -Map cmin.map -MixedMap cbgreek-full.map -MixedMap ccpl.map -Map ccicons.map -Map clm.map -Map chemarrow.map -Map cjhebrew.map -MixedMap cmtext-bsr-interpolated.map -Map cm-lgc.map -MixedMap cm-super-t1.map -MixedMap cm-super-t2a.map -MixedMap cm-super-t2b.map -MixedMap cm-super-t2c.map -MixedMap cm-super-ts1.map -MixedMap cm-super-x2.map -Map cmcyr.map -MixedMap cmll.map -Map comfortaa.map -Map original-context-symbol.map -Map CountriesOfEurope.map -MixedMap csother.map -MixedMap cstext.map -Map cyklop.map -Map dejavu-type1.map -Map dictsym.map -Map dstroke.map -Map droid.map -Map dutchcal.map -Map yes.map -Map epigrafica.map -Map epiolmec.map -MixedMap esint.map -Map ESSTIX.map -Map esvect.map -MixedMap ethiop.map -MixedMap eurosym.map -Map fdsymbol.map -Map fge.map -Map foekfont.map -Map fonetika.map -Map tlwg.map -Map fourier-utopia-expert.map -Map fourier.map -Map frcursive.map -Map garuda-c90.map -Map gfsartemisia.map -Map gfsbaskerville.map -Map gfsbodoni.map -Map gfscomplutum.map -Map gfsdidot.map -Map gfsneohellenic.map -Map gfsporson.map -Map gfssolomos.map -Map yfrak.map -Map ugq.map -Map grverb.map -MixedMap hfbright.map -MixedMap iby.map -Map fi4.map -Map Acorn.map -Map AnnSton.map -Map ArtNouv.map -Map ArtNouvc.map -Map Carrickc.map -Map Eichenla.map -Map Eileen.map -Map EileenBl.map -Map Elzevier.map -Map GotIn.map -Map GoudyIn.map -Map Kinigcap.map -Map Konanur.map -Map Kramer.map -Map MorrisIn.map -Map Nouveaud.map -Map Romantik.map -Map Rothdn.map -Map RoyalIn.map -Map Sanremo.map -Map Starburst.map -Map Typocaps.map -Map Zallman.map -Map iwona.map -KanjiMap otf-@kanjiEmbed@.map -KanjiMap otf-cktx.map -KanjiMap otf-up-@kanjiEmbed@.map -Map kerkis.map -Map knitfont.map -Map kpfonts.map -Map kurier.map -Map lato.map -Map libertine.map -Map yly.map -Map linearA.map -Map l7x-urwvn.map -Map lm.map -MixedMap lxfonts.map -MixedMap manfnt.map -Map marvosym.map -Map mathabx.map -Map mdbch.map -Map mdput.map -Map mdugm.map -Map mdsymbol.map -Map troff-updmap.map -MixedMap mflogo.map -Map MnSymbol.map -MixedMap mongolian.map -MixedMap musix.map -Map ntx.map -Map norasi-c90.map -Map cherokee.map -Map ocrb.map -Map oinuit.map -Map omega.map -Map opensans.map -Map paratype-type1.map -Map phaistos.map -MixedMap pigpen.map -MixedMap plother.map -MixedMap pltext.map -Map ap.map -Map prodint.map -Map charter.map -Map fpls.map -Map pazo.map -Map utopia.map -KanjiMap morisawa.map -KanjiMap ptex-@kanjiEmbed@@kanjiVariant@.map -Map pxfonts.map -Map pxtx.map -Map recycle.map -Map yrd.map -MixedMap rsfs.map -Map rsfso.map -Map skt.map -Map sansmathaccent.map -MixedMap semaf.map -Map SkakNew.map -Map starfont.map -Map icelandic.map -MixedMap stmaryrd.map -Map tabvar.map -Map mathpple.map -Map qag.map -Map qbk.map -Map qcr.map -Map qcs.map -Map qhv.map -Map qpl.map -Map qtm.map -Map qzc.map -Map tfrupee.map -MixedMap tipa.map -MixedMap trajan.map -Map txfonts.map -Map gptimes.map -Map umj.map -MixedMap dvng.map -Map yv1.map -Map yv2.map -Map yv3.map -Map yvo.map -Map yvt.map -Map arevvn.map -Map chartervn.map -Map cmbrightvn.map -Map concretevn.map -Map grotesqvn.map -Map txttvn.map -Map urwvn.map -MixedMap vnrother.map -MixedMap vnrtext.map -Map vntopia.map -Map dgj.map -Map dmj.map -Map mc2j.map -Map mcj.map -Map mr2j.map -Map mrj.map -MixedMap wasy.map -MixedMap xypic.map -MixedMap yhmath.map |