diff options
author | Karl Berry <karl@freefriends.org> | 2013-01-23 00:17:22 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-01-23 00:17:22 +0000 |
commit | 6abfb3cf339805d52fe35992c032041d3111b90c (patch) | |
tree | 56bc3eaff0dde3ee2b9e70a5027e629502237233 /Build | |
parent | 9b25c2372447eed1435f05be3b6fe77029b9d420 (diff) |
musixtex 1.15 (21jan13)
git-svn-id: svn://tug.org/texlive/trunk@28909 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
47 files changed, 58 insertions, 9862 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/Makefile.am b/Build/source/texk/texlive/linked_scripts/Makefile.am index 297f0ddeb3e..a53ab4cc3c3 100644 --- a/Build/source/texk/texlive/linked_scripts/Makefile.am +++ b/Build/source/texk/texlive/linked_scripts/Makefile.am @@ -1,6 +1,6 @@ ## Makefile.am for the TeX Live subdirectory texk/texlive/linked_scripts/ ## -## Copyright (C) 2009-2012 Peter Breitenlohner <tex-live@tug.org> +## Copyright (C) 2009-2013 Peter Breitenlohner <tex-live@tug.org> ## You may freely use, modify and/or distribute this file. ## ## TeX Live's extra scripts. @@ -51,21 +51,9 @@ installdirs-local: ## scripts because they are correctly handled by the wrapper binaries. ## texmf_scriptsdir = $(datarootdir)/texmf/scripts -texmf_shell_scripts = \ - tetex/fmtutil.sh \ - tetex/texconfig.sh \ - tetex/texconfig-dialog.sh \ - tetex/texconfig-sys.sh \ - tetex/texlinks.sh -texmf_other_scripts = \ - tetex/fmtutil-sys.sh \ +nobase_dist_texmf_scripts_SCRIPTS = \ texlive/rungs.tlu \ texlive/tlmgr.pl -texmf_context_scripts = -nobase_dist_texmf_scripts_SCRIPTS = \ - $(texmf_shell_scripts) \ - $(texmf_other_scripts) \ - $(texmf_context_scripts) texmf_dist_scriptsdir = $(datarootdir)/texmf-dist/scripts texmf_dist_shell_scripts = \ @@ -90,17 +78,6 @@ texmf_dist_shell_scripts = \ pdfjam/pdfpun \ pst-pdf/ps4pdf \ simpdftex/simpdftex \ - tetex/allcm.sh \ - tetex/allneeded.sh \ - tetex/dvi2fax.sh \ - tetex/dvired.sh \ - tetex/fontinst.sh \ - tetex/kpsetool.sh \ - tetex/kpsewhere.sh \ - tetex/ps2frag.sh \ - tetex/pslatex.sh \ - tetex/rubibtex.sh \ - tetex/rumakeindex.sh \ typeoutfileinfo/typeoutfileinfo.sh texmf_dist_other_scripts = \ a2ping/a2ping.pl \ @@ -160,9 +137,6 @@ texmf_dist_other_scripts = \ splitindex/perl/splitindex.pl \ sty2dtx/sty2dtx.pl \ svn-multi/svn-multi.pl \ - tetex/e2pall.pl \ - tetex/updmap.pl \ - tetex/updmap-sys.sh \ texdoc/texdoc.tlu \ texcount/texcount.pl \ texdef/texdef.pl \ @@ -189,10 +163,6 @@ bin_links = \ pdfcrop:rpdfcrop if !WIN32 bin_links += \ - allcm:allec \ - fmtutil:mktexfmt \ - kpsetool:kpsexpand \ - kpsetool:kpsepath \ lua2dox_lua:lua2dox_filter endif !WIN32 @@ -200,48 +170,8 @@ endif !WIN32 dist_man_MANS = \ context/context.1 \ context/mptopdf.1 \ - tetex/allcm.1 \ - tetex/allec.1 \ - tetex/allneeded.1 \ - tetex/dvi2fax.1 \ - tetex/dvired.1 \ - tetex/e2pall.1 \ - tetex/fmtutil.1 \ - tetex/fmtutil.cnf.5 \ - tetex/fontinst.1 \ - tetex/kpsetool.1 \ - tetex/kpsewhere.1 \ - tetex/ps2frag.1 \ - tetex/pslatex.1 \ - tetex/rubibtex.1 \ - tetex/rumakeindex.1 \ - tetex/texconfig.1 \ - tetex/texlinks.1 \ - tetex/updmap.1 \ - tetex/updmap.cfg.5 \ thumbpdf/thumbpdf.1 -man1_links = \ - fmtutil:fmtutil-sys \ - kpsetool:kpsexpand \ - kpsetool:kpsepath \ - fmtutil:mktexfmt \ - texconfig:texconfig-sys \ - updmap:updmap-sys - -include $(top_srcdir)/../am/man1_links.am - -## Old ../../tetex/ChangeLog -EXTRA_DIST += tetex/ChangeLog - -## Support files -texconfigdir = $(datarootdir)/texmf/texconfig -dist_texconfig_SCRIPTS = tetex/tcfmgr -dist_texconfig_DATA = tetex/tcfmgr.map - -web2cdir = $(datarootdir)/texmf/web2c -dist_web2c_DATA = tetex/fmtutil.cnf - # The idea is to install the scripts themselves in texmf*/scripts, and # have bin/arch/foo be a symlink to, say, # ../../texmf-dist/scripts/foo/foo.pl. That way we save a bit of disk @@ -266,7 +196,7 @@ EXTRA_DIST += ../../../build-aux/relpath relpath = $(SHELL) $(top_srcdir)/../../build-aux/relpath runscript = $(top_srcdir)/w32_wrapper/runscript.exe ctxscript = $(top_srcdir)/w32_wrapper/context/mtxrun.exe -install-data-hook: installdirs-local install-man1-links +install-data-hook: installdirs-local if WIN32 @for s in $(texmf_other_scripts) $(texmf_dist_other_scripts); do \ t=`basename $$s | sed 's,\.[^/]*$$,,' | tr '[A-Z]' '[a-z]'`; \ @@ -334,7 +264,7 @@ if WIN32 WINEXT = $(EXEEXT) endif WIN32 -uninstall-hook: uninstall-man1-links +uninstall-hook: @for s in $(nobase_dist_texmf_scripts_SCRIPTS) $(nobase_dist_texmf_dist_scripts_SCRIPTS); do \ target=`basename $$s | tr '[A-Z]' '[a-z]'`; \ echo "$$s" | grep listings-ext.sh >/dev/null \ @@ -351,16 +281,6 @@ if !WIN32 else :; fi endif !WIN32 -## Generate the updmap man page using help2man plus a bit of -## handwritten material. But don't actually update updmap.1, -## we don't want to require help2man for an install. Leave that to be -## done by hand. -.PHONY: xupdmap.1 -xupdmap.1: tetex/updmap.help2man tetex/updmap.pl - help2man --include=$< --source="TeX Live" --no-info \ - $(srcdir)/tetex/updmap.pl >/tmp/$@ -EXTRA_DIST += tetex/updmap.help2man - ## ## This target is invoked by check-wrapper-consistency (run from cron). .PHONY: echo-shell-scripts @@ -368,20 +288,3 @@ shell_scripts = $(texmf_shell_scripts) $(texmf_dist_shell_scripts) shell_scripts += $(texmf_dist_context_scripts) echo-shell-scripts: @echo $(shell_scripts) - -## -## This target is invoked by the top-level make, -.PHONY: run-texlinks -## to create the per-format engine symlinks in $(bindir), -## after everything else is installed. We explicitly specify the -## fmtutil.cnf file to use for the sake of distro builds. -## We pass along the executable extension for the sake of cygwin, so we -## don't create dangling symlinks there (even though they work). -run_texlinks = $(DESTDIR)$(bindir)/texlinks -v \ - -f $(DESTDIR)$(web2cdir)/fmtutil.cnf \ - -e "$(EXEEXT)" $(DESTDIR)$(bindir) -run-texlinks: -if !WIN32 - PATH="$(DESTDIR)$(bindir):$(PATH)"; export PATH; $(run_texlinks) -endif !WIN32 - diff --git a/Build/source/texk/texlive/linked_scripts/Makefile.in b/Build/source/texk/texlive/linked_scripts/Makefile.in index f9e7a4e0669..cfc816151cb 100644 --- a/Build/source/texk/texlive/linked_scripts/Makefile.in +++ b/Build/source/texk/texlive/linked_scripts/Makefile.in @@ -14,7 +14,6 @@ @SET_MAKE@ - VPATH = @srcdir@ am__make_dryrun = \ { \ @@ -50,18 +49,13 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : @WIN32_FALSE@am__append_1 = \ -@WIN32_FALSE@ allcm:allec \ -@WIN32_FALSE@ fmtutil:mktexfmt \ -@WIN32_FALSE@ kpsetool:kpsexpand \ -@WIN32_FALSE@ kpsetool:kpsepath \ @WIN32_FALSE@ lua2dox_lua:lua2dox_filter -DIST_COMMON = $(top_srcdir)/../am/man1_links.am $(srcdir)/Makefile.in \ - $(srcdir)/Makefile.am $(dist_texconfig_SCRIPTS) \ +subdir = linked_scripts +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(nobase_dist_texmf_dist_scripts_SCRIPTS) \ $(nobase_dist_texmf_scripts_SCRIPTS) $(dist_man_MANS) \ - $(dist_texconfig_DATA) $(dist_web2c_DATA) ChangeLog README -subdir = linked_scripts + ChangeLog README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../m4/kpse-win32.m4 \ $(top_srcdir)/configure.ac @@ -97,13 +91,9 @@ am__uninstall_files_from_dir = { \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } -am__installdirs = "$(DESTDIR)$(texconfigdir)" \ - "$(DESTDIR)$(texmf_dist_scriptsdir)" \ - "$(DESTDIR)$(texmf_scriptsdir)" "$(DESTDIR)$(man1dir)" \ - "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(texconfigdir)" \ - "$(DESTDIR)$(web2cdir)" -SCRIPTS = $(dist_texconfig_SCRIPTS) \ - $(nobase_dist_texmf_dist_scripts_SCRIPTS) \ +am__installdirs = "$(DESTDIR)$(texmf_dist_scriptsdir)" \ + "$(DESTDIR)$(texmf_scriptsdir)" "$(DESTDIR)$(man1dir)" +SCRIPTS = $(nobase_dist_texmf_dist_scripts_SCRIPTS) \ $(nobase_dist_texmf_scripts_SCRIPTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -125,10 +115,8 @@ am__can_run_installinfo = \ *) (install-info --version) >/dev/null 2>&1;; \ esac man1dir = $(mandir)/man1 -man5dir = $(mandir)/man5 NROFF = nroff MANS = $(dist_man_MANS) -DATA = $(dist_texconfig_DATA) $(dist_web2c_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ @@ -239,32 +227,17 @@ DISTCLEANFILES = scripts-list # # We support native builds, multiplatform or not, as well as distro builds. # -EXTRA_DIST = scripts.lst tetex/ChangeLog ../../../build-aux/relpath \ - tetex/updmap.help2man +EXTRA_DIST = scripts.lst ../../../build-aux/relpath # Copies of these scripts exist here for the sake of avoiding # dangling symlinks produced by `make install'. # The instances in texmf* are the masters (except when it is CTAN). # texmf_scriptsdir = $(datarootdir)/texmf/scripts -texmf_shell_scripts = \ - tetex/fmtutil.sh \ - tetex/texconfig.sh \ - tetex/texconfig-dialog.sh \ - tetex/texconfig-sys.sh \ - tetex/texlinks.sh - -texmf_other_scripts = \ - tetex/fmtutil-sys.sh \ +nobase_dist_texmf_scripts_SCRIPTS = \ texlive/rungs.tlu \ texlive/tlmgr.pl -texmf_context_scripts = -nobase_dist_texmf_scripts_SCRIPTS = \ - $(texmf_shell_scripts) \ - $(texmf_other_scripts) \ - $(texmf_context_scripts) - texmf_dist_scriptsdir = $(datarootdir)/texmf-dist/scripts texmf_dist_shell_scripts = \ adhocfilelist/adhocfilelist.sh \ @@ -288,17 +261,6 @@ texmf_dist_shell_scripts = \ pdfjam/pdfpun \ pst-pdf/ps4pdf \ simpdftex/simpdftex \ - tetex/allcm.sh \ - tetex/allneeded.sh \ - tetex/dvi2fax.sh \ - tetex/dvired.sh \ - tetex/fontinst.sh \ - tetex/kpsetool.sh \ - tetex/kpsewhere.sh \ - tetex/ps2frag.sh \ - tetex/pslatex.sh \ - tetex/rubibtex.sh \ - tetex/rumakeindex.sh \ typeoutfileinfo/typeoutfileinfo.sh texmf_dist_other_scripts = \ @@ -359,9 +321,6 @@ texmf_dist_other_scripts = \ splitindex/perl/splitindex.pl \ sty2dtx/sty2dtx.pl \ svn-multi/svn-multi.pl \ - tetex/e2pall.pl \ - tetex/updmap.pl \ - tetex/updmap-sys.sh \ texdoc/texdoc.tlu \ texcount/texcount.pl \ texdef/texdef.pl \ @@ -388,54 +347,18 @@ bin_links = epstopdf:repstopdf pdfcrop:rpdfcrop $(am__append_1) dist_man_MANS = \ context/context.1 \ context/mptopdf.1 \ - tetex/allcm.1 \ - tetex/allec.1 \ - tetex/allneeded.1 \ - tetex/dvi2fax.1 \ - tetex/dvired.1 \ - tetex/e2pall.1 \ - tetex/fmtutil.1 \ - tetex/fmtutil.cnf.5 \ - tetex/fontinst.1 \ - tetex/kpsetool.1 \ - tetex/kpsewhere.1 \ - tetex/ps2frag.1 \ - tetex/pslatex.1 \ - tetex/rubibtex.1 \ - tetex/rumakeindex.1 \ - tetex/texconfig.1 \ - tetex/texlinks.1 \ - tetex/updmap.1 \ - tetex/updmap.cfg.5 \ thumbpdf/thumbpdf.1 -man1_links = \ - fmtutil:fmtutil-sys \ - kpsetool:kpsexpand \ - kpsetool:kpsepath \ - fmtutil:mktexfmt \ - texconfig:texconfig-sys \ - updmap:updmap-sys - -texconfigdir = $(datarootdir)/texmf/texconfig -dist_texconfig_SCRIPTS = tetex/tcfmgr -dist_texconfig_DATA = tetex/tcfmgr.map -web2cdir = $(datarootdir)/texmf/web2c -dist_web2c_DATA = tetex/fmtutil.cnf relpath = $(SHELL) $(top_srcdir)/../../build-aux/relpath runscript = $(top_srcdir)/w32_wrapper/runscript.exe ctxscript = $(top_srcdir)/w32_wrapper/context/mtxrun.exe @WIN32_TRUE@WINEXT = $(EXEEXT) shell_scripts = $(texmf_shell_scripts) $(texmf_dist_shell_scripts) \ $(texmf_dist_context_scripts) -run_texlinks = $(DESTDIR)$(bindir)/texlinks -v \ - -f $(DESTDIR)$(web2cdir)/fmtutil.cnf \ - -e "$(EXEEXT)" $(DESTDIR)$(bindir) - all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../am/man1_links.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -456,7 +379,6 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; -$(top_srcdir)/../am/man1_links.am: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh @@ -466,41 +388,6 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): -install-dist_texconfigSCRIPTS: $(dist_texconfig_SCRIPTS) - @$(NORMAL_INSTALL) - @list='$(dist_texconfig_SCRIPTS)'; test -n "$(texconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(texconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(texconfigdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n' \ - -e 'h;s|.*|.|' \ - -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) { files[d] = files[d] " " $$1; \ - if (++n[d] == $(am__install_max)) { \ - print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ - else { print "f", d "/" $$4, $$1 } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(texconfigdir)$$dir'"; \ - $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(texconfigdir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-dist_texconfigSCRIPTS: - @$(NORMAL_UNINSTALL) - @list='$(dist_texconfig_SCRIPTS)'; test -n "$(texconfigdir)" || exit 0; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 's,.*/,,;$(transform)'`; \ - dir='$(DESTDIR)$(texconfigdir)'; $(am__uninstall_files_from_dir) install-nobase_dist_texmf_dist_scriptsSCRIPTS: $(nobase_dist_texmf_dist_scripts_SCRIPTS) @$(NORMAL_INSTALL) @list='$(nobase_dist_texmf_dist_scripts_SCRIPTS)'; test -n "$(texmf_dist_scriptsdir)" || list=; \ @@ -628,91 +515,6 @@ uninstall-man1: } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man5: $(dist_man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(dist_man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-dist_texconfigDATA: $(dist_texconfig_DATA) - @$(NORMAL_INSTALL) - @list='$(dist_texconfig_DATA)'; test -n "$(texconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(texconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(texconfigdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(texconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(texconfigdir)" || exit $$?; \ - done - -uninstall-dist_texconfigDATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_texconfig_DATA)'; test -n "$(texconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(texconfigdir)'; $(am__uninstall_files_from_dir) -install-dist_web2cDATA: $(dist_web2c_DATA) - @$(NORMAL_INSTALL) - @list='$(dist_web2c_DATA)'; test -n "$(web2cdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(web2cdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(web2cdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(web2cdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(web2cdir)" || exit $$?; \ - done - -uninstall-dist_web2cDATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_web2c_DATA)'; test -n "$(web2cdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(web2cdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: @@ -752,9 +554,9 @@ distdir: $(DISTFILES) done check-am: all-am check: check-am -all-am: Makefile $(SCRIPTS) $(MANS) $(DATA) all-local +all-am: Makefile $(SCRIPTS) $(MANS) all-local installdirs: installdirs-local - for dir in "$(DESTDIR)$(texconfigdir)" "$(DESTDIR)$(texmf_dist_scriptsdir)" "$(DESTDIR)$(texmf_scriptsdir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(texconfigdir)" "$(DESTDIR)$(web2cdir)"; do \ + for dir in "$(DESTDIR)$(texmf_dist_scriptsdir)" "$(DESTDIR)$(texmf_scriptsdir)" "$(DESTDIR)$(man1dir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am @@ -808,9 +610,8 @@ info: info-am info-am: -install-data-am: install-dist_texconfigDATA \ - install-dist_texconfigSCRIPTS install-dist_web2cDATA \ - install-man install-nobase_dist_texmf_dist_scriptsSCRIPTS \ +install-data-am: install-man \ + install-nobase_dist_texmf_dist_scriptsSCRIPTS \ install-nobase_dist_texmf_scriptsSCRIPTS @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook @@ -828,7 +629,7 @@ install-info: install-info-am install-info-am: -install-man: install-man1 install-man5 +install-man: install-man1 install-pdf: install-pdf-am @@ -856,33 +657,28 @@ ps: ps-am ps-am: -uninstall-am: uninstall-dist_texconfigDATA \ - uninstall-dist_texconfigSCRIPTS uninstall-dist_web2cDATA \ - uninstall-man uninstall-nobase_dist_texmf_dist_scriptsSCRIPTS \ +uninstall-am: uninstall-man \ + uninstall-nobase_dist_texmf_dist_scriptsSCRIPTS \ uninstall-nobase_dist_texmf_scriptsSCRIPTS @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook -uninstall-man: uninstall-man1 uninstall-man5 +uninstall-man: uninstall-man1 .MAKE: install-am install-data-am install-strip uninstall-am .PHONY: all all-am all-local check check-am clean clean-generic \ cscopelist-am ctags-am distclean distclean-generic distdir dvi \ dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-data-hook \ - install-dist_texconfigDATA install-dist_texconfigSCRIPTS \ - install-dist_web2cDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-man1 install-man5 \ - install-nobase_dist_texmf_dist_scriptsSCRIPTS \ + install-data install-data-am install-data-hook install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-man1 install-nobase_dist_texmf_dist_scriptsSCRIPTS \ install-nobase_dist_texmf_scriptsSCRIPTS install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-local \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ - uninstall-am uninstall-dist_texconfigDATA \ - uninstall-dist_texconfigSCRIPTS uninstall-dist_web2cDATA \ - uninstall-hook uninstall-man uninstall-man1 uninstall-man5 \ + uninstall-am uninstall-hook uninstall-man uninstall-man1 \ uninstall-nobase_dist_texmf_dist_scriptsSCRIPTS \ uninstall-nobase_dist_texmf_scriptsSCRIPTS @@ -902,24 +698,7 @@ scripts-list: Makefile installdirs-local: $(MKDIR_P) $(DESTDIR)$(bindir) -.PHONY: install-man1-links uninstall-man1-links - -install-man1-links: - @cd $(DESTDIR)$(man1dir) && \ - for s in $(man1_links); do \ - link=`echo $$s | sed 's,.*:,,'`; \ - file=`echo $$s | sed 's,:.*,,'`; \ - rm -f $$link.1; \ - echo "creating link '$$link.1' -> '$$file.1'"; \ - echo ".so man1/$$file.1" >$$link.1; \ - done - -uninstall-man1-links: - @for s in $(man1_links); do \ - link=`echo $$s | sed 's,.*:,,'`; \ - rm -f $(DESTDIR)$(man1dir)/$$link.1; \ - done -install-data-hook: installdirs-local install-man1-links +install-data-hook: installdirs-local @WIN32_TRUE@ @for s in $(texmf_other_scripts) $(texmf_dist_other_scripts); do \ @WIN32_TRUE@ t=`basename $$s | sed 's,\.[^/]*$$,,' | tr '[A-Z]' '[a-z]'`; \ @WIN32_TRUE@ echo "$(INSTALL_SCRIPT) '$(runscript)' '$(DESTDIR)$(bindir)/$$t.exe'"; \ @@ -973,7 +752,7 @@ install-data-hook: installdirs-local install-man1-links .PHONY: install-links install-links: -uninstall-hook: uninstall-man1-links +uninstall-hook: @for s in $(nobase_dist_texmf_scripts_SCRIPTS) $(nobase_dist_texmf_dist_scripts_SCRIPTS); do \ target=`basename $$s | tr '[A-Z]' '[a-z]'`; \ echo "$$s" | grep listings-ext.sh >/dev/null \ @@ -988,19 +767,10 @@ uninstall-hook: uninstall-man1-links @WIN32_FALSE@ rm -f $(DESTDIR)$(bindir)/man; \ @WIN32_FALSE@ else :; fi -.PHONY: xupdmap.1 -xupdmap.1: tetex/updmap.help2man tetex/updmap.pl - help2man --include=$< --source="TeX Live" --no-info \ - $(srcdir)/tetex/updmap.pl >/tmp/$@ - .PHONY: echo-shell-scripts echo-shell-scripts: @echo $(shell_scripts) -.PHONY: run-texlinks -run-texlinks: -@WIN32_FALSE@ PATH="$(DESTDIR)$(bindir):$(PATH)"; export PATH; $(run_texlinks) - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua b/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua index 6bac25e8d8a..1386db71fde 100755 --- a/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua +++ b/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua @@ -1,11 +1,11 @@ #!/usr/bin/env texlua -VERSION = "0.4" +VERSION = "0.6" --[[ musixtex.lua: processes MusiXTeX files (and deletes intermediate files) - (c) Copyright 2011 Bob Tennent rdt@cs.queensu.ca + (c) Copyright 2012 Bob Tennent rdt@cs.queensu.ca This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -26,6 +26,11 @@ VERSION = "0.4" --[[ ChangeLog: + version 0.6 2012-09-14 RDT + Add -1 (one-pass [pdf][la]tex processing) option. + + version 0.5 2011-11-28 RDT + Add -i (retain intermediate files) option. version 0.4 2011-04-30 RDT Allow multiple filenames (and options). @@ -49,6 +54,8 @@ function usage() print(" -p pdfetex (or pdflatex)") print(" -d dvipdfm") print(" -s stop at dvi") + print(" -i retain intermediate files") + print(" -1 one-pass [pdf][la]tex processing") print(" -f restore default processing") end @@ -66,7 +73,9 @@ end tex = "etex" musixflx = "musixflx" dvi = "dvips" -ps2pdf = "ps2pdf" +ps2pdf = "/usr/local/bin/ps2pdf" +intermediate = 1 +passes = 2 exit_code = 0 narg = 1 @@ -94,8 +103,12 @@ repeat dvi = "dvipdfm"; ps2pdf = "" elseif this_arg == "-s" then dvi = ""; ps2pdf = "" + elseif this_arg == "-i" then + intermediate = 0 + elseif this_arg == "-1" then + passes = 1 elseif this_arg == "-f" then - tex = "etex"; dvi = "dvips"; ps2pdf = "ps2pdf" + tex = "etex"; dvi = "dvips"; ps2pdf = "ps2pdf"; intermediate = 1; passes = 2 else filename = this_arg if filename ~= "" and string.sub(filename, -4, -1) == ".tex" then @@ -106,24 +119,27 @@ repeat else print("Processing ".. filename .. ".tex.") os.remove( filename .. ".mx2" ) - if (os.execute(tex .. " " .. filename) == 0) and - (os.execute(musixflx .. " " .. filename) == 0) and + if (passes == 1 or os.execute(tex .. " " .. filename) == 0) and + (passes == 1 or os.execute(musixflx .. " " .. filename) == 0) and (os.execute(tex .. " " .. filename) == 0) and ((tex ~= "latex" and tex ~= "pdflatex") or (os.execute(tex .. " " .. filename) == 0)) and (dvi == "" or (os.execute(dvi .. " " .. filename) == 0)) and (ps2pdf == "" or (os.execute(ps2pdf .. " " .. filename .. ".ps") == 0) ) - then -- clean-up: - os.remove( filename .. ".mx1" ) - os.remove( filename .. ".mx2" ) - if dvi ~= "" then - os.remove( filename .. ".dvi" ) - end + then if ps2pdf ~= "" then print(filename .. ".pdf generated by " .. ps2pdf .. ".") - os.remove( filename .. ".ps" ) end - print("") + if intermediate == 1 then -- clean-up: + os.remove( filename .. ".mx1" ) + os.remove( filename .. ".mx2" ) + if dvi ~= "" then + os.remove( filename .. ".dvi" ) + end + if ps2pdf ~= "" then + os.remove( filename .. ".ps" ) + end + end else print("Musixtex processing of " .. filename .. ".tex fails.\n") exit_code = 2 diff --git a/Build/source/texk/texlive/linked_scripts/tetex/ChangeLog b/Build/source/texk/texlive/linked_scripts/tetex/ChangeLog deleted file mode 100644 index 7db3359c839..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/ChangeLog +++ /dev/null @@ -1,748 +0,0 @@ -2013-01-15 Karl Berry <karl@tug.org> - - * fmtutil.sh (run_initex): save log file first, - even if the .fmt isn't built. Tweak message wordings. - Report from tljack, 12 Jan 2013 14:35:16. - -2012-08-08 Peter Breitenlohner <peb@mppmu.mpg.de> - - * fmtutil*, tcfmgr*, texconfig*, texlinks* (removed): - Moved from here to ../texlive/tetex/. - * Makefile.am: Adapted; run-texlinks rule - -2012-08-07 Peter Breitenlohner <peb@mppmu.mpg.de> - - * tests/, all*, dvi2fax*, dvired*, fontinst*, kpsetool*, - kpsewhere*, ps2frag*, pslatex*, rubibtex*, rumakeindex*, - updmap* (removed): Moved from here to ../texlive/tetex/. - * Makefile.am: Adapted. - -2012-08-06 Peter Breitenlohner <peb@mppmu.mpg.de> - - * e2pall.man, texdoctk.man, texdoctk.man (removed): Moved from - here to ../texlive/tetex/. - * Makefile.am: Adapted. - -2012-08-04 Karl Berry <karl@tug.org> - - * tl-sys-wrapper: not needed. The Windows wrapper, runscript.tlu, - already handles -sys, as does the Windows fmtutil.c. - * Makefile.am (EXTRA_DIST): remove it again. - -2012-08-03 Karl Berry <karl@tug.org> - - * tl-sys-wrapper.pl: initial attempt. - -2012-07-31 Norbert Preining <preining@logic.at> - - * updmap.pl (main): fix quoting and var expansion on Windows. - * updmap.pl (main): and another fix, this time for PATH separator - -2012-07-30 Norbert Preining <preining@logic.at> - - * updmap.pl (main): support for multiple entry TEXMFLOCAL. - Tell the user which config files is used for writing. - -2012-07-23 Karl Berry <karl@tug.org> - - * updmap.pl (help): we have both --showoption and --showoptions. - Ugh. Found by Bruno Voisin, 11 Jun 2012 21:34:44. - -2012-06-10 Norbert Preining <preining@logic.at> - - * updmap.pl: fix ordering of how updmap.cfg files are read - and add documentation. - -2012-06-04 Peter Breitenlohner <peb@mppmu.mpg.de> - - * Makefile.am (EXTRA_DIST): Add the new file updmap.help2man. - -2012-06-01 Karl Berry <karl@tug.org> - - * Makefile.am (xupdmap.man): new (phony) target to run help2man. - * updmap.help2man: new file. - - * updmap.pl: consistently use $prg, and remove .pl suffix. - -2012-05-31 Karl Berry <karl@tug.org> - - * updmap.pl (reset_root_home): accept /var/root. - -2012-05-31 Norbert Preining <preining@logic.at> - - * updmap.pl: reset root $HOME if it is not the real one, since - sudo does not reset it - -2012-05-21 Norbert Preining <preining@logic.at> - - * updmap.pl - . on win32, ensure file names are in lower case - . add --dvipdfmxoutputdir, make --dvipdfmoutputdir synonym - (more or less) - . make sure that the file name database is properly updated - when creating a new config file - . remove --old-mode cmd line option - -2012-05-15 Peter Breitenlohner <peb@mppmu.mpg.de> - - * updmap.pl: Moved from ../texlive/linked_scripts/texlive/ - back to here. - * tests/ (new): Moved from ../texlive/ to here and adapted. - * Makefile.am: Adapted. - -2012-05-14 Peter Breitenlohner <peb@mppmu.mpg.de> - - * tests/ (removed): Moved from here to ../texlive/. - * Makefile.am: Adapted. - - * fmtutil.cnf: Updated from Master. - -2012-05-14 Norbert Preining <preining@logic.at> - - * updmap.pl: rename to updmap-single.pl, we ship updmap.pl now - via ../texlive/linked_scripts/texlive/updmap.pl - -2012-04-10 Karl Berry <karl@tug.org> - - * fmtutil (main): eradicate double slashes in tmpdir. - tex-k mail from Alexey Vikhlinin, 8 Apr 2012 17:32:02. - -2012-03-12 Karl Berry <karl@tug.org> - - * updmap.cfg.5: avoid ... at beginning of line. - Replace Debian-specific text. - -2012-02-21 Karl Berry <karl@tug.org> - - * updmap.pl (help): updates for kanji. - -2012-02-10 Norbert Preining <preining@logic.at> - - * updmap.pl: fix breakage of updmap if a generated file does - not exist (wrong double substitution of @kanji*@ strings) - -2012-02-01 Norbert Preining <preining@logic.at> - - * updmap.pl: - . support -showoption key that shows the current setting - . fix not-acceptance of empty values in key/val -setoption - -2012-01-19 Norbert Preining <preining@logic.at> - - * updmap.pl: - . allow --enable Map foo.map again - . support kanjiVariant options and replacement - -2011-12-12 Karl Berry <karl@tug.org> - - * updmap.pl: untabify, formatting. - -2011-12-06 Peter Breitenlohner <peb@mppmu.mpg.de> - - * Makefile.am: Replace ${prefix}/texmf => $(datarootdir)/texmf. - -2011-11-16 Norbert Preining <preining@logic.at> - - * updmap.pl: make sure that kanjiEmbed is set to a default value - if not found in the config file. - -2011-11-09 Norbert Preining <preining@logic.at> - - * updmap.pl: add support for pxdviUse config option in updmap, - and generate xdvi-ptex.map if it is set in a similar way as kanjix.map, - patch based on work of Hironori Kitagawa - -2011-11-04 Norbert Preining <preining@logic.at> - - * updmap.pl: small fixes to documentation of updmap.pl, and fixes - to --syncwithtrees and --listavail, patch from Hironori Kitagawa - -2011-11-02 Norbert Preining <preining@logic.at> - - * updmap.pl: apply patch from Hironori Kitagawa that fixes - a --syncwithtrees problem in searching for map names. - -2011-10-26 Norbert Preining <preining@logic.at> - - * updmap.pl: apply patch from ptexlive Tsuchimura to support - kanjiEmbed setting, and generate kanjix.map. - -2011-09-09 Peter Breitenlohner <peb@mppmu.mpg.de> - - * Makefile.am: Adapt to script_links.am using relpath. - (run-texlinks): Declare as .PHONY; skip texlinks for WIN32. - -2011-09-09 Karl Berry <karl@tug.org> - - * tests: new subdir, with first updmap test, that doesn't really - work yet but passes anyway. - * Makefile.am (TESTS): add tests/updmap-cmdline-test.pl. - * updmap.pl (read_option_vals): don't call getopt twice (from Norbert). - Don't complain about non-option args, that is how --enable/--disable - are currently (mis)handled. - (writeLines, copyFile, setupOutputDir, SetupCfgFile): do nothing - if $dry_run. - -2011-09-05 Karl Berry <karl@tug.org> - - * texconfig-dialog (runDialog): only clear screen if we actually - run the dialog program. - (findDialog): do not bother setting DIALOG_TERM and - DIALOG_TERMINFO if we don't find a system dialog program, - since we're just going to abort anyway. - * texmf: remove subdir with terminfo definitions. - * Makefile.am (texconfdir, nobase_dist_texconf_DATA): likewise rm. - -2011-09-04 Norbert Preining <preining@logic.at> - - * updmap.pl (BEGIN): older versions are supported again. - (read_for_set_options): new fn. - (processOptions): call it, so we call getopt twice, - so we can avoid using the =s{1,2} specifier (for --setoption) - which needs perl 5.8.8. - Also, complain about non-option arguments. - http://tug.org/pipermail/tex-live/2011-July/029764.html - http://tug.org/pipermail/tex-k/2011-September/002329.html - -2011-08-26 Karl Berry <karl@tug.org> - - * texconfig-dialog: do not invoke tcdialog as fallback, - give up instead. We don't want to install our own (tc)dialog any - more, induces curses dependencies. More importantly, texconfig, - and especially this interactive configuration, has not been the - way we have been moving (or testing) for years now. If there is - anyone left who wants to do it, they can install their own dialog - (or whiptail) program. - -2011-06-27 Karl Berry <karl@tug.org> - - * fmtutil (version): rename to versionfunc, or Solaris sh dies - with "bad substitution". - Report from Nelson, 23 Jun 2011 09:42:09. - -2011-06-18 Karl Berry <karl@tug.org> - - * updmap.pl (locateMap): allow "Map foo" (without the ".map"), - as the sh updmap map. (The actual file still being foo.map.) - Report from Peter Dyballa, 15 Jun 2011 10:04:36. - -2011-06-16 Karl Berry <karl@tug.org> - - * updmap.pl (help): add more info and modify to work with help2man. - * updmap.man: generate with help2man. - - * updmap.pl (progname): eliminate fn in favor of $0 - or hardwired "updmap" as appropriate. - - * old-updmap: rename from updmap, to make it clearer this - (sh version) is not used any more. - * old-fontinst.bat: rename from fontinst.bat. - - * updmap.pl ($pdftexStripEnc): set to zero. - (to_pdftex): return the input, not empty. - (ProcessOptions): accept and ignore dvipdfmoutputdir. - - * updmap.pl (@psADOBE): use the same list as from sh updmap, - including the spaces, to be sure we are getting the same behavior. - - Related: - * Master/texmf/fonts/map/dvips/tetex/pdftex35.map, - * Master/texmf/fonts/map/dvips/tetex/ps2pk35.map (phvbo8rn,phvbo8yn): - ever since at least TL 7, these have had - spurious "-Narrow-BoldOblique" suffixes on the correct - NimbusSanL-BoldCondItal, left over from the Adobe - Helvetica-Narrow-BoldOblique. - (Yet the fonts could still be used.) - * Master/texmf/fonts/map/{dvips,pdftex}/updmap: regenerate. - - * updmap.pl: support --setoption foo bar as well as foo=bar, - for compatibility. - (setOptions): new fn. - (ProcessOptions): use "setoption=s{1,2}" => \@setoptions - instead of "setoption=s" => \%setOption, since we have to parse - the values manually. - (Getopt::Long::Configure): removing bundling, disallows the - =s{1,2} Getopt directive we specify for parsing. - Original report from Herbert Schulz, - mactex mail 13 Jun 2011 07:56:50. - - Unrelated, sorry: - Add $0 to die commands. - (setOption): silently accept dvipdfmDownloadBase14. - ($verbose): remove unused variable. - -2011-06-15 Karl Berry <karl@tug.org> - - * updmap.pl: reformat long lists, reduce ####, other formatting. - (processOptions): do not mkdirhier the output directories - if it is a dry run. - - * updmap.pl (@psADOBE): do BoldItalic (etc.) before Bold (etc.), - other generated pdftex.map has bogus names with spaces. - Original report from Herbert Schulz, - mactex mail 13 Jun 2011 08:27:46. - - Unrelated, sorry: - (Getopt::Long::Configure): set ignore_case_always. - (Case-insensitive option matching is the default?!) - (--force, $opt_force): new option. - (processOptions): sort and indent option list consistently. - -2011-05-31 Peter Breitenlohner <peb@mppmu.mpg.de> - - * Makefile.am: Use ../am/bin_links.am for $(bindir) links. - -2011-05-12 Karl Berry <karl@tug.org> - - * updmap.pl (pdftexNoEnc): rename to pdftexStripEnc. - (to_pdftex): change uses. - (Reinhard K made an equivalent change.) - -2011-04-04 Peter Breitenlohner <peb@mppmu.mpg.de> - - Rename updmap-sys => updmap-sys.sh. - * Makefile.am: Install updmap and updmap-sys as linked scripts - and use the ../am/script_links.am fragment. - -2011-02-08 Peter Breitenlohner <peb@mppmu.mpg.de> - - * Makefile.am: Use ../am/man1_links.am for manpage links. - -2011-01-07 Peter Breitenlohner <peb@mppmu.mpg.de> - - * Makefile.am, configure.ac [WIN32]: Install wrapper binary for - fontinst (handled as alias by runscript.tlu). - - * texconfig, texconfig-sys: Drop texconfig_sys shell variable; - now done via TEXMFVAR and TEXMFCONFIG in the environment. - -2011-01-04 Karl Berry <karl@tug.org> - - * updmap: add many more verbose messages, to help understand what - files are being created from what sources. - -2010-12-27 Peter Breitenlohner <peb@mppmu.mpg.de> - - * Makefile.am (install-exec-hook, install-data-hook): Check - symlink creation. - -2010-12-25 Karl Berry <karl@tug.org> - - * doc, - * pdfetex-pl.pool, - * README.a2ping: remove these seemingly not useful files. - * Makefile.am: update accordingly. - -2010-12-22 Peter Breitenlohner <peb@mppmu.mpg.de> - - * configure.ac: Added KPSE_CHECK_WIN32. - * context/ (removed): Files moved to ../texlive/context/. - * Makefile.am: Adapted. - -2010-12-19 Peter Breitenlohner <peb@mppmu.mpg.de> - - * ps4pdf: Removed, replaced by newer version under ../texlive/. - * Makefile.am: Adapted. - -2010-12-18 Peter Breitenlohner <peb@mppmu.mpg.de> - - * context/texmfstart.man: Fix typo. - -2010-07-05 Peter Breitenlohner <peb@mppmu.mpg.de> - - * fmtutil.man: Adapt to fmtutil. - -2010-07-04 Norbert Preining <preining@logic.at> - - * fmtutil: add --no-error-if-no-format, don't abort in some cases of - missing formats - -2010-06-12 Karl Berry <karl@tug.org> - - * fmtutil (--edit): disable. - (help): document this, other tweaks. - -2010-05-31 Manuel Pégourié-Gonnard <mpg@elzevir.fr> - - * fmtutil: allow more than one language file per format. - -2010-05-20 Karl Berry <karl@tug.org> - - * doc/TETEXDOC.dvi, - * doc/TETEXDOC.ps: rm files. - * doc/Makefile: do not bother remaking .dvi + .ps. - * Makefile.am (dist_tetexdoc_DATA): rm. - -2010-04-29 Peter Breitenlohner <peb@mppmu.mpg.de> - - * Makefile.am (run_texlinks, run_texlinks): Respect DESTDIR. - -2010-04-28 Manuel Pégourié-Gonnard <mpg@elzevir.fr> - - * texlinks: Append exeext to engine names. - * Makefile.am (run_texlinks): Invoke texlinks with explicit dir. - -2010-03-12 Peter Breitenlohner <peb@mppmu.mpg.de> - - * texlinks (version): Add missing quote in svn id. - -2010-03-11 Karl Berry <karl@tug.org> - - * updmap, - * texlinks, - * texconfig (version): use svn id. - (help): regularize info at end of msg. - - * fmtutil (help): describe mktexfmt operation. - (main): give more error message in mktexfmt mode. - Report from Ludovic Courtes, 08 Mar 2010 21:55:53. - -2010-01-17 Karl Berry <karl@tug.org> - - * updmap, - * fmtutil: tweak help messages. - - * tcfmgr (setupMap), - * fmtutil (main), - * updmap (setupCfgFile): maybe ls-R missing when basic config - files not found. - -2009-12-23 Norbert Preining <preining@logic.at> - - * fmtutil: check for infinite loop only in mktexfmt mode so that - multiple defined format/engine combinations are accepted. - -2009-10-24 Peter Breitenlohner <peb@mppmu.mpg.de> - - * Makefile.am (bin_links, man1_links): - New lists of symlinks within bindir and man1dir. - Moved handling of texhash symlinks to ../kpathsea/man/. - Moved handling of lambda, ctangle, cweave, odvicopy, odvitype, - mf-nowin, and pdflatex symlinks to ../web2c/man/. - (install-data-hook, install-exec-hook, uninstall-hook): - Use `bin_links' and `man1_links'. - - * mkocp.man, mkofm.man, otp2ocp.man, outocp.man: Moved from - here to ../web2c/otps/. - * ofm2opl.man, opl2ofm.man, ovf2ovp.man, ovp2ovf.man, - ttf2afm.man: Moved from here to ../web2c/man/. - * Makefile.am (dist_man1_MANS): Adjusted. - -2009-10-09 Karl Berry <karl@tug.org> - - * fmtutil (run_initex): if it doesn't already exist, create - mplib-luatex.mem when we create mpost.mem. - -2009-08-24 Reinhard Kotucha <reinhard.kotucha@web.de> - - * updmap.pl (mkMaps): replace dir/ls shell commands by Perl code. - -2009-08-22 Tomek Trzeciak <t.m.trzeciak@gmail.com> - - * updmap.pl (mkmaps): remove unneeded COMSPEC from backticks - -2009-08-19 Karl Berry <karl@tug.org> - - * updmap.pl (mkmaps): quote invocation of COMSPEC. - From Dan Luecking, 19 Aug 2009 15:13:31. - -2009-08-15 Karl Berry <karl@tug.org> - - * fmtutil (--byengine): new option, from Norbert. - (help): mention it; other tweaks. - * fmtutil.man: also update. - -2009-07-23 Karl Berry <karl@tug.org> - - * updmap (help): mention tug.org/fonts/fontinstall.html. - -2009-06-23 Karl Berry <karl@tug.org> - - * Makefile.am (run_texlinks): add -e "$(EXEEXT)". - * texlinks: new option -e to specify executable extension (for - cygwin). - -2009-06-11 Norbert Preining <preining@logic.at> - - * fmtutil (log_warning): new fn, related code, so that - LaTeX's five-year-old warning does not trigger failure. - Debian bug #531595. - -2009-05-28 Karl Berry <karl@tug.org> - - * texconfig.man: update from Frank K, 27 May 2009 23:17:49. - -2009-05-07 Peter Breitenlohner <peb@mppmu.mpg.de> - - Adapt to TL2009 build system. - -2009-04-03 Karl Berry <karl@tug.org> - - * Makefile.am (EXTRA_DIST): remove texdoc.man from list. - * texdoc.man: remove file; maintained separately now - (http://tug.org/texdoc) - -2009-03-17 Karl Berry <karl@tug.org> - - * updmap (main, cleanup): cd back to the original pwd instead of /, - to work around - rm: cannot get current directory: Permission denied - error in (at least) coreutils 5.2.1 in some ill-defined circumstance. - Report from Lars Madsen. - -2008-10-27 Karl Berry <karl@tug.org> - - * updmap.pl: also adjust printed output. - From Aaron Chen, 25 Oct 2008 16:40:59. - -2008-10-24 Karl Berry <karl@tug.org> - - * Makefile.in (run-texlinks): quote the PATH - argument in case there are spaces lurking. - Report from Angelo Graziosi, 23 Oct 2008 16:08:59. - -2008-10-22 Karl Berry <karl@tug.org> - - * updmap.pl (cfgval): only consider falsish strings to be 0, else - leave the value as-is, for the sake of LW35, which does not take a - boolean. Report and patch from Aaron Chen, 17 Oct 2008 01:22:24. - -2008-09-22 Karl Berry <karl@tug.org> - - * fmtutil (parse_line): pass --format=mp to kpsewhich when - engine=mpost, instead of --format=mpost. - -2008-07-08 Karl Berry <karl@tug.org> - - * texconfig (hyphen, formats): disable these functions, - fmtutil.cnf and language.dat/def must not be manually edited, - since they are now automatically regenerated, as tlmgr regenerates. - -2008-07-05 Karl Berry <karl@tug.org> - - * Makefile.in (run_texlinks): use -f $(web2cdir)/fmtutil.cnf. - (run_mktexlsr): no longer needed. - From Francois Charette, tldistro 04 Jul 2008 09:22:42. - -2008-06-18 Karl Berry <karl@tug.org> - - * texlinks: metafun is not created specially by ConTeXt, so we'll - create it here. - -2008-06-17 Norbert Preining <preining@logic.at> - - * fmtutil: add the engine setting to the infinite-loop-detection - variable. - -2008-06-15 Karl Berry <karl@tug.org> - - * Makefile.in (run_mktexlsr): no need to set TEXMFDBS, cmdline - dir is respected again. - (CONTEXTSCRIPTS): remove texexec, the version here was old. - -2008-05-28 Karl Berry <karl@tug.org> - - * fmtutil.cnf: new file, a slave of Master/texmf/web2c/fmtutil.cnf, - which we keep in sync via TL infrastructure scripts. - * Makefile.in (install-data): install fmtutil.cnf. - (run-texlinks): new target, invoked by top-level make. - * texlinks: doc fixes. - -2008-05-19 Karl Berry <karl@tug.org> - - * texdoc: remove, master is now the lua version in texmf/scripts. - -2008-05-11 Norbert Preining <preining@logic.at> - - * Makefile.in: do not install texdoc(.man) since we will use the - texlua version from Frank (to be found in ../texlive) - -2008-05-08 Norbert Preining <preining@logic.at> - - * updmap, tcfmgr: quote various calls containing env variables - taken from texmf.cnf which could contain spaces - -2008-05-05 Karl Berry <karl@tug.org> - - * texconfig (generate): remove this, now done in tlmgr. - -2008-05-04 Karl Berry <karl@tug.org> - - * Makefile.in (LINKED_SCRIPTS): add ps4pdf. - -2008-04-25 Karl Berry <karl@tug.org> - - * Makefile.in (LINKED_SCRIPTS): now tlmgr.tlu. - -2008-04-16 Norbert Preining <preining@logic.at> - - * fmtutil: fix creation of dirs with spaces - -2008-04-14 Karl Berry <karl@tug.org> - - * Makefile.in (LINKED_SCRIPTS): no more *xindy, the xindy Makefile - itself takes care of those. - -2008-04-12 Karl Berry <karl@tug.org> - - * Makefile.in (LINKED_SCRIPTS): pdfcrop now in texmf-dist. - Add xindy.pl, texindy.pl. - -2008-03-18 Karl Berry <karl@tug.org> - - * Makefile.in (install-linked-scripts): use $(LINKSUFFIX). - (LINKSUFFIX): new variable, for passing -sys. - (install-linked-sys-scripts): make install-linked-scripts - instead of repeating code. - -2008-03-15 Reinhard Kotucha <reinhard.kotucha@web.de> - - * Makefile.in (LINKEDSCRIPTS): add pdfthumb. - -2008-03-14 Reinhard Kotucha <reinhard.kotucha@web.de> - - * Makefile.in (LINKED_SYS_SCRIPTS): new list for -sys progs. - Add getnonfreefonts.pl. - -2008-03-14 Karl Berry <karl@tug.org> - - * Makefile.in (LINKEDSCRIPTS): add ppower4, no longer in tetex. - - * fmtutil: check for infinite loops. - From Stepan Kasal, http://bugzilla.redhat.com/show_bug.cgi?id=437008. - -2008-03-07 Karl Berry <karl@tug.org> - - * Makefile.in (LINKEDPLSCRIPTS): rename from LINKEDPERLSCRIPTS. - (LINKEDNOEXTSCRIPTS): new variable for makeglossaries. - (install-linkedscripts): install them. - -2008-03-03 Karl Berry <karl@tug.org> - - * latex.info, latex2e.texi: remove; this will become a separate - package. - * Makefile.in: remove info-related stuff. - (LINKEDPERLSCRIPTS): add e2pall, pkfix, ps2eps. - -2008-03-02 Karl Berry <karl@tug.org> - - * Makefile.in: more doc - -2008-02-16 Karl Berry <karl@tug.org> - - * texconfig (doGenerate): new fn to call generate-* scripts. - (help): document it. - -2008-01-30 Peter Breitenlohner <peb@mppmu.mpg.de> - - Convert from autoconf-2.13 to autoconf-2.59+: - * Makefile.in: Add @configure_input@ line. - * aclocal.m4 (new): Generated (aclocal -I ../m4). - * configure: Regenerated (autoconf). - -2008-01-14 Karl Berry <karl@tug.org> - - * pdfcrop: update to 1.8 from CTAN. - -2007-11-03 Karl Berry <karl@tug.org> - - * texlinks.man: --unlink, sort. From Edd. - -2007-10-25 Karl Berry <karl@tug.org> - - * updmap: make last bit of log nicer, since we may have copies - instead of symlinks now. - -2007-10-24 Karl Berry <karl@tug.org> - - * texconfig: update and augment help message; - accept version and --version; - show TeX Live version info from release-texlive.txt. - -2007-10-19 Karl Berry <karl@tug.org> - - * updmap (processOptions): add --copy and -n options. - (setupSymlinks): with --copy, cp instead of ln -s. - We want this for TL. - (mkMaps): with -n, exit before actually doing anything. - (setupLog): with -n, do not log. - (help): update and augment. - -2007-10-12 Karl Berry <karl@tug.org> - - * texlinks: new option -u[nlink] for uninstall. - From Edd Barrett, 10 Oct 2007 11:05:55. - -2007-09-30 Karl Berry <karl@tug.org> - - * texconfig-sys: export texconfig_sys. - * texconfig <init>: use it to figure out which fmtutil/updmap. - Report from Frank K, 11 Jun 2007 17:05:43. - -2007-09-10 Karl Berry <karl@tug.org> - - * updmap.pl: TEXMFVAR rather than VARTEXMF. - -2007-09-04 Karl Berry <karl@tug.org> - - * updmap.pl: ! to clearly check against both empty string and - undef, rather than eq undef (Jjgod 3 Sep 2007 16:16:50). - -2007-07-16 Karl Berry <karl@tug.org> - - * texconfig (findDialogProg, runDialog): these fns not used here, - remove. - (findprog): new mode of operation, like which(1). - * texconfig-dialog (findDialog): check for whiptail/dialog on any - system, not just FreeBSD, Linux, cygwin. - -2007-05-31 Karl Berry <karl@tug.org> - - * fmtutil (run_initex): do not remove the log file. - -2007-01-16 Karl Berry <karl@tug.org> - - * texconfig (init): only run texlinks and updmap if fmtutil succeeds. - -2007-01-14 Karl Berry <karl@tug.org> - - * texconfig: check for pdftex rather than pdfetex. - Reported by Artemio, 13 Jan 2007 14:54:40. - -2006-12-29 Karl Berry <karl@tug.org> - - * texconfig: replace sort +1 with sort -k 2. I hate POSIX. - Reported by gnwiii, 28 Dec 2006 14:53:54. - -2006-12-27 Karl Berry <karl@tug.org> - - * Makefile.in (install-exec): now the binary is named pdftex again. - -2006-12-25 Karl Berry <karl@tug.org> - - * updmap: update version. - -2006-12-13 Karl Berry <karl@tug.org> - - * latex2e.texi: FSF never held copyright (checked with authors). - Starting latexrefman project at gna.org, with hopes. - -2006-11-20 Karl Berry <karl@tug.org> - - * Makefile.in (CONTEXTSCRIPTS): new variable. - (context): new subdir of stubs, updated from Hans' releases. - -2006-11-14 Karl Berry <karl@tug.org> - - * updmap (normalizeLines): remove CR characters (for skaknew), so - that the generted map files have consistent line endings for svn. - -2006-07-13 Karl Berry <karl@tug.org> - - * ps4pdf (tmpdir): don't lose check for TMPDIR and TEMP which te - had. - -Sat Dec 18 14:19:43 CET 1999 te - - * added manpages for epstopdf and dvi2fax (contributed by "James - R. Van Zandt" <jrv@vanzandt.mv.com>) diff --git a/Build/source/texk/texlive/linked_scripts/tetex/allcm.1 b/Build/source/texk/texlive/linked_scripts/tetex/allcm.1 deleted file mode 100644 index fe75f4ef6d3..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/allcm.1 +++ /dev/null @@ -1,28 +0,0 @@ -.TH allcm 1 "11/94" "teTeX" "teTeX" -.SH NAME -allcm \- force the most important Computer\-Modern\-fonts to be calculated -.SH SYNOPSIS -.B allcm [-r] -.SH DESCRIPTION -.I allcm -forces a large number of Computer Modern Fonts to be calculated as pixel files. -This is done through running -.IR dvips (1) -over a certain test-file. Therefore, the fonts are created in the resolution -needed by dvips. - -If the \-r flag is specified, the command -.IR dvired (1) -will be used instead of dvips. - -.I allcm -does not recalculate existing fonts (as long as the Metafont mode does not change). - -.SH "SEE ALSO" -allec(1), -allneeded(1), -dvips(1), -dvired(1). - -.SH AUTHOR -Thomas Esser <te@dbs.uni-hannover.de> diff --git a/Build/source/texk/texlive/linked_scripts/tetex/allcm.sh b/Build/source/texk/texlive/linked_scripts/tetex/allcm.sh deleted file mode 100755 index 945c7c88457..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/allcm.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh - -test -f /bin/sh5 && test -z "$RUNNING_SH5" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; } -unset RUNNING_SH5 - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -progname=`basename $0` -tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ - -case "$progname" in - allec) - encoding=T1;; - *) - encoding=OT1;; -esac - -case "$1" in - -r) - DVIPS=dvired - shift - ;; - *) - DVIPS=dvips - ;; -esac - -body() -{ - cat <<-'eof' - \pagestyle{empty} - \parindent0in - \hfuzz=\maxdimen - \hbadness=10000 - \textheight9.5in - \textwidth6.5in - \newcommand{\myformula}{\sum a_{b_{c_d}} = c} - \newcommand{\mytext}{text $\mathcal{\myformula}\mathrm{\myformula} - \mathbf{\myformula}\mathsf{\myformula}\mathtt{\myformula} - \mathnormal{\myformula}\mathit{\myformula}$} - - \newcommand{\TestSizes}{{% - \tiny \mytext\scriptsize \mytext\footnotesize \mytext\small \mytext - \normalsize \mytext - \large \mytext\Large \mytext\LARGE \mytext\huge \mytext\Huge \mytext}} - \newcommand{\TestRM}{rm-family: {\rmfamily\TestSizes}\newline} - \newcommand{\TestSF}{sf-family: {\sffamily\TestSizes}\newline} - \newcommand{\TestTT}{tt-family: {\ttfamily\TestSizes}\newline} - \newcommand{\TestFamilies}{\TestRM\TestSF\TestTT\newline} - \newcommand{\TestMD}{md-series: {\mdseries\TestFamilies}} - \newcommand{\TestBF}{bf-series: {\bfseries\TestFamilies}} - \newcommand{\TestSeries}{\TestBF\TestMD\par} - \newcommand{\TestUP}{up-shape: {\upshape\TestSeries}\par} - \newcommand{\TestIT}{it-shape: {\itshape\TestSeries}\par} - \newcommand{\TestSL}{sl-shape: {\slshape\TestSeries}\par} - \newcommand{\TestSC}{sc-shape: {\scshape\TestSeries}\par} - \newcommand{\TestShapes}{\TestUP\TestIT\TestSL\TestSC} - \begin{document} - \TestShapes - \end{document} -eof -} - -head() -{ - echo '\documentclass['$1'pt]{article}' - echo '\usepackage['$encoding']{fontenc}' -} - -# before we create the tmpdir, set trap for cleanup -trap ' - rm -rf $tmpdir - exit 1 -' 1 2 3 7 13 15 - -(umask 077; mkdir "$tmpdir") || { - echo "$progname: failed to create temp directory." >&2 - exit 1 -} - -cd $tmpdir || exit 1 -echo >&2 -echo "---------------------------------------------------------------------" >&2 -echo ">>>>>>>>>>> Generating testfiles for 10pt, 11pt and 12pt. <<<<<<<<<<" >&2 -echo "---------------------------------------------------------------------" >&2 -head 10 > allcm10.tex -head 11 > allcm11.tex -head 12 > allcm12.tex -body >> allcm10.tex -body >> allcm11.tex -body >> allcm12.tex - -echo >&2 -echo "---------------------------------------------------------------------" >&2 -echo ">>>>>>>>>>> Calling latex... <<<<<<<<<<" >&2 -echo "---------------------------------------------------------------------" >&2 -latex allcm10 >/dev/null -latex allcm11 >/dev/null -latex allcm12 >/dev/null - -echo >&2 -echo "---------------------------------------------------------------------" >&2 -echo ">>>>>>>>>>> Now, calling $DVIPS to make missing fonts... <<<<<<<<<<" >&2 -echo "---------------------------------------------------------------------" >&2 -$DVIPS ${1+"$@"} -V -f allcm10 > /dev/null -$DVIPS ${1+"$@"} -V -f allcm11 > /dev/null -$DVIPS ${1+"$@"} -V -f allcm12 > /dev/null - -cd / -rm -rf $tmpdir diff --git a/Build/source/texk/texlive/linked_scripts/tetex/allec.1 b/Build/source/texk/texlive/linked_scripts/tetex/allec.1 deleted file mode 100644 index 56bf87a60c5..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/allec.1 +++ /dev/null @@ -1,28 +0,0 @@ -.TH alldc 1 "11/94" "teTeX" "teTeX" -.SH NAME -allec \- force the most important ec\-fonts to be calculated -.SH SYNOPSIS -.B allec [\-r] -.SH DESCRIPTION -.I allec -forces a large number of ec-style Fonts to be calculated as pixel files. -This is done through running -.IR dvips (1) -over a certain test-file. Therefore, the fonts are created in the resolution -needed by dvips. - -If the \-r flag is specified, the command -.IR dvired (1) -will be used instead of dvips. - -.I alldc -does not recalculate existing fonts (as long as the Metafont mode does not change). - -.SH "SEE ALSO" -allcm(1), -allneeded(1), -dvips(1), -dvired(1). - -.SH AUTHOR -Thomas Esser <te@dbs.uni-hannover.de> diff --git a/Build/source/texk/texlive/linked_scripts/tetex/allneeded.1 b/Build/source/texk/texlive/linked_scripts/tetex/allneeded.1 deleted file mode 100644 index 7d9a67548b7..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/allneeded.1 +++ /dev/null @@ -1,30 +0,0 @@ -.TH allneeded 1 "11/94" "teTeX" "teTeX" -.SH NAME -allneeded \- force the calculation of all fonts now needed -.SH SYNOPSIS -.B allneeded [\-r] files ... -.SH DESCRIPTION -.I allneeded -forces the calculation of all fonts that are needed to preview a set of -dvi files. Just specify where the program should search for files on the -commandline. -The fonts generation is triggered by running -.IR dvips (1) -over all accessible dvi\-files. Therefore, the fonts are created in the resolution -needed by dvips. - -If the \-r flag is specified, the command -.IR dvired (1) -will be used instead of dvips. - -.I allneeded -does not recalculate existing fonts (as long as the Metafont mode does not change). - -.SH "SEE ALSO" -allec(1), -allcm(1), -dvips(1), -dvired(1). - -.SH AUTHOR -Thomas Esser <te@dbs.uni-hannover.de> diff --git a/Build/source/texk/texlive/linked_scripts/tetex/allneeded.sh b/Build/source/texk/texlive/linked_scripts/tetex/allneeded.sh deleted file mode 100755 index 15c62c84adb..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/allneeded.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh - -test -f /bin/sh5 && test -z "$RUNNING_SH5" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; } -unset RUNNING_SH5 - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -progname=`basename $0` -dvired=false - -case $1 in --r) DVIPS="dvips -x707" - shift;; -*) DVIPS=dvips;; -esac - -case $# in -0) echo "Usage: $progname [-r] files ..." >&2 - exit ;; -esac - -findopt= -dvipsopt= - -for i -do - if [ -f $i ] || [ -d $i ]; then - findopt="$findopt $i" - else - dvipsopt="$dvipsopt $i" - fi -done - -find $findopt -name \*.dvi -type f -print | - while true; do - read i - test -z "$i" && exit - echo "processing file '$i' ..." - $DVIPS $dvipsopt -f "$i" >/dev/null - echo - done diff --git a/Build/source/texk/texlive/linked_scripts/tetex/dvi2fax.1 b/Build/source/texk/texlive/linked_scripts/tetex/dvi2fax.1 deleted file mode 100644 index f7c436d6e33..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/dvi2fax.1 +++ /dev/null @@ -1,22 +0,0 @@ -.TH DVI2FAX 1 "October 30, 1999" -.\" man page by Jim Van Zandt <jrv@vanzandt.mv.com> -*- nroff -*- -.SH NAME -dvi2fax \- convert a TeX DVI file to G3 fax format -.SH SYNOPSIS -\fBdvi2fax\fP [\fB-hi\fP|\fB-lo\fP] \fIfile\fP[.dvi] [\fIoptions for dvips\fP] -.SH DESCRIPTION -\fBdvi2fax\fP uses \fBdvips\fP(1) to convert a TeX DVI file to PostScript, -then \fBgs\fP(1) to convert the PostScript to G3 fax file format. -.SH OPTIONS -.LP -.B -hi -use high fax resolution (204x196 dpi) (default). -.LP -.B -lo -use low fax resolution (204x98). -.PP -\fBdvips\fP options can follow the file name. -.SH EXAMPLE -Example: dvi2fax foo -l 2 -.SH SEE ALSO -\fBdvips\fP(1), \fBgs\fP(1). diff --git a/Build/source/texk/texlive/linked_scripts/tetex/dvi2fax.sh b/Build/source/texk/texlive/linked_scripts/tetex/dvi2fax.sh deleted file mode 100755 index fdfa83211eb..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/dvi2fax.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# options for dvips are passwd down - -test -f /bin/sh5 && test -z "$RUNNING_SH5" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; } -unset RUNNING_SH5 - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -progname=`basename "$0"` -help() -{ - echo "Usage: $progname [-hi|-lo] file[.dvi] [options for dvips]" - echo " -hi: use high fax resolution (204x196) (default)" - echo " -lo: use low fax resolution (204x98)" - echo - echo "Example: $progname foo -l 2" -} - -dvipsconf=dfaxhigh; gsdev=dfaxhigh -case $1 in - -hi) gsdev=dfaxhigh; shift;; - -lo) gsdev=dfaxlow; shift;; -esac - -case $# in - 0) help >&2 - exit 1 - ;; -esac - -NAME=`basename "$1" .dvi` -dvips "$@" -P$dvipsconf -f | - gs -q -dSAFER -sDEVICE=$gsdev -sOutputFile="$NAME-%03d.fax" -sNOPAUSE - diff --git a/Build/source/texk/texlive/linked_scripts/tetex/dvired.1 b/Build/source/texk/texlive/linked_scripts/tetex/dvired.1 deleted file mode 100644 index f76e58087a3..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/dvired.1 +++ /dev/null @@ -1,63 +0,0 @@ -.TH dvired 1 "09/94" "teTeX" "teTeX" -.SH NAME -dvired \- print dvi-files -.SH SYNOPSIS -.B dvired -[ -.B options -] -.B file -.SH DESCRIPTION -.I dvired -behaves like -.IR dvips , -except for the fact that two logical pages are put onto each physical -sheet of paper. - -For -.IR options , -see -.IR dvips (1). -This program only interprets the following options: - -.I \-o file -\- redirect output into -.I file. - -.I \-P printer -\- direct output to -.I printer. - -.I \-f -\- direct output to stdout. - -Any other option is passed directly to -.IR dvips . - -.SH EXAMPLES -It is assumed that the PRINTER-variable is set. - -.B dvired \-Plw foo -\- send output to printer -.IR lw . -.br -.B dvired \-o foo.ps foo -\- send output to file -.IR foo.ps . -.br -.B dvired \-pp4-7 foo -\- send 4 pages (reduced onto 2 sheets) of -.I foo -to the printer. -.br -.B dvired foo \-f | ghostview \- -\- preview output with ghostview. - -.SH "SEE ALSO" -.IR dvips (1) -.SH BUGS -.I dvired -is fixed on A4 paper size. If you want to use it with other paper, you have -to change the settings within the source. -.SH AUTHOR -Thomas Esser <te@dbs.uni-hannover.de> diff --git a/Build/source/texk/texlive/linked_scripts/tetex/dvired.sh b/Build/source/texk/texlive/linked_scripts/tetex/dvired.sh deleted file mode 100755 index 4eb3586119d..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/dvired.sh +++ /dev/null @@ -1,98 +0,0 @@ -#!/bin/sh -#============================================================================== -# Version: 0.3 -# Module: dvired -# Purpose: Translate dvi-file into postscript with reduced output size. -# Two logical pages will be put on onto each physical sheet of -# paper. -# System: Linux. UNIX(tm) systems may work as well :-) -# Requires: pstops (http://www.dcs.ed.ac.uk/home/ajcd/psutils/), dvips -# Created: 19.11.1992 -# Last Change: 13.08.1999 -# Language: sh -# Author: Thomas Esser -# Address: te@dbs.uni-hannover.de -# Copyright: (c) 1994, 1999 by Thomas Esser -# Copying: GNU GENERAL PUBLIC LICENSE -#============================================================================== - -test -f /bin/sh5 && test -z "$RUNNING_SH5" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; } -unset RUNNING_SH5 - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -help() -{ - cat <<eof - -Usage: dvired [options] file - -This programm behaves like dvips, execpt fot the fact that two logical -pages will be put on onto each physical sheet of paper. - -For options see dvips(1). This program only interprets the options --o, -P and -f. All other options will directly be passed to dvips. - -If your paper is not in A4 format, you need to adjust the dimensions -in this program. - -Examples: (it is assumed that the PRINTER-variable is set) - dvired -Plw foo send output to printer lw - dvired -o foo.ps foo send output to file foo.ps - dvired -pp4-7 foo send 4 output-pages to printer - dvired foo -f | ghostview - preview output with ghostview -eof -} - -case $# in -0) help ; exit 1 ; ;; -esac - -# This will work for A4 paper. -paper=a4 ; pstopsopt='2:0(7.44mm,7.44mm)+1(7.44mm,-141.06mm)' - -# The following are *UNTESTED*. Please let me know whether they work -# or not, if you can test them. -#paper=a3 ; pstopsopt='2:0(7.44mm,7.44mm)+1(7.44mm,-202.56mm)' -#paper=letter ; pstopsopt='2:0(7.44mm,7.44mm)+1(7.44mm,-132.26mm)' -#paper=legal ; pstopsopt='2:0(7.44mm,7.44mm)+1(7.44mm,-170.36mm)' -#paper=ledger ; pstopsopt='2:0(7.44mm,7.44mm)+1(7.44mm,-132.26mm)' -#paper=tabloid ; pstopsopt='2:0(7.44mm,7.44mm)+1(7.44mm,-208.46mm)' - -of="" -lpr_opt="" - -case "$PRINTER" in -"") dvips_pre="" ;; -*) dvips_pre="-P$PRINTER" ;; -esac - -dvips_pre="$dvips_pre -t $paper -t landscape" - -while [ ! -z "$1" ] ; do - case $1 in - -P) of="" ; dvips_pre="$dvips_pre -P$2" ; lpr_opt="-P$2" - shift ;; - -P*) of="" ; dvips_pre="$dvips_pre $1" ; lpr_opt="$1" ;; - -o) of="$2" - shift ;; - -o*) of="`echo $1| sed 's/..//'`" ;; - -f) of="-" ;; - *) opt="$opt $1" - esac - shift -done - -case "$of" in -"") dvips -x707 $dvips_pre $opt -f | pstops -q $pstopsopt | lpr $lpr_opt - ;; -"-") dvips -x707 $dvips_pre $opt -f | pstops -q $pstopsopt - ;; -*) dvips -x707 $dvips_pre $opt -f | pstops -q $pstopsopt > "$of" - ;; -esac diff --git a/Build/source/texk/texlive/linked_scripts/tetex/e2pall.1 b/Build/source/texk/texlive/linked_scripts/tetex/e2pall.1 deleted file mode 100644 index b102568b53a..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/e2pall.1 +++ /dev/null @@ -1,55 +0,0 @@ -.TH "e2pall" "1" "August 2000" "teTeX" "teTeX" -.PP -.SH "NAME" -e2pall \- convert all EPS files in a LaTeX document to PDF -.PP -.SH "SYNOPSIS" -.PP -\fBe2pall\fP \fITEXFILE\fP -.PP -.SH "DESCRIPTION" -.PP -\fBe2pall\fP searches through \fITEXFILE\fP for \eincludegraphics -commands to find the base names of image files\&. When it finds one, -\fBe2pall\fP runs \fBepstopdf\fP(1) to create a PDF file from the EPS -file\&. -.PP -\fBe2pall\fP will check to be sure that an existing PDF file is -up-to-date with the EPS file, and will not run \fBepstopdf\fP(1) if -the PDF file is newer than the EPS file\&. -.PP -.SH "BUGS" -.PP -.IP "" -Seems to be broken -.IP "" -Cannot handle \einput{\fIfilename\fP} or -\eincludegraphics{\fIfilename\fP} split over more than one -line -.IP "" -Must be run from same directory as the LaTeX file -.IP "" -Does not look down $TEXINPUTS -.IP "" -Cannot handle documents that use \einclude commands -.IP "" -Assumes \fIall\fP files included with \eincludegraphics are EPS -files -.IP -.PP -.SH "SEE ALSO" -.PP -\fBepstopdf\fP(1) -.PP -.SH "AUTHOR" -.PP -\fBe2pall\fP was written by Jody Klymak <jklymak@apl\&.washington\&.edu> and published in a posting to -the <pdftex@tug\&.org> (mailing list)\&. -.PP -This manual page was written by C\&.M\&. Connelly -<c@eskimo\&.com>, for -the Debian GNU/Linux system\&. It may be used by other distributions -without contacting the author\&. Any mistakes or omissions in the -manual page are my fault; inquiries about or corrections to this -manual page should be directed to me (and not to the primary author)\&. -.PP diff --git a/Build/source/texk/texlive/linked_scripts/tetex/e2pall.pl b/Build/source/texk/texlive/linked_scripts/tetex/e2pall.pl deleted file mode 100755 index 2997f8b1102..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/e2pall.pl +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env perl - -# Author: Jody Klymak <jklymak@apl.washington.edu>, publisted by a posting -# to the pdftex mailinglist. - -# recursively finds all your eps files. Looks down \input{fname}. -# CAVEATS: -# 1) cannot handle \input{fname} split over more than one line. -# 1.5) cannot handle multiple \input{} or \includegraphics{} on one line. -# 2) Must be run from same directory as the Latex file. -# 3) Does not look down $TEXINPUTS or anything fancy like that... -# 4) Handling of \include is untested (though I guess its trivial) -# 5) Assumes *all* your graphics inclusions are [e]ps. But don't -# fret, because if they are not epstopdf dies anyhow.... -# 6) Does not distinguish between percent (\%) and comment (%). - -# Changelog: -# 20030103 -- Lachlan Andrew <lha@users.sourceforge.net> -# * Only append '.tex' if $fname doesn't exist. -# * Correctly handle lines with '}' after the \includegraphics{} -# * Allow multiple extensions for graphics files. .eps -> .ps -> none -# (Should try them in the same order as \includegraphics does -# -- given by \DeclareGraphicsExtensions{}?) -# * Allow \include the same way as \input -# * Allow \includegraphics{} to be split over multiple lines -# * Check that commands begin with '\', and allow spaces before arguments - -# EDIT these two lines for your system.... - -$Eps2PdfCom = "epstopdf"; -$ThisFunCom = "e2pall"; - -$fname=$ARGV[0]; - -# check for a *.tex at the end... -if ((-f "$fname")=="" && $fname !~ /.tex$/){ - $fname = "$fname.tex"; -} - -open(TEXFILE,$fname) or die "Cannot open file $fname"; -# print "Finding *.eps files in $fname\n"; - -$seekingArg = 0; -while($line=<TEXFILE>){ - # truncate $line after % sign.... - $line=~s/%.*//; - # check for /input.... - if ($line=~/\\input *{([^}]*)}/){ - print `$ThisFunCom $1`; - } - # check for /include.... - if ($line=~/\\include *{([^}]*)}/){ - print `$ThisFunCom $1`; - } - - $base = ""; - if ($line=~/\\includegraphics.*{([^}]*)}/){ - $base = $1; - } - elsif ($seekingArg==1 && ($line=~/{([^}]*)}/)){ - $base = $1; - } - elsif ($line=~/\\includegraphics/){ - $seekingArg = 1; - } - - if ($base ne "") { - $seekingArg = 0; - if ((-f "$base.eps")!="") { - $srcfile = "$base.eps"; - } - elsif ((-f "$base.ps")!=""){ - $srcfile = "$base.ps"; - } - else { - $srcfile = $base; - } - # check that the [e]ps version is newer than the pdf version.... - if ((-M "$base.pdf")=="" || (-M "$base.pdf") >= (-M "$srcfile")){ - print "Constructing \t $base.pdf from $srcfile\n"; - print `$Eps2PdfCom $srcfile`; - } - else{ - print "$base.pdf \t is up to date with $srcfile\n"; - } - - }; -} -close(TEXFILE); diff --git a/Build/source/texk/texlive/linked_scripts/tetex/fmtutil-sys.sh b/Build/source/texk/texlive/linked_scripts/tetex/fmtutil-sys.sh deleted file mode 100755 index bfb52f94e1f..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/fmtutil-sys.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -# fmtutil-sys: Thomas Esser, public domain. - -# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to -# TEXMFSYSVAR / TEXMFSYSCONFIG - -test -f /bin/ksh && test -z "$RUNNING_KSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } -unset RUNNING_KSH - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' -export PATH - -v=`kpsewhich -var-value TEXMFSYSVAR` -c=`kpsewhich -var-value TEXMFSYSCONFIG` - -TEXMFVAR="$v" -TEXMFCONFIG="$c" -export TEXMFVAR TEXMFCONFIG - -exec fmtutil ${1+"$@"} diff --git a/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.1 b/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.1 deleted file mode 100644 index 39ed57bf8b5..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.1 +++ /dev/null @@ -1,113 +0,0 @@ -.TH FMTUTIL 1 "June 2011" "TeX Live" "TeX Live" -.SH "NAME" -fmtutil \- utility for maintaining TeX format files -.PP -fmtutil-sys \- utility for maintaining TeX format files system\-wide -.SH "SYNOPSIS" -.B fmtutil\fP -.RI [ OPTION .\|.\|.] -.I COMMAND -.PP -.B fmtutil-sys -.RI [ OPTION .\|.\|.] -.I COMMAND -.SH "DESCRIPTION" -\fBfmtutil\fP is used to create or recreate format and hyphenation -files or show information about format files\&. -.PP -\fICOMMAND\fP is one of: -.PP -.TP -.B --all -recreate all format files -.TP -.BI --byengine \ enginename -(re)create formats that depend on the -engine \fIenginename\fP -.TP -.BI --byfmt \ formatname -(re)create the format for -format \fIformatname\fP -.TP -.BI --byhyphen \ hyphenfile -(re)create formats that depend on the -hyphenation file \fIhyphenfile\fP -.TP -.B --catcfg -output the content of the config file -.TP -.BI --disablefmt \ formatname -disable -.I formatname -in config file -.TP -.B --edit -no-op in TeX Live -.TP -.BI --enablefmt \ formatname -ensable -.I formatname -in config file -.TP -.B --help -print a summary of commands and options -.TP -.B --listcfg -list (enabled and disabled) configurations, filtered to available formats -.TP -.B --missing -create all missing format files -.TP -.B --refresh -recreate only existing format files -.TP -.BI --showhyphen \ formatname -print the name of the -hyphenation file for the format -\fIformatname\fP -.TP -.B --version -show version info -.SH "OPTIONS" -.TP -.BI --cnffile \ file -specify the configuration -\fIfile\fP \fBfmtutil\fP should use -.TP -.B --dolinks -(not implemented, just for compatibility) -.TP -.BI --fmtdir \ directory -set the destination -directory for format files generated by -\fBfmtutil\fP to \fIdirectory\fP -.TP -.B --force -(not implemented, just for compatibility) -.TP -.B --no-engine-subdir -don't use engine-specific subdir of the fmtdir -.TP -.B --no-error-if-no-format -exit successfully if no format is selected -.TP -.B --quiet -be silent -.TP -.B --test -(not implemented, just for compatibility) -.SH "FILES" -.TP -.I fmtutil\&.cnf -default configuration file -.SH "SEE ALSO" -.BR kpsewhich (1) -.SH "BUGS" -None known, but report any bugs found to <tex-k@tug.org> (mailing list). -.SH "AUTHOR" -\fBfmtutil\fP was written by Thomas Esser -<te@dbs\&.uni-hannover\&.de> and is in the public domain. -.PP -This manual page was written by C\&.M\&. Connelly -<c@eskimo\&.com>, for -the Debian GNU/Linux system and later slightly adapted for the teTeX 3 release\&. diff --git a/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.cnf b/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.cnf deleted file mode 100644 index 8e1ab82149f..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.cnf +++ /dev/null @@ -1,126 +0,0 @@ -# Generated by /home/texlive/karl/Master/bin/i386-linux/tlmgr on Mon May 14 04:46:13 2012 -# $Id: fmtutil-hdr.cnf 13067 2009-05-12 22:04:17Z preining $ -# Originally written by Thomas Esser, 1998. Public domain. -# -# As of TeX Live 2008, the final fmtutil.cnf is generated by -# tlmgr generate fmtutil. You can use -# tlmgr generate fmtutil -localcfg /some/file to make local additions. -# See tlmgr --help for more info. -# -# The format of the table is: -# -# format engine pattern-file arguments -# -# The last "argument" must be the name of the file on which to run -# the ini-engine (such as initex). If the ini-engine is e-TeX, and the -# e-TeX extensions should be enabled, the filename must be prefixed with -# a * character. -# -# fmtutil always passes the -ini option to the engine. -# If no pattern-file is desired, use -. -# Either spaces or tabs can be used as separators. -# -# Other notes: -# 1) tex and amstex just load hyphen.tex. No customization. -# You can have your own customized (via babel's hyphen.cfg) -# formats on top of plain by using "bplain.tex" instead of -# plain.tex (see e.g. bplain.ini file for bplain format). -# -# 2) etex-based formats load language.def, not language.dat. -# -# 3) The symbolic link to the right engines (e.g. bplain -> tex) -# is generated by the "texlinks" script. -# -# 4) usual comments start with "# ", whereas disabled configurations -# start with "#! " in this file. - -# -# from aleph: -aleph aleph - *aleph.ini -lamed aleph language.dat *lambda.ini -# -# from amstex: -amstex pdftex - -translate-file=cp227.tcx *amstex.ini -# -# from context: -cont-en pdftex cont-usr.tex -8bit *cont-en.ini -cont-en xetex cont-usr.tex -8bit *cont-en.ini -#! cont-de pdftex cont-usr.tex -8bit *cont-de.ini -#! cont-fr pdftex cont-usr.tex -8bit *cont-fr.ini -#! cont-it pdftex cont-usr.tex -8bit *cont-it.ini -#! cont-nl pdftex cont-usr.tex -8bit *cont-nl.ini -#! cont-ro pdftex cont-usr.tex -8bit *cont-ro.ini -# -# from cslatex: -cslatex pdftex - -etex -translate-file=cp227.tcx cslatex.ini -pdfcslatex pdftex - -etex -translate-file=cp227.tcx cslatex.ini -# -# from csplain: -csplain pdftex - -etex -translate-file=cp227.tcx csplain.ini -pdfcsplain pdftex - -etex -translate-file=cp227.tcx csplain.ini -# -# from eplain: -eplain pdftex language.dat -translate-file=cp227.tcx *eplain.ini -# -# from jadetex: -jadetex pdftex language.dat *jadetex.ini -pdfjadetex pdftex language.dat *pdfjadetex.ini -# -# from latex-bin: -latex pdftex language.dat -translate-file=cp227.tcx *latex.ini -pdflatex pdftex language.dat -translate-file=cp227.tcx *pdflatex.ini -dvilualatex luatex language.dat,language.dat.lua dvilualatex.ini -lualatex luatex language.dat,language.dat.lua lualatex.ini -# -# from luatex: -luatex luatex language.def,language.dat.lua luatex.ini -dviluatex luatex language.def,language.dat.lua dviluatex.ini -# -# from metafont: -mf mf-nowin - -translate-file=cp227.tcx mf.ini -# -# from mex: -mex pdftex mexconf.tex -translate-file=cp227.tcx *mex.ini -pdfmex pdftex mexconf.tex -translate-file=cp227.tcx *pdfmex.ini -utf8mex pdftex mexconf.tex -enc *utf8mex.ini -# -# from mltex: -mllatex pdftex language.dat -translate-file=cp227.tcx -mltex mllatex.ini -mltex pdftex - -translate-file=cp227.tcx -mltex mltex.ini -# -# from mptopdf: -mptopdf pdftex - -translate-file=cp227.tcx mptopdf.tex -# -# from pdftex: -pdftex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini -etex pdftex language.def -translate-file=cp227.tcx *etex.ini -pdfetex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini -# -# from ptex: -ptex ptex - ptex.ini -eptex eptex language.def *eptex.ini -platex eptex language.dat *platex.ini -# -# from t2: -#! cyramstex pdftex language.dat -translate-file=cp227.tcx *cyramstx.ini -#! cyrtex pdftex language.dat -translate-file=cp227.tcx *cyrtex.ini -#! cyrtexinfo pdftex language.dat -translate-file=cp227.tcx *cyrtxinf.ini -# -# from tex: -tex tex - tex.ini -# -# from texsis: -texsis pdftex - -translate-file=cp227.tcx texsis.ini -# -# from uptex: -uptex uptex - uptex.ini -euptex euptex language.def *euptex.ini -uplatex euptex language.dat *uplatex.ini -# -# from xetex: -xetex xetex language.def -etex xetex.ini -xelatex xetex language.dat -etex xelatex.ini -# -# from xmltex: -xmltex pdftex language.dat *xmltex.ini -pdfxmltex pdftex language.dat *pdfxmltex.ini diff --git a/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.cnf.5 b/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.cnf.5 deleted file mode 100644 index 4efedcf590c..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.cnf.5 +++ /dev/null @@ -1,77 +0,0 @@ -.TH "fmtutil\&.cnf" "5" "October 2000" "teTeX" "teTeX" -.PP -.SH "NAME" -fmtutil\&.cnf \- configuration file for fmtutil -.PP -.SH "DESCRIPTION" -.PP -The \fIfmtutil\&.cnf\fP file contains the configuration information -for \fBfmtutil\fP(8)\&. Each line contains the name of the format -(e\&.g\&., ``tex\'\', ``latex\'\', ``omega\'\'), the name of the engine that -is used by that format (e\&.g\&., ``tex\'\', ``etex\'\', ``omega\'\'), the pattern -file (e\&.g\&., \fIlanguage\&.dat\fP, \fIlanguage\&.def\fP), and any -arguments (name of an \fI\&.ini\fP file)\&. -.PP -Fields are separated by whitespace\& and complete lines can be commented -out with ``#\'\'\&. The ``pattern file\'\' field cannot be used to -define a file that is used while building the format\&. -It tells \fBfmtutil\fP which files (separated by commas) the -format creation procedure reads\& and it has an effect to the options -\fI--showhyphen\fP and \fI--byhyphen\fP\&. -If the format has no way to -customize hyphenation, a ``-\'\' can be used to indicate this\&. -.PP -.SH "NOTES" -.PP -The \fBtex\fP(1) and \fBamstex\fP(1) formats always load -\fIhyphen\&.tex\fP\&. No customization by a pattern file is available -for these formats\&. Therefore, the pattern-file field for the -\fBtex\fP and \fBamstex\fP is usually indicated to be empty (``-\'\')\&. -.PP -You can, however, build customized formats on top of plain -\fBtex\fP(1) or \fBamstex\fP(1) by using \fIbplain\&.tex\fP instead of -\fIplain\&.tex\fP (b for the \fIBabel\fP system). See, for example, -the \fIbplain\&.ini\fP file for the bplain format)\&. -.PP -\fBetex\fP(1) loads \fIlanguage\&.def\fP, not -\fIlanguage\&.dat\fP\&. -.PP -Symbolic links to the correct engines (e\&.g\&., bplain -> tex) -are generated by the \fBtexlinks\fP(8) script\&. Remember to run -\fBtexlinks\fP(8) if you run \fBfmtutil\fP(8) yourself, rather -than using the FORMATS option in \fBtexconfig\fP(8)\&. -.PP -.SH "FILES" -.PP -.IP "\fIfmtutil\&.cnf\fP" -default configuration file -.IP "\fIlanguage\&.dat\fP" -hyphenation pattern file -.IP "\fIlanguage\&.def\fP" -hyphenation pattern file -.IP "\fIlanguage\&.dat.lua\fP" -hyphenation pattern file -.PP -.SH "SEE ALSO" -.PP -\fBamstex\fP(1), \fBetex\fP(1), \fBfmtutil\fP(8), -\fBtex\fP(1), \fBtexconfig\fP(8), \fBtexlinks\fP(8)\&. -.PP -Web page: <http://tug\&.org/teTeX/> -.PP -.SH "BUGS" -.PP -None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&. -.PP -.SH "AUTHOR" -.PP -\fIfmtutil\&.cnf\fP was written by Thomas Esser -<te@dbs\&.uni-hannover\&.de>, and is Copyright 1998, -1999 but released into the public domain\&. -.PP -This manual page was written by C\&.M\&. Connelly -<c@eskimo\&.com>, for -the Debian GNU/Linux system\&. It may be used by other distributions -without contacting the author\&. Any mistakes or omissions in the -manual page are my fault; inquiries about or corrections to this -manual page should be directed to me (and not to the primary author)\&. diff --git a/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.sh b/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.sh deleted file mode 100755 index b9f97aa8998..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.sh +++ /dev/null @@ -1,1017 +0,0 @@ -#!/bin/sh -# fmtutil - utility to maintain format files. -# Public domain. Originally written by Thomas Esser. -# Run with --help for usage. - -# program history: -# further changes in texk/tetex/ChangeLog. -# 2007-01-04 patch by JK to support $engine subdir (enabled by default) -# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code -# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS -# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP -# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement -# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile -# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig) -# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag -# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr) -# Do Okt 28 11:09:36 CEST 2004 added --refresh -# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function -# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names -# are now *.fmt, nothing else, disable -# "plain" symlinks -# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction. -# Sun Mar 21 19:44:36 CET 2004: support aleph -# Thu Dec 25 22:11:53 CET 2003: add version string -# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats -# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called -# as mktexfmt, an extention was mandatory) -# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS -# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf -# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file -# Wed Feb 19 21:14:52 CET 2003 add eomega support -# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf -# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files -# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile() -# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension -# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt -# disablefmt listcfg -# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems, -# and issue a warning -# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap -# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr -# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun -# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality -# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost -############################################################################### - -test -f /bin/ksh && test -z "$RUNNING_KSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } -unset RUNNING_KSH - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -progname=fmtutil -argv0=$0 -version='$Id$' - -cnf=fmtutil.cnf # name of the config file -export PATH - -############################################################################### -# cleanup() -# clean up the temp area and exit with proper exit status -############################################################################### -cleanup() -{ - rc=$1 - # for debugging, exit $rc here so $tmpdir with its logs sticks around. - $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \ - && { cd / && rm -rf "$tmpdir"; } - (exit $rc); exit $rc -} - -############################################################################### -# help() and version() -# display help (or version) message and exit -############################################################################### -help() -{ - cat <<eof -$version -Usage: fmtutil [OPTION]... CMD [ARG]... -Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT - -Rebuild and manage TeX formats, Metafont bases and MetaPost mems. - -If the command name ends in mktexfmt, only one format can be created. -The only options supported are --help and --version, and the command -line must consist of either a format name, with its extension, or a -plain name that is passed as the argument to --byfmt (see below). The -full name of the generated file (if any) is written to stdout, and -nothing else. - -If not operating in mktexfmt mode, the command line can be more general, -and multiple formats can be generated, as follows. - -Optional behavior: - --cnffile FILE read FILE instead of fmtutil.cnf. - --fmtdir DIRECTORY - --no-engine-subdir don't use engine-specific subdir of the fmtdir - --no-error-if-no-format exit successfully if no format is selected - --quiet be silent - --test (not implemented, just for compatibility) - --dolinks (not implemented, just for compatibility) - --force (not implemented, just for compatibility) - -Valid commands for fmtutil: - --all recreate all format files - --missing create all missing format files - --refresh recreate only existing format files - --byengine ENGINENAME (re)create formats using ENGINENAME - --byfmt FORMATNAME (re)create format for FORMATNAME - --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE - --enablefmt FORMATNAME enable formatname in config file - --disablefmt FORMATNAME disable formatname in config file - --listcfg list (enabled and disabled) configurations, - filtered to available formats - --catcfg output the content of the config file - --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME - --edit no-op in TeX Live - --version show version info - --help show this message - -The default config file is named fmtutil.cnf, and -running kpsewhich fmtutil.cnf should show the active file. -The command kpsewhich --engine=/ --all foo.fmt should show the -locations of any and all foo.fmt files. - -For more information about fmt generation in TeX Live, try -tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html. -The \`generate' action in tlmgr does the work. - -Report bugs to: tex-k@tug.org -TeX Live home page: <http://tug.org/texlive/> -eof - cleanup 0 -} - -versionfunc() -{ - cat <<eof -$progname version $version -eof - cleanup 0 -} - -############################################################################### -# setupTmpDir() -# set up a temp directory and a trap to remove it -############################################################################### -setupTmpDir() -{ - $needsCleanup && return - - trap 'cleanup 1' 1 2 3 7 13 15 - needsCleanup=true - (umask 077; mkdir "$tmpdir") \ - || abort "could not create directory \`$tmpdir'" -} - -############################################################################### -# configReplace(file, pattern, line) -# The first line in file that matches pattern gets replaced by line. -# line will be added at the end of the file if pattern does not match. -############################################################################### -configReplace() -{ - file=$1; pat=$2; line=$3 - - if grep "$pat" "$file" >/dev/null; then - ed "$file" >/dev/null 2>&1 <<-eof - /$pat/ - c - $line - . - w - q -eof - else - echo "$line" >> $file - fi -} - -############################################################################### -# setmatch(match) -# setting the "match state" to true or false. Used to see if there was at -# least one match. -############################################################################### -setmatch() -{ - match=$1 -} - -############################################################################### -# getmatch() -# return success if there was at least one match. -############################################################################### -getmatch() -{ - test "x$match" = xtrue -} - -############################################################################### -# initTexmfMain() -# get $MT_TEXMFMAIN from $TEXMFMAIN -############################################################################### -initTexmfMain() -{ - case $MT_TEXMFMAIN in - "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;; - esac - export MT_TEXMFMAIN -} - -############################################################################### -# cache_vars() -# locate files / kpathsea variables and export variables to environment -# this speeds up future calls to e.g. mktexupd -############################################################################### -cache_vars() -{ - : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`} - : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`} - : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`} - : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`} - : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`} - : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`} - : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`} - : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`} - export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR - export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT -} - -############################################################################### -# abort(errmsg) -# print `errmsg' to stderr and exit with error code 1 -############################################################################### -abort() -{ - echo "$progname: $1." >&2 - cleanup 1 -} - -############################################################################### -# maybe_abort(errmsg) -# print `errmsg' to stderr and -# unless noAbortFlag is set exit with error code 1 -############################################################################### -maybe_abort() -{ - echo "$progname: $1." >&2 - $noAbortFlag || cleanup 1 -} - -############################################################################### -# verboseMsg(msg) -# print `msg' to stderr is $verbose is true -############################################################################### -verboseMsg() { - $verboseFlag && verbose echo ${1+"$@"} -} - -############################################################################### -# byebye() -# report any failures and exit the program -############################################################################### -byebye() -{ - if $has_warnings; then - { - cat <<eof - -############################################################################### -$progname: Warning! Some warnings have been issued. -Visit the log files in directory - $destdir -for details. -############################################################################### - -This is a summary of all \`warning' messages: -$log_warning_msg -eof - } >&2 - fi - - if $has_errors; then - { - cat <<eof - -############################################################################### -$progname: Error! Not all formats have been built successfully. -Visit the log files in directory - $destdir -for details. -############################################################################### - -This is a summary of all \`failed' messages: -$log_failure_msg -eof - } >&2 - cleanup 1 - else - cleanup 0 - fi -} - -############################################################################### -# init_log_warning() -# reset the list of warning messages -############################################################################### -init_log_warning() -{ - log_warning_msg= - has_warnings=false -} - -############################################################################### -# init_log_failure() -# reset the list of failure messages -############################################################################### -init_log_failure() -{ - log_failure_msg= - has_errors=false -} - -############################################################################### -# log_warning(errmsg) -# report and save warning message `errmsg' -############################################################################### -log_warning() -{ - echo "Warning: $@" >&2 - if test -z "$log_warning_msg"; then - log_warning_msg="$@" - else - OLDIFS=$IFS; IFS= - log_warning_msg="$log_warning_msg -$@" - IFS=$OLDIFS - fi - has_warnings=true -} - -############################################################################### -# log_failure(errmsg) -# report and save failure message `errmsg' -############################################################################### -log_failure() -{ - echo "Error: $@" >&2 - if test -z "$log_failure_msg"; then - log_failure_msg="$@" - else - OLDIFS=$IFS; IFS= - log_failure_msg="$log_failure_msg -$@" - IFS=$OLDIFS - fi - has_errors=true -} - -############################################################################### -# verbose (cmd) -# execute cmd. Redirect output depending on $mktexfmtMode. -############################################################################### -verbose() -{ - $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"} -} - -############################################################################### -# mktexdir(args) -# call mktexdir script, disable all features (to prevent sticky directories) -############################################################################### -mktexdir() -{ - initTexmfMain - MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2 -} - -############################################################################### -# tcfmgr(args) -# call tcfmgr script -############################################################################### -tcfmgr() -{ - initTexmfMain - "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@" -} - -############################################################################### -# mktexupd(args) -# call mktexupd script -############################################################################### -mktexupd() -{ - initTexmfMain - "$MT_TEXMFMAIN/web2c/mktexupd" "$@" -} - -############################################################################### -# main() -# parse commandline arguments, initialize variables, -# switch into temp. direcrory, execute desired command -############################################################################### -main() -{ - destdir= # global variable: where do we put the format files? - cnf_file= # global variable: full name of the config file - cmd= # desired action from command line - needsCleanup=false - need_find_hyphenfile=false - cfgparam= - cfgmaint= - verboseFlag=true - noAbortFlag=false - # eradicate double slashes to avoid kpathsea expansion. - tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g` - - # mktexfmtMode: if called as mktexfmt, set to true. Will echo the - # first generated filename after successful generation to stdout then - # (and nothing else), since kpathsea can only deal with one. - mktexfmtMode=false - case $argv0 in - mktexfmt|*/mktexfmt) - mktexfmtMode=true - fullfmt=$1; shift - case $fullfmt in - ""|--help) help ;; - --version) versionfunc ;; - --*) abort "unknown option $fullfmt, try --help" ;; - *.fmt|*.mem|*.base) - set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"} - shift - ;; - *.*) abort "unknown format type: $fullfmt" ;; - *) set x --byfmt $fullfmt; shift ;; - esac - ;; - esac - - use_engine_dir=true # whether to use web2c/$engine subdirs - while - case $1 in - --cnffile) - shift; cnf_file=$1; cfgparam=1;; - --cnffile=*) - cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;; - --fmtdir) - shift; destdir=$1;; - --fmtdir=*) - destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;; - --no-engine-subdir) - use_engine_dir=false;; - --all|-a) - cmd=all;; - --edit|-e) - cmd=edit; cfgmaint=1;; - --missing|-m) - cmd=missing;; - --refresh|-r) - cmd=refresh;; - --byengine) - shift; cmd=byengine; arg=$1;; - --byengine=*) - cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;; - --byfmt|-f) - shift; cmd=byfmt; arg=$1;; - --byfmt=*) - cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;; - --byhyphen|-h) - shift; cmd=byhyphen; arg=$1;; - --byhyphen=*) - cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;; - --showhyphen|-s) - shift; cmd=showhyphen; arg=$1;; - --showhyphen=*) - cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;; - --help|-help) - cmd=help;; - --version) - cmd=version;; - --enablefmt) - shift; cmd=enablefmt; arg=$1; cfgmaint=1;; - --enablefmt=*) - cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;; - --disablefmt) - shift; cmd=disablefmt; arg=$1; cfgmaint=1;; - --disablefmt=*) - cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;; - --catcfg) - cmd=catcfg;; - --listcfg) - cmd=listcfg;; - --no-error-if-no-format) - noAbortFlag=true;; - --quiet|-q|--silent) - verboseFlag=false;; - --test|--dolinks|--force) - ;; - "") break;; - *) abort "unknown option \`$1'; try $progname --help if you need it";; - esac - do test $# -gt 0 && shift; done - - case "$cmd" in - "") abort "missing command; try $progname --help if you need it";; - help) help;; - version) versionfunc;; - esac - - if test -n "$cfgparam"; then - test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)" - fi - - if test -n "$cfgmaint"; then - if test -z "$cfgparam"; then - setupTmpDir - co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf` - test $? = 0 || cleanup 1 - set x $co; shift - id=$1; cnf_file=$3; orig=$4 - verboseMsg "$progname: initial config file is \`$orig'" - fi - else - if test -z "$cfgparam"; then - cnf_file=`tcfmgr --cmd find --file $cnf` - test -f "$cnf_file" || abort "config file \`$cnf' not found" - fi - fi - - # these commands need no temp directory, so do them here: - case "$cmd" in - catcfg) - grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort - cleanup $? ;; - edit) - echo "$0: fmtutil --edit is disabled in TeX Live;" >&2 - echo "$0: use a file fmtutil-local.cnf instead." >&2 - echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2 - cleanup 0 ;; - enablefmt|disablefmt) - $cmd $arg ;; # does not return - listcfg) - listcfg_loop - cleanup $? ;; - showhyphen) - show_hyphen_file "$arg" - cleanup $? ;; - esac - - if test -n "$cfgmaint"; then - if test -z "$cfgparam"; then - ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id` - if test $? = 0; then - if test -n "$ci"; then - verboseMsg "$progname: configuration file updated: \`$ci'" - else - verboseMsg "$progname: configuration file unchanged." - fi - else - abort "failed to update configuration file." - fi - fi - cleanup $? - fi - - # set up destdir: - if test -z "$destdir"; then - : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`} - destdir=$MT_TEXMFVAR/web2c - fi - test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1 - test -d "$destdir" || abort "format directory \`$destdir' does not exist" - test -w "$destdir" || abort "format directory \`$destdir' is not writable" - - thisdir=`pwd` - - : ${KPSE_DOT=$thisdir} - export KPSE_DOT - - # due to KPSE_DOT, we don't search the current directory, so include - # it explicitly for formats that \write and later on \read - TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS - # for formats that load other formats (e.g., jadetex loads latex.fmt), - # add the current directory to TEXFORMATS, too. Currently unnecessary - # for MFBASES and MPMEMS. - TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS - - setupTmpDir - cd "$tmpdir" || cleanup 1 - - # make local paths absolute: - case "$destdir" in - /*) ;; - *) destdir="$thisdir/$destdir";; - esac - case "$cnf_file" in - /*) ;; - *) cnf_file="$thisdir/$cnf_file";; - esac - - cache_vars - init_log_failure - init_log_warning - # execute the desired command: - case "$cmd" in - all) - recreate_all;; - missing) - create_missing;; - refresh) - recreate_existing;; - byengine) - recreate_by_engine "$arg";; - byfmt) - recreate_by_fmt "$arg";; - byhyphen) - recreate_by_hyphenfile "$arg";; - esac - - byebye -} - -############################################################################### -# parse_line(config_line) sets global variables: -# format: name of the format, e.g. pdflatex -# engine: name of the TeX engine, e.g. tex, etex, pdftex -# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini) -# fmtfile: name of the format file (without directory, but with extension) -# -# Support for building internationalized formats sets: -# pool: base name of pool file (to support translated pool files) -# tcx: translation file used when creating the format -# -# Example (for fmtutil.cnf): -# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini -# -# The nls parameter (pool,tcx) can only be specified as the first argument -# inside the 4th field in fmtutil.cnf. -# -# exit code: returns error code if the ini file is not installed -############################################################################### -parse_line() -{ - case $1 in - '#!') disabled=true; shift;; - *) disabled=false;; - esac - format=$1 - engine=$2 - hyphenation=$3 - shift; shift; shift - - # handle nls support: pool + tcx - pool=; tcx= - case $1 in - nls=*) - pool=`echo $1 | sed 's@nls=@@; s@,.*@@'` - tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'` - shift # nls stuff is not handled by the engine directly, - # so we shift this away - ;; - esac - - texargs="$@" - - case "$engine" in - mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;; - mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;; - *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;; - esac - - # remove any * for the sake of the kpsewhich lookup. - eval lastarg=\$$# - inifile=`echo $lastarg | sed 's%^\*%%'` - - # See if we can find $inifile for return code: - kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1 -} - -############################################################################### -# find_hyphenfile(format, hyphenation) searches for hyphenation along -# searchpath of format -# exit code: returns error is file is not found -############################################################################### -find_hyphenfile() -{ - format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`" - case $hyphenation in - -) ;; - *) kpsewhich -progname="$format" -format=tex $hyphenation;; - esac -} - -############################################################################### -# find_info_for_name(format) -# Look up the config line for format `format' and call parse_line to set -# global variables. -############################################################################### -find_info_for_name() -{ - format="$1" - - # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift - set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift - test $# = 0 && abort "no info for format \`$format'" - parse_line "$@" -} - -############################################################################### -# run_initex() -# Calls initex. Assumes that global variables are set by parse_line. -############################################################################### -run_initex() -{ - - # install a pool file and set tcx flag if requested in lang= option: - rm -f *.pool - poolfile= - tcxflag= - test -n "$pool" \ - && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null` - if test -n "$poolfile" && test -f "$poolfile"; then - verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx." - cp "$poolfile" $engine.pool - test -n "$tcx" && tcxflag=-translate-file=$tcx - localpool=true - else - localpool=false - fi - - jobswitch="-jobname=$format" - case "$format" in - metafun) prgswitch=-progname=mpost;; - mptopdf|cont-??) prgswitch=-progname=context;; - *) prgswitch=-progname=$format;; - esac - - rm -f $fmtfile - - # Check for infinite recursion before running the iniTeX: - # We do this check only if we are running in mktexfmt mode - # otherwise double format definitions will create an infinite loop, too - $mktexfmtMode || mktexfmt_loop= - case :$mktexfmt_loop: in - *:"$format/$engine":*) - abort "Infinite recursion detected, giving up!" ;; - esac - mktexfmt_loop=$mktexfmt_loop:$format/$engine - export mktexfmt_loop - - verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..." - - # run in a subshell to get a local effect of TEXPOOL manipulation: - ( - # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT. - $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; } - verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs - ) </dev/null - - if test $use_engine_dir; then - fulldestdir="$destdir/$texengine" - else - fulldestdir="$destdir" - fi - mkdir -p "$fulldestdir" - if test -f "$fmtfile"; then - grep '^! ' $format.log >/dev/null 2>&1 && - log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed." - - # We don't want user-interaction for the following "mv" commands: - mv "$format.log" "$fulldestdir/$format.log" </dev/null - # - destfile=$fulldestdir/$fmtfile - if mv "$fmtfile" "$destfile" </dev/null; then - verboseMsg "$progname: $destfile installed." - # - # As a special special case, we create mplib-luatex.mem for use by - # the mplib embedded in luatex if it doesn't already exist. (We - # never update it if it does exist.) - # - # This is used by the luamplib package. This way, an expert user - # who wants to try a new version of luatex (hence with a new - # version of mplib) can manually update mplib-luatex.mem without - # having to tamper with mpost itself. - # - if test "x$format" = xmpost && test "x$engine" = xmpost; then - mplib_mem_name=mplib-luatex.mem - mplib_mem_file=$fulldestdir/$mplib_mem_name - if test \! -f $mplib_mem_file; then - verboseMsg "$progname: copying $destfile to $mplib_mem_file" - if cp "$destfile" "$mplib_mem_file" </dev/null; then - mktexupd "$fulldestdir" "$mplib_mem_name" - else - log_warning "cp $destfile $mplib_mem_file failed." - fi - else - verboseMsg "$progname: $mplib_mem_file already exists, not updating." - fi - fi - # - # Echo the (main) output filename for our caller. - $mktexfmtMode && $mktexfmtFirst \ - && echo "$destfile" && mktexfmtFirst=false - # - mktexupd "$fulldestdir" "$fmtfile" - fi - else - log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed" - fi -} - -############################################################################### -# recreate_loop() -# for each line in config file: check match-condition and recreate format -# if there is a match -############################################################################### -recreate_loop() -{ - OIFS=$IFS - IFS=' -' - set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift - IFS=$OIFS - for line - do - parse_line $line || continue - check_match || continue - run_initex - done -} - -############################################################################### -# listcfg_loop() -# prints all format definitions in config files (enabled and disabled ones) -# for supported formats (i.e. for those which have an existing ini file) -############################################################################### -listcfg_loop() -{ - OIFS=$IFS - IFS=' -' - set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift - IFS=$OIFS - for line - do - parse_line $line && echo "$line" - done -} - -############################################################################### -# check_match() -# recreate all formats -############################################################################### -check_match() -{ - $need_find_hyphenfile && \ - this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`" - - eval $match_cmd && setmatch true -} - -############################################################################### -# recreate_by_fmt(fmtname) -# recreate all versions of fmtname -############################################################################### -recreate_by_fmt() -{ - fmtname=$1 - match_cmd="test x\$format = x$fmtname" - recreate_loop -} - -############################################################################### -# create_missing() -# create all missing format files -############################################################################### -create_missing() -{ - # match_cmd='test ! -f $destdir/$fmtfile' - match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"' - recreate_loop -} - -############################################################################### -# recreate_existing() -# recreate only existing format files -############################################################################### -recreate_existing() -{ - match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"' - recreate_loop -} - -############################################################################### -# recreate_all() -# recreate all formats -############################################################################### -recreate_all() -{ - match_cmd=true - recreate_loop -} - -############################################################################### -# recreate_by_hyphenfile(hyphenfile) -# recreate all formats that depend on hyphenfile -############################################################################### -recreate_by_hyphenfile() -{ - hyphenfile=$1 - - case $hyphenfile in - /*) - : - ;; - ./*) - hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'` - ;; - *) - hyphenfile="$KPSE_DOT/$hyphenfile" - ;; - esac - need_find_hyphenfile=true - match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null" - - # No match before the loop: - setmatch false - - recreate_loop - - # Now check if there was at least one match: - getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'" -} - -############################################################################### -# recreate_by_engine(enginename) -# recreate all formats that are based on enginename -############################################################################### -recreate_by_engine() -{ - enginename=$1 - - match_cmd="test x\$engine = x$enginename" - - # No match before the loop: - setmatch false - - recreate_loop - - # Now check if there was at least one match: - getmatch || maybe_abort "no format depends on engine \`$enginename'" -} - - - -############################################################################### -# show_hyphen_file(format) -# prints full name of the hyphenfile for format -# -# exit code: returns error code if the ini file is not installed or if -# the hyphen file cannot be found -############################################################################### -show_hyphen_file() -{ - fmtname=$1 - - find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'" - if test "x$hyphenation" = x-; then - echo - - cleanup 0 - fi - find_hyphenfile "$format" "$hyphenation" \ - || abort "hyphenfile \`$hyphenation' not found" -} - -############################################################################### -# disablefmt(format) -# disables format in configuration file -############################################################################### -disablefmt() -{ - grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; } - - ed $cnf_file >/dev/null 2>&1 <<-eof - g/^$1[ ]/s/^/#! / - w - q -eof - (exit 0); return 0 -} - -############################################################################### -# enablefmt(format) -# enables format in configuration file -############################################################################### -enablefmt() -{ - grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; } - ed $cnf_file >/dev/null 2>&1 <<-eof - g/^#![ ]*$1[ ]/s/..[ ]*// - w - q -eof - (exit 0); return 0 -} - -main ${1+"$@"} -cleanup 0 diff --git a/Build/source/texk/texlive/linked_scripts/tetex/fontinst.1 b/Build/source/texk/texlive/linked_scripts/tetex/fontinst.1 deleted file mode 100644 index b907280d90d..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/fontinst.1 +++ /dev/null @@ -1,45 +0,0 @@ -.TH "fontinst" "1" "May 2000" "teTeX" "teTeX" -.PP -.SH "NAME" -fontinst \- utility to run TeX as fontinst -.PP -.SH "SYNOPSIS" -.PP -\fBfontinst\fP \fIpackage\fP -.PP -.SH "DESCRIPTION" -.PP -\fBfontinst\fP runs \fBtex\fP(1) with the \fB--progname\fP flag set to -pretend to be the program fontinst (affecting Karl Berry paths)\&. -.PP -Typing -.PP -\f(CWfontinst fontinst\&.sty\fP -.PP -will start \fBtex\fP(1) and give the user an interactive prompt -(\f(CW*\fP) where fontinst commands can be typed (such as -\f(CW\elatinfamily{ptm}{}\ebye\fP)\&. -.PP -.SH "SEE ALSO" -.PP -\fBtex\fP(1) -.PP -The fontinst manual, \fIfontinst\&.tex\fP\&. -.PP -Web page: <http://tug\&.org/applications/fontinst/> -.PP -.SH "BUGS" -.PP -None known, but report any bugs found to tex-fonts@tug\&.org (mailing list)\&. -.PP -.SH "AUTHOR" -.PP -Thomas Esser -<te@dbs\&.uni-hannover\&.de> -.PP -This manual page was written by C\&.M\&. Connelly -<c@eskimo\&.com>, for -the Debian GNU/Linux system\&. It may be used by other distributions -without contacting the author\&. Any mistakes or omissions in the -manual page are my fault; inquiries about or corrections to this -manual page should be directed to me (and not to the primary author)\&. diff --git a/Build/source/texk/texlive/linked_scripts/tetex/fontinst.sh b/Build/source/texk/texlive/linked_scripts/tetex/fontinst.sh deleted file mode 100755 index 7d1271517ad..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/fontinst.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -test -f /bin/sh5 && test -z "$RUNNING_SH5" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; } -unset RUNNING_SH5 - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -tex -progname=fontinst \&tex ${1+"$@"} diff --git a/Build/source/texk/texlive/linked_scripts/tetex/kpsetool.1 b/Build/source/texk/texlive/linked_scripts/tetex/kpsetool.1 deleted file mode 100644 index addd9b08344..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/kpsetool.1 +++ /dev/null @@ -1,106 +0,0 @@ -.TH "kpsetool" "1" "September 2000" "teTeX" "teTeX" -.PP -.SH "NAME" -kpsetool \- script to make teTeX-style \fBkpsetool\fP, -\fBkpsexpand\fP, and \fBkpsepath\fP available -.PP -.SH "SYNOPSIS" -.PP -\fBkpsetool \fP [ \fIOPTIONS\fP\&.\&.\&. ] \fICOMMAND\fP -.PP -\fBkpsexpand\fP [ \fIOPTIONS\fP\&.\&.\&. ] \fISTRING\fP -.PP -\fBkpsepath\fP [ \fIOPTIONS\fP\&.\&.\&. ] \fIPATHTYPE\fP -.PP -.SH "DESCRIPTION" -.PP -\fBkpsetool\fP is a Bourne shell script that makes a teTeX-style -\fBkpsetool\fP, \fBkpsexpand\fP, and \fBkpsepath\fP available\&. -\fBkpsetool\fP uses \fBweb2c\fP\'s (new) \fBkpsexpand\fP binary, so the -syntax for \fBkpsexpand\fP is incompatible with teTeX\'s as of version -0\&.4\&. -.PP -.SH "OPTIONS" -.PP -.IP "\fB-m\fP \fImode\fP" -set Metafont mode -.IP "\fB-n\fP \fIprogname\fP" -pretend to be \fIprogname\fP to kpathsea -.IP "\fB-p\fP" -act like \fBkpsepath\fP(1) -.IP "\fB-v\fP" -act like \fBkpsexpand\fP(1) -.IP "\fB-w\fP" -act like \fBkpsewhich\fP(1) -.PP -.SH "USAGE" -.PP -\fIPATHTYPE\fP can be -.PP -.IP "\fBbase\fP" -Metafont memory dump -.IP "\fBbib\fP" -BibTeX bibliography source -.IP "\fBbst\fP" -BibTeX style files -.IP "\fBcnf\fP" -Kpathsea runtime configuration files -.IP "\fBdvips_config\fP" -dvips config files -.IP "\fBdvips_header\fP" -dvips header files -.IP "\fBfmt\fP" -TeX memory dump -.IP "\fBgf\fP" -generic font bitmap -.IP "\fBmem\fP" -MetaPost memory dump -.IP "\fBmf\fP" -Metafont source -.IP "\fBmfpool\fP" -Metafont program strings -.IP "\fBmp\fP" -MetaPost source -.IP "\fBmppool\fP" -MetaPost program strings -.IP "\fBmpsupport\fP" -MetaPost support files -.IP "\fBpict\fP" -Other kinds of figures -.IP "\fBpk\fP" -packed bitmap font -.IP "\fBtex\fP" -TeX source -.IP "\fBtexpool\fP" -TeX program strings -.IP "\fBtfm\fP" -TeX font metrics -.IP "\fBtroff_font\fP" -troff fonts -.IP "\fBvf\fP" -virtual font -.PP -.SH "SEE ALSO" -.PP -\fBkpsewhich\fP(1) -.PP -\fIKpathsea: A library for path searching\fP (info or DVI file) -.PP -Web page: <http://tug\&.org/teTeX/> -.PP -.SH "BUGS" -.PP -None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&. -.PP -.SH "AUTHOR" -.PP -\fBkpsetool\fP was written by Thomas Esser -<te@dbs\&.uni-hannover\&.de> in March, 1997\&. \fBkpsetool\fP -is in the public domain\&. -.PP -This manual page was written by C\&.M\&. Connelly -<c@eskimo\&.com>, for -the Debian GNU/Linux system\&. It may be used by other distributions -without contacting the author\&. Any mistakes or omissions in the -manual page are my fault; inquiries about or corrections to this -manual page should be directed to me (and not to the primary author)\&. diff --git a/Build/source/texk/texlive/linked_scripts/tetex/kpsetool.sh b/Build/source/texk/texlive/linked_scripts/tetex/kpsetool.sh deleted file mode 100755 index 463097fd4a9..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/kpsetool.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh - -# kpsetool. Script to make teTeX-style kpsetool, kpsexpand and kpsepath -# available. Web2C's kpsewhich offers a superset of the functionality. -# For compatibilty with old versions of teTeX, this script provides the -# old command line interface of kpsetool, kpsexpand and kpsepath. All the -# real work is done inside Web2C's kpsewhich. -# Thomas Esser <te@dbs.uni-hannover.de>, Mar 1997, public domain. - -export PATH - -usage=" -Usage: kpsexpand [options] string -Usage: kpsetool -w [options] pathtype filename -Usage: kpsepath [options] pathtype - -Valid options are the following: - -n progname : pretend to be progname to kpathsea - -m mode : set Metafont mode - -w : locate files (similar to kpsewhich) - -p : act like kpsepath - -v : act like kpsexpand - -Valid pathtypes are: - gf : generic font bitmap - pk : packed bitmap font - base : Metafont memory dump - bib : BibTeX bibliography source - bst : BibTeX style files - cnf : Kpathsea runtime configuration files - fmt : TeX memory dump - mem : MetaPost memory dump - mf : Metafont source - mfpool : Metafont program strings - mp : MetaPost source - mppool : MetaPost program strings - mpsupport : MetaPost support files - pict : Other kinds of figures - tex : TeX source - texpool : TeX program strings - tfm : TeX font metrics - vf : virtual font - dvips_config : dvips config files - dvips_header : dvips header files - troff_font : troff fonts -" - -action=kpsexpand -case $0 in - */kpsewhich) action=kpsewhich;; - */kpsepath) action=kpsepath;; -esac - -progname=`echo $0 | sed 's@.*/@@'` -flags='' - -while true; do - case x"$1" in - x-n) - if test $# = 1; then - echo "$progname: missing argument for -n." - echo "$usage"; exit 1 - else - flags="$flags -progname=$2"; shift; shift - fi;; - x-m) - if test $# = 1; then - echo "$progname: missing argument for -m." - echo "$usage"; exit 1 - else - flags="$flags -mode=$2"; shift; shift - fi;; - x-w) action=kpsewhich; shift;; - x-p) action=kpsepath; shift;; - x-v) action=kpsexpand; shift;; - *) break;; - esac -done - -case "$action" in - kpsewhich|kpsepath) - case "$1" in - gf) format='gf';; - pk) format='pk';; - base) format='.base';; - bib) format='.bib';; - bst) format='.bst';; - cnf) format='.cnf';; - fmt) format='.fmt';; - mem) format='.mem';; - mf) format='.mf';; - mfpool) format='.pool';; - mp) format='.mp';; - mppool) format='.pool';; - mpsupport) format='MetaPost support';; - pict) format='.eps';; - tex) format='.tex';; - texpool) format='.pool';; - tfm) format='.tfm';; - vf) format='.vf';; - dvips_config) format='dvips config';; - dvips_header) format='.pro';; - troff_font) format='Troff fonts';; - *) echo "$progname: $1: unknown format"; echo "$usage"; exit 1;; - esac - shift;; -esac - -case "$action" in - kpsewhich) - test $# = 1 || { echo "$progname: missing filename"; echo "$usage"; exit 1; } - kpsewhich $flags -format="$format" "$1";; - kpsepath) - kpsewhich $flags -show-path="$format";; - kpsexpand) - test $# = 1 || { echo "$progname: missing string"; echo "$usage"; exit 1; } - kpsewhich $flags -expand-var="$1";; -esac diff --git a/Build/source/texk/texlive/linked_scripts/tetex/kpsewhere.1 b/Build/source/texk/texlive/linked_scripts/tetex/kpsewhere.1 deleted file mode 100644 index 76700ed33fe..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/kpsewhere.1 +++ /dev/null @@ -1,50 +0,0 @@ -.TH "kpsewhere" "1" "March 2004" "teTeX" "teTeX" -.PP -.SH "NAME" -kpsewhere \- Expanding \fBkpsewhich\fP to separately iterate over each -texmf tree listed in $TEXMF. -.PP -.SH "SYNOPSIS" -.PP -\fBkpsewhere \fP [ \fIkpsewhich-OPTIONS\fP\&.\&.\&. ] \fICOMMAND\fP -.PP -.SH "DESCRIPTION" -.PP -\fBkpsewhere\fP is an extension to \fBkpsewhich\fP (as \fBwhere\fP is -for \fBwhich\fP in tcsh). The intention is to provide a way to check -for conflicts/shadowed files. It will, however, only find \fBone\fP -file per TEXMF tree. -.PP -.SH "OPTIONS" -.PP -.IP "\fB-h|--help\fP" -show a short help message -.IP "\fB\&*\fP" -all other options are directly handed to kpsewhich -.PP -.SH "SEE ALSO" -.PP -\fBkpsewhich\fP(1) -.PP -\fIKpathsea: A library for path searching\fP (info or DVI file) -.PP -Web page: <http://tug\&.org/teTeX/> -.PP -.SH "BUGS" -.PP -None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&. -.PP -.SH "AUTHOR" -.PP -\fBkpsewhere\fP was written by Hans Fredrik Nordhaug -<hans\&.fredrik@nordhaug\&.no>, additions by -Thomas Esser -<te@dbs\&.uni-hannover\&.de>, in 2003 and 2004\&. \fBkpsewhere\fP -is in the public domain\&. -.PP -This manual page was written by Frank Küster <frank@kuesterei\&.ch>, -for the Debian GNU/Linux system\&. It is also in the public domain -and may be used and changed by others without contacting the author\&. -Any mistakes or omissions in the manual page are my fault; inquiries -about or corrections to this manual page should be directed to me (and -not to the primary author)\&. diff --git a/Build/source/texk/texlive/linked_scripts/tetex/kpsewhere.sh b/Build/source/texk/texlive/linked_scripts/tetex/kpsewhere.sh deleted file mode 100755 index 51088ee80d6..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/kpsewhere.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/sh -# -# Thomas Esser, Hans Fredrik Nordhaug, 2003, 2004. -# Public domain. -# -# kpsewhere is an extension to kpsewhich (as where is for which in tcsh). -# The intention is to provide a way to check for conflicts/shadowed -# files. -# -# Original version by Hans Fredrik Nordhaug <hans.fredrik@nordhaug.no> -# -# Bugs / limitations: -# conflicts/shadowed files whithin each texmf tree are not found. -# - - -test -f /bin/sh5 && test -z "$RUNNING_SH5" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; } -unset RUNNING_SH5 - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -export PATH - -help='Usage: kpsewhere [OPTION]... [FILENAME]... - Expanding kpsewhich to iterate over each texmf tree listed in $TEXMF - separately. - - See kpsewhich for help on options. - - --help show this help' - -options= -while - case $1 in - -h|-help|--help) - echo "$help" >&2 - exit 0;; - -*) options="${options} '${1}'";; - *) break;; - esac -do shift; done - -case $# in - 0) - echo "$help" >&2 - exit 1 - ;; -esac - -IFS=':' -for file -do - for path in `kpsewhich --expand-path='$TEXMF'` - do - eval TEXMF=\$path kpsewhich $options \"\$file\" - done -done -exit 0 diff --git a/Build/source/texk/texlive/linked_scripts/tetex/ps2frag.1 b/Build/source/texk/texlive/linked_scripts/tetex/ps2frag.1 deleted file mode 100644 index b572c5733c1..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/ps2frag.1 +++ /dev/null @@ -1,41 +0,0 @@ -.TH ps2frag 1 "Feb 95" TeXware -.SH NAME -ps2frag - obsolete shell script for the PSfrag system. -.SH IMPORTANT NOTICE -The new PSfrag system no longer requires the ps2frag script; instead, it -handles the processing entirely within TeX/LaTeX and DVIPS. I'm sure you -will agree that never needing to run ps2frag again is a nice convenience! -.P -However, there are two significant differences in the way this new version -of PSfrag works. Please make yourself aware of them: -.P -1) XDvi is no longer able to determine where your PSfrag replacements -should -go, so instead it lines them up in a vertical list to the left of the -figure. This allows you to confirm that they have been typeset properly, at -least. However, to confirm that PSfrag -.B positions -your replacements properly, you will have to view the PostScript -version of your file with a viewer like GhostView, or print it out. -This seems to be the -only disadvantage to the elimination of the pre-processing step. -.P -2) If you embed '\\tex' commands inside your figures, you now need to -explicitly _tell_ PSfrag to process these commands. To do so, use -\\usepackage[scanall]{psfrag} -instead of -\\usepackage{psfrag} -at the beginning of your LaTeX file. -.P -If you only use '\\tex' commands in a small number of figures, then a -more efficient might be to turn on '\\tex'-scanning only for those -figures. To do that, add the command '\\psfragscanon' immediately before -each relevant \\includegraphics or \\epsfbox command. -.P -.SH NOTES -See the PSfrag documentation for further information. -.SH "SEE ALSO" -dvips(1), gs(1), ghostview(1), latex(1) -.SH AUTHORS -.IP psfrag@rascals.stanford.edu -The PSfrag maintainer's mailing list. diff --git a/Build/source/texk/texlive/linked_scripts/tetex/ps2frag.sh b/Build/source/texk/texlive/linked_scripts/tetex/ps2frag.sh deleted file mode 100755 index b8e673be087..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/ps2frag.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -tty -s && { - echo - echo "Warning: the ps2frag script is not needed with this version of psfrag." - echo "Please read the manpage ps2frag(1) and the documentation of the" - echo "psfrag package." - echo -} >&2 - -exit 0 diff --git a/Build/source/texk/texlive/linked_scripts/tetex/pslatex.1 b/Build/source/texk/texlive/linked_scripts/tetex/pslatex.1 deleted file mode 100644 index c206596a6a0..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/pslatex.1 +++ /dev/null @@ -1,44 +0,0 @@ -.TH "pslatex" "1" "September 2000" "teTeX" "teTeX" -.PP -.SH "NAME" -pslatex \- utility to typeset LaTeX files using PostScript fonts -.PP -.SH "SYNOPSIS" -.PP -\fBpslatex\fP [\fILATEXARGS\fP] \fILATEXFILE\fP[\&.tex] -.PP -.SH "DESCRIPTION" -.PP -\fBpslatex\fP allows you to typeset a LaTeX source file using basic -Adobe Type 1 PostScript fonts (Times, Helvetica, and Courier) -\fIwithout\fP editing the file to load the necessary packages\&. -.PP -It takes any arguments that \fBlatex\fP(1) can take\&. -.PP -.SH "OPTIONS" -.PP -None\&. -.PP -.SH "FILES" -.PP -Many\&. See the readme file for \fIpslatex\&.sty\fP\&. -.PP -.SH "SEE ALSO" -.PP -\fBlatex\fP(1), \fI\fITEXMF\fP/latex/pslatex/00readme\&.txt\fP -.PP -.SH "BUGS" -.PP -None known\&. Report any found to the author\&. -.PP -.SH "AUTHOR" -.PP -\fBpslatex\fP was written by David Carlisle -<david@dcarlisle\&.demon\&.co\&.uk>\&. -.PP -This manual page was written by C\&.M\&. Connelly -<c@eskimo\&.com>, for -the Debian GNU/Linux system\&. It may be used by other distributions -without contacting the author\&. Any mistakes or omissions in the -manual page are my fault; inquiries about or corrections to this -manual page should be directed to me (and not to the primary author)\&. diff --git a/Build/source/texk/texlive/linked_scripts/tetex/pslatex.sh b/Build/source/texk/texlive/linked_scripts/tetex/pslatex.sh deleted file mode 100755 index 4badef0ec12..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/pslatex.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh - -# Copyright 1994 David Carlisle -# This file may be redistributed and/or modified under the terms of the -# LaTeX Project Public License distributed from CTAN archives in directory -# macros/latex/base/lppl.txt; either version 1 of the License, or (at -# your option) any later version. - -test -f /bin/sh5 && test -z "$RUNNING_SH5" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; } -unset RUNNING_SH5 - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -# we want to be able to use options to latex: -while :; do - case $1 in - -*) - latexoptions="$latexoptions \"$1\"" - shift;; - *) - break;; - esac -done - -echo -echo "*************************************" -echo "* Using LaTeX, with pslatex package *" -echo "*************************************" -echo - -# messing around with \PSLATEXTMP is for AUCTeX which calls -# documents via latex \nonstopmode \input{file} - -latex $latexoptions \ - "\AtBeginDocument{\RequirePackage{pslatex}}"\ - "\def\PSLATEXTMP{\futurelet\PSLATEXTMP\PSLATEXTMPB}"\ - "\def\PSLATEXTMPB{\ifx\PSLATEXTMP\nonstopmode\else\input\fi}"\ - "\PSLATEXTMP" ${1+"$@"} diff --git a/Build/source/texk/texlive/linked_scripts/tetex/rubibtex.1 b/Build/source/texk/texlive/linked_scripts/tetex/rubibtex.1 deleted file mode 100644 index 0142072a769..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/rubibtex.1 +++ /dev/null @@ -1,63 +0,0 @@ -.TH "rubibtex" "1" "October 2000" "teTeX" "teTeX" -.PP -.SH "NAME" -rubibtex \- make a bibliography for (La)TeX using Russian -letters as item names -.PP -.SH "SYNOPSIS" -.PP -\fBrubibtex\fP \fIBASENAME\fP -.PP -.SH "DESCRIPTION" -.PP -\fBrubibtex\fP is used to run \fBbibtex\fP(1) on auxiliary files with -Russian characters in item names (citation keys)\&. It is part of the -T2 package\&. -.PP -\fBrubibtex\fP copies the auxiliary file to \fI/tmp\fP, uses -\fBsed\fP(1) to convert Cyrillic character commands to their 8-bit -ASCII equivalents; runs \fBbibtex\fP(1) on the modified file; and -finally moves the original auxiliary file back (overwriting the -modified file)\&. -.PP -\fBrubibtex\fP assumes that the \fBbibtex\fP(1) database (\f(CWbib\fP) -files are encoded with the KOI8-R encoding\&. -.PP -.SH "FILES" -.PP -.IP -.IP "\fIbasename\&.aux\fP" -LaTeX auxiliary file -.IP -.PP -.SH "BUGS" -.PP -None known, but report any bugs found to the authors\&. -.PP -.SH "COPYRIGHT" -.PP -The T2 package is Copyright 1997-1999 Werner Lemberg, Vladimir -Volovich and any individual authors listed elsewhere in package files\&. -.PP -It may be distributed under the conditions of the LaTeX Project Public -License, either version 1\&.1 of this license or (at your option) any -later version\&. -.PP -.SH "SEE ALSO" -.PP -\fBbibtex\fP(1), \fBsed\fP(1), -<ftp://ftp\&.vsu\&.ru/pub/tex/T2/README>\&. -.PP -.SH "AUTHOR" -.PP -Werner Lemberg -<wl@gnu\&.org>, Vladimir Volovich -<TeX@vvv\&.vsu\&.ru>\&. -.PP -This manual page was written by C\&.M\&. Connelly -<c@eskimo\&.com>, for -the Debian GNU/Linux system\&. It may be used by other distributions -without contacting the author\&. Any mistakes or omissions in the -manual page are my fault; inquiries about or corrections to this -manual page should be directed to me (and not to the primary author)\&. -.PP diff --git a/Build/source/texk/texlive/linked_scripts/tetex/rubibtex.sh b/Build/source/texk/texlive/linked_scripts/tetex/rubibtex.sh deleted file mode 100755 index 373e6e1194d..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/rubibtex.sh +++ /dev/null @@ -1,110 +0,0 @@ -#!/bin/sh - -# rubibtex, based on the original version contained in the t2 bundle. -# Thomas Esser, Public Domain. - -progname=rubibtex -tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ -job=$1 -backup="$tmpdir/orig.aux" - -case $job in - "") - echo "usage: $progname file" >&2 - exit 1 -esac - -if test ! -f "$job.aux"; then - echo "$progname: file \`$job.aux' does not exist." >&2 - exit 1 -fi - -trap ' - rm -rf "$tmpdir" - exit 1 -' 1 2 3 7 13 15 -(umask 077; mkdir "$tmpdir") \ - || { echo "$progname: could not create directory \`$tmpdir'" >&2; exit 1; } - -cat <"$job.aux" >"$backup" || { - echo "$progname: could not create backup of file \`$job.aux' as \`$backup'." >&2 - rm -rf "$tmpdir" - exit 1 -} - -sed ' - /^\\citation/ { - s/\\IeC {\\CYRA }/á/g - s/\\IeC {\\CYRB }/â/g - s/\\IeC {\\CYRV }/÷/g - s/\\IeC {\\CYRG }/ç/g - s/\\IeC {\\CYRD }/ä/g - s/\\IeC {\\CYRE }/å/g - s/\\IeC {\\CYRYO }/³/g - s/\\IeC {\\CYRZH }/ö/g - s/\\IeC {\\CYRZ }/ú/g - s/\\IeC {\\CYRI }/é/g - s/\\IeC {\\CYRISHRT }/ê/g - s/\\IeC {\\CYRK }/ë/g - s/\\IeC {\\CYRL }/ì/g - s/\\IeC {\\CYRM }/í/g - s/\\IeC {\\CYRN }/î/g - s/\\IeC {\\CYRO }/ï/g - s/\\IeC {\\CYRP }/ð/g - s/\\IeC {\\CYRR }/ò/g - s/\\IeC {\\CYRS }/ó/g - s/\\IeC {\\CYRT }/ô/g - s/\\IeC {\\CYRU }/õ/g - s/\\IeC {\\CYRF }/æ/g - s/\\IeC {\\CYRH }/è/g - s/\\IeC {\\CYRC }/ã/g - s/\\IeC {\\CYRCH }/þ/g - s/\\IeC {\\CYRSH }/û/g - s/\\IeC {\\CYRSHCH }/ý/g - s/\\IeC {\\CYRHRDSN }/ÿ/g - s/\\IeC {\\CYRERY }/ù/g - s/\\IeC {\\CYRSFTSN }/ø/g - s/\\IeC {\\CYREREV }/ü/g - s/\\IeC {\\CYRYU }/à/g - s/\\IeC {\\CYRYA }/ñ/g - s/\\IeC {\\cyra }/Á/g - s/\\IeC {\\cyrb }/Â/g - s/\\IeC {\\cyrv }/×/g - s/\\IeC {\\cyrg }/Ç/g - s/\\IeC {\\cyrd }/Ä/g - s/\\IeC {\\cyre }/Å/g - s/\\IeC {\\cyryo }/£/g - s/\\IeC {\\cyrzh }/Ö/g - s/\\IeC {\\cyrz }/Ú/g - s/\\IeC {\\cyri }/É/g - s/\\IeC {\\cyrishrt }/Ê/g - s/\\IeC {\\cyrk }/Ë/g - s/\\IeC {\\cyrl }/Ì/g - s/\\IeC {\\cyrm }/Í/g - s/\\IeC {\\cyrn }/Î/g - s/\\IeC {\\cyro }/Ï/g - s/\\IeC {\\cyrp }/Ð/g - s/\\IeC {\\cyrr }/Ò/g - s/\\IeC {\\cyrs }/Ó/g - s/\\IeC {\\cyrt }/Ô/g - s/\\IeC {\\cyru }/Õ/g - s/\\IeC {\\cyrf }/Æ/g - s/\\IeC {\\cyrh }/È/g - s/\\IeC {\\cyrc }/Ã/g - s/\\IeC {\\cyrch }/Þ/g - s/\\IeC {\\cyrsh }/Û/g - s/\\IeC {\\cyrshch }/Ý/g - s/\\IeC {\\cyrhrdsn }/ß/g - s/\\IeC {\\cyrery }/Ù/g - s/\\IeC {\\cyrsftsn }/Ø/g - s/\\IeC {\\cyrerev }/Ü/g - s/\\IeC {\\cyryu }/À/g - s/\\IeC {\\cyrya }/Ñ/g - } -' <"$backup" >"$job.aux" - -bibtex "$job" - -cat "$backup" > "$job.aux" -rm -rf "$tmpdir" -exit 0 diff --git a/Build/source/texk/texlive/linked_scripts/tetex/rumakeindex.1 b/Build/source/texk/texlive/linked_scripts/tetex/rumakeindex.1 deleted file mode 100644 index 0fb271841d0..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/rumakeindex.1 +++ /dev/null @@ -1,63 +0,0 @@ -.TH "rumakeindex" "1" "September 2000" "teTeX" "teTeX" -.PP -.SH "NAME" -rumakeindex \- process a LaTeX index using Russian Cyrillic -characters -.PP -.SH "SYNOPSIS" -.PP -\fBrumakeindex\fP \fIbasename\fP -.PP -.SH "DESCRIPTION" -.PP -\fBrumakeindex\fP is used to run \fBmakeindex\fP(1) on \f(CWidx\fP files -that use Russian characters\&. It is part of the T2 package\&. -.PP -\fBrumakeindex\fP runs \fBsed\fP(1) on the \f(CWidx\fP file to convert -Cyrillic character commands to 8-bit ASCII characters; pipes the -results through \fBmakeindex\fP(1); and then through \fBtr\fP(1) -to do some final conversions\&. The results are placed in a KOI8-R -encoded \f(CWind\fP file\&. -.PP -.SH "FILES" -.PP -.IP -.IP "\fIbasename\&.idx\fP" -LaTeX index entry file -.IP "\fIbasename\&.ilg\fP" -LaTeX index log file -.IP "\fIbasename\&.ind\fP" -LaTeX processed index file -.IP -.PP -.SH "BUGS" -.PP -None known, but report any bugs found to the authors\&. -.PP -.SH "COPYRIGHT" -.PP -The T2 package is Copyright 1997-1999 Werner Lemberg, Vladimir -Volovich and any individual authors listed elsewhere in package files\&. -.PP -It may be distributed under the conditions of the LaTeX Project Public -License, either version 1\&.1 of this license or (at your option) any -later version\&. -.PP -.SH "SEE ALSO" -.PP -\fBmakeindex\fP(1), \fBsed\fP(1), \fBtr\fP(1), -<ftp://ftp\&.vsu\&.ru/pub/tex/T2/README>\&. -.PP -.SH "AUTHOR" -.PP -Werner Lemberg -<wl@gnu\&.org>, Vladimir Volovich -<TeX@vvv\&.vsu\&.ru>\&. -.PP -This manual page was written by C\&.M\&. Connelly -<c@eskimo\&.com>, for -the Debian GNU/Linux system\&. It may be used by other distributions -without contacting the author\&. Any mistakes or omissions in the -manual page are my fault; inquiries about or corrections to this -manual page should be directed to me (and not to the primary author)\&. -.PP diff --git a/Build/source/texk/texlive/linked_scripts/tetex/rumakeindex.sh b/Build/source/texk/texlive/linked_scripts/tetex/rumakeindex.sh deleted file mode 100755 index b7b0c072729..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/rumakeindex.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh - -BASE=`basename "$1" .idx` -IDX=$BASE.idx -IND=$BASE.ind -ILG=$BASE.ilg - -sed ' -/^\\indexentry{/ { -s/\\IeC {\\CYRA }/¾/g -s/\\IeC {\\cyra }/¿/g -s/\\IeC {\\CYRB }/À/g -s/\\IeC {\\cyrb }/Á/g -s/\\IeC {\\CYRV }/Â/g -s/\\IeC {\\cyrv }/Ã/g -s/\\IeC {\\CYRG }/Ä/g -s/\\IeC {\\cyrg }/Å/g -s/\\IeC {\\CYRD }/Æ/g -s/\\IeC {\\cyrd }/Ç/g -s/\\IeC {\\CYRE }/È/g -s/\\IeC {\\cyre }/É/g -s/\\IeC {\\CYRYO }/Ê/g -s/\\IeC {\\cyryo }/Ë/g -s/\\IeC {\\CYRZH }/Ì/g -s/\\IeC {\\cyrzh }/Í/g -s/\\IeC {\\CYRZ }/Î/g -s/\\IeC {\\cyrz }/Ï/g -s/\\IeC {\\CYRI }/Ð/g -s/\\IeC {\\cyri }/Ñ/g -s/\\IeC {\\CYRISHRT }/Ò/g -s/\\IeC {\\cyrishrt }/Ó/g -s/\\IeC {\\CYRK }/Ô/g -s/\\IeC {\\cyrk }/Õ/g -s/\\IeC {\\CYRL }/Ö/g -s/\\IeC {\\cyrl }/×/g -s/\\IeC {\\CYRM }/Ø/g -s/\\IeC {\\cyrm }/Ù/g -s/\\IeC {\\CYRN }/Ú/g -s/\\IeC {\\cyrn }/Û/g -s/\\IeC {\\CYRO }/Ü/g -s/\\IeC {\\cyro }/Ý/g -s/\\IeC {\\CYRP }/Þ/g -s/\\IeC {\\cyrp }/ß/g -s/\\IeC {\\CYRR }/à/g -s/\\IeC {\\cyrr }/á/g -s/\\IeC {\\CYRS }/â/g -s/\\IeC {\\cyrs }/ã/g -s/\\IeC {\\CYRT }/ä/g -s/\\IeC {\\cyrt }/å/g -s/\\IeC {\\CYRU }/æ/g -s/\\IeC {\\cyru }/ç/g -s/\\IeC {\\CYRF }/è/g -s/\\IeC {\\cyrf }/é/g -s/\\IeC {\\CYRH }/ê/g -s/\\IeC {\\cyrh }/ë/g -s/\\IeC {\\CYRC }/ì/g -s/\\IeC {\\cyrc }/í/g -s/\\IeC {\\CYRCH }/î/g -s/\\IeC {\\cyrch }/ï/g -s/\\IeC {\\CYRSH }/ð/g -s/\\IeC {\\cyrsh }/ñ/g -s/\\IeC {\\CYRSHCH }/ò/g -s/\\IeC {\\cyrshch }/ó/g -s/\\IeC {\\CYRHRDSN }/ô/g -s/\\IeC {\\cyrhrdsn }/õ/g -s/\\IeC {\\CYRERY }/ö/g -s/\\IeC {\\cyrery }/÷/g -s/\\IeC {\\CYRSFTSN }/ø/g -s/\\IeC {\\cyrsftsn }/ù/g -s/\\IeC {\\CYREREV }/ú/g -s/\\IeC {\\cyrerev }/û/g -s/\\IeC {\\CYRYU }/ü/g -s/\\IeC {\\cyryu }/ý/g -s/\\IeC {\\CYRYA }/þ/g -s/\\IeC {\\cyrya }/ÿ/g -}' $IDX | makeindex -t $ILG | tr '¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ' \ - 'áÁâÂ÷×çÇäÄåų£öÖúÚéÉêÊëËìÌíÍîÎïÏðÐòÒóÓôÔõÕæÆèÈãÃþÞûÛýÝÿßùÙøØüÜàÀñÑ' > $IND diff --git a/Build/source/texk/texlive/linked_scripts/tetex/tcfmgr b/Build/source/texk/texlive/linked_scripts/tetex/tcfmgr deleted file mode 100755 index e79be96f873..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/tcfmgr +++ /dev/null @@ -1,386 +0,0 @@ -#!/bin/sh -# $Id$ - -# invoke the right shell: - -test -f /bin/ksh && test -z "$RUNNING_KSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } -unset RUNNING_KSH - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -export PATH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -progname=tcfmgr - -abort() -{ - echo "$progname: $@." >&2 - (exit 1); exit 1 -} - -mktexupd() -{ - setupMktexupd - "$TFC_MKTEXUPD" "$@" >&2 -} - -# call mktexdir script, disable all features (to prevent sticky directories) -mktexdir() -{ - setupMktexDir - MT_FEATURES=none "$TFC_MKTEXDIR" "$@" >&2 -} - -setupMap() -{ - case $setupMapOK in - "") : ;; - *) (exit 0); return 0;; - esac - - case $TFC_MAP in - "") TFC_MAP=`(kpsewhich -progname=texconfig -format='other text files' tcfmgr.map) 2>/dev/null`;; - esac - - case $TFC_MAP in - "") abort "config file \`tcfmgr.map' (usually in \$TEXMFMAIN/texconfig) not found (ls-R missing?)";; - esac - - if test ! -f "$TFC_MAP"; then - abort "config file \`TFC_MAP' does not exist" - fi - setupMapOK=true -} - -setupTemp() -{ - case $setupTempOK in - "") : ;; - *) (exit 0); return 0;; - esac - - case $TFC_TEMP in - "") TFC_TEMP=${TEMPDIR-/tmp};; - esac - - if test ! -d "$TFC_TEMP"; then - abort "temp directory \`$TFC_TEMP' does not exist" - fi - - if test ! -w "$TFC_TEMP"; then - abort "temp directory \`$TFC_TEMP' is not writable" - fi - setupTempOK=true -} - -setupTexmfConfig() -{ - case $TFC_TEXMFCONFIG in - "") TFC_TEXMFCONFIG=`(kpsewhich -var-value=TEXMFCONFIG) 2>/dev/null`;; - *) (exit 0); return 0;; - esac - case $TFC_TEXMFCONFIG in - "") abort "variable \$TEXMFCONFIG is not defined in texmf.cnf";; - esac -} - -setupMktexDir() -{ - case $TFC_MKTEXDIR in - "") TFC_MKTEXDIR=`(kpsewhich --format='web2c files' mktexdir) 2>/dev/null`;; - esac - - case $TFC_MKTEXDIR in - "") abort "program mktexdir (usually in \$TEXMFMAIN/web2c) not found";; - esac -} - -setupMktexupd() -{ - case $TFC_MKTEXUPD in - "") TFC_MKTEXUPD=`(kpsewhich --format='web2c files' mktexupd) 2>/dev/null`;; - esac - - case $TFC_MKTEXUPD in - "") abort "program mktexupd (usually in \$TEXMFMAIN/web2c) not found";; - esac -} - -writableCheck() -{ - setupTexmfConfig - if test ! -d "$TFC_TEXMFCONFIG"; then - mktexdir "$TFC_TEXMFCONFIG" >/dev/null 2>&1 - if test ! -d "$TFC_TEXMFCONFIG"; then - msg="Directory TEXMFCONFIG=\`$TFC_TEXMFCONFIG' does not exist" - (exit 1); return 1 - fi - fi - - case "$relDir" in - "") get_info;; - esac - if test -f "$TFC_TEXMFCONFIG/$relDir/$TFC_FILE" \ - && test -w "$TFC_TEXMFCONFIG/$relDir/$TFC_FILE" - then - (exit 0); return 0 - fi - - if test -d "$TFC_TEXMFCONFIG/$relDir"; then - if test -w "$TFC_TEXMFCONFIG/$relDir"; then - (exit 0); return 0 - else - msg="Directory \`$TFC_TEXMFCONFIG/$relDir' is not writable" - (exit 1); return 1 - fi - else - # we assume that a "mkdir -p" would work if the top-level - # $TFC_TEXMFCONFIG is writable - if test -w "$TFC_TEXMFCONFIG"; then - (exit 0); return 0 - else - msg="Directory \`$TFC_TEXMFCONFIG' is not writable" - (exit 1); return 1 - fi - fi -} - -get_info() -{ - case "$TFC_FILE" in - "") abort "missing --file option or empty argument";; - esac - setupMap - # prepare + get info - IFS=$TAB - # set -- x `(awk '$1 == file' file=$TFC_FILE <$TFC_MAP) 2>/dev/null`; shift - set -- x `(grep "^$TFC_FILE[ ]" $TFC_MAP) 2>/dev/null`; shift - IFS=$STD_IFS - - # assign results - file="$1" - relDir="$2" - kpseFormat="$3" - kpseProgArg="$4" - - # sanity checks - case $file in - "") abort "no info for file \`$TFC_FILE' in map \`$TFC_MAP'";; - esac - - case $relDir in - -) abort "no known standard location for file \`$TFC_FILE' in map \`$TFC_MAP'";; - esac - - case $kpseProgArg in - -) kpseProgArg=kpsewhich;; - esac -} - -check_out() -{ - if $createEmptyFile; then - : - else - case "$orig" in - "") - get_info - orig=`(kpsewhich -format="$kpseFormat" -progname="$kpseProgArg" "$TFC_FILE") 2>/dev/null` - ;; - *) - test -f "$orig" || orig= - esac - - case $orig in - "") abort "file \`$TFC_FILE' not found";; - esac - fi - - # writableCheck needs to get a valid relDir, so it calls get_info if necessary - if writableCheck; then - : ok - else - cat >&2 <<eof - -There was a problem finding a proper place to store configuration data. -The message was: - $msg - -To overcome such problems, set up the environment variable TEXMFCONFIG to -point to a directory tree that is writable to you, e.g. - TEXMFCONFIG=\$HOME/texmf; export TEXMFCONFIG -or - setenv TEXMFCONFIG \$HOME/texmf -eof - (exit 1); exit 1 - fi - - setupTemp - : ${TFC_ID=tfc$$} - for d in "$TFC_TEMP/$TFC_ID" "$TFC_TEMP/$TFC_ID/in" "$TFC_TEMP/$TFC_ID/out"; do - (umask 077; mkdir "$d") || abort "could not create directory \`$d'" - done - - if $createEmptyFile; then - (umask 022 - > "$TFC_TEMP/$TFC_ID/in/$TFC_FILE" - > "$TFC_TEMP/$TFC_ID/out/$TFC_FILE") - else - cp "$orig" "$TFC_TEMP/$TFC_ID/in/$TFC_FILE" \ - || abort "copy \`$orig' -> \`$TFC_TEMP/$TFC_ID/in/$TFC_FILE' failed" - - cp "$orig" "$TFC_TEMP/$TFC_ID/out/$TFC_FILE" \ - || abort "copy \`$orig' -> \`$TFC_TEMP/$TFC_ID/out/$TFC_FILE' failed" - - chmod u+w "$TFC_TEMP/$TFC_ID/out/$TFC_FILE" - fi - - cat >"$TFC_TEMP/$TFC_ID/relDir" <<eof -$relDir -eof - - cat > "$TFC_TEMP/$TFC_ID/file" <<eof -$TFC_FILE -eof - - echo "$TFC_ID $TFC_TEMP/$TFC_ID/in/$TFC_FILE $TFC_TEMP/$TFC_ID/out/$TFC_FILE $orig" -} - -check_in() -{ - setupTemp - - if test ! -d "$TFC_TEMP/$TFC_ID"; then - abort "directory \`$TFC_TEMP/$TFC_ID' does not exist. Perhaps missing arg --id" - fi - - case "$TFC_FILE" in - "") TFC_FILE=`(cat "$TFC_TEMP/$TFC_ID/file") 2>/dev/null`;; - esac - - for f in "$TFC_TEMP/$TFC_ID/relDir" "$TFC_TEMP/$TFC_ID/file" "$TFC_TEMP/$TFC_ID/in/$TFC_FILE" "$TFC_TEMP/$TFC_ID/out/$TFC_FILE"; do - if test ! -f "$f"; then - abort "Oops! file \`$f' does not exist" - fi - done - - if (cmp "$TFC_TEMP/$TFC_ID/in/$TFC_FILE" "$TFC_TEMP/$TFC_ID/out/$TFC_FILE") >/dev/null 2>&1; then - (exit 0); return 0 - fi - - setupTexmfConfig - relDir=`cat "$TFC_TEMP/$TFC_ID/relDir"` - if test ! -d "$TFC_TEXMFCONFIG/$relDir"; then - setupMktexDir - mktexdir "$TFC_TEXMFCONFIG/$relDir" || abort "could not create directory \`$TFC_TEXMFCONFIG/$relDir'" - fi - - if test -f "$TFC_TEXMFCONFIG/$relDir/$TFC_FILE"; then - needsLSRUpdate=false - test -w "$TFC_TEXMFCONFIG/$relDir/$TFC_FILE" || rm -f "$TFC_TEXMFCONFIG/$relDir/$TFC_FILE" - else - needsLSRUpdate=true - fi - - if test -f "$TFC_TEXMFCONFIG/$relDir/$TFC_FILE"; then - cat <"$TFC_TEMP/$TFC_ID/out/$TFC_FILE" >"$TFC_TEXMFCONFIG/$relDir/$TFC_FILE" || - abort "failed to write new file \`$TFC_TEXMFCONFIG/$relDir/$TFC_FILE'" - else - cp "$TFC_TEMP/$TFC_ID/out/$TFC_FILE" "$TFC_TEXMFCONFIG/$relDir/$TFC_FILE" || - abort "failed to copy \`$TFC_TEMP/$TFC_ID/out/$TFC_FILE' to \`$TFC_TEXMFCONFIG/$relDir/$TFC_FILE'" - chmod 644 "$TFC_TEXMFCONFIG/$relDir/$TFC_FILE" 2>/dev/null - fi - if $needsLSRUpdate; then - mktexupd "$TFC_TEXMFCONFIG/$relDir" "$TFC_FILE" - fi - echo "$TFC_TEXMFCONFIG/$relDir/$TFC_FILE" - (exit 0); return 0 -} - -find_file() -{ - get_info - kpsewhich -format="$kpseFormat" -progname="$kpseProgArg" "$TFC_FILE" -} - -help() -{ - cat <<eof -Usage: $progname [option] ... - -Valid options: - --reldir specify directory relative to texmf root - --infile specify input file - --emptyinfile create an empty input file - --map specify map file - --texmfconfig texmf tree for config files - --mktexdir full path of mktexdir - --mktexupd full path of mktexupd - --tmp temp directory - --id identity string (generated when running command co) - --file specify configuration entry from map file - --cmd command to execute - --help display this help - -Valid commands (--cmd) are: - co check out - ci check in - find look up source for file - mapfile display path name of map file -eof -} - -show_map() -{ - setupMap - echo "$TFC_MAP" -} - -TAB=' ' -SPACE=' ' -NL=' -' -createEmptyFile=false - -STD_IFS="$TAB$SPACE$NL" -while - case $1 in - --reldir) relDir=$2; shift;; - --infile) orig=$2; shift;; - --emptyinfile) createEmptyFile=true;; - --map) TFC_MAP=$2; shift;; - --texmfconfig) - TFC_TEXMFCONFIG=$2; shift;; - --mktexdir) - TFC_MKTEXDIR=$2;; - --mktexupd) - TFC_MKTEXUPD=$2;; - --tmp) TFC_TEMP=$2; shift;; - --id) TFC_ID=$2; shift;; - --file)TFC_FILE=$2; shift;; - --cmd) TFC_CMD=$2; shift;; - --help) TFC_CMD=help;; - "") break;; - *) abort "unknown option \`$1'; try $progname --help"; (exit 1); exit 1;; - esac -do test $# -gt 0 && shift; done - -case $TFC_CMD in - ci) check_in;; - co) check_out;; - find) find_file;; - mapfile) show_map;; - help) help;; - "") - abort "no command; try $progname --help"; (exit 1); exit 1;; - *) - abort "unknown command \`$TFC_CMD'; try $progname --help"; (exit 1); exit 1;; -esac diff --git a/Build/source/texk/texlive/linked_scripts/tetex/tcfmgr.map b/Build/source/texk/texlive/linked_scripts/tetex/tcfmgr.map deleted file mode 100644 index a5c6f35cb3d..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/tcfmgr.map +++ /dev/null @@ -1,10 +0,0 @@ -# file rel dir search path progname -dvipdfmx.cfg dvipdfmx other text files dvipdfmx -config dvipdfm/config other text files dvipdfm -config.ps dvips/config dvips config - -modes.mf metafont/misc .mf - -pdftexconfig.tex tex/generic/config .tex - -fmtutil.cnf web2c web2c files - -mktex.cnf web2c web2c files - -updmap.cfg web2c web2c files - -XDvi xdvi other text files xdvi diff --git a/Build/source/texk/texlive/linked_scripts/tetex/texconfig-dialog.sh b/Build/source/texk/texlive/linked_scripts/tetex/texconfig-dialog.sh deleted file mode 100755 index bdf7ba202bc..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/texconfig-dialog.sh +++ /dev/null @@ -1,486 +0,0 @@ -#!/bin/sh - -# TeX-Config version 3.0 -# Thomas Esser, te@dbs.uni-hannover.de. Public domain. - -# invoke the right shell: - -test -f /bin/ksh && test -z "$RUNNING_KSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } -unset RUNNING_KSH - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -export PATH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -# the version string -version='$Id$' - -: ${PAGER=more} -progname=texconfig-dialog -tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$ -log=$tmpdir/log -tmpmenu=$tmpdir/tmpmenu -needsCleanup=false - -############################################################################### -# cleanup() -# clean up the temp area and exit with proper exit status -############################################################################### -cleanup() -{ - rc=$1 - $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \ - && { cd / && rm -rf "$tmpdir"; } - termCtl reset - (exit $rc); exit $rc -} - -############################################################################### -# setupTmpDir() -# set up a temp directory and a trap to remove it -############################################################################### -setupTmpDir() -{ - case $needsCleanup in - true) return;; - esac - - trap 'cleanup 1' 1 2 3 7 13 15 - needsCleanup=true - (umask 077; mkdir "$tmpdir") \ - || abort "could not create directory \`$tmpdir'" -} - -############################################################################### -# abort(errmsg) -# print `errmsg' to stderr and exit with error code 1 -############################################################################### -abort() -{ - echo "$progname: $1." >&2 - cleanup 1 -} - -logexec() -{ - (echo; echo ">>> Executing \`$@' <<<") >> $log - "$@" 2>&1 | tee -a $log -} - -############################################################################### -# runDialog(args, ...) -# execute the right dialog program with the right default parameters -############################################################################### -runDialog() -{ - if test -n "$DIALOG_PROG"; then - termCtl clear - $DIALOG_PROG --title "TeX setup utility" ${1+"$@"} - runDialogRc=$? - termCtl clear - else - abort "could not find dialog or whiptail program to run" - fi - (exit $runDialogRc) - return $runDialogRc -} - -############################################################################### -# findDialog(void) -# set DIALOG_PROG to the system dialog program, or the empty string. -############################################################################### -findDialog() -{ - for bin in whiptail dialog - do - binLoc=`texconfig findprog $bin` - case $binLoc in - "") DIALOG_PROG="";; - *) DIALOG_PROG=$binLoc; break;; - esac - done -} - -############################################################################### -# mktexdir(args) -# call mktexdir script, disable all features (to prevent sticky directories) -############################################################################### -mktexdir() -{ - MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2 -} - -############################################################################### -# termCtl(arg) -# some convenience utilities for terminal control -############################################################################### -termCtl() -{ - case $1 in - clear) - test -n "$NO_CLEAR" && return - tty >/dev/null 2>&1 && clear - ;; - reset) - test -n "$NO_CLEAR" && return - reset 2>/dev/null - stty sane 2>/dev/null - reset 2>/dev/null - termCtl clear - ;; - readln) - echo - echo "press return to continue..." - read a - ;; - esac -} - -############################################################################### -# menuMain(void) -# the main menu -############################################################################### -menuMain() -{ - cat <<-'eof' - The interactive texconfig utility will be started now. Make sure - your screen has at least 24 rows and 80 columns. If texconfig - crashes now, you can still set up your teTeX system using the - batch mode of texconfig. Try 'texconfig help' to get a list - of options. - - The interactive mode works best with a real vt100 terminal or - inside an xterm window. -eof - termCtl readln - - while :; do - logMessage='view logfile' - - runDialog \ - --menu " -Hint: all output of external commands (e.g. tex) is logged into -a file. You can look at this file using "LOG". If cursor keys make -trouble, you may have more luck with +/- and TAB. -" \ - 23 80 14 \ - EXIT 'exit' \ - PAPER 'default paper: A4 or letter (us)' \ - MODE 'default metafont mode and resolution' \ - REHASH 'rebuild filename databases' \ - FORMATS 'edit format definitions' \ - HYPHENATION 'customize hyphenation' \ - DVIPS 'dvips configuration' \ - FAQ 'view frequently asked questions + answers' \ - CONF 'show configuration' \ - LOG "$logMessage" \ - 2>"$tmpmenu" || break - - case `cat "$tmpmenu"` in - EXIT) - break - ;; - PAPER) - menuPaper - ;; - MODE) - menuMode - ;; - REHASH) - logexec texconfig rehash - termCtl readln - ;; - FORMATS) - texconfig formats - termCtl readln - ;; - HYPHENATION) - menuHyphenation - ;; - DVIPS) - menuDvips - ;; - FAQ) - texconfig faq - termCtl readln - ;; - CONF) - logexec texconfig conf - termCtl readln - ;; - LOG) - <"$log" eval $PAGER - termCtl readln - ;; - esac - done -} - -menuGetMode() -{ - # we need eval to get the command line right... :-( - eval \ - runDialog \ - --menu \"" -Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might -be differences between modes of the same resolution. See the comments in the file modes.mf for more details. -\"" \ - 23 80 14 \ - `texconfig mode-list` 2>"$tmpmenu" -} - -menuMode() -{ - menuGetMode - mode=`cat "$tmpmenu"` - - if test -n "$mode"; then - logexec texconfig mode "$mode" - termCtl readln - fi -} - -menuDvips() -{ - menuDvipsDest=ps - - while :; do - case $menuDvipsDest in - ps) - menuDvipsPrinterOpt= - menuDvipsMsg=" -dvips GLOBAL section. Define the most common default settings (config.ps). -To define settings for a specific printer, first ADD a printer definition, -then CHANGE it. -" - ;; - *) - menuDvipsPrinterOpt="-P $menuDvipsDest" - menuDvipsMsg=" -dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define -local settings for this printer. To switch back to global settings mode, -select GLOBAL. -" - ;; - esac - - runDialog \ - --menu "$menuDvipsMsg -You can use dvips for non PostScript printers, if you can setup your -printing system to convert PostScript to a format that your printer can -handle. Maybe, you can use GhostScript to do the conversion (if your -printer is supported)." \ - 23 80 9 \ - RETURN 'back to the main menu' \ - DEST 'define default destination of the generated Postscript' \ - MODE 'change metafont mode/resolution' \ - OFFSET 'shift output by some offset' \ - PAPER 'define the default paper' \ - GLOBAL 'change global settings (config.ps)' \ - CHANGE 'change printer settings (config.$PRINTER)' \ - ADD 'add a printer configuration' \ - DEL 'remove a printer configuration' \ - 2>"$tmpmenu" || break - - menuDvipsAns=`cat "$tmpmenu"` - case $menuDvipsAns in - RETURN) - break - ;; - DEST) - runDialog --inputbox "Enter the command to print. - -In general, you need a command like 'lpr' or 'lpr -Pfoo'. - -NOTE: If you just press return, printing will be disabled and the output saved to a file by default. -" 23 80 2>"$tmpmenu" - if test $? = 0; then - menuDvipsAns=`cat "$tmpmenu"` - case $menuDvipsAns in - "") - menuDvipsPrintOpt=- - ;; - *) - menuDvipsPrintOpt=$menuDvipsAns - ;; - esac - logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt" - termCtl readln - fi - ;; - MODE) - menuGetMode - mode=`cat "$tmpmenu"` - - if test -n "$mode"; then - logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode" - termCtl readln - fi - ;; - OFFSET) - runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards -offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"` - case $menuDvipsAns in - "") : ;; - *) - logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns" - termCtl readln - ;; - esac - ;; - PAPER) - eval runDialog \ - --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \ - 23 80 8 `texconfig dvips paper-list` \ - 2>"$tmpmenu" - paper=`cat "$tmpmenu"` - if test -n "$paper"; then - logexec texconfig dvips paper "$paper" - termCtl readln - fi - ;; - GLOBAL) - menuDvipsDest=ps - ;; - CHANGE) - runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu" - menuDvipsAns=`cat $tmpmenu` - case $menuDvipsAns in - "") : ;; - *) menuDvipsDest=$menuDvipsAns;; - esac - ;; - ADD) - runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu" - menuDvipsAns=`cat $tmpmenu` - case $menuDvipsAns in - "") : ;; - *) - logexec texconfig dvips add $menuDvipsAns - termCtl readln - ;; - esac - ;; - DEL) - runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu" - menuDvipsAns=`cat $tmpmenu` - case $menuDvipsAns in - "") : ;; - *) - logexec texconfig dvips del $menuDvipsAns - termCtl readln - ;; - esac - ;; - esac - done -} - -menuPaper() -{ - runDialog \ - --menu " -Select your default paper format. -" \ - 23 80 14 \ - RETURN 'return to the main menu' \ - A4 'ISO A4 (210x297mm)' \ - LETTER 'US (8.5x11in)' 2>"$tmpmenu" - - p=`cat "$tmpmenu"` - case $p in - A4) - logexec texconfig paper a4 - termCtl readln - ;; - LETTER) - logexec texconfig paper letter - termCtl readln - ;; - esac -} - -menuHyphenation() -{ - runDialog \ - --menu " -Choose format to set up hyphenation for. -" \ - 23 80 14 \ - `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu" - p=`cat "$tmpmenu"` - case $p in - "") - return - ;; - *) - texconfig hyphen "$p" - termCtl readln - esac -} - -# main() - -case $1 in - help|--help) - cat <<-eof - Usage: $progname [--help|--version] -eof - exit 0 - ;; - --version) - cat <<-eof - $progname version $version. -eof - exit 0 - ;; -esac - - -: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`} -: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`} -: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`} -export TEXMFCONFIG TEXMFVAR TEXMFMAIN - -setupTmpDir -echo "$progname: started `date`" > $log -findDialog - -test -d "$TEXMFCONFIG" \ - || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \ - || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2 - -canWriteConfig=false -if test -d "$TEXMFCONFIG"; then - if test -w "$TEXMFCONFIG"; then - canWriteConfig=true - else - echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable." - echo "$progname: configuration data cannot be changed." >&2 - fi -fi - -test -d "$TEXMFVAR" \ - || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \ - || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2 - -canWriteVardata=false -if test -d "$TEXMFVAR"; then - if test -w "$TEXMFVAR"; then - canWriteVardata=true - else - echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable." - echo "$progname: cached variable runtime data files cannot be written." >&2 - fi -fi - -menuMain -cleanup 0 diff --git a/Build/source/texk/texlive/linked_scripts/tetex/texconfig-sys.sh b/Build/source/texk/texlive/linked_scripts/tetex/texconfig-sys.sh deleted file mode 100755 index dd58513a6ea..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/texconfig-sys.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# $Id$ - -# texconfig-sys: Thomas Esser, public domain. - -# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to -# TEXMFSYSVAR / TEXMFSYSCONFIG - -test -f /bin/ksh && test -z "$RUNNING_KSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } -unset RUNNING_KSH - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -export PATH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -v=`kpsewhich -var-value TEXMFSYSVAR` -c=`kpsewhich -var-value TEXMFSYSCONFIG` - -TEXMFVAR="$v" -TEXMFCONFIG="$c" -export TEXMFVAR TEXMFCONFIG - -exec texconfig ${1+"$@"} diff --git a/Build/source/texk/texlive/linked_scripts/tetex/texconfig.1 b/Build/source/texk/texlive/linked_scripts/tetex/texconfig.1 deleted file mode 100644 index 8087f1e6dd1..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/texconfig.1 +++ /dev/null @@ -1,215 +0,0 @@ -.TH texconfig 1 "August 2011" "TeX Live" "TeX Live" -.SH NAME -texconfig \- configures teTeX or TeX Live -.LP -texconfig-sys \- configures teTeX or TeX Live system\-wide -.SH SYNOPSIS -.B texconfig -.LP -.B texconfig -[\fB commands\fR ...] -.LP -.B texconfig-sys -.SH DESCRIPTION -.I texconfig -allows one to configure and maintain TeX -in an easy and convenient manner, offering a series of dialog boxes to -the user. -.PP -The -.I tlmgr -program has subsumed this function for TeX Live. This program -is still supported, but the tlmgr interface is much more actively -developed and tested. -.PP -After choosing settings or options, the appropriate files -are changed automatically and the new settings are applied for the -user. If needed, copies of files in -.I TEXMFDIST -or -.I TEXMFMAIN -will be made in the user's -.I TEXMFCONFIG -tree. -.PP -.I texconfig -uses either the -.IR whiptail (1) -or -.IR dialog (1) -program to communicate with the user, so must be run in a terminal. -.PP -For making system-wide changes, which will apply to all users of TeX -(for example, default paper size and so on), run -.I texconfig-sys -instead. Changed or generated files will be placed in -.IR TEXMFSYSCONFIG . -(You may need to be root to do this.) -.PP -.I texconfig -also offers a non-interactive batch mode which can be accessed with -the following commands -.SH COMMANDS -Commands that accept further options usually display available options -if called without them. For example, -.B texconfig dvipdfm paper -will inform about valid paper settings. -.PP -.B -.IP conf -Display the system configuration. -.PP -.TP -.B dvipdfm paper [letter|legal|ledger|tabloid|a4|a3] -Set up dvipdfm to use papersize PAPER by default. -.TP -.B dvips add PRINTERNAME -Create a new (empty) configuration file -.I TEXMFCONFIG/dvips/config/config.PRINTERNAME. -This file can later be filled with the -.B mode, offset -or -.B printcmd -options -.TP -.B dvips del PRINTERNAME -Remove -.I config.PRINTERNAME -.TP -.B dvips mode -List available MetaFont modes. -.TP -.B dvips [-P PRINTER] mode MODE -Change the MetaFont mode to -.I MODE -for -.I PRINTER -or for all output files -.I (config.ps), -if no -.B -P -option is given. -.TP -.B dvips [-P PRINTER] offset x-OFFSET,y-OFFSET -Set printer offset for -.I PRINTER -or for all output files -.I (config.ps), -if no -.B -P -option is given. Offsets must be given with units, e.g. -.I 0pt,10pt -You can use testpage.tex from the LaTeX distribution to find these -numbers. -.TP -.B dvips [-P PRINTER] printcmd CMD -Set the printing command for -.I PRINTER -or for all output files -.I (config.ps), -if no -.B -P -option is given. Commands might be -.B lp -or -.B lpr. -See the description of the -.I o -option in -.B info dvips -or the -.I -O -option in -.B dvips(1). -.TP -.B faq -Display the list of Frequently Asked Questions about -.B teTeX -(and their answers). -.TP -.B font vardir DIR, font ro, font rw -.TP -.B formats -This command allows to edit -.B fmtutil.cnf(5) -and (re)creates any new or changed formats afterwards. -.TP -.B hyphen FORMAT -This command allows to edit the hyphenation configuration file for -formats that support this, and recreates the formats afterwards to -enable the new languages. Available formats are shown when no -.I FORMAT -is given. -.IP -Note that for formats that use LaTeX's -.I language.dat, - e.g. -.I (pdf)jadetex -and -.I latex -itself, this change is not persistent, since this file is a generated -file. You should not use this command in these cases, read -.B update-language(1) -for alternatives. -.TP -.B init [format] -Recreate -.I format -or all formats if none is given, and the font information. This is -the same as calling -.B fmtutil --byfmt format -or -.B fmtutil --all, -respectively, followed by -.B updmap. -.TP -.B mode-list -List available printer modes, together with the printers they were -developed for, and their DPI resolution -.TP -.B mode MODE -Set the default printer mode in -.I /etc/texmf/web2c/mktex.cnf -or the respective user file in -.I $TEXMFCONFIG/web2c -to -.B MODE. -.TP -.B paper [a4|letter] -Set the default papersize for -.B dvips, dvipdfm, pdftex -and -.B xdvi. -The set is restricted because not all programs understand all sizes. -.TP -.B pdftex paper [a4|letter] -Set the default paper size for -.B pdftex. -.TP -.B rehash -Call -.B mktexlsr. -.TP -.B xdvi paper PAPER -Set the default paper size for -.B xdvi. -The (long) list is available with -.B texconfig xdvi paper. - -.SH ENVIRONMENT -To let you change files, -.B texconfig -will open the editor specified in the VISUAL or EDITOR variables, or -.B sensible-editor -if both are unset. -.SH "SEE ALSO" -.IR whiptail (1), -.IR dialog (1), -.IR tlmgr (1), -.IR tex (1), -.IR mf (1), -.IR vi (1), -.IR EDITOR -environment variable. -.SH AUTHOR -Thomas Esser diff --git a/Build/source/texk/texlive/linked_scripts/tetex/texconfig.sh b/Build/source/texk/texlive/linked_scripts/tetex/texconfig.sh deleted file mode 100755 index c9cc73c8305..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/texconfig.sh +++ /dev/null @@ -1,1432 +0,0 @@ -#!/bin/sh - -# TeXConfig version 3.0 -# Originally written by Thomas Esser. Public domain. -# Now maintained as part of TeX Live; correspondence to tex-live@tug.org. - -# invoke the right shell: - -test -f /bin/ksh && test -z "$RUNNING_KSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } -unset RUNNING_KSH - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -export PATH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -# initializations... -progname=texconfig - -# the version string -version='$Id$' - -envVars=" - AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS - GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS - MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS - OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS - PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS - TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF - TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS - TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS -" -tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$ -needsCleanup=false -lastUpdatedFile= - -# -############################################################################### -# setupFMT(void) - find a suitable version of fmt / adjust -# -setupFMT() -{ - case $FMT in - "") - FMT=fmt - test ! -x /bin/fmt && test ! -f /usr/bin/fmt && - { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust - ;; - *) - return - ;; - esac -} - -############################################################################### -# myFmt(args) - run $FMT -# -myFmt() -{ - setupFMT - $FMT ${1+"$@"} -} - -############################################################################### -# echoShowVariable(args ...) -# show environment variables which names are as args and their values -# -echoShowVariable() -{ - for esv - do - var=$esv - eval val=\"\${$var+=}\${$var- is unset}\" - echo "$var$val" - done | grep -v 'is unset$' -} - -############################################################################### -# echoShowKpseVariable(args ...) -# show kpathsea variables which names are as args and their values -# -echoShowKpseVariable() -{ - for eskv - do - var=$eskv - val=`kpsewhich -var-value="$eskv"` - echo "$var=$val" - done -} - -############################################################################### -# echoLocateBinary(args ...) - show where programs actually exist -# -echoLocateBinary() -{ - for elb - do - elbLoc=`checkForBinary "$elb"` - if test -n "$ELB_PATH_ONLY"; then - test -n "$elbLoc" && echo "$elbLoc" - else - case $elbLoc in - "") echo "$elb: not found";; - *) echo "$elb: $elbLoc";; - esac - fi - done -} - -############################################################################### -# echoLocateCfgfile(args ...) - show where files actually exist -# -echoLocateCfgfile() -{ - for elc - do - case $elc in - texmf.cnf) elcLoc=`kpsewhich $elc`;; - *) elcLoc=`tcfmgr --cmd find --file "$elc"`;; - esac - case $elcLoc in - "") echo "$elc: not found";; - *) echo "$elcLoc";; - esac - done -} - -############################################################################### -# checkForBinary(prog) - echo full path of prog -# -checkForBinary() -{ - cfbBinary=$1 - - OLDIFS=$IFS - IFS=: - set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift - found=false - for pathElem - do - case $pathElem in - "") continue;; - *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; } - esac - done - IFS=$OLDIFS - case $found in - true) (exit 0); return 0;; - false) (exit 1); return 1;; - esac -} - -############################################################################### -# cleanup() - clean up the temp area and exit with proper exit status -# -cleanup() -{ - rc=$1 - $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \ - && { cd / && rm -rf "$tmpdir"; } - (exit $rc); exit $rc -} - -############################################################################### -# setupTmpDir() - set up a temp directory and a trap to remove it -# -setupTmpDir() -{ - case $needsCleanup in - true) return;; - esac - - trap 'cleanup 1' 1 2 3 7 13 15 - needsCleanup=true - (umask 077; mkdir "$tmpdir") \ - || abort "could not create directory \`$tmpdir'" -} - -############################################################################### -# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching) -# -setupTexmfmain() -{ - case $MT_TEXMFMAIN in - "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;; - *) return;; - esac -} - -############################################################################### -# setupTexmfmain() - get value for MT_TEXMFDIST (with caching) -# -setupTexmfdist() -{ - case $MT_TEXMFDIST in - "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;; - *) return;; - esac -} - -############################################################################### -# setupTexmfvar() - get value for MT_TEXMFVAR (with caching) -# -setupTexmfvar() -{ - case $MT_TEXMVAR in - "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;; - *) return;; - esac -} - -############################################################################### -# setupSystexmf() - get value for MT_SYSTEXMF (with caching) -# -setupSystexmf() -{ - case $MT_SYSTEXMF in - "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;; - *) return;; - esac -} - -############################################################################### -# abort(errmsg) -# print `errmsg' to stderr and exit with error code 1 -# -abort() -{ - echo "$progname: $1." >&2 - cleanup 1 -} - -############################################################################### -# mktexdir(args) -# call mktexdir script, disable all features (to prevent sticky directories) -# -mktexdir() -{ - setupTexmfmain - MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2 -} - -############################################################################### -# tcfmgr(args) - call tcfmgr script -# -tcfmgr() -{ - setupTexmfmain - "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@" -} - -############################################################################### -# mktexupd(args) - call mktexupd script -# -mktexupd() -{ - setupTexmfmain - "$MT_TEXMFMAIN/web2c/mktexupd" "$@" -} - -############################################################################### -# getRelDir(file) -# matches file against SYSTEXMF. Returns relative directory of file within -# a texmf tree in variable relPart. -# -getRelDir() -{ - file=$1 - relPart= - - setupSystexmf - OLDIFS=$IFS - IFS=' -' - set x `echo "$MT_SYSTEXMF" | tr : ' -'`; shift - IFS=$OLDIFS - - # now loop over all components of SYSTEXMF - for dir - do - test -n "$dir" || continue - case "$file" in - $dir/*) - relPart=`echo "$file" | sed "s%$dir/*%%"` - break - ;; - esac - done - - # now check for success / failure - case $relPart in - ""|$file) - # empty or full filename -> getRelDir failed! - (exit 1); return 1 - ;; - *) - # relPart should just have the "dirname" part: - relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'` - (exit 0); return 0 - ;; - esac -} - -############################################################################### -# configReplace(file pattern line) -# The first line in file that matches pattern gets replaced by line. -# line will be added at the end of the file if pattern does not match. -# -configReplace() -{ - configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3 - - if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then - ed "$configReplaceFile" >/dev/null 2>&1 <<-eof - /$configReplacePat/c - $configReplaceLine - . - w - q -eof - else - echo "$configReplaceLine" >> $configReplaceFile - fi -} - -############################################################################### -# fmgrConfigReplace (file regex value) -# replaces line matching regex by value in file -# -fmgrConfigReplace() -{ - fmgrConfigReplaceChanged=false - - moreArgs="" - while - case $1 in - --*) moreArgs="$moreArgs $1 $2";; - *) break;; - esac - do shift; shift; done - fmgrConfigReplaceFile=$1 - fmgrConfigReplaceRegex=$2 - fmgrConfigReplaceValue=$3 - - setupTmpDir - co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile` - if test $? != 0; then - echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2 - (exit 1); return 1 - fi - set x $co; shift - fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4 - configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue" - ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"` - if test $? != 0; then - echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2 - (exit 1); return 1 - fi - case $ci in - "") :;; - $lastUpdatedFile) - fmgrConfigReplaceChanged=true;; - *) echo "$progname: updated configuration saved as file \`$ci'" >&2 - fmgrConfigReplaceChanged=true - lastUpdatedFile=$ci;; - esac - (exit 0); return 0 -} - -############################################################################### -# setupDvipsPaper(paper) -# rearranges config.ps to make paper the first paper definition -# -setupDvipsPaper() -{ - setupDvipsPaperChanged=false - setupDvipsPaperFile=config.ps - setupDvipsPaperDftPaper=$1 - - setupTmpDir - co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile` - if test $? != 0; then - echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2 - (exit 1); return 1 - fi - set x $co; shift - setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4 - - ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof - /@ /ka - \$a - @ - . - /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1 - \$d - w - q -eof - - ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"` - if test $? != 0; then - echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2 - (exit 1); return 1 - fi - case $ci in - "") :;; - $lastUpdatedFile) - setupDvipsPaperChanged=true;; - *) echo "$progname: updated configuration saved as file \`$ci'" >&2 - setupDvipsPaperChanged=true - lastUpdatedFile=$ci;; - esac - (exit 0); return 0 -} - -############################################################################### -# setupModesMfFile(void) - find modes.mf file (with caching) -# -setupModesMfFile() -{ - case $modesMfFile in - "") - modesMfFile=`tcfmgr --cmd find --file modes.mf` - ;; - *) - return - ;; - esac -} - -############################################################################### -# locateConfigPsFile(void) - find config.ps file (with caching) -# -locateConfigPsFile() -{ - case $configPsFile in - "") - configPsFile=`tcfmgr --cmd find --file config.ps` - ;; - *) - return - ;; - esac -} - -############################################################################### -# listMfModes(file) - list modes from modes.mf file -# -listMfModes() -{ - grep mode_def "$modesMfFile" | - sed -e "s/mode_def //" \ - -e "s/ .*%[^ ]* / '/" \ - -e "s/\$/' /" | - egrep -v "^(help|%)" | sort -} - -############################################################################### -# listDvipsPapers(void) - list paper definitions from config.ps -# -listDvipsPapers() -{ - grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /" -} - -############################################################################### -# getFormatsForHyphen(void) -# list all formats which have customizable hyphenation -# -getFormatsForHyphen() -{ - fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort -} - -############################################################################### -# getRes(mode) - print resolution (both X and Y axis) to metafont mode -# -getRes() -{ - getResMode=$1 - ( - cd $tmpdir - cat >mftmp.mf <<-'eof' - let myexit = primitive_end_; - mode_setup; - string xdpi; - xdpi := decimal round pixels_per_inch; - message "XDPI = " & xdpi; - string ydpi; - ydpi := decimal round (pixels_per_inch * aspect_ratio); - message "YDPI = " & ydpi; - fontmaking := 0; - myexit; -eof - mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \ - | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }' - ) -} - -############################################################################### -# checkElemInList(elem, list) -# check if element exists in list -############################################################################### -checkElemInList() -{ - checkElemInListElem=$1; shift - checkElemInListFound=false - for checkElemInListIter - do - case "x$checkElemInListElem" in - x$checkElemInListIter) - checkElemInListFound=true - break - ;; - esac - done - case $checkElemInListFound in - true) (exit 0); return 0;; - esac - (exit 1); return 1 -} - - -# show version information from the distribution, if we have any. -showDistVersionInfo() -{ - # TeX Live file. - test -f $MT_TEXMFMAIN/../release-texlive.txt \ - && sed 1q $MT_TEXMFMAIN/../release-texlive.txt - - # no harm in continuing to look for the teTeX files. - test -f $MT_TEXMFMAIN/release-tetex-src.txt \ - && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`" - test -f $MT_TEXMFDIST/release-tetex-texmf.txt \ - && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`" -} - -# -############################################################################### -# tcBatch(args) -# handle batch mode -############################################################################### -tcBatch() -{ - help="texconfig supports adjusting and updating many aspects of -the TeX installation. - -Usage: $progname conf (show configuration information) - $progname dvipdfmx paper PAPER (dvipdfmx paper size) - $progname dvipdfm paper PAPER (dvipdfm paper size) - $progname dvips [OPTION...] (dvips options) - $progname faq (show teTeX faq) - $progname findprog PROG... (show locations of PROGs, a la which) - $progname font vardir DIR - $progname font ro - $progname font rw - $progname formats (edit fmtutil.cnf) - $progname help (or --help; show this help) - $progname hyphen FORMAT (edit hyphenation config for FORMAT) - $progname init [FORMAT]... (rebuild FORMATs, or all formats - plus run texlinks and updmap) - $progname mode MODE (set Metafont MODE) - $progname paper PAPER (set default paper size to PAPER) - $progname pdftex [OPTION]... (pdftex options) - $progname rehash (rebuild ls-R files with mktexlsr) - $progname version (or --version; show version info) - $progname xdvi paper PAPER (xdvi paper size) - -Get more help with: - $progname dvipdfmx - $progname dvipdfm - $progname dvips - $progname font - $progname hyphen - $progname mode - $progname paper - $progname pdftex - $progname xdvi - -Report bugs to: tex-k@tug.org -TeX Live home page: <http://tug.org/texlive/> -" - - case $1 in - # texconfig conf - conf|confall) - setupTexmfmain - setupTexmfdist - echo '=========================== version information ==========================' - showDistVersionInfo - echo - echo '==================== binaries found by searching $PATH ===================' - echo "PATH=$PATH" - echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm - echo - echo '=========================== active config files ==========================' - echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2 - echo - echo '============================= font map files =============================' - for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do - echo "$m: `kpsewhich $m`" - done - echo - echo '=========================== kpathsea variables ===========================' - echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS - - echo - echo '==== kpathsea variables from environment only (ok if no output here) ====' - echoShowVariable $envVars - ;; - - # texconfig dvipdfm - dvipdfm) - help="Usage: $progname dvipdfm paper PAPER - -Valid PAPER settings: - letter legal ledger tabloid a4 a3" - case $2 in - # texconfig dvipdfm paper - paper-list) - for p in letter legal ledger tabloid a4 a3; do echo $p; done - ;; - paper) - case $3 in - letter|legal|ledger|tabloid|a4|a3) - fmgrConfigReplace config '^p' "p $3";; - "") echo "$help" >&2; rc=1;; - *) - echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2 - echo "$progname: try \`$progname dvipdfm paper' for help" >&2 - rc=1 ;; - esac ;; - # texconfig dvipdfm "" - "") - echo "$help" >&2; rc=1 ;; - # texconfig dvipdfm <unknown> - *) - echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2 - echo "$progname: try \`$progname dvipdfm' for help" >&2 - rc=1 - ;; - esac - ;; - - # texconfig dvipdfmx - dvipdfmx) - help="Usage: $progname dvipdfmx paper PAPER - -Valid PAPER settings: - letter legal ledger tabloid a4 a3" - case $2 in - # texconfig dvipdfmx paper - paper-list) - for p in letter legal ledger tabloid a4 a3; do echo $p; done - ;; - paper) - case $3 in - letter|legal|ledger|tabloid|a4|a3) - fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";; - "") echo "$help" >&2; rc=1;; - *) - echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2 - echo "$progname: try \`$progname dvipdfmx paper' for help" >&2 - rc=1 ;; - esac ;; - # texconfig dvipdfmx "" - "") - echo "$help" >&2; rc=1 ;; - # texconfig dvipdfmx <unknown> - *) - echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2 - echo "$progname: try \`$progname dvipdfmx' for help" >&2 - rc=1 - ;; - esac - ;; - - # texconfig dvips - dvips) - shift - help="Usage: $progname dvips add PRINTER - $progname dvips del PRINTER - $progname dvips paper PAPER - $progname dvips [-P PRINTER] mode MODE - $progname dvips [-P PRINTER] offset OFFSET - $progname dvips [-P PRINTER] printcmd CMD" - case $1 in - -P) - case $2 in - "") - echo "$progname: missing arg for parameter -P" >&2 - rc=1; (exit $rc); return $rc - ;; - *) - otherPrinter=true - otherPrinterName=$2 - otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"` - case $otherPrinterFile in - "") - echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2 - rc=1; (exit $rc); return $rc - ;; - *) shift; shift;; - esac - ;; - esac - ;; - *) - otherPrinter=false - ;; - esac - case $otherPrinter in - true) - tcBatchDvipsPrinter=$otherPrinterName - moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile" - ;; - *) - tcBatchDvipsPrinter=ps - ;; - esac - case $1 in - add) - case $2 in - "") - echo "Usage: $progname dvips add PRINTER" >&2 - rc=1 - ;; - *) - printerName=$2 - pFile=`kpsewhich -format='dvips config' "config.$printerName"` - case $pFile in - "") - setupTmpDir - tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"` - if test $? != 0; then - echo "$progname: failed to add new configuration file \`config.$printerName'" >&2 - rc=1 - else - set x $tcfRet; shift - tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3 - echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile" - tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci` - if test $? != 0; then - echo "$progname: failed to add new configuration file \`config.$printerName'" >&2 - rc=1 - else - echo "$progname: file $tcfRet added" >&2 - fi - fi - ;; - *) - echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2 - rc=1 - ;; - esac - ;; - esac - ;; - del) - case $2 in - "") - echo "Usage: $progname dvips del PRINTER" >&2 - rc=1 - ;; - *) - printerName=$2 - pFile=`kpsewhich -format='dvips config' "config.$printerName"` - case $pFile in - "") - echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2 - rc=1 - ;; - *) - if rm "$pFile"; then - echo "$progname: file \`$pFile' removed" >&2 - else - echo "$progname: failed to remove file \`$pFile'" >&2 - rc=1 - fi - ;; - esac - ;; - esac - ;; - paper-list) - locateConfigPsFile - listDvipsPapers - ;; - paper) - case $2 in - "") - echo "Usage: $progname dvips paper PAPER" >&2 - echo >&2; echo "Valid PAPER settings:" >&2 - locateConfigPsFile - listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt - rc=1 - ;; - *) - tcBatchDvipsPaper=$2 - locateConfigPsFile - case "$configPsFile" in - "") - echo "$progname: file config.ps not found" >&2; rc=1 - ;; - *) - if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then - setupDvipsPaper "$tcBatchDvipsPaper" - else - echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1 - fi - ;; - esac - ;; - esac - ;; - mode) - case $2 in - "") - echo "Usage: $progname dvips mode MODE - -Valid MODE settings:" - setupModesMfFile - listMfModes | sed 's@ .*@@; s@^@ @' | myFmt - rc=1 - ;; - *) - tcBatchDvipsMode=$2 - setupTmpDir - setupModesMfFile - if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then - set x `getRes "$tcBatchDvipsMode"`; shift - resX=$1; resY=$2 - fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode" - fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX" - fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX" - fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY" - else - echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2 - echo "$progname: try \`$progname dvips mode' for help" >&2 - rc=1 - fi - ;; - esac - ;; - offset) - offset=$2 - case $offset in - "") - echo "Usage: $progname dvips offset OFFSET" - rc=1 - ;; - *) - fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset" - esac - ;; - printcmd) - printcmd=$2 - case $printcmd in - "") - echo "Usage: $progname dvips printcmd CMD" - rc=1 - ;; - -) - fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o - ;; - *) - fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd" - ;; - esac - ;; - "") - echo "$help" >&2; rc=1 - ;; - *) - echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2 - echo "$progname: try \`$progname dvips' for help" >&2 - rc=1 - ;; - esac - ;; - - faq) - setupTexmfmain - if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then - <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more} - else - echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2 - rc=1 - fi - ;; - - findprog) - shift - ELB_PATH_ONLY=1 echoLocateBinary "$@" - ;; - - # handle "texconfig font" - font) - help="Usage: $progname font vardir DIR - $progname font ro - $progname font rw - -The vardir option changes the VARTEXFONTS variable in the texmf.cnf file. - -The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm, -source) world writable and sets the features appendonlydir:varfonts -in mktex.cnf. - -The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm, -source) writable for the owner only and sets the feature texmfvar in -mktex.cnf. - -For more information about these \`features', consult the teTeX manual -(e.g. by running \`texdoc TETEXDOC')." - - case $2 in - vardir) - case $3 in - "") - echo "$help" >&2 - rc=1 - ;; - *) - tcBatchFontVardir=$3 - tfc=`kpsewhich texmf.cnf` - if test -n "$tfc"; then - if test -w "$tfc"; then - configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir" - else - echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2 - rc=1 - fi - else - echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2 - rc=1 - fi - ;; - esac - ;; - rw) - MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS` - if test -z "$MT_VARTEXFONTS"; then - echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1 - return - fi - test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS" - if test ! -d "$MT_VARTEXFONTS"; then - echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1 - return - fi - chmod 1777 "$MT_VARTEXFONTS" || { - echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1 - return; - } - ( - cd "$MT_VARTEXFONTS" || exit - echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2 - for d in pk tfm source; do - test -d "$d" && find $d -type d -exec chmod 1777 '{}' \; - done - echo "$progname: all permissions set." >&2 - ) - setupTmpDir - fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}" - ;; - ro) - MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS` - if test -z "$MT_VARTEXFONTS"; then - echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1 - return - fi - test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS" - if test ! -d "$MT_VARTEXFONTS"; then - echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1 - return - fi - chmod 755 "$MT_VARTEXFONTS" || { - echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1 - return; - } - ( - cd "$MT_VARTEXFONTS" || exit - echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2 - for d in pk tfm source; do - test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \; - done - echo "$progname: all permissions set." >&2 - ) - setupTmpDir - fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}" - ;; - "") echo "$help" >&2; rc=1;; - *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2 - echo "$progname: try \`$progname font' for help" >&2 - rc=1 - ;; - esac - ;; - - formats) - cat >&2 <<EOM -texconfig formats is no longer supported, because manual edits of -fmtutil.cnf will be overwritten by the new TeX Live package manager, -tlmgr, which regenerates that file as needed upon package changes. -Thus, to add or remove formats, the recommended method is to use tlmgr -to add or remove the appropriate package. - -If you need to make manual additions, you can edit the file -fmtutil-local.cnf under TEXMFLOCAL. Further information with -tlmgr --help and at http://tug.org/texlive/tlmgr.html. - -Exiting. -EOM - exit 1 # but leave the real code for posterity - - setupTmpDir - echo "$progname: analyzing old configuration..." >&2 - fmtutil --catcfg > $tmpdir/pre - fmtutil --edit - echo "$progname: analyzing new configuration..." >&2 - fmtutil --catcfg > $tmpdir/post - - if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then - echo "$progname: no new/updated formats available ..." >&2 - else - echo "$progname: updating formats ..." >&2 - comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange - for i in `awk '{print $1}' $tmpdir/addOrChange`; do - fmtutil --byfmt "$i" || rc=1 - done - texlinks --multiplatform || rc=1 - fi - ;; - - help|--help|-h) - echo "$help" - ;; - - # "hyphen FORMAT" - hyphen) - cat >&2 <<EOM -texconfig hyphen is no longer supported, because manual edits of -language.dat (or language.def) will be overwritten by the new TeX Live -package manager, tlmgr, which regenerates those configuration files as -needed upon package changes. Thus, to add or remove hyphenation -patterns, the recommended method is to use tlmgr to add or remove the -appropriate package. - -If you need to make manual additions, you can edit the files -language-local.dat and language-local.def under TEXMFLOCAL. Further -information with tlmgr --help and at http://tug.org/texlive/tlmgr.html. - -Exiting. -EOM - exit 1 # but leave the real code for posterity - - tcBatchHyphenFormat=$2 - formatsForHyphen=`getFormatsForHyphen` - formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'` - help="Usage: $progname hyphen FORMAT - -Valid FORMATs are: -$formatsForHyphenFmt" - case $tcBatchHyphenFormat in - "") - echo "$help" >&2; rc=1 - ;; - *) - if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then - - tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"` - case $tcBatchHyphenFile in - "") - echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2 - rc=1 - return - ;; - esac - - getRelDir "$tcBatchHyphenFile" - case $relPart in - "") - # edit tcBatchHyphenFile directly - tcBatchHFID= - setupTmpDir - tcBatchHFEdit=$tcBatchHyphenFile - tcBatchHFOrig=$tmpdir/hforig - cp "$tcBatchHyphenFile" "$tcBatchHFOrig" - ;; - *) - # use tcfmgr - tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'` - setupTmpDir - co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"` - if test $? != 0; then - echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2 - rc=1 - return 1 - else - set x $co; shift - tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4 - fi - ;; - esac - ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit" - if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then - echo "$progname: configuration unchanged." >&2 - else - case $tcBatchHFID in - "") - tcBatchHFOut=$tcBatchHFEdit - echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2 - lastUpdatedFile=$ci - ;; - *) - ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"` - if test $? != 0; then - echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2 - rc=1 - return - else - tcBatchHFOut=$ci - echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2 - lastUpdatedFile=$ci - fi - ;; - esac - fmtutil --byhyphen "$tcBatchHFOut" - fi - else - echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2 - echo "$progname: for getting help, try \`$progname hyphen'" >&2 - rc=1 - fi - ;; - esac - ;; - - hyphen-list) - getFormatsForHyphen - ;; - - init) - case $2 in - "") - if fmtutil --all \ - && texlinks --multiplatform \ - && updmap; then - : - else - rc=1 - fi - ;; - *) - shift 1 - for i in "$@"; do - fmtutil --byfmt "$i" || rc=1 - done - ;; - esac - ;; - - mode-list) - setupModesMfFile - listMfModes - ;; - - mode) - case $2 in - "") - echo "Usage: $progname mode MODE - -Valid MODE settings:" - setupModesMfFile - listMfModes | sed 's@ .*@@; s@^@ @' | myFmt - rc=1 - ;; - *) - tcBatchMode=$2 - setupModesMfFile - if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then - - # modify mktex.cnf - setupTmpDir - fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}" - set x `getRes "$tcBatchMode"`; shift - tcBatchRes=$1 - fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}" - - if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then - tcBatch dvips mode "$tcBatchMode" - fi - if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then - tcBatch pdftex mode "$tcBatchMode" - fi - else - echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1 - fi - ;; - esac - ;; - - paper) - help="Usage: $progname paper PAPER - -Valid PAPER settings: - letter a4" - - p=$2; pXdvi=$2; pDvips=$2 - case $2 in - letter) - pXdvi=us;; - a4) - pXdvi=a4;; - "") echo "$help" >&2; rc=1; return;; - *) - echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2 - echo "$progname: try \`$progname paper' for help" >&2 - rc=1 - return;; - esac - if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then - tcBatch dvips paper $pDvips - fi - if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then - tcBatch dvipdfm paper $p - fi - if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then - tcBatch dvipdfmx paper $p - fi - if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then - tcBatch xdvi paper $pXdvi - fi - if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then - tcBatch pdftex paper $p - fi - ;; - - pdftex) - help="Usage: $progname pdftex paper PAPER - -Valid PAPER settings: - a4 letter" - case $2 in - - mode) - case $3 in - "") - echo "Usage: $progname pdftex mode MODE" - rc=1 - ;; - *) - tcBatchPdftexMode=$3 - setupTmpDir - setupModesMfFile - if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then - set x `getRes "$tcBatchPdftexMode"`; shift - fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1" - if $fmgrConfigReplaceChanged; then - fmtutil --refresh - fi - else - echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2 - rc=1 - fi - ;; - esac - ;; - - paper) - case $3 in - letter) - w="8.5 true in"; h="11 true in" - setupTmpDir - fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w" - wChanged=$fmgrConfigReplaceChanged - fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h" - if $wChanged || $fmgrConfigReplaceChanged; then - fmtutil --refresh - fi - ;; - a4) - w="210 true mm"; h="297 true mm" - fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w" - wChanged=$fmgrConfigReplaceChanged - fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h" - if $wChanged || $fmgrConfigReplaceChanged; then - fmtutil --refresh - fi - ;; - "") echo "$help" >&2; rc=1;; - *) - echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2 - echo "$progname: try \`$progname pdftex paper' for help" >&2 - rc=1 ;; - esac ;; - "") - echo "$help" >&2; rc=1;; - *) - echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2 - echo "$progname: try \`$progname pdftex' for help" >&2 - rc=1 - ;; - esac - ;; - - rehash) - mktexlsr - ;; - - # - version|--version) - echo "$progname version $version" - setupTexmfmain - setupTexmfdist - showDistVersionInfo - (exit 0); exit 0;; - - # handle "xdvi paper PAPER" - xdvi) - tcBatchXdviPapers='us "8.5x11" -usr "11x8.5" -legal "8.5x14" -foolscap "13.5x17.0" -a1 "59.4x84.0cm" -a2 "42.0x59.4cm" -a3 "29.7x42.0cm" -a4 "21.0x29.7cm" -a5 "14.85x21.0cm" -a6 "10.5x14.85cm" -a7 "7.42x10.5cm" -a1r "84.0x59.4cm" -a2r "59.4x42.0cm" -a3r "42.0x29.7cm" -a4r "29.7x21.0cm" -a5r "21.0x14.85cm" -a6r "14.85x10.5cm" -a7r "10.5x7.42cm" -b1 "70.6x100.0cm" -b2 "50.0x70.6cm" -b3 "35.3x50.0cm" -b4 "25.0x35.3cm" -b5 "17.6x25.0cm" -b6 "13.5x17.6cm" -b7 "8.8x13.5cm" -b1r "100.0x70.6cm" -b2r "70.6x50.0cm" -b3r "50.0x35.3cm" -b4r "35.3x25.0cm" -b5r "25.0x17.6cm" -b6r "17.6x13.5cm" -b7r "13.5x8.8cm" -c1 "64.8x91.6cm" -c2 "45.8x64.8cm" -c3 "32.4x45.8cm" -c4 "22.9x32.4cm" -c5 "16.2x22.9cm" -c6 "11.46x16.2cm" -c7 "8.1x11.46cm" -c1r "91.6x64.8cm" -c2r "64.8x45.8cm" -c3r "45.8x32.4cm" -c4r "32.4x22.9cm" -c5r "22.9x16.2cm" -c6r "16.2x11.46cm" -c7r "11.46x8.1cm"' - help="Usage: $progname xdvi paper PAPER - -Valid PAPER settings: - a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r - b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r - c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r - foolscap legal us usr" - case $2 in - paper-list) - echo "$tcBatchXdviPapers" - ;; - paper) - case $3 in - a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr) - fmgrConfigReplace XDvi paper: "*paper: $3" - ;; - "") echo "$help" >&2; rc=1;; - *) - echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2 - echo "$progname: try \`$progname xdvi paper' for help" >&2 - rc=1 ;; - esac ;; - "") - echo "$help" >&2; rc=1;; - *) - echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2 - echo "$progname: try \`$progname xdvi' for help" >&2 - rc=1 - ;; - esac - ;; - *) - echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2 - echo "$progname: try \`$progname help' for help" >&2 - rc=1 - esac -} - -############################################################################### -# tcInteractive(void) -# handle interactive mode -############################################################################### -tcInteractive() -{ - texconfig-dialog -} - -############################################################################### -# main() -############################################################################### -rc=0 -case $# in - 0) tcInteractive;; - *) tcBatch "$@";; -esac - -cleanup $rc diff --git a/Build/source/texk/texlive/linked_scripts/tetex/texlinks.1 b/Build/source/texk/texlive/linked_scripts/tetex/texlinks.1 deleted file mode 100644 index 75e7effcb15..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/texlinks.1 +++ /dev/null @@ -1,66 +0,0 @@ -.TH "texlinks" "8" "November 2007" "teTeX" "teTeX" -.PP -.SH "NAME" -texlinks \- maintain symbolic links from format to engine -.PP -.SH "SYNOPSIS" -.PP -\fBtexlinks\fP [ \fIOPTIONS\fP\&.\&.\&. ] \fIDIRECTORIES\fP\&.\&.\&. -.PP -.SH "DESCRIPTION" -.PP -\fBtexlinks\fP is used to create or recreate symbolic links from -formats to engines according to the information in -\fIfmtutil\&.cnf\fP or a file specified with \fB--cnffile\fP\&. -.PP -\fIDIRECTORIES\fP is an optional list of directories in which to -operate\&. If no directories are specified the list of directories -depends on the \fB--multiplatform\fP option\&. -.PP -.SH "OPTIONS" -.PP -.IP "\fB--cnffile\fP \fIFILE\fP or \fB-f\fP \fIFILE\fP" -use file as configuration file (default: -\fIfmtutil\&.cnf\fP) -.IP "\fB--help\fP or \fB-h\fP" -show some help text -.IP "\fB--multiplatform\fP or \fB-m\fP" -operate in all -platform-specific directories (default: -operate only in the directory for this -platform) -.IP "\fB--silent\fP or \fB-s\fP" -silently skip over existing -scripts/binaries instead of printing a warning -.IP "\fB--unlink\fP or \fB-u\fP" -Unlink previously created symlinks -.IP "\fB--verbose\fP or \fB-v\fP" -+set verbose mode on (default: off) -.PP -.SH "FILES" -.PP -.IP "\fIfmtutil\&.cnf\fP" -default configuration file -.PP -.SH "SEE ALSO" -.PP -\fBfmtutil\fP(1), \fBfmtutil\&.cnf\fP(5) -.PP -Web page: <http://tug\&.org/teTeX/> -.PP -.SH "BUGS" -.PP -None known, but report any bugs found to <tex-k@tug\&.org> (mailing list)\&. -.PP -.SH "AUTHOR" -.PP -\fBtexlinks\fP was written by Thomas Esser -<te@dbs\&.uni-hannover\&.de> in 1999\&. -\fBtexlinks\fP has been released into the public domain\&. -.PP -This manual page was written by C\&.M\&. Connelly -<c@eskimo\&.com>, for -the Debian GNU/Linux system\&. It may be used by other distributions -without contacting the author\&. Any mistakes or omissions in the -manual page are my fault; inquiries about or corrections to this -manual page should be directed to me (and not to the primary author)\&. diff --git a/Build/source/texk/texlive/linked_scripts/tetex/texlinks.sh b/Build/source/texk/texlive/linked_scripts/tetex/texlinks.sh deleted file mode 100755 index c6fd2880aae..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/texlinks.sh +++ /dev/null @@ -1,335 +0,0 @@ -#!/bin/sh -# $Id$ - -# Thomas Esser, 1999, 2002, 2003. public domain. - -# texlinks: script to maintain symlinks from format to engine. Interprets -# the lines given in fmtutil.cnf. - -# History: -# (Further changes in ChangeLog.) -# Tue Oct 9 14:23:01 BST 2007 -# Added unlink option (-u) to aid OpenBSD package uninstall -# Edd Barrett <vext01@gmail.com> -# Sun Aug 28 21:41:06 CEST 2005 -# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain -# Fr Apr 8 19:15:05 CEST 2005 -# cleanup now has an argument for the return code -# So Mar 27 18:52:06 CEST 2005 -# honor $TMPDIR, $TEMP and $TMP, not just $TMP -# Mon May 10 20:52:48 CEST 2004 -# kpseaccess instead of access -# Thu Dec 25 22:11:53 CET 2003, te: -# add version string -# Tue Apr 9 22:46:34 CEST 2002, te: -# do not create symlinks for cont-??, metafun and mptopdf - -test -f /bin/sh5 && test -z "$RUNNING_SH5" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; } -unset RUNNING_SH5 - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -export PATH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -version='$Id$' -progname=texlinks -cnf=fmtutil.cnf # name of the config file - -usage='Usage: texlinks [OPTION]... [DIRECTORY]... - -Create symbolic links format -> engine according to fmtutil setup. - -Mandatory arguments to long options are mandatory for short options too. - -e, --exeext EXT append EXT to symlink targets (default: none) - -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf) - -m, --multiplatform operate in all platform specific directories - (default: operate only in directory for this platform) - -q, --quiet silently skip existing scripts / binaries - (default: issue warning) - -s, --silent same as -q - -u, --unlink remove symlinks created by texlinks - -v, --verbose enable verbose messages (default: off) - -h, --help show this help text - --version show version string - -The DIRECTORY arguments are an optional list of directories in which to -operate. If no directories are specified and --multiplatform is -likewise not specified, the directory of this script itself is used. -With --multiplatform, all child dirs of an upper-level bin/ dir are used. - -Report bugs to: tex-k@tug.org -TeX Live home page: <http://tug.org/texlive/> -' - -############################################################################### -# abort(errmsg) -# print `errmsg' to stderr and exit with error code 1 -############################################################################### -abort() { errmsg "texlinks: $1."; cleanup 1; } - -# error message to stderr: -errmsg() { echo "$@" >&2; } - -# give message to stderr only if "verbose" mode is on: -verbose_echo() { $verbose && errmsg "$@"; } - -# in verbose mode: show command that is executed: -verbose_do() { verbose_echo "$@"; "$@"; } - -############################################################################### -# cleanup() -# clean up the temp area and exit with proper exit status -############################################################################### -cleanup() -{ - rc=$1 - $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \ - && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; } - exit $rc -} - -############################################################################### -# setupTmpDir() -# set up a temp directory and a trap to remove it -############################################################################### -setupTmpDir() -{ - $needsCleanup && return - - trap 'cleanup 1' 1 2 3 7 13 15 - needsCleanup=true - (umask 077; mkdir "$tmpdir") \ - || abort "could not create directory \`$tmpdir'" -} - - -# search a binary along $PATH: -check_for_binary() -{ - testbin=$1 - set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift - for i - do - if [ -x "$i/$testbin" ]; then - echo "$i/$testbin" - return 0 - fi - done - return 1 -} - - -############################################################################### -# install_link(dest src) -# create a symlink like ln -s dest src, but make sure that src is not -# an existing binary, possibly adding the executable extension if -# passed on the command. -############################################################################### -install_link() -{ - # make symlink src -> dest - dest=$1; src=$2 - - case $src in - */mf) - if test "$dest" = mf-nowin; then - if test -f $selfautoloc/mfw; then - dest=mfw # name for windows-enabled mf, once upon a time - verbose_echo "both mfw and mf-nowin exists, $src linked to $dest" - fi - if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then - # have both mf and mf-nowin binaries. no link. - verbose_echo "skipped metafont symlink $src -> $dest (special case)" - return - fi - fi - ;; - esac - - # append .exe if supplied (for cygwin). - test -n "$exeext" && dest="$dest$exeext" - - case $src in - */cont-??|*/mptopdf) - # context includes wrapper scripts that create/run these. - verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)" - ;; - *) - test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" && - rm -f "$src" - - if test -f "$src"; then - case $silent in - true) - ;; - *) - errmsg "install_link $src -> $dest failed: file already exists." - ;; - esac - else - verbose_do ln -s "$dest" "$src" - fi - ;; - esac -} - -############################################################################### -# search_symlinkdir() -# look if $PATH has only symlinks to the real binaries and find that -# directory. Also check if this directory is writable. -############################################################################### -search_symlinkdir() -{ - kpsewhich=`check_for_binary kpsewhich` - test -z "$kpsewhich" && return 1 - symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'` - kpseaccess -w "$symlinkdir" || return 1 - touch "$symlinkdir/tl$$" - if test -f "$selfautoloc/tl$$"; then - rm -f "$symlinkdir/tl$$" - return 1 - else - rm -f "$symlinkdir/tl$$" - return 0 - fi -} - -############################################################################### -# upd_symlinkdir() -# if $PATH has only symlinks to the real binaries, update that directory -# that holds the symlinks -############################################################################### -upd_symlinkdir() -{ - search_symlinkdir || return 0 - for i in `sed 's@ .*@@' cnf_file_ln.$$`; do - install_link "$selfautoloc/$i" "$symlinkdir/$i" - done -} - -############################################################################### -# rm_link() -# Delete a previously installed link -############################################################################### -rm_link() -{ - link=$1; - if test -e $link; then - if test -h $link; then - verbose_do rm -Rf $link - else - verbose_echo "kept $link, since not a symlink" - fi - else - verbose_echo "skipped $link, non-existent" - fi -} - -############################################################################### -# main() -# parse commandline arguments, initialize variables, -# switch into temp. direcrory, execute desired command -############################################################################### -main() -{ - cnf_file= # global variable: full name of the config file - dirs= - needsCleanup=false - - exeext= - multiplatform=false - verbose=false - unlink=false - silent=false - thisdir=`pwd` - : ${KPSE_DOT=$thisdir}; export KPSE_DOT - selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'` - while - case $1 in - --h*|-h) - echo "$usage"; exit 0;; - --version) - echo "$progname version $version"; exit 0;; - --cnffile|-f) - shift; cnf_file=$1;; - --e*|-e) shift; exeext=$1;; - --m*|-m) multiplatform=true;; - --s*|-s|--q*|-q) silent=true;; - --u*|-u) unlink=true;; - --v*|-v) verbose=true;; - -*) errmsg "fmtutil: unknown option \`$1' ignored.";; - *) break;; - esac - do test $# -gt 0 && shift; done - dirs="$*" - - # if no cnf_file from command-line, look it up with kpsewhich: - test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf` - test -f "$cnf_file" || abort "config file \`$cnf' not found" - - - tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$ - setupTmpDir - cd "$tmpdir" || cleanup 1 - - sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \ - | awk '{print $1, $2}' > cnf_file_ln.$$ - - if test -z "$dirs"; then - if test $multiplatform = true; then - case $selfautoloc in - */bin) dirs=$selfautoloc;; - *) parent=`kpsewhich --expand-var='$SELFAUTODIR'` - dirs=`find $parent -type f -name kpsewhich -print \ - | sed 's@/kpsewhich$@@'`;; - esac - else - dirs=$selfautoloc - fi - fi - - for d in $dirs; do - kpseaccess -w $d \ - || { errmsg "$d: no write permissions. Skipping..."; continue; } - # cnf_file_ln.$$ has lines with "format engine" pairs - set x `cat cnf_file_ln.$$`; shift - while test $# != 0; do - fmt=$1; engine=$2; shift; shift - - # Some broken shells destroy the positional arguments when calling a - # shellfunction. Therefore, we save and restore them "by hand" in the - # main_args_while variable. - main_args_while="$@" - - test "x$fmt" = "x$engine" && continue - if test -f "$d/$engine$exeext"; then - case $unlink in - true) - rm_link "$d/$fmt";; - *) - install_link "$engine" "$d/$fmt";; - esac - else - verbose_echo "skipped $d/$engine, engine does not exist" - fi - - # restore positional arguments: - set x $main_args_while; shift - - done - done - upd_symlinkdir -} - -main ${1+"$@"} - -# set successful return code -cleanup 0 diff --git a/Build/source/texk/texlive/linked_scripts/tetex/updmap-sys.sh b/Build/source/texk/texlive/linked_scripts/tetex/updmap-sys.sh deleted file mode 100755 index 6f3c8365658..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/updmap-sys.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -# updmap-sys: Thomas Esser, public domain. - -# wrapper script for updmap with TEXMFVAR and TEXMFCONFIG set to -# TEXMFSYSVAR / TEXMFSYSCONFIG - -test -f /bin/ksh && test -z "$RUNNING_KSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } -unset RUNNING_KSH - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -export PATH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -v=`kpsewhich -var-value TEXMFSYSVAR` -c=`kpsewhich -var-value TEXMFSYSCONFIG` - -TEXMFVAR="$v" -TEXMFCONFIG="$c" -export TEXMFVAR TEXMFCONFIG - -exec updmap ${1+"$@"} diff --git a/Build/source/texk/texlive/linked_scripts/tetex/updmap.1 b/Build/source/texk/texlive/linked_scripts/tetex/updmap.1 deleted file mode 100644 index 5bc81acc69d..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/updmap.1 +++ /dev/null @@ -1,360 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.9. -.TH UPDMAP "1" "August 2012" "TeX Live" "User Commands" -.SH NAME -updmap \- manage TeX font maps, per-user -.br -updmap-sys \- manage TeX font maps, system-wide -.SH SYNOPSIS -.B updmap -[\fIOPTION\fR] ... [\fICOMMAND\fR] -.br -.B updmap-sys -[\fIOPTION\fR] ... [\fICOMMAND\fR] -.SH DESCRIPTION -updmap (TeX Live, multi) version $Id: updmap.pl 27264 2012\-07\-31 05:10:29Z preining $ -.PP -Update the default font map files used by pdftex, dvips, and dvipdfm(x), -and optionally pxdvi, as determined by all configuration files updmap.cfg -(the ones returned by running "kpsewhich \fB\-\-all\fR updmap.cfg", but see below). -.PP -Among other things, these map files are used to determine which fonts -should be used as bitmaps and which as outlines, and to determine which -font files are included in the PDF or PostScript output. -.PP -By default, the TeX filename database (ls\-R) is also updated. -.SH OPTIONS -.TP -\fB\-\-cnffile\fR FILE -read FILE for the updmap configuration -(can be given multiple times, in which case -all the files are used) -.TP -\fB\-\-dvipdfmxoutputdir\fR DIR -specify output directory (dvipdfm(x) syntax) -.TP -\fB\-\-dvipsoutputdir\fR DIR -specify output directory (dvips syntax) -.TP -\fB\-\-pdftexoutputdir\fR DIR -specify output directory (pdftex syntax) -.TP -\fB\-\-pxdvioutputdir\fR DIR -specify output directory (pxdvi syntax) -.TP -\fB\-\-outputdir\fR DIR -specify output directory (for all files) -.TP -\fB\-\-copy\fR -cp generic files rather than using symlinks -.TP -\fB\-\-force\fR -recreate files even if config hasn't changed -.TP -\fB\-\-nomkmap\fR -do not recreate map files -.TP -\fB\-\-nohash\fR -do not run texhash -.TP -\fB\-n\fR, \fB\-\-dry\-run\fR -only show the configuration, no output -.TP -\fB\-\-quiet\fR, \fB\-\-silent\fR -reduce verbosity -.SS "Commands:" -.TP -\fB\-\-help\fR -show this message and exit -.TP -\fB\-\-version\fR -show version information and exit -.TP -\fB\-\-showoption\fR OPTION -show the current setting of OPTION -.TP -\fB\-\-showoptions\fR OPTION -show possible settings for OPTION -.TP -\fB\-\-setoption\fR OPTION VALUE -set OPTION to value; option names below -.TP -\fB\-\-setoption\fR OPTION=VALUE -as above, just different syntax -.TP -\fB\-\-enable\fR MAPTYPE MAPFILE -add "MAPTYPE MAPFILE" to updmap.cfg, -where MAPTYPE is Map, MixedMap, or KanjiMap -.TP -\fB\-\-enable\fR Map=MAPFILE -add "Map MAPFILE" to updmap.cfg -.HP -\fB\-\-enable\fR MixedMap=MAPFILE add "MixedMap MAPFILE" to updmap.cfg -.HP -\fB\-\-enable\fR KanjiMap=MAPFILE add "KanjiMap MAPFILE" to updmap.cfg -.TP -\fB\-\-disable\fR MAPFILE -disable MAPFILE, of whatever type -.TP -\fB\-\-listmaps\fR -list all active and inactive maps -.TP -\fB\-\-listavailablemaps\fR -same as \fB\-\-listmaps\fR, but without -unavailable map files -.TP -\fB\-\-syncwithtrees\fR -disable unavailable map files in updmap.cfg -.PP -Explanation of the map types: the (only) difference between Map and -MixedMap is that MixedMap entries are not added to psfonts_pk.map. -The purpose is to help users with devices that render Type 1 outline -fonts worse than mode\-tuned Type 1 bitmap fonts. So, MixedMap is used -for fonts that are available as both Type 1 and Metafont. -KanjiMap entries are added to psfonts_t1.map and kanjix.map. -.PP -Explanation of the OPTION names for \fB\-\-showoptions\fR, \fB\-\-showoption\fR, \fB\-\-setoption\fR: -.TP -dvipsPreferOutline -true|false (default true) -.IP -Whether dvips uses bitmaps or outlines, when both are available. -.TP -dvipsDownloadBase35 -true|false (default true) -.IP -Whether dvips includes the standard 35 PostScript fonts in its output. -.TP -pdftexDownloadBase14 -true|false (default true) -.IP -Whether pdftex includes the standard 14 PDF fonts in its output. -.TP -pxdviUse -true|false (default false) -.IP -Whether maps for pxdvi (Japanese\-patched xdvi) are under updmap's control. -.TP -kanjiEmbed -(any string) -.TP -kanjiVariant -(any string) -.IP -See below. -.TP -LW35 -URWkb|URW|ADOBEkb|ADOBE (default URWkb) -.IP -Adapt the font and file names of the standard 35 PostScript fonts. -URWkb URW fonts with "berry" filenames (e.g. uhvbo8ac.pfb) -URW URW fonts with "vendor" filenames (e.g. n019064l.pfb) -ADOBEkb Adobe fonts with "berry" filenames (e.g. phvbo8an.pfb) -ADOBE Adobe fonts with "vendor" filenames (e.g. hvnbo___.pfb) -.IP -These options are only read and acted on by updmap; dvips, pdftex, etc., -do not know anything about them. They work by changing the default map -file which the programs read, so they can be overridden by specifying -command\-line options or configuration files to the programs, as -explained at the beginning of updmap.cfg. -.IP -The options kanjiEmbed and kanjiVariant specify special replacements -in the map lines. If a map contains the string @kanjiEmbed@, then -this will be replaced by the value of that option; similarly for -kanjiVariant. In this way, users of Japanese TeX can select different -fonts to be included in the final output. -.SH ENVIRONMENT -.PP -Explanation of trees and files normally used: -.IP -If \fB\-\-cnffile\fR is specified on the command line (possibly multiple -times), its value(s) are used. Otherwise, updmap reads all the -updmap.cfg files found by running `kpsewhich \fB\-all\fR updmap.cfg', in the -order returned by kpsewhich, with one exception: an updmap.cfg found -in TEXMFLOCAL is given higher priority than the updmap.cfg in -TEXMFMAIN, to ensure that local adjustments by administrators take -precedence over what is shipped in TeX Live. -.IP -In any case, if multiple updmap.cfg files are found, all the maps -mentioned in all the updmap.cfg files are merged. -.IP -Thus, if updmap.cfg files are present in all trees, and the default -layout is used as shipped with TeX Live, the following files are -read, in the given order. -.nf -.IP -For updmap\-sys: -TEXMFSYSCONFIG $TEXLIVE/YYYY/texmf\-config/web2c/updmap.cfg -TEXMFSYSVAR $TEXLIVE/YYYY/texmf\-var/web2c/updmap.cfg -TEXMFLOCAL $TEXLIVE/texmf\-local/web2c/updmap.cfg -TEXMFMAIN $TEXLIVE/YYYY/texmf/web2c/updmap.cfg -TEXMFDIST $TEXLIVE/YYYY/texmf\-dist/web2c/updmap.cfg -.IP -For updmap: -TEXMFCONFIG $HOME/.texliveYYYY/texmf\-config/web2c/updmap.cfg -TEXMFVAR $HOME/.texliveYYYY/texmf\-var/web2c/updmap.cfg -TEXMFHOME $HOME/texmf/web2c/updmap.cfg -TEXMFSYSCONFIG $TEXLIVE/YYYY/texmf\-config/web2c/updmap.cfg -TEXMFSYSVAR $TEXLIVE/YYYY/texmf\-var/web2c/updmap.cfg -TEXMFLOCAL $TEXLIVE/texmf\-local/web2c/updmap.cfg -TEXMFMAIN $TEXLIVE/YYYY/texmf/web2c/updmap.cfg -TEXMFDIST $TEXLIVE/YYYY/texmf\-dist/web2c/updmap.cfg -.IP -(where YYYY is the TeX Live release version). -.fi -.IP -There is another exception to keep upgradability from earlier versions -of TeX Live: if a file TEXMFLOCAL/web2c/updmap\-local.cfg exists -(formerly used by tlmgr to merge local fonts), then the file -TEXMFLOCAL/web2c/updmap.cfg is ignored (if it exists) and that -updmap\-local.cfg is used instead. In this case, updmap recognizes the -previous syntax for disabling map files in updmap\-local.cfg (this -syntax is different from what is used now). -.IP -According to the actions, updmap might write to one of the given files -or create a new updmap.cfg, described further below. -.IP -Where changes are saved: if config files are given on the command -line, then the first one given will be used to save any changes from -\fB\-\-setoption\fR, \fB\-\-enable\fR or \fB\-\-disable\fR. If the config files are taken -from kpsewhich output, then the algorithm is more complex: -.IP -1) If $TEXMFCONFIG/web2c/updmap.cfg or $TEXMFHOME/web2c/updmap.cfg -appears in the list of used files, then the one listed first by -kpsewhich \fB\-\-all\fR (equivalently, the one returned by kpsewhich -updmap.cfg), is used. -.IP -2) If neither of the above two are present and changes are made, a -new config file is created in $TEXMFCONFIG/web2c/updmap.cfg. -.IP -Resolving multiple definitions of a font: -.IP -If a font is defined in more than one map file, then the definition -coming from the first\-listed updmap.cfg is used. If a font is -defined multiple times within the same map file, one is chosen -arbitrarily. In both cases a warning is issued. -.IP -Disabling maps: -.IP -updmap.cfg files with higher priority (listed earlier) can disable -maps mentioned in lower priority (listed later) updmap.cfg files by -writing, e.g., -.IP -#! Map mapname.map -.IP -or -.IP -#! MixedMap mapname.map -.IP -in the higher\-priority updmap.cfg file. -.IP -As an example, suppose you have a copy of MathTime Pro fonts -and want to disable the Belleek version of the fonts; that is, -disable the map belleek.map. You can create the file -$TEXMFCONFIG/web2c/updmap.cfg with the content -.IP -#! Map belleek.map -Map mt\-plus.map -Map mt\-yy.map -.IP -and call updmap. -.IP -updmap writes the map files for dvips (psfonts.map) and pdftex -(pdftex.map) to the TEXMFVAR/fonts/map/updmap/{dvips,pdftex}/ -directories. -.IP -The log file is written to TEXMFVAR/web2c/updmap.log. -.IP -When updmap\-sys is run, TEXMFSYSCONFIG and TEXMFSYSVAR are used -instead of TEXMFCONFIG and TEXMFVAR, respectively. This is the only -difference between updmap\-sys and updmap. -.IP -Other locations may be used if you give them on the command line, or -these trees don't exist, or you are not using the original TeX Live. -.IP -To see the precise locations of the various files that -will be read and written, give the \fB\-n\fR option (or read the source). -.SH EXAMPLES -.PP -For step\-by\-step instructions on making new fonts known to TeX, read -http://tug.org/fonts/fontinstall.html. For even more terse -instructions, read the beginning of updmap.cfg. -.SH FILES -Configuration and input files: -.IP "\fIupdmap\&.cfg\fP" -Main configuration file\&. In -\fItexmf/web2c\fP by default, but may be located elsewhere -depending on your distribution\&. Each texmf tree read should have its -own \fIupdmap.cfg\fP. -.IP "\fIdvips35\&.map\fP" -Map file for standard 35 PostScript fonts for -use with \fBdvips\fP(1)\&. -.IP "\fIpdftex35\&.map\fP" -Map file for standard 35 PostScript fonts for -use with \fBpdftex\fP(1)\&. -.IP "\fIps2pk35\&.map\fP" -Map file for standard 35 PostScript fonts for -use with \fBps2pk\fP(1)\&. -.PP -Output files: -.IP "\fIpsfonts\&.map\fP" -For \fBdvips\fP(1)\&. -Same as \fIpsfonts_t1\&.map\fP if option \fBdvipsPreferOutline\fP active, -else as \fIpsfonts_pk\&.map\fP. -.IP "\fIpsfonts_pk\&.map\fP" -For \fBdvips\fP(1)\&. -Without information from MixedMap files\&. -(Setting of \fBdvipsPreferOutline\fP ignored\&.) -.IP "\fIpsfonts_t1\&.map\fP" -For \fBdvips\fP(1)\&. -With information from MixedMap files\&. -(Setting of \fBdvipsPreferOutline\fP ignored\&.) -.IP "\fIdownload35\&.map\fP" -For \fBdvips\fP(1)\&. -Always downloads the standard 35 fonts\&. -(Setting of \fBdvipsDownloadBase35\fP ignored\&.) -.IP "\fIbuiltin35\&.map\fP" -For \fBdvips\fP(1)\&. -Never downloads the standard 35 fonts\&. -(Setting of \fBdvipsDownloadBase35\fP ignored\&.) -.IP "\fIpdftex\&.map\fP" -For \fBpdftex\fP(1)\&. -Same as \fIpdftex_dl14\&.map\fP if option \fBpdftexDownloadBase14\fP active, -else as \fIpdftex_ndl14\&.map\fP. -.IP "\fIpdftex_dl14\&.map\fP" -For \fBpdftex\fP(1)\&. -Always downloads the standard 14 fonts\&. -.IP "\fIpdftex_ndl14\&.map\fP" -For \fBpdftex\fP(1)\&. -Never downloads the standard 14 fonts\&. -.IP "\fIps2pk\&.map\fP" -Similar to \fIpsfonts.map\fP file, but -forces all fonts to be downloaded, so this map file can be used with -\fBxdvi\fP(1) and \fBps2pk\fP(1)\&. -.PP -Configuration files for \fBdvips\fP(1): -.IP "\fIconfig\&.builtin35\fP" -Loads \fIbuiltin35\&.map\fP instead -of \fIpsfonts\&.map\fP\&. -.IP "\fIconfig\&.download35\fP" -Loads \fIdownload35\&.map\fP instead -of \fIpsfonts\&.map\fP\&. -.IP "\fIconfig\&.outline\fP" -Loads \fIpsfonts_t1\&.map\fP instead -of \fIpsfonts\&.map\fP\&. -.IP "\fIconfig\&.pdf\fP" -Loads \fIpsfonts_t1\&.map\fP instead -of \fIpsfonts\&.map\fP and has additional optimizations for PDF generation\&. -.IP "\fIconfig\&.pk\fP" -Loads \fIpsfonts_pk\&.map\fP instead -of \fIpsfonts\&.map\fP\&. -.IP "\fIconfig\&.www\fP" -Loads \fIpsfonts_t1\&.map\fP instead -of \fIpsfonts\&.map\fP\&. -(For compatibility with old versions\&.) -.IP "\fIconfig\&.gstopk\fP" -Loads \fIpsfonts_t1\&.map\fP instead -of \fIpsfonts\&.map\fP\&. -.SH "REPORTING BUGS" -Report bugs to: tex\-k@tug.org -.br -TeX Live home page: <http://tug.org/texlive/> diff --git a/Build/source/texk/texlive/linked_scripts/tetex/updmap.cfg.5 b/Build/source/texk/texlive/linked_scripts/tetex/updmap.cfg.5 deleted file mode 100644 index 43a7cc2d23f..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/updmap.cfg.5 +++ /dev/null @@ -1,155 +0,0 @@ -.\" Hey, Emacs! This is an -*- nroff -*- source file. -.\" -.\" Copyright (C) 2004, 2012 Hilmar Preusse <hille42@web.de> -.\" Copyright (C) 2012 Norbert Preining <preining@logic.at> -.\" -.\" This is free software; you can redistribute it and/or modify it under -.\" the terms of the GNU General Public License as published by the Free -.\" Software Foundation; either version 2, or (at your option) any later -.\" version. -.\" -.\" This is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with this program. if not, see <http://www.gnu.org/licenses/>. -.\" -.TH "UPDMAP.CFG" "20" "November 2012" "TeX Live" "TeX Live" -.SH "NAME" -\fBupdmap.cfg\fR \- configuration of font mapping/inclusion for dvips and -friends. -.SH "DESCRIPTION" -The file \fBupdmap.cfg\fR is the central font configuration file of a -teTeX system and is read by \fBupdmap\fP(1). It describes if and how -fonts should be included (or not included) into PS-/PDF-files. This -works for Outline (Postscript Type1) and Bitmap Fonts (Postscript -Type3) mostly coming from MetaFont. -.PP -\fBupdmap\fP is a utility that creates font configuration files for -\fBdvips\fP(1), \fBpdftex\fP(1), \fBxdvi\fP(1), \fBps2pk\fP(1), -\fBgsftopk\fP(1), and \fBdvipdfmx\fP(1)\&. In -an ideal world, updmap would be unnecessary -- each of these programs -would read the same configuration file to learn what fonts are -available and how they should be treated\&. As things stand, however, -each of these tools has subtly different requirements and thereby -needs its own font configuration file\&. \fBupdmap\fP creates font -configuration files for all of these programs from several sources, -namely all \fBupdmap.cfg\fR, allowing you to easily keep all the different -configuration files in sync\&. -.P -Running "updmap --help" will output the main documentation for using -\fBupdmap\fR. -.P -\fBdvipsPreferOutline\fR -.br -Configures if \fBdvips\fR (by default) should 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 -can be forced by putting "p psfonts_pk.map" into a config file. We provide -such config files which can be enabled via -\fBdvips\fR \fI-Poutline\fR (resp. \fBdvips\fR \fI-Ppk\fR). -.br -Valid settings for dvipsPreferOutline are \fItrue\fR / \fIfalse\fR. -.P -\fBLW35\fR -.br -Which fonts of the "Basic 35 Laserwriter Fonts" do you want to use and -how are the filenames chosen? Valid settings: -.br -URW: URW fonts with "vendor" filenames (e.g. n019064l.pfb) -.br -URWkb: URW fonts with "berry" filenames (e.g. uhvbo8ac.pfb) -.br -ADOBE: Adobe fonts with "vendor" filenames (e.g. hvnbo___.pfb) -.br -ADOBEkb: Adobe fonts with "berry" filenames (e.g. phvbo8an.pfb) -.P -\fBdvipsDownloadBase35\fR -.br -Configures if \fBdvips\fR (by default) should download the 35 base -PostScript fonts into the document (set \fItrue\fR) or should these -fonts be used from the ps interpreter / printer (set \fIfalse\fR). -.br -The user can override the default by specifying \fBdvips\fR \fI-Pdownload35\fR -(resp. \fBdvips\fR \fI-Pbuiltin35\fR) to download the LW35 fonts -(resp. use the built-in fonts). -.br -Valid settings are \fItrue\fR / \fIfalse\fR. -.P -\fBpdftexDownloadBase14\fR -.br -Should \fBpdftex\fR download the 14 base PDF fonts? Since some configurations -(ps / pdf tools / printers) use bad default fonts, it is safer to download -the fonts. The pdf files get bigger, but that is the cost. -.br -Valid settings are \fItrue\fR (download the fonts) or \fIfalse\fR (don't -download the fonts). Adobe recommends embedding all fonts. -.P -\fBpxdviUse\fR -.br -Should special map files for pxdvi be created? pxdvi is an adaption of xdvi -with support for reading and displaying files generated by the ptex family -of engines. -.br -Valid settings are \fItrue\fR (generate configuration) or \fIfalse\fR. See -http://www.tug.org/texlive/updmap-kanji.html for detailed discussion. -.P -\fBkanjiEmbed\fR -.br -\fBkanjiVariant\fR -.br -The options \fBkanjiEmbed\fR and \fBkanjiVariant\fR specify special -replacements in the map lines. In a map, the string "@kanjiEmbed@" -will be replaced by the value of that option; similarly for -\fBkanjiVariant\fR. In this way, users of Japanese TeX can select -different fonts to be included in the final output. -.P -\fBMap\fR -.br -Points to a map file, which describes a mapping from a font (called in the TeX -document) to the pfb file containing the Postscript code. -.br -Usage: \fBMap\fR filename.map -.P -The syntax of map files is the same as \fBdvips\fP(1) uses, see the -section "psfonts.map" in the manual of \fBdvips\fP(1). -.P -\fBMixedMap\fR -.br -Similar to \fBMap\fR. It should be used when there is Type1 and a bitmap -implementation of the font (the latter mostly coming from MetaFont). These -entries will not be used in the default map of \fBdvips\fR if -\fBdvipsPreferOutline\fR is set to \fIfalse\fR. -.br -Usage: \fBMixedMap\fR filename.map -.P -\fBKanjiMap\fR -.br -Similar to \fBMap\fR. This should be used for kanji fonts. -.br -Usage: \fBKanjiMap\fR filename.map -.P -The sign \fB#\fR precedes a comment. -.P -Map files not to be used should be commented out using the string -\fB#!\fR at the beginning of the line. Such entries can be -(de-)activated using \fBupdmap\fR with the options \fI--enable\fR and -\fI--disable\fR, respectively. - -.SH "AUTHOR" -This manual page was written by Hilmar Preusse <hille42@web.de> and -extended by Norbert Preining <preining@logic.at>, for -the Debian GNU/Linux system by simply copying the comments from -\fBupdmap.cfg\fR and rewriting some of them. It may be used by other -distributions without contacting the author. Any mistakes or omissions in -the manual page are our fault; inquiries about or corrections to this manual -page should be directed to tex-live@tug.org. - -.SH "SEE ALSO" -updmap(1), dvips(1) - -.SH "THANKS TO" -Frank Kuester, -Thomas Esser. diff --git a/Build/source/texk/texlive/linked_scripts/tetex/updmap.help2man b/Build/source/texk/texlive/linked_scripts/tetex/updmap.help2man deleted file mode 100644 index 4864c2d74f4..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/updmap.help2man +++ /dev/null @@ -1,100 +0,0 @@ -# $Id$ -# This help2man auxiliary file is in the public domain. -# Originally created by Karl Berry. -# The FILES text from Claire Connelly. -# See the Makefile for the help2man invocation. -# do not fill the long TEXMF* tables. - -[NAME] -updmap \- manage TeX font maps, per-user -.br -updmap-sys \- manage TeX font maps, system-wide - -/in the final output/ -.SH ENVIRONMENT - -/in the given order/ -.nf - -/where YYYY is/ -.fi - -/give the -n option/ -.SH EXAMPLES - -[FILES] -Configuration and input files: -.IP "\fIupdmap\&.cfg\fP" -Main configuration file\&. In -\fItexmf/web2c\fP by default, but may be located elsewhere -depending on your distribution\&. Each texmf tree read should have its -own \fIupdmap.cfg\fP. -.IP "\fIdvips35\&.map\fP" -Map file for standard 35 PostScript fonts for -use with \fBdvips\fP(1)\&. -.IP "\fIpdftex35\&.map\fP" -Map file for standard 35 PostScript fonts for -use with \fBpdftex\fP(1)\&. -.IP "\fIps2pk35\&.map\fP" -Map file for standard 35 PostScript fonts for -use with \fBps2pk\fP(1)\&. -.PP -Output files: -.IP "\fIpsfonts\&.map\fP" -For \fBdvips\fP(1)\&. -Same as \fIpsfonts_t1\&.map\fP if option \fBdvipsPreferOutline\fP active, -else as \fIpsfonts_pk\&.map\fP. -.IP "\fIpsfonts_pk\&.map\fP" -For \fBdvips\fP(1)\&. -Without information from MixedMap files\&. -(Setting of \fBdvipsPreferOutline\fP ignored\&.) -.IP "\fIpsfonts_t1\&.map\fP" -For \fBdvips\fP(1)\&. -With information from MixedMap files\&. -(Setting of \fBdvipsPreferOutline\fP ignored\&.) -.IP "\fIdownload35\&.map\fP" -For \fBdvips\fP(1)\&. -Always downloads the standard 35 fonts\&. -(Setting of \fBdvipsDownloadBase35\fP ignored\&.) -.IP "\fIbuiltin35\&.map\fP" -For \fBdvips\fP(1)\&. -Never downloads the standard 35 fonts\&. -(Setting of \fBdvipsDownloadBase35\fP ignored\&.) -.IP "\fIpdftex\&.map\fP" -For \fBpdftex\fP(1)\&. -Same as \fIpdftex_dl14\&.map\fP if option \fBpdftexDownloadBase14\fP active, -else as \fIpdftex_ndl14\&.map\fP. -.IP "\fIpdftex_dl14\&.map\fP" -For \fBpdftex\fP(1)\&. -Always downloads the standard 14 fonts\&. -.IP "\fIpdftex_ndl14\&.map\fP" -For \fBpdftex\fP(1)\&. -Never downloads the standard 14 fonts\&. -.IP "\fIps2pk\&.map\fP" -Similar to \fIpsfonts.map\fP file, but -forces all fonts to be downloaded, so this map file can be used with -\fBxdvi\fP(1) and \fBps2pk\fP(1)\&. -.PP -Configuration files for \fBdvips\fP(1): -.IP "\fIconfig\&.builtin35\fP" -Loads \fIbuiltin35\&.map\fP instead -of \fIpsfonts\&.map\fP\&. -.IP "\fIconfig\&.download35\fP" -Loads \fIdownload35\&.map\fP instead -of \fIpsfonts\&.map\fP\&. -.IP "\fIconfig\&.outline\fP" -Loads \fIpsfonts_t1\&.map\fP instead -of \fIpsfonts\&.map\fP\&. -.IP "\fIconfig\&.pdf\fP" -Loads \fIpsfonts_t1\&.map\fP instead -of \fIpsfonts\&.map\fP and has additional optimizations for PDF generation\&. -.IP "\fIconfig\&.pk\fP" -Loads \fIpsfonts_pk\&.map\fP instead -of \fIpsfonts\&.map\fP\&. -.IP "\fIconfig\&.www\fP" -Loads \fIpsfonts_t1\&.map\fP instead -of \fIpsfonts\&.map\fP\&. -(For compatibility with old versions\&.) -.IP "\fIconfig\&.gstopk\fP" -Loads \fIpsfonts_t1\&.map\fP instead -of \fIpsfonts\&.map\fP\&. diff --git a/Build/source/texk/texlive/linked_scripts/tetex/updmap.pl b/Build/source/texk/texlive/linked_scripts/tetex/updmap.pl deleted file mode 100755 index d265ebd1fb5..00000000000 --- a/Build/source/texk/texlive/linked_scripts/tetex/updmap.pl +++ /dev/null @@ -1,2306 +0,0 @@ -#!/usr/bin/env perl -# mupdmap: utility to maintain map files for outline fonts. -# $Id$ -# -# Copyright 2011, 2012 Norbert Preining -# This file is licensed under the GNU General Public License version 2 -# or any later version. -# -# History: -# Original shell script (C) 2002 Thomas Esser -# first perl variant (C) Fabrice Popineau -# later adaptions by Reinhard Kotucha and Karl Berry -# the original versions were licensed under the following agreement: -# Anyone may freely use, modify, and/or distribute this file, without -# limitation. -# -# TODO -# - check all other invocations -# - after TL2012? Maybe remove support for reading updmap-local.cfg -# - -my $TEXMFROOT; - -BEGIN { - $^W=1; - $TEXMFROOT = `kpsewhich -var-value=TEXMFROOT`; - if ($?) { - print STDERR "updmap: Cannot find TEXMFROOT, aborting!\n"; - exit 1; - } - chomp($TEXMFROOT); - unshift (@INC, "$TEXMFROOT/tlpkg"); -} - - -my $version = '$Id$'; - -use Getopt::Long qw(:config no_autoabbrev ignore_case_always); -use strict; -use TeXLive::TLUtils qw(mkdirhier mktexupd win32 basename dirname - sort_uniq member); - -#use Data::Dumper; -#$Data::Dumper::Indent = 1; - -(my $prg = basename($0)) =~ s/\.pl$//; - -# sudo sometimes does not reset the home dir of root, check on that -# see more comments at the definition of the function itself -# this function checks by itself whether it is running on windows or not -reset_root_home(); - -chomp(my $TEXMFMAIN = `kpsewhich --var-value=TEXMFMAIN`); -chomp(my $TEXMFVAR = `kpsewhich -var-value=TEXMFVAR`); -chomp(my $TEXMFCONFIG = `kpsewhich -var-value=TEXMFCONFIG`); -chomp(my $TEXMFHOME = `kpsewhich -var-value=TEXMFHOME`); - -# make sure that on windows *everything* is in lower case for comparison -if (win32()) { - $TEXMFMAIN = lc($TEXMFMAIN); - $TEXMFVAR = lc($TEXMFVAR); - $TEXMFCONFIG = lc($TEXMFCONFIG); - $TEXMFROOT = lc($TEXMFROOT); - $TEXMFHOME = lc($TEXMFHOME); -} - - -my %opts = ( quiet => 0, nohash => 0, nomkmap => 0 ); -my $alldata; -my $updLSR; - -my @cmdline_options = ( - "listfiles", - "cnffile=s@", - "copy", - "disable=s@", - "dvipdfmoutputdir=s", - "dvipdfmxoutputdir=s", - "dvipsoutputdir=s", - # the following does not work, Getopt::Long looses the first - # entry in a multi setting, treat it separately in processOptions - # furthermore, it is not supported by older perls, so do it differently - #"enable=s{1,2}", - "edit", - "force", - "listavailablemaps", - "listmaps|l", - "nohash", - "nomkmap", - "dry-run|n", - "outputdir=s", - "pdftexoutputdir=s", - "pxdvioutputdir=s", - "quiet|silent|q", - # the following is a correct specification of an option according - # to the manual, but it does not work! - # we will treat that option by itself in processOptions - # furthermore, it is not supported by older perls, so do it differently - #"setoption=s@{1,2}", - "showoptions=s@", - "showoption=s@", - "syncwithtrees", - "version", - "help|h", - # some debugging invocations - "_readsave=s", - ); - -my %settings = ( - dvipsPreferOutline => { - type => "binary", - default => "true", - }, - LW35 => { - type => "string", - possible => [ qw/URW URWkb ADOBE ADOBEkb/ ], - default => "URWkb", - }, - dvipsDownloadBase35 => { - type => "binary", - default => "true", - }, - pdftexDownloadBase14 => { - type => "binary", - default => "true", - }, - dvipdfmDownloadBase14 => { - type => "binary", - default => "true", - }, - pxdviUse => { - type => "binary", - default => "false", - }, - kanjiEmbed => { - type => "any", - default => "noEmbed", - }, - kanjiVariant => { - type => "any", - default => "", - }, -); - -&main(); - -############### - -sub main { - processOptions(); - - help() if $opts{'help'}; - - if ($opts{'version'}) { - print version(); - exit (0); - } - - if ($opts{'dvipdfmoutputdir'} && !defined($opts{'dvipdfmxoutputdir'})) { - $opts{'dvipdfmxoutputdir'} = $opts{'dvipdfmoutputdir'}; - printf STDERR "Using --dvipdfmoutputdir options for dvipdfmx, but please use --dvipdfmxoutputdir\n"; - } - - if ($opts{'dvipdfmoutputdir'} && $opts{'dvipdfmxoutputdir'} && - $opts{'dvipdfmoutputdir'} ne $opts{'dvipdfmxoutputdir'}) { - printf STDERR "Options for --dvipdfmoutputdir and --dvipdfmxoutputdir do not agree\nplease use only --dvipdfmxoutputdir. Exiting.\n"; - exit(1); - } - - if ($opts{'_readsave'}) { - read_updmap_files($opts{'_readsave'}); - merge_settings_replace_kanji(); - print "READING DONE ============================\n"; - #print Dumper($alldata); - $alldata->{'updmap'}{$opts{'_readsave'}}{'changed'} = 1; - save_updmap($opts{'_readsave'}); - exit 0; - } - - if ($opts{'showoptions'}) { - for my $o (@{$opts{'showoptions'}}) { - if (defined($settings{$o})) { - if ($settings{$o}{'type'} eq "binary") { - print "true false\n"; - } elsif ($settings{$o}{'type'} eq "string") { - print "@{$settings{$o}{'possible'}}\n"; - } elsif ($settings{$o}{'type'} eq "any") { - print "(any string)\n"; - } else { - print "strange: unknown type of option $o\nplease report\n"; - } - } else { - print "$prg: unknown option: $o\n"; - } - } - exit 0; - } - - # config file for changes - my $changes_config_file; - - # determine which config files should be used - # replaces the former "setupCfgFile" - # - # we also determine here where changes will be saved to - if ($opts{'cnffile'}) { - my @tmp; - for my $f (@{$opts{'cnffile'}}) { - if (! -f $f) { - die "$prg: Config file \"$f\" not found."; - } - push @tmp, (win32() ? lc($f) : $f); - } - @{$opts{'cnffile'}} = @tmp; - # in case that config files are given on the command line, the first - # in the list is the one where changes will be written to. - ($changes_config_file) = @{$opts{'cnffile'}}; - } else { - my @all_files = `kpsewhich -all updmap.cfg`; - chomp(@all_files); - my @used_files; - for my $f (@all_files) { - push @used_files, (win32() ? lc($f) : $f); - } - # - my $TEXMFLOCALVAR; - my @TEXMFLOCAL; - if (win32()) { - chomp($TEXMFLOCALVAR =`kpsewhich --expand-path=\$TEXMFLOCAL`); - @TEXMFLOCAL = map { lc } split(/;/ , $TEXMFLOCALVAR); - } else { - chomp($TEXMFLOCALVAR =`kpsewhich --expand-path='\$TEXMFLOCAL'`); - @TEXMFLOCAL = split /:/ , $TEXMFLOCALVAR; - } - # - # search for TEXMFLOCAL/web2c/updmap.cfg - # check for compatibility with old updmap-local.cfg - my @tmlused; - for my $tml (@TEXMFLOCAL) { - my $TMLabs = Cwd::abs_path($tml); - next if (!$TMLabs); - my $oldfound = 0; - if (-r "$TMLabs/web2c/updmap-local.cfg") { - push @tmlused, "$TMLabs/web2c/updmap-local.cfg"; - warning("Old configuration file\n $TMLabs/web2c/updmap-local.cfg\nfound! "); - $oldfound = 1; - } - if (-r "$TMLabs/web2c/updmap.cfg") { - if ($oldfound) { - warning("Will read it *instead* of\n $TMLabs/web2c/updmap.cfg\n"); - } else { - push @tmlused, "$TMLabs/web2c/updmap.cfg"; - } - } - warning("Please consider moving the information from updmap-local.cfg to\n $TMLabs/web2c/updmap.cfg\n") - if ($oldfound); - } - # - # reorder used files: we move TEXMFLOCAL (if used) just above TEXMFMAIN - # as sysadmins will probably adjust values there - # - # updmap (user): - # ============== - # as found: - # TEXMFCONFIG $HOME/.texliveYYYY/texmf-config/web2c/updmap.cfg - # TEXMFVAR $HOME/.texliveYYYY/texmf-var/web2c/updmap.cfg - # TEXMFHOME $HOME/texmf/web2c/updmap.cfg - # TEXMFSYSCONFIG $TEXLIVE/YYYY/texmf-config/web2c/updmap.cfg - # TEXMFSYSVAR $TEXLIVE/YYYY/texmf-var/web2c/updmap.cfg - # TEXMFMAIN $TEXLIVE/YYYY/texmf/web2c/updmap.cfg - # TEXMFLOCAL $TEXLIVE/texmf-local/web2c/updmap.cfg - # TEXMFDIST $TEXLIVE/YYYY/texmf-dist/web2c/updmap.cfg - # - # as used: - # TEXMFCONFIG $HOME/.texliveYYYY/texmf-config/web2c/updmap.cfg - # TEXMFVAR $HOME/.texliveYYYY/texmf-var/web2c/updmap.cfg - # TEXMFHOME $HOME/texmf/web2c/updmap.cfg - # TEXMFSYSCONFIG $TEXLIVE/YYYY/texmf-config/web2c/updmap.cfg - # TEXMFSYSVAR $TEXLIVE/YYYY/texmf-var/web2c/updmap.cfg - # TEXMFLOCAL $TEXLIVE/texmf-local/web2c/updmap.cfg - # TEXMFMAIN $TEXLIVE/YYYY/texmf/web2c/updmap.cfg - # TEXMFDIST $TEXLIVE/YYYY/texmf-dist/web2c/updmap.cfg - # - # updmap-sys (root): - # ================== - # as found: - # TEXMFSYSCONFIG $TEXLIVE/YYYY/texmf-config/web2c/updmap.cfg - # TEXMFSYSVAR $TEXLIVE/YYYY/texmf-var/web2c/updmap.cfg - # TEXMFMAIN $TEXLIVE/YYYY/texmf/web2c/updmap.cfg - # TEXMFLOCAL $TEXLIVE/texmf-local/web2c/updmap.cfg - # TEXMFDIST $TEXLIVE/YYYY/texmf-dist/web2c/updmap.cfg - # - # as used: - # TEXMFSYSCONFIG $TEXLIVE/YYYY/texmf-config/web2c/updmap.cfg - # TEXMFSYSVAR $TEXLIVE/YYYY/texmf-var/web2c/updmap.cfg - # TEXMFLOCAL $TEXLIVE/texmf-local/web2c/updmap.cfg - # TEXMFMAIN $TEXLIVE/YYYY/texmf/web2c/updmap.cfg - # TEXMFDIST $TEXLIVE/YYYY/texmf-dist/web2c/updmap.cfg - # - if (@tmlused) { - my @tmp; - for my $f (@used_files) { - if ($f =~ m!\Q$TEXMFMAIN/\E!) { - push @tmp, @tmlused; - push @tmp, $f; - } else { - my $pushit = 1; - for my $tml (@TEXMFLOCAL) { - if ($f =~ m!\Q$tml\E!) { - $pushit = 0; - last; - } - } - push @tmp, $f if ($pushit); - } - } - @used_files = @tmp; - } - @{$opts{'cnffile'}} = @used_files; - # - # determine the config file that we will use for changes - # if in the list of used files contains either one from - # TEXMFHOME or TEXMFCONFIG (which is TEXMFSYSCONFIG in the -sys case) - # then use the *top* file (which will be either one of the two), - # if none of the two exists, create a file in TEXMFCONFIG and use it - my $use_top = 0; - for my $f (@used_files) { - if ($f =~ m!(\Q$TEXMFHOME\E|\Q$TEXMFCONFIG\E)/web2c/updmap.cfg!) { - $use_top = 1; - last; - } - } - if ($use_top) { - ($changes_config_file) = @used_files; - } else { - # add the empty config file - my $dn = "$TEXMFCONFIG/web2c"; - $changes_config_file = "$dn/updmap.cfg"; - } - } - if (!$opts{'quiet'}) { - print "$prg is using the following updmap.cfg files (in precedence order):\n"; - for my $f (@{$opts{'cnffile'}}) { - print " $f\n"; - } - print "$prg is using the following updmap.cfg file for writing changes:\n"; - print " $changes_config_file\n"; - } - if ($opts{'listfiles'}) { - # we listed it above, so be done - exit 0; - } - - $alldata->{'changes_config'} = $changes_config_file; - - read_updmap_files(@{$opts{'cnffile'}}); - - if ($opts{'showoption'}) { - merge_settings_replace_kanji(); - for my $o (@{$opts{'showoption'}}) { - if (defined($settings{$o})) { - my ($v, $vo) = get_cfg($o); - $v = "\"$v\"" if ($v =~ m/\s/); - print "$o=$v ($vo)\n"; - } else { - printf STDERR "$prg: unknown option: $o\n"; - } - } - exit 0; - } - - if ($opts{'listmaps'}) { - merge_settings_replace_kanji(); - for my $m (keys %{$alldata->{'maps'}}) { - my $origin = $alldata->{'maps'}{$m}{'origin'}; - print $alldata->{'updmap'}{$origin}{'maps'}{$m}{'type'}, " $m ", - $alldata->{'updmap'}{$origin}{'maps'}{$m}{'status'}, " in $origin\n"; - } - exit 0; - } - - # we do changes always in the used config file with the highest - # priority - my $bakFile = $changes_config_file; - $bakFile =~ s/\.cfg$/.bak/; - my $changed = 0; - - if ($opts{'syncwithtrees'}) { - merge_settings_replace_kanji(); - my @missing = read_map_files(); - if (@missing) { - print "Missing map files found, disabling\n"; - for my $m (@missing) { - my $orig = $alldata->{'maps'}{$m}{'origin'}; - print "\t$m (in $orig)\n"; - } - print "in $changes_config_file\n"; - print "Do you really want to continue (y/N)? "; - my $answer = <STDIN>; - $answer = "n" if !defined($answer); - chomp($answer); - print "answer =$answer=\n"; - if ($answer ne "y" && $answer ne "Y") { - print "Please fix manually before running updmap(-sys) again!\n"; - exit 0; - } - $changed ||= enable_disable_maps(@missing); - print "finished.\n"; - # the original script did not run any update of the map files here, - # should we do that? - } - exit 0; - } - - $updLSR = &mktexupd(); - $updLSR->{mustexist}(0); - - my $cmd; - if ($opts{'edit'}) { - if ($opts{"dry-run"}) { - printf STDERR "No, are you joking, you want to edit with --dry-run?\n"; - exit 1; - } - # it's not a good idea to edit updmap.cfg manually these days, - # but for compatibility we'll silently keep the option. - $cmd = 'edit'; - my $editor = $ENV{'VISUAL'} || $ENV{'EDITOR'}; - $editor ||= (&win32 ? "notepad" : "vi"); - if (-r $changes_config_file) { - ©File($changes_config_file, $bakFile); - } else { - touch($bakFile); - touch($changes_config_file); - } - system($editor, $changes_config_file); - $changed = files_are_different($bakFile, $changes_config_file); - } elsif ($opts{'setoption'}) { - $cmd = 'setOption'; - $changed = setOptions (@{$opts{'setoption'}}); - } elsif ($opts{'enable'} || $opts{'disable'}) { - $cmd = 'enableMap'; - $changed ||= enable_disable_maps(@{$opts{'enable'}}, @{$opts{'disable'}}); - } - - - if ($cmd && !$opts{'force'} && !$changed) { - print "$changes_config_file unchanged. Map files not recreated.\n" - if !$opts{'quiet'}; - } else { - if (!$opts{'nomkmap'}) { - # before we continue we have to make sure that a newly created config - # file is acually used. So we have to push the $changes_config_file - # onto the list of available files. Since it is already properly - # initialized and the merging is done later, all settings should be - # honored - my @aaa = @{$alldata->{'order'}}; - unshift @aaa, $changes_config_file; - $alldata->{'order'} = [ @aaa ]; - # - setupOutputDir("dvips"); - setupOutputDir("pdftex"); - setupOutputDir("dvipdfmx"); - setupOutputDir("pxdvi"); - merge_settings_replace_kanji(); - my @missing = read_map_files(); - if (@missing) { - print STDERR "\nERROR: The following map file(s) couldn't be found:\n"; - for my $m (@missing) { - my $orig = $alldata->{'maps'}{$m}{'origin'}; - print STDERR "\t$m (in $orig)\n"; - } - print STDERR "\n\tDid you run mktexlsr?\n\n" . - "\tYou can disable non-existent map entries using the option\n". - "\t --syncwithtrees.\n\n"; - exit 1; - } - merge_data(); - # for inspecting the output - #print STDERR Data::Dumper->Dump([$alldata], [qw(mapdata)]); - #print Dumper($alldata); - mkMaps(); - } - unlink ($bakFile) if (-r $bakFile); - } - - if (!$opts{'nohash'}) { - print "$prg: Updating ls-R files.\n" if !$opts{'quiet'}; - $updLSR->{exec}() unless $opts{"dry-run"}; - } - - return 0; -} - -################################################################## -# -# - -sub getFonts { - my ($first, @rest) = @_; - my $getall = 0; - my @maps = (); - return if !defined($first); - if ($first eq "-all") { - $getall = 1; - @maps = @rest; - } else { - @maps = ($first, @rest); - } - my @lines = (); - for my $m (@maps) { - if (defined($alldata->{'maps'}{$m})) { - print LOG "\n" . $alldata->{'maps'}{$m}{'fullpath'} . ":\n" unless $opts{'dry-run'}; - push @lines, "% $m"; - for my $k (sort keys %{$alldata->{'maps'}{$m}{'fonts'}}) { - if ($getall || $alldata->{'fonts'}{$k}{'origin'} eq $m) { - if (defined($alldata->{'maps'}{$m}{'fonts'}{$k})) { - push @lines, "$k " . $alldata->{'maps'}{$m}{'fonts'}{$k}; - } else { - print "undefined fonts for $k in $m ?!?!?\n"; - } - print LOG "$k\n" unless $opts{'dry-run'}; - } - } - } - } - chomp @lines; - return @lines; -} - -############################################################################### -# writeLines() -# write the lines in $filename -# -sub writeLines { - my ($fname, @lines) = @_; - return if $opts{"dry-run"}; - map { ($_ !~ m/\n$/ ? s/$/\n/ : $_ ) } @lines; - open FILE, ">$fname" or die "$prg: can't write lines to $fname: $!"; - print FILE @lines; - close FILE; -} - -############################################################################### -# to_pdftex() -# if $pdftexStripEnc is set, strip "PS_Encoding_Name ReEncodeFont" -# from map entries; they are ignored by pdftex. But since the sh -# incarnation of updmap included them, and we want to minimize -# differences, this is not done by default. -# -sub to_pdftex { - my $pdftexStripEnc = 0; - return @_ unless $pdftexStripEnc; - my @in = @_; - my @out; - foreach my $line (@in) { - if ($line =~ /^(.*\s+)(\S+\s+ReEncodeFont\s)(.*)/) { - $line = "$1$3"; - $line =~ s/\s+\"\s+\"\s+/ /; - } - push @out, $line; - } - return @out; -} - -############################################################################### -# setupSymlinks() -# set symlink for psfonts.map according to dvipsPreferOutline variable -# -sub setupSymlinks { - my ($dvipsPreferOutline, $dvipsoutputdir, $pdftexDownloadBase14, $pdftexoutputdir) = @_; - my $src; - my %link; - my @link; - - if ($dvipsPreferOutline eq "true") { - $src = "psfonts_t1.map"; - } else { - $src = "psfonts_pk.map"; - } - unlink "$dvipsoutputdir/psfonts.map" unless $opts{"dry-run"}; - push @link, &SymlinkOrCopy("$dvipsoutputdir", "$src", "psfonts.map"); - - if ($pdftexDownloadBase14 eq "true") { - $src = "pdftex_dl14.map"; - } else { - $src = "pdftex_ndl14.map"; - } - unlink "$pdftexoutputdir/pdftex.map" unless $opts{"dry-run"}; - push @link, &SymlinkOrCopy("$pdftexoutputdir", "$src", "pdftex.map"); - %link = @link; - return \%link; -} - -############################################################################### -# SymlinkOrCopy(dir, src, dest) -# create symlinks if possible, otherwise copy files -# -sub SymlinkOrCopy { - my ($dir, $src, $dest) = @_; - return ($src, $dest) if $opts{"dry-run"}; - if (&win32 || $opts{'copy'}) { # always copy - ©File("$dir/$src", "$dir/$dest"); - } else { # symlink if supported by fs, copy otherwise - system("cd \"$dir\" && ln -s $src $dest 2>/dev/null || " - . "cp -p \"$dir/$src\" \"$dir/$dest\""); - } - # remember for "Files generated" in &mkMaps. - return ($dest, $src); -} - - -############################################################################### -# transLW35(mode args ...) -# transform fontname and filenames according to transformation specified -# by mode. Possible values: -# URW|URWkb|ADOBE|ADOBEkb -# -sub transLW35 { - my ($mode, @lines) = @_; - - my @psADOBE = ( - 's/ URWGothicL-Demi / AvantGarde-Demi /', - 's/ URWGothicL-DemiObli / AvantGarde-DemiOblique /', - 's/ URWGothicL-Book / AvantGarde-Book /', - 's/ URWGothicL-BookObli / AvantGarde-BookOblique /', - 's/ URWBookmanL-DemiBold / Bookman-Demi /', - 's/ URWBookmanL-DemiBoldItal / Bookman-DemiItalic /', - 's/ URWBookmanL-Ligh / Bookman-Light /', - 's/ URWBookmanL-LighItal / Bookman-LightItalic /', - 's/ NimbusMonL-Bold / Courier-Bold /', - 's/ NimbusMonL-BoldObli / Courier-BoldOblique /', - 's/ NimbusMonL-Regu / Courier /', - 's/ NimbusMonL-ReguObli / Courier-Oblique /', - 's/ NimbusSanL-Bold / Helvetica-Bold /', - 's/ NimbusSanL-BoldCond / Helvetica-Narrow-Bold /', - 's/ NimbusSanL-BoldItal / Helvetica-BoldOblique /', - 's/ NimbusSanL-BoldCondItal / Helvetica-Narrow-BoldOblique /', - 's/ NimbusSanL-Regu / Helvetica /', - 's/ NimbusSanL-ReguCond / Helvetica-Narrow /', - 's/ NimbusSanL-ReguItal / Helvetica-Oblique /', - 's/ NimbusSanL-ReguCondItal / Helvetica-Narrow-Oblique /', - 's/ CenturySchL-Bold / NewCenturySchlbk-Bold /', - 's/ CenturySchL-BoldItal / NewCenturySchlbk-BoldItalic /', - 's/ CenturySchL-Roma / NewCenturySchlbk-Roman /', - 's/ CenturySchL-Ital / NewCenturySchlbk-Italic /', - 's/ URWPalladioL-Bold / Palatino-Bold /', - 's/ URWPalladioL-BoldItal / Palatino-BoldItalic /', - 's/ URWPalladioL-Roma / Palatino-Roman /', - 's/ URWPalladioL-Ital / Palatino-Italic /', - 's/ StandardSymL / Symbol /', - 's/ NimbusRomNo9L-Medi / Times-Bold /', - 's/ NimbusRomNo9L-MediItal / Times-BoldItalic /', - 's/ NimbusRomNo9L-Regu / Times-Roman /', - 's/ NimbusRomNo9L-ReguItal / Times-Italic /', - 's/ URWChanceryL-MediItal / ZapfChancery-MediumItalic /', - 's/ Dingbats / ZapfDingbats /', - ); - - my @fileADOBEkb = ( - 's/\buagd8a.pfb\b/pagd8a.pfb/', - 's/\buagdo8a.pfb\b/pagdo8a.pfb/', - 's/\buagk8a.pfb\b/pagk8a.pfb/', - 's/\buagko8a.pfb\b/pagko8a.pfb/', - 's/\bubkd8a.pfb\b/pbkd8a.pfb/', - 's/\bubkdi8a.pfb\b/pbkdi8a.pfb/', - 's/\bubkl8a.pfb\b/pbkl8a.pfb/', - 's/\bubkli8a.pfb\b/pbkli8a.pfb/', - 's/\bucrb8a.pfb\b/pcrb8a.pfb/', - 's/\bucrbo8a.pfb\b/pcrbo8a.pfb/', - 's/\bucrr8a.pfb\b/pcrr8a.pfb/', - 's/\bucrro8a.pfb\b/pcrro8a.pfb/', - 's/\buhvb8a.pfb\b/phvb8a.pfb/', - 's/\buhvb8ac.pfb\b/phvb8an.pfb/', - 's/\buhvbo8a.pfb\b/phvbo8a.pfb/', - 's/\buhvbo8ac.pfb\b/phvbo8an.pfb/', - 's/\buhvr8a.pfb\b/phvr8a.pfb/', - 's/\buhvr8ac.pfb\b/phvr8an.pfb/', - 's/\buhvro8a.pfb\b/phvro8a.pfb/', - 's/\buhvro8ac.pfb\b/phvro8an.pfb/', - 's/\buncb8a.pfb\b/pncb8a.pfb/', - 's/\buncbi8a.pfb\b/pncbi8a.pfb/', - 's/\buncr8a.pfb\b/pncr8a.pfb/', - 's/\buncri8a.pfb\b/pncri8a.pfb/', - 's/\buplb8a.pfb\b/pplb8a.pfb/', - 's/\buplbi8a.pfb\b/pplbi8a.pfb/', - 's/\buplr8a.pfb\b/pplr8a.pfb/', - 's/\buplri8a.pfb\b/pplri8a.pfb/', - 's/\busyr.pfb\b/psyr.pfb/', - 's/\butmb8a.pfb\b/ptmb8a.pfb/', - 's/\butmbi8a.pfb\b/ptmbi8a.pfb/', - 's/\butmr8a.pfb\b/ptmr8a.pfb/', - 's/\butmri8a.pfb\b/ptmri8a.pfb/', - 's/\buzcmi8a.pfb\b/pzcmi8a.pfb/', - 's/\buzdr.pfb\b/pzdr.pfb/', - ); - - my @fileURW = ( - 's/\buagd8a.pfb\b/a010015l.pfb/', - 's/\buagdo8a.pfb\b/a010035l.pfb/', - 's/\buagk8a.pfb\b/a010013l.pfb/', - 's/\buagko8a.pfb\b/a010033l.pfb/', - 's/\bubkd8a.pfb\b/b018015l.pfb/', - 's/\bubkdi8a.pfb\b/b018035l.pfb/', - 's/\bubkl8a.pfb\b/b018012l.pfb/', - 's/\bubkli8a.pfb\b/b018032l.pfb/', - 's/\bucrb8a.pfb\b/n022004l.pfb/', - 's/\bucrbo8a.pfb\b/n022024l.pfb/', - 's/\bucrr8a.pfb\b/n022003l.pfb/', - 's/\bucrro8a.pfb\b/n022023l.pfb/', - 's/\buhvb8a.pfb\b/n019004l.pfb/', - 's/\buhvb8ac.pfb\b/n019044l.pfb/', - 's/\buhvbo8a.pfb\b/n019024l.pfb/', - 's/\buhvbo8ac.pfb\b/n019064l.pfb/', - 's/\buhvr8a.pfb\b/n019003l.pfb/', - 's/\buhvr8ac.pfb\b/n019043l.pfb/', - 's/\buhvro8a.pfb\b/n019023l.pfb/', - 's/\buhvro8ac.pfb\b/n019063l.pfb/', - 's/\buncb8a.pfb\b/c059016l.pfb/', - 's/\buncbi8a.pfb\b/c059036l.pfb/', - 's/\buncr8a.pfb\b/c059013l.pfb/', - 's/\buncri8a.pfb\b/c059033l.pfb/', - 's/\buplb8a.pfb\b/p052004l.pfb/', - 's/\buplbi8a.pfb\b/p052024l.pfb/', - 's/\buplr8a.pfb\b/p052003l.pfb/', - 's/\buplri8a.pfb\b/p052023l.pfb/', - 's/\busyr.pfb\b/s050000l.pfb/', - 's/\butmb8a.pfb\b/n021004l.pfb/', - 's/\butmbi8a.pfb\b/n021024l.pfb/', - 's/\butmr8a.pfb\b/n021003l.pfb/', - 's/\butmri8a.pfb\b/n021023l.pfb/', - 's/\buzcmi8a.pfb\b/z003034l.pfb/', - 's/\buzdr.pfb\b/d050000l.pfb/', - ); - - my @fileADOBE = ( - 's/\buagd8a.pfb\b/agd_____.pfb/', - 's/\buagdo8a.pfb\b/agdo____.pfb/', - 's/\buagk8a.pfb\b/agw_____.pfb/', - 's/\buagko8a.pfb\b/agwo____.pfb/', - 's/\bubkd8a.pfb\b/bkd_____.pfb/', - 's/\bubkdi8a.pfb\b/bkdi____.pfb/', - 's/\bubkl8a.pfb\b/bkl_____.pfb/', - 's/\bubkli8a.pfb\b/bkli____.pfb/', - 's/\bucrb8a.pfb\b/cob_____.pfb/', - 's/\bucrbo8a.pfb\b/cobo____.pfb/', - 's/\bucrr8a.pfb\b/com_____.pfb/', - 's/\bucrro8a.pfb\b/coo_____.pfb/', - 's/\buhvb8a.pfb\b/hvb_____.pfb/', - 's/\buhvb8ac.pfb\b/hvnb____.pfb/', - 's/\buhvbo8a.pfb\b/hvbo____.pfb/', - 's/\buhvbo8ac.pfb\b/hvnbo___.pfb/', - 's/\buhvr8a.pfb\b/hv______.pfb/', - 's/\buhvr8ac.pfb\b/hvn_____.pfb/', - 's/\buhvro8a.pfb\b/hvo_____.pfb/', - 's/\buhvro8ac.pfb\b/hvno____.pfb/', - 's/\buncb8a.pfb\b/ncb_____.pfb/', - 's/\buncbi8a.pfb\b/ncbi____.pfb/', - 's/\buncr8a.pfb\b/ncr_____.pfb/', - 's/\buncri8a.pfb\b/nci_____.pfb/', - 's/\buplb8a.pfb\b/pob_____.pfb/', - 's/\buplbi8a.pfb\b/pobi____.pfb/', - 's/\buplr8a.pfb\b/por_____.pfb/', - 's/\buplri8a.pfb\b/poi_____.pfb/', - 's/\busyr.pfb\b/sy______.pfb/', - 's/\butmb8a.pfb\b/tib_____.pfb/', - 's/\butmbi8a.pfb\b/tibi____.pfb/', - 's/\butmr8a.pfb\b/tir_____.pfb/', - 's/\butmri8a.pfb\b/tii_____.pfb/', - 's/\buzcmi8a.pfb\b/zcmi____.pfb/', - 's/\buzdr.pfb\b/zd______.pfb/', - ); - - if ($mode eq "" || $mode eq "URWkb") { - # do nothing - } elsif ($mode eq "URW") { - for my $r (@fileURW) { - map { eval($r); } @lines; - } - } elsif ($mode eq "ADOBE" || $mode eq "ADOBEkb") { - for my $r (@psADOBE) { - map { eval($r); } @lines; - } - my @filemode = eval ("\@file" . $mode); - for my $r (@filemode) { - map { eval($r); } @lines; - } - } - return @lines; -} - -############################################################################### -# cidx2dvips() -# reads from stdin, writes to stdout. It transforms "cid-x"-like syntax into -# "dvips"-like syntax. -# -# Specifying the PS Name: -# dvips needs the PSname instead of the file name. Thus we allow specifying -# the PSname in the comment: -# The PS Name can be specified in the font definition line -# by including the following sequence somewhere after the -# other components: -# -# %!PS<SPACE-TAB><PSNAME><NON-WORD-CHAR-OR-EOL> -# -# where -# <SPACE-TAB> is either a space or a tab character -# <PSNAME> is *one* word, defined by \w\w* perl re -# <NON-WORD-CHAR-OR-EOL> is a non-\w char or the end of line -# -# That means we could have -# ... %here the PS font name: %!PS fontname some other comment -# ... %!PS fontname %other comments -# ... %!PS fontname -# -############################################################################### - -# reimplementation of the cryptic code that was there before -sub cidx2dvips { - my ($s) = @_; - my %fname_psname = ( - # Morisawa - 'A-OTF-FutoGoB101Pr6N-Bold' => 'FutoGoB101Pr6N-Bold', - 'A-OTF-FutoGoB101Pro-Bold' => 'FutoGoB101Pro-Bold', - 'A-OTF-FutoMinA101Pr6N-Bold' => 'FutoMinA101Pr6N-Bold', - 'A-OTF-FutoMinA101Pro-Bold' => 'FutoMinA101Pro-Bold', - 'A-OTF-GothicBBBPr6N-Medium' => 'GothicBBBPr6N-Medium', - 'A-OTF-GothicBBBPro-Medium' => 'GothicBBBPro-Medium', - 'A-OTF-Jun101Pr6N-Light' => 'Jun101Pr6N-Light', - 'A-OTF-Jun101Pro-Light' => 'Jun101Pro-Light', - 'A-OTF-MidashiGoPr6N-MB31' => 'MidashiGoPr6N-MB31', - 'A-OTF-MidashiGoPro-MB31' => 'MidashiGoPro-MB31', - 'A-OTF-RyuminPr6N-Light' => 'RyuminPr6N-Light', - 'A-OTF-RyuminPro-Light' => 'RyuminPro-Light', - # Hiragino font file names and PS names are the same - # - # IPA - 'ipaexg' => 'IPAexGothic', - 'ipaexm' => 'IPAexMincho', - 'ipag' => 'IPAGothic', - 'ipam' => 'IPAMincho', - # - # Kozuka font names and PS names are the same - ); - my @d; - foreach (@$s) { - # ship empty lines and comment lines out as is - if (m/^\s*(%.*)?$/) { - push(@d, $_); - next; - } - # get rid of new lines for now - chomp; - # save the line for warnings - my $l = $_; - # first check whether a PSname is given - my $psname; - # - # the matching on \w* is greedy, so will take all the word chars available - # that means we do not need to test for end of word - if ($_ =~ m/%!PS\s\s*([0-9A-Za-z-_][0-9A-Za-z-_]*)/) { - $psname = $1; - } - # remove comments - s/[^0-9A-Za-z-_]*%.*$//; - # replace supported ",SOMETHING" constructs - my $italicmax = 0; - if (m/,BoldItalic/) { - $italicmax = .3; - s/,BoldItalic//; - } - s/,Bold//; - if (m/,Italic/) { - $italicmax = .3; - s/,Italic//; - } - # break out if unsupported constructs are found: @ / , - next if (m![\@/,]!); - # make everything single spaced - s/\s\s*/ /g; - # unicode encoded fonts are not supported - next if (m!^\w\w* unicode !); - # now we have the following format - # <word> <word> <word> some options like -e or -s - if ($_ !~ m/([^ ][^ ]*) ([^ ][^ ]*) ([^ ][^ ]*)( (.*))?$/) { - print STDERR "cidx2dvips warning: Cannot translate font line:\n==> $l\n"; - print STDERR "Current translation status: ==>$_==\n"; - next; - } - my $tfmname = $1; - my $cid = $2; - my $fname = $3; - my $opts = (defined($5) ? " $5" : ""); - # remove extensions from $fname - $fname =~ s/\.[Oo][Tt][Ff]//; - $fname =~ s/\.[Tt][Tt][FfCc]//; - # remove leading ! from $fname - $fname =~ s/^!//; - # remove leading :<number>: from $fname - $fname =~ s/:[0-9]+://; - # remove leading space from $opt - $opts =~ s/^\s+//; - # replace -e and -s in the options - $opts =~ s/-e ([.0-9-][.0-9-]*)/ "$1 ExtendFont"/; - if (m/-s ([.0-9-][.0-9-]*)/) { - if ($italicmax > 0) { - # we have already a definition of SlantFont via ,Italic or ,BoldItalic - # warn the user that larger one is kept - print STDERR "cidx2dvips: warning: Double slant specified via Italic and -s:\n==> $l\n==> Using only the biggest slant value.\n"; - } - $italicmax = $1 if ($1 > $italicmax); - $opts =~ s/-s ([.0-9-][.0-9-]*)//; - } - if ($italicmax != 0) { - $opts .= " \"$italicmax SlantFont\""; - } - # print out the result - if (defined($psname)) { - push @d, "$tfmname $psname-$cid$opts\n"; - } else { - if (defined($fname_psname{$fname})) { - push @d, "$tfmname $fname_psname{$fname}-$cid$opts\n"; - } else { - push @d, "$tfmname $fname-$cid$opts\n"; - } - } - } - return @d; -} - -sub cidx2dvips_old { - my ($s) = @_; - my @d; - foreach (@$s) { - if (m/^%/) { - push(@d, $_); - next; - } - s/,BoldItalic/ -s .3/; - s/,Bold//; - s/,Italic/ -s .3/; - s/\s\s*/ /g; - if ($_ =~ /.*[@\:\/,]/) {next;} - elsif ($_ =~ /^[^ ][^ ]* unicode /) {next;} - s/^([^ ][^ ]* [^ ][^ ]* [^ ][^ ]*)\.[Oo][Tt][Ff]/$1/; - s/^([^ ][^ ]* [^ ][^ ]* [^ ][^ ]*)\.[Tt][Tt][FfCc]/$1/; - s/$/ %/; - s/^(([^ ]*).*)/$1$2/; - s/^([^ ][^ ]* ([^ ][^ ]*) !*([^ ][^ ]*).*)/$1 $3-$2/; - s/^(.* -e ([.0-9-][.0-9-]*).*)/$1 "$2 ExtendFont"/; - s/^(.* -s ([.0-9-][.0-9-]*).*)/$1 "$2 SlantFont"/; - s/.*%//; - push(@d, $_); - } - return @d -} - -sub get_cfg { - my ($v) = @_; - if (defined($alldata->{'merged'}{'setting'}{$v})) { - return ( $alldata->{'merged'}{'setting'}{$v}{'val'}, - $alldata->{'merged'}{'setting'}{$v}{'origin'} ); - } else { - return ($settings{$v}{'default'}, "default"); - } -} - -sub mkMaps { - my $logfile; - - $logfile = "$TEXMFVAR/web2c/updmap.log"; - - if (! $opts{'dry-run'}) { - mkdirhier("$TEXMFVAR/web2c"); - open LOG, ">$logfile" - or die "$prg: Can't open log file \"$logfile\": $!"; - print LOG &version(); - printf LOG "%s\n\n", scalar localtime(); - print LOG "Using the following config files:\n"; - for (@{$opts{'cnffile'}}) { - print LOG " $_\n"; - } - } - sub print_and_log { - my $str=shift; - print $str if !$opts{'quiet'}; - print LOG $str unless $opts{'dry-run'}; - } - sub only_log { - print LOG shift unless $opts{'dry-run'}; - } - - my ($mode, $mode_origin) = get_cfg('LW35'); - my ($dvipsPreferOutline, $dvipsPreferOutline_origin) = - get_cfg('dvipsPreferOutline'); - my ($dvipsDownloadBase35, $dvipsDownloadBase35_origin) = - get_cfg('dvipsDownloadBase35'); - my ($pdftexDownloadBase14, $pdftexDownloadBase14_origin) = - get_cfg('pdftexDownloadBase14'); - my ($pxdviUse, $pxdviUse_origin) = get_cfg('pxdviUse'); - my ($kanjiEmbed, $kanjiEmbed_origin) = get_cfg('kanjiEmbed'); - my ($kanjiVariant, $kanjiVariant_origin) = get_cfg('kanjiVariant'); - - print_and_log ("\n$prg is creating new map files" - . "\nusing the following configuration:" - . "\n LW35 font names : " - . "$mode ($mode_origin)" - . "\n prefer outlines : " - . "$dvipsPreferOutline ($dvipsPreferOutline_origin)" - . "\n texhash enabled : " - . ($opts{'nohash'} ? "false" : "true") - . "\n download standard fonts (dvips) : " - . "$dvipsDownloadBase35 ($dvipsDownloadBase35_origin)" - . "\n download standard fonts (pdftex) : " - . "$pdftexDownloadBase14 ($pdftexDownloadBase14_origin)" - . "\n kanjiEmbed replacement string : " - . "$kanjiEmbed ($kanjiEmbed_origin)" - . "\n kanjiVariant replacement string : " - . "$kanjiVariant ($kanjiVariant_origin)" - . "\n create a mapfile for pxdvi : " - . "$pxdviUse ($pxdviUse_origin)" - . "\n\n"); - - print_and_log ("Scanning for LW35 support files"); - my $dvips35 = $alldata->{'maps'}{"dvips35.map"}{'fullpath'}; - my $pdftex35 = $alldata->{'maps'}{"pdftex35.map"}{'fullpath'}; - my $ps2pk35 = $alldata->{'maps'}{"ps2pk35.map"}{'fullpath'}; - my $LW35 = "\n$dvips35\n$pdftex35\n$ps2pk35\n\n"; - only_log ("\n"); - only_log ($LW35); - print_and_log (" [ 3 files]\n"); - only_log ("\n"); - - print_and_log ("Scanning for MixedMap entries"); - my @mixedmaps; - my @notmixedmaps; - my @kanjimaps; - for my $m (keys %{$alldata->{'maps'}}) { - my $origin = $alldata->{'maps'}{$m}{'origin'}; - next if !defined($origin); - next if ($alldata->{'updmap'}{$origin}{'maps'}{$m}{'status'} eq "disabled"); - push @mixedmaps, $m - if ($alldata->{'updmap'}{$origin}{'maps'}{$m}{'type'} eq "MixedMap"); - push @notmixedmaps, $m - if ($alldata->{'updmap'}{$origin}{'maps'}{$m}{'type'} eq "Map"); - push @kanjimaps, $m - if ($alldata->{'updmap'}{$origin}{'maps'}{$m}{'type'} eq "KanjiMap"); - } - - @mixedmaps = sort @mixedmaps; - @notmixedmaps = sort @notmixedmaps; - @kanjimaps = sort @kanjimaps; - only_log("\n"); - foreach my $m (sort @mixedmaps) { - if (defined($alldata->{'maps'}{$m}{'fullpath'})) { - only_log($alldata->{'maps'}{$m}{'fullpath'} . "\n"); - } else { - only_log("$m (full path not set?)\n"); - } - } - only_log("\n"); - print_and_log (sprintf(" [%3d files]\n", scalar @mixedmaps)); - only_log("\n"); - - print_and_log ("Scanning for KanjiMap entries"); - only_log("\n"); - foreach my $m (@kanjimaps) { - if (defined($alldata->{'maps'}{$m}{'fullpath'})) { - only_log($alldata->{'maps'}{$m}{'fullpath'} . "\n"); - } else { - only_log("$m (full path not set?)\n"); - } - } - only_log("\n"); - print_and_log (sprintf(" [%3d files]\n", scalar @kanjimaps)); - only_log("\n"); - - print_and_log ("Scanning for Map entries"); - only_log("\n"); - foreach my $m (@notmixedmaps) { - if (defined($alldata->{'maps'}{$m}{'fullpath'})) { - only_log($alldata->{'maps'}{$m}{'fullpath'} . "\n"); - } else { - only_log("$m (full path not set?)\n"); - } - } - only_log("\n"); - print_and_log (sprintf(" [%3d files]\n\n", scalar @notmixedmaps)); - only_log("\n"); - - # Create psfonts_t1.map, psfonts_pk.map, ps2pk.map and pdftex.map: - my $dvipsoutputdir = $opts{'dvipsoutputdir'}; - my $pdftexoutputdir = $opts{'pdftexoutputdir'}; - my $dvipdfmxoutputdir = $opts{'dvipdfmxoutputdir'}; - my $pxdvioutputdir = $opts{'pxdvioutputdir'}; - if (!$opts{'dry-run'}) { - my @managed_files = ("$dvipsoutputdir/download35.map", - "$dvipsoutputdir/builtin35.map", - "$dvipsoutputdir/psfonts_t1.map", - "$dvipsoutputdir/psfonts_pk.map", - "$pdftexoutputdir/pdftex_dl14.map", - "$pdftexoutputdir/pdftex_ndl14.map", - "$dvipdfmxoutputdir/kanjix.map", - "$dvipsoutputdir/ps2pk.map"); - push @managed_files, "$pxdvioutputdir/xdvi-ptex.map" - if ($pxdviUse eq "true"); - for my $file (@managed_files) { - open FILE, ">$file"; - print FILE "% $file:\ -% maintained by updmap[-sys] (multi).\ -% Don't change this file directly. Use updmap[-sys] instead.\ -% See the updmap documentation.\ -% A log of the run that created this file is available here:\ -% $logfile\ -"; - close FILE; - } - } - - my @kanjimaps_fonts = getFonts(@kanjimaps); - @kanjimaps_fonts = &normalizeLines(@kanjimaps_fonts); - my @ps2pk_fonts = getFonts('-all', "ps2pk35.map"); - my @dvips35_fonts = getFonts('-all', "dvips35.map"); - my @pdftex35_fonts = getFonts('-all', "pdftex35.map"); - my @mixedmaps_fonts = getFonts(@mixedmaps); - my @notmixedmaps_fonts = getFonts(@notmixedmaps); - - print "Generating output for dvipdfmx...\n" if !$opts{'quiet'}; - &writeLines(">$dvipdfmxoutputdir/kanjix.map", @kanjimaps_fonts); - - if ($pxdviUse eq "true") { - # we use the very same data as for kanjix.map, but generate - # a different file, so that in case a user wants to hand-craft it - print "Generating output for pxdvi...\n" if !$opts{'quiet'}; - &writeLines(">$pxdvioutputdir/xdvi-ptex.map", @kanjimaps_fonts); - } - - - print "Generating output for ps2pk...\n" if !$opts{'quiet'}; - my @ps2pk_map; - push @ps2pk_map, "% ps2pk35.map"; - push @ps2pk_map, transLW35($mode, @ps2pk_fonts); - push @ps2pk_map, @mixedmaps_fonts; - push @ps2pk_map, @notmixedmaps_fonts; - &writeLines(">$dvipsoutputdir/ps2pk.map", - normalizeLines(@ps2pk_map)); - - print "Generating output for dvips...\n" if !$opts{'quiet'}; - my @download35_map; - push @download35_map, "% ps2pk35.map"; - push @download35_map, transLW35($mode, @ps2pk_fonts); - &writeLines(">$dvipsoutputdir/download35.map", - normalizeLines(@download35_map)); - - my @builtin35_map; - push @builtin35_map, "% dvips35.map"; - push @builtin35_map, transLW35($mode, @dvips35_fonts); - &writeLines(">$dvipsoutputdir/builtin35.map", - normalizeLines(@builtin35_map)); - - my @dftdvips_fonts = - (($dvipsDownloadBase35 eq "true") ? @ps2pk_fonts : @dvips35_fonts); - - my @psfonts_t1_map; - if ($dvipsDownloadBase35 eq "true") { - push @psfonts_t1_map, "% ps2pk35.map"; - @dftdvips_fonts = @ps2pk_fonts; - } else { - push @psfonts_t1_map, "% dvips35.map"; - @dftdvips_fonts = @dvips35_fonts; - } - push @psfonts_t1_map, transLW35($mode, @dftdvips_fonts); - my @tmpkanji2 = cidx2dvips(\@kanjimaps_fonts); - push @psfonts_t1_map, @mixedmaps_fonts; - push @psfonts_t1_map, @notmixedmaps_fonts; - push @psfonts_t1_map, @tmpkanji2; - &writeLines(">$dvipsoutputdir/psfonts_t1.map", - normalizeLines(@psfonts_t1_map)); - - my @psfonts_pk_map; - push @psfonts_pk_map, transLW35($mode, @dftdvips_fonts); - push @psfonts_pk_map, @notmixedmaps_fonts; - push @psfonts_pk_map, @tmpkanji2; - &writeLines(">$dvipsoutputdir/psfonts_pk.map", - normalizeLines(@psfonts_pk_map)); - - print "Generating output for pdftex...\n" if !$opts{'quiet'}; - # remove PaintType due to Sebastian's request - my @pdftexmaps_ndl; - push @pdftexmaps_ndl, "% pdftex35.map"; - push @pdftexmaps_ndl, transLW35($mode, @pdftex35_fonts); - push @pdftexmaps_ndl, @mixedmaps_fonts; - push @pdftexmaps_ndl, @notmixedmaps_fonts; - @pdftexmaps_ndl = grep { $_ !~ m/(^%\|PaintType)/ } @pdftexmaps_ndl; - - my @pdftexmaps_dl; - push @pdftexmaps_dl, "% ps2pk35.map"; - push @pdftexmaps_dl, transLW35($mode, @ps2pk_fonts); - push @pdftexmaps_dl, @mixedmaps_fonts; - push @pdftexmaps_dl, @notmixedmaps_fonts; - @pdftexmaps_dl = grep { $_ !~ m/(^%\|PaintType)/ } @pdftexmaps_dl; - - my @pdftex_ndl14_map = @pdftexmaps_ndl; - @pdftex_ndl14_map = &normalizeLines(@pdftex_ndl14_map); - @pdftex_ndl14_map = &to_pdftex(@pdftex_ndl14_map); - &writeLines(">$pdftexoutputdir/pdftex_ndl14.map", @pdftex_ndl14_map); - - my @pdftex_dl14_map = @pdftexmaps_dl; - @pdftex_dl14_map = &normalizeLines(@pdftex_dl14_map); - @pdftex_dl14_map = &to_pdftex(@pdftex_dl14_map); - &writeLines(">$pdftexoutputdir/pdftex_dl14.map", @pdftex_dl14_map); - - our $link = &setupSymlinks($dvipsPreferOutline, $dvipsoutputdir, $pdftexDownloadBase14, $pdftexoutputdir); - - print_and_log ("\nFiles generated:\n"); - sub dir { - my ($d, $f, $target)=@_; - our $link; - if (-e "$d/$f") { - my @stat=lstat("$d/$f"); - my ($s,$m,$h,$D,$M,$Y)=localtime($stat[9]); - my $timestamp=sprintf ("%04d-%02d-%02d %02d:%02d:%02d", - $Y+1900, $M+1, $D, $h, $m, $s); - my $date=sprintf "%12d %s %s", $stat[7], $timestamp, $f; - print_and_log ($date); - - if (-l "$d/$f") { - my $lnk=sprintf " -> %s\n", readlink ("$d/$f"); - print_and_log ($lnk); - } elsif ($f eq $target) { - if (&files_are_identical("$d/$f", "$d/" . $link->{$target})) { - print_and_log (" = $link->{$target}\n"); - } else { - print_and_log (" = ?????\n"); # This shouldn't happen. - } - } else { - print_and_log ("\n"); - } - } else { - print STDERR "Warning: File $d/$f doesn't exist.\n"; - print LOG "Warning: File $d/$f doesn't exist.\n" - unless $opts{'dry-run'}; - } - } - - my $d; - $d = "$dvipsoutputdir"; - print_and_log(" $d:\n"); - foreach my $f ('builtin35.map', 'download35.map', 'psfonts_pk.map', - 'psfonts_t1.map', 'ps2pk.map', 'psfonts.map') { - dir ($d, $f, 'psfonts.map'); - $updLSR->{add}("$d/$f") unless $opts{'dry-run'}; - } - $d = "$pdftexoutputdir"; - print_and_log(" $d:\n"); - foreach my $f ('pdftex_dl14.map', 'pdftex_ndl14.map', 'pdftex.map') { - dir ($d, $f, 'pdftex.map'); - $updLSR->{add}("$d/$f") unless $opts{'dry-run'}; - } - $d="$dvipdfmxoutputdir"; - print_and_log(" $d:\n"); - foreach my $f ('kanjix.map') { - dir ($d, $f, ''); - $updLSR->{add}("$d/$f") unless $opts{'dry-run'}; - } - if ($pxdviUse eq "true") { - $d="$pxdvioutputdir"; - print_and_log(" $d:\n"); - foreach my $f ('xdvi-ptex.map') { - dir ($d, $f, ''); - $updLSR->{add}("$d/$f") unless $opts{'dry-run'}; - } - } - close LOG unless $opts{'dry-run'}; - print "\nTranscript written on \"$logfile\".\n" if !$opts{'quiet'}; - -} - - -sub locateMap { - my $map = shift; - my $ret = `kpsewhich --format=map $map`; - chomp($ret); - return $ret; -} - -sub processOptions { - # first process the stupid setoption= s@{1,2} which is not accepted - # furthermore, try to work around missing s{1,2} support in older perls - my $oldconfig = Getopt::Long::Configure(qw(pass_through)); - our @setoptions; - our @enable; - sub read_one_or_two { - my ($opt, $val) = @_; - our @setoptions; - our @enable; - # check if = occirs in $val, if not, get the next argument - if ($val =~ m/=/) { - if ($opt eq "setoption") { - push @setoptions, $val; - } else { - push @enable, $val; - } - } else { - my $vv = shift @ARGV; - die "Try \"$prg --help\" for more information.\n" - if !defined($vv); - if ($opt eq "setoption") { - push @setoptions, "$val=$vv"; - } else { - push @enable, "$val=$vv"; - } - } - } - GetOptions("setoption=s@" => \&read_one_or_two, - "enable=s@" => \&read_one_or_two) or - die "Try \"$prg --help\" for more information.\n"; - - @{$opts{'setoption'}} = @setoptions if (@setoptions); - @{$opts{'enable'}} = @enable if (@enable); - - Getopt::Long::Configure($oldconfig); - - # now continue with normal option handling - - GetOptions(\%opts, @cmdline_options) or - die "Try \"$prg --help\" for more information.\n"; -} - -# determines the output dir for driver from cmd line, or if not given -# from TEXMFVAR -sub setupOutputDir { - my $driver = shift; - if (!$opts{$driver . "outputdir"}) { - if ($opts{'outputdir'}) { - $opts{$driver . "outputdir"} = $opts{'outputdir'}; - } else { - $opts{$driver . "outputdir"} = "$TEXMFVAR/fonts/map/$driver/updmap"; - } - } - my $od = $opts{$driver . "outputdir"}; - if (!$opts{"dry-run"}) { - &mkdirhier($od); - if (! -w $od) { - die "$prg: Directory \"$od\" isn't writable: $!"; - } - } - print "$driver output dir: \"$od\"\n" if !$opts{'quiet'}; - return $od; -} - -############################################################################### -# setOption (@options) -# parse @options for "key=value" (one element of @options) -# we can only have "key=value" since that is the way it was prepared -# in process_options -# (These were the values provided to --setoption.) -# -sub setOptions { - my (@options) = @_; - for (my $i = 0; $i < @options; $i++) { - my $o = $options[$i]; - - my ($key,$val) = split (/=/, $o, 2); - - die "$prg: unexpected empty key or val for options (@options), goodbye.\n" - if !$key || !defined($val); - - &setOption ($key, $val); - } - return save_updmap($alldata->{'changes_config'}); -} - -sub enable_disable_maps { - my (@what) = @_; - my $tc = $alldata->{'changes_config'}; - die "$prg: top config file $tc has not been read." - if (!defined($alldata->{'updmap'}{$tc})); - my $changed = 0; - - for my $w (@what) { - if ($w =~ m/=/) { - # this is --enable MapType=MapName - my ($type, $map) = split ('=', $w); - enable_map($tc, $type, $map); - } else { - # this is --disable MapName - disable_map($tc, $w); - } - } - return save_updmap($tc); -} - -sub enable_map { - my ($tc, $type, $map) = @_; - - die "$prg: invalid mapType $type" if ($type !~ m/^(Map|MixedMap|KanjiMap)$/); - - if (defined($alldata->{'updmap'}{$tc}{'maps'}{$map})) { - # the map data has already been read in, no special precautions necessary - if (($alldata->{'updmap'}{$tc}{'maps'}{$map}{'status'} eq "enabled") && - ($alldata->{'updmap'}{$tc}{'maps'}{$map}{'type'} eq $type)) { - # nothing to do here ... be happy! - return; - } else { - $alldata->{'updmap'}{$tc}{'maps'}{$map}{'status'} = "enabled"; - $alldata->{'updmap'}{$tc}{'maps'}{$map}{'type'} = $type; - $alldata->{'maps'}{$map}{'origin'} = $tc; - $alldata->{'maps'}{$map}{'status'} = "enabled"; - $alldata->{'updmap'}{$tc}{'changed'} = 1; - } - } else { - # add a new map file! - $alldata->{'updmap'}{$tc}{'maps'}{$map}{'type'} = $type; - $alldata->{'updmap'}{$tc}{'maps'}{$map}{'status'} = "enabled"; - $alldata->{'updmap'}{$tc}{'maps'}{$map}{'line'} = -1; - $alldata->{'updmap'}{$tc}{'changed'} = 1; - $alldata->{'maps'}{$map}{'origin'} = $tc; - $alldata->{'maps'}{$map}{'status'} = "enabled"; - } -} - -sub disable_map { - my ($tc, $map) = @_; - - if (defined($alldata->{'updmap'}{$tc}{'maps'}{$map})) { - # the map data has already been read in, no special precautions necessary - if ($alldata->{'updmap'}{$tc}{'maps'}{$map}{'status'} eq "disabled") { - # nothing to do here ... be happy! - } else { - $alldata->{'updmap'}{$tc}{'maps'}{$map}{'status'} = "disabled"; - $alldata->{'maps'}{$map}{'origin'} = $tc; - $alldata->{'maps'}{$map}{'status'} = "disabled"; - $alldata->{'updmap'}{$tc}{'changed'} = 1; - } - } else { - # disable a Map type that might be activated in a lower ranked updmap.cfg - if (!defined($alldata->{'maps'}{$map})) { - warning("Map is not present anywhere, why should I disable it?\n"); - return; - } - my $orig = $alldata->{'maps'}{$map}{'origin'}; - # add a new entry to the top level where we disable it - # copy over the type from the last entry - $alldata->{'updmap'}{$tc}{'maps'}{$map}{'type'} = - $alldata->{'updmap'}{$orig}{'maps'}{$map}{'type'}; - $alldata->{'updmap'}{$tc}{'maps'}{$map}{'status'} = "disabled"; - $alldata->{'updmap'}{$tc}{'maps'}{$map}{'line'} = -1; - # rewrite the origin - $alldata->{'maps'}{$map}{'origin'} = $tc; - $alldata->{'maps'}{$map}{'status'} = "disabled"; - # go on for writing - $alldata->{'updmap'}{$tc}{'changed'} = 1; - } -} - - -# returns 1 if actually saved due to changes -sub save_updmap { - my $fn = shift; - return if $opts{'dry-run'}; - my %upd = %{$alldata->{'updmap'}{$fn}}; - if ($upd{'changed'}) { - mkdirhier(dirname($fn)); - open (FN, ">$fn") || die "$prg: can't write to $fn: $!"; - my @lines = @{$upd{'lines'}}; - if (!@lines) { - print "Creating new config file $fn\n"; - # update lsR database - $updLSR->{add}($fn); - $updLSR->{exec}(); - # reset the LSR stuff, otherwise we add files several times - $updLSR->{reset}(); - } - # collect the lines with data - my %line_to_setting; - my %line_to_map; - my @add_setting; - my @add_map; - if (defined($upd{'setting'})) { - for my $k (keys %{$upd{'setting'}}) { - if ($upd{'setting'}{$k}{'line'} == -1) { - push @add_setting, $k; - } else { - $line_to_setting{$upd{'setting'}{$k}{'line'}} = $k; - } - } - } - if (defined($upd{'maps'})) { - for my $k (keys %{$upd{'maps'}}) { - if ($upd{'maps'}{$k}{'line'} == -1) { - push @add_map, $k; - } else { - $line_to_map{$upd{'maps'}{$k}{'line'}} = $k; - } - } - } - for my $i (0..$#lines) { - if (defined($line_to_setting{$i})) { - my $k = $line_to_setting{$i}; - my $v = $upd{'setting'}{$k}{'val'}; - print FN "$k $v\n"; - } elsif (defined($line_to_map{$i})) { - my $m = $line_to_map{$i}; - my $rm; - if (defined($upd{'maps'}{$m}{'original'})) { - # we have the case that @noEmbed@ was replaced by the respective - # setting. Before writing out we have to replace this back with - # the original line!A - $rm = $upd{'maps'}{$m}{'original'}; - } else { - $rm = $m; - } - my $t = $upd{'maps'}{$m}{'type'}; - my $p = ($upd{'maps'}{$m}{'status'} eq "disabled" ? "#! " : ""); - print FN "$p$t $rm\n"; - } else { - print FN "$lines[$i]\n"; - } - } - # add the new settings and maps - for my $k (@add_setting) { - my $v = $upd{'setting'}{$k}{'val'}; - print FN "$k $v\n"; - } - for my $m (@add_map) { - my $t = $upd{'maps'}{$m}{'type'}; - my $p = ($upd{'maps'}{$m}{'status'} eq "disabled" ? "#! " : ""); - print FN "$p$t $m\n"; - } - close(FN) || warn("Cannot close file handle for $fn: $!"); - delete $alldata->{'updmap'}{$fn}{'changed'}; - return 1; - } - return 0; -} - -###################### -# check for correct option value -# -sub check_option { - my ($opt, $val) = @_; - if ((($settings{$opt}{'type'} eq "binary") && - $val ne "true" && $val ne "false") || - (($settings{$opt}{'type'} eq "string") && - !member($val, @{$settings{$opt}{'possible'}}))) { - return 0; - } - return 1; -} - -############################################################################### -# setOption (conf_file, option, value) -# sets option to value in the config file (replacing the existing setting -# or by adding a new line to the config file). -# -sub setOption { - my ($opt, $val) = @_; - - die "$prg: Unsupported option $opt." if (!defined($settings{$opt})); - die "$0: Invalid value $val for option $opt." - if (!check_option($opt, $val)); - - # silently accept this old option name, just in case. - return if $opt eq "dvipdfmDownloadBase14"; - - #print "Setting option $opt to $val...\n" if !$opts{'quiet'}; - my $tc = $alldata->{'changes_config'}; - - die "$prg: top config file $tc has not been read." - if (!defined($alldata->{'updmap'}{$tc})); - - if (defined($alldata->{'updmap'}{$tc}{'setting'}{$opt}{'val'})) { - # the value is already set, do nothing - if ($alldata->{'updmap'}{$tc}{'setting'}{$opt}{'val'} eq $val) { - return; - } - $alldata->{'updmap'}{$tc}{'setting'}{$opt}{'val'} = $val; - $alldata->{'updmap'}{$tc}{'changed'} = 1; - } else { - $alldata->{'updmap'}{$tc}{'setting'}{$opt}{'val'} = $val; - $alldata->{'updmap'}{$tc}{'setting'}{$opt}{'line'} = -1; - $alldata->{'updmap'}{$tc}{'changed'} = 1; - } -} - - -############################################################################### -# copyFile() -# copy file $src to $dst, sets $dst creation and mod time -# -sub copyFile { - my ($src, $dst) = @_; - my $dir; - ($dir=$dst)=~s/(.*)\/.*/$1/; - mkdirhier($dir); - - $src eq $dst && return "can't copy $src to itself!\n"; - - open IN, "<$src" or die "$0: can't open source file $src for copying: $!"; - open OUT, ">$dst"; - - binmode(IN); - binmode(OUT); - print OUT <IN>; - close(OUT); - close(IN); - my @t = stat($src); - utime($t[8], $t[9], $dst); -} - -############################################################################### -# files_are_identical(file_A, file_B) -# compare two files. Same as cmp(1). -# -sub files_are_identical { - my $file_A=shift; - my $file_B=shift; - my $retval=0; - - open IN, "$file_A"; - my $A=(<IN>); - close IN; - open IN, "$file_B"; - my $B=(<IN>); - close IN; - - $retval=1 if ($A eq $B); - return $retval; -} - -############################################################################### -# files_are_different(file_A, file_B[, comment_char]) -# compare two equalized files. -# -sub files_are_different { - my $file_A=shift; - my $file_B=shift; - my $comment=shift; - my $retval=0; - - my $A=equalize_file("$file_A", $comment); - my $B=equalize_file("$file_B", $comment); - $retval=1 unless ($A eq $B); - return $retval; -} - -############################################################################### -# equalize_file(filename[, comment_char]) -# read a file and return its processed content as a string. -# look into the source code for more details. -# -sub equalize_file { - my $file=shift; - my $comment=shift; - my @temp; - - open IN, "$file"; - my @lines = (<IN>); - close IN; - chomp(@lines); - - for (@lines) { - s/\s*${comment}.*// if (defined $comment); # remove comments - next if /^\s*$/; # remove empty lines - s/\s+/ /g; # replace multiple whitespace chars by a single one - push @temp, $_; - } - return join('X', sort(@temp)); -} - -############################################################################### -# normalizeLines() -# not the original function, we want it to keep comments, that are -# anyway only the file names we are adding! -# whitespace is exactly one space, no empty lines, -# no whitespace at end of line, one space before and after " -# -sub normalizeLines { - my @lines = @_; - my %count = (); - - # @lines = grep { $_ !~ m/^[*#;%]/ } @lines; - map {$_ =~ s/\s+/ /gx } @lines; - @lines = grep { $_ !~ m/^\s*$/x } @lines; - map { $_ =~ s/\s$//x ; - $_ =~ s/\s*\"\s*/ \" /gx; - $_ =~ s/\" ([^\"]*) \"/\"$1\"/gx; - } @lines; - - # @lines = grep {++$count{$_} < 2 } (sort @lines); - @lines = grep {++$count{$_} < 2 } (@lines); - - return @lines; -} - - -################################################################# -# -# reading updmap-cfg files and the actual map files -# -# the following hash saves *all* the information and is passed around -# we do not fill everything from the very beginning to make sure that -# we only read what is necessary (speed!) -# -# initialized by main -# $alldata->{'changes_config'} = the config file where changes are saved -# -# initialized by read_updmap_files -# $alldata->{'order'} = [ list of updmap in decreasing priority ] -# $alldata->{'updmap'}{$full_path_name_of_updmap}{'lines'} = \@lines -# $alldata->{'updmap'}{$full_path_name_of_updmap}{'setting'}{$key}{'val'} = $val -# $alldata->{'updmap'}{$full_path_name_of_updmap}{'setting'}{$key}{'line'} = $i -# $alldata->{'updmap'}{$full_path_name_of_updmap}{'maps'}{$mapname}{'type'} -# = 'Map'|'MixedMap'|'KanjiMap'|'disabled' -# $alldata->{'updmap'}{$full_path_name_of_updmap}{'maps'}{$mapname}{'status'} -# = 'enabled'|'disabled' -# $alldata->{'updmap'}{$full_path_name_of_updmap}{'maps'}{$mapname}{'line'} = $i -# $alldata->{'maps'}{$m}{'origin'} = $updmap_path_name -# $alldata->{'maps'}{$m}{'status'} = enabled | disabled -# -# initialized by read_map_files -# $alldata->{'maps'}{$m}{'fonts'}{$font} = $definition -# $alldata->{'fonts'}{$f}{'origin'} = $map -# -# initialized by merge_data -# $alldata->{'merged'}{'setting'}{$key}{'val'} = $val -# $alldata->{'merged'}{'setting'}{$key}{'origin'} = $origin_updmap_cfg -# $alldata->{'merged'}{'allMaps'}{'fonts'}{$fontdef} = $rest -# $alldata->{'merged'}{'noMixedMaps'}{'fonts'}{$fontdef} = $rest -# $alldata->{'merged'}{'KanjiMaps'}{'fonts'}{$fontdef} = $rest -# - -sub read_updmap_files { - my (@l) = @_; - for my $l (@l) { - my $updmap = read_updmap_file($l); - $alldata->{'updmap'}{$l}{'lines'} = $updmap->{'lines'}; - if (defined($updmap->{'setting'})) { - for my $k (keys %{$updmap->{'setting'}}) { - $alldata->{'updmap'}{$l}{'setting'}{$k}{'val'} = $updmap->{'setting'}{$k}{'val'}; - $alldata->{'updmap'}{$l}{'setting'}{$k}{'line'} = $updmap->{'setting'}{$k}{'line'}; - } - } - if (defined($updmap->{'maps'})) { - for my $k (keys %{$updmap->{'maps'}}) { - $alldata->{'updmap'}{$l}{'maps'}{$k}{'type'} = $updmap->{'maps'}{$k}{'type'}; - $alldata->{'updmap'}{$l}{'maps'}{$k}{'status'} = $updmap->{'maps'}{$k}{'status'}; - $alldata->{'updmap'}{$l}{'maps'}{$k}{'line'} = $updmap->{'maps'}{$k}{'line'}; - } - } - } - # in case the changes_config is a new one read it in and initialize it here - my $cc = $alldata->{'changes_config'}; - if (! -r $cc) { - $alldata->{'updmap'}{$cc}{'lines'} = [ ]; - } - # - $alldata->{'order'} = \@l; -} - -sub merge_settings_replace_kanji { - # - my @l = @{$alldata->{'order'}}; - # - # for security clean out everything that was there - %{$alldata->{'merged'}} = (); - # - # first read in the settings - # we read it in *reverse* order and simple fill up the combined data - # thus if there are multiple definitions/settings, the one coming from - # the first in the original list will win! - for my $l (reverse @l) { - # merge settings - if (defined($alldata->{'updmap'}{$l}{'setting'})) { - for my $k (keys %{$alldata->{'updmap'}{$l}{'setting'}}) { - $alldata->{'merged'}{'setting'}{$k}{'val'} = $alldata->{'updmap'}{$l}{'setting'}{$k}{'val'}; - $alldata->{'merged'}{'setting'}{$k}{'origin'} = $l; - } - } - } - # - my ($kanjiEmbed, $kanjiEmbed_origin) = get_cfg('kanjiEmbed'); - my ($kanjiVariant, $kanjiVariant_origin) = get_cfg('kanjiVariant'); - # - # go through all map files and check that the text is properly replaced - # after the replacement check that the generated map file actually - # exists, we do NOT want to break in this case! - # - for my $l (@l) { - for my $m (keys %{$alldata->{'updmap'}{$l}{'maps'}}) { - if ($m =~ m/\@kanjiEmbed@/ || $m =~ m/\@kanjiVariant@/) { - my $newm = $m; - $newm =~ s/\@kanjiEmbed@/$kanjiEmbed/; - $newm =~ s/\@kanjiVariant@/$kanjiVariant/; - if (locateMap($newm)) { - # now we have to update various linked items - $alldata->{'updmap'}{$l}{'maps'}{$newm}{'type'} = - $alldata->{'updmap'}{$l}{'maps'}{$m}{'type'}; - $alldata->{'updmap'}{$l}{'maps'}{$newm}{'status'} = - $alldata->{'updmap'}{$l}{'maps'}{$m}{'status'}; - $alldata->{'updmap'}{$l}{'maps'}{$newm}{'line'} = - $alldata->{'updmap'}{$l}{'maps'}{$m}{'line'}; - $alldata->{'updmap'}{$l}{'maps'}{$newm}{'original'} = $m; - } else { - print "$prg: generated map $newm (from $m) does not exists, not activating it!\n"; - } - # in any case delete the @kanji...@ entry line, such a map will - # never exist - delete $alldata->{'updmap'}{$l}{'maps'}{$m}; - } - } - } - # - # first round determine which maps should be used and which type, as - # different updmap.cfg files might specify different types of maps - # (MixedMap or Map or KanjiMap). - # Again, we have to do that in reverse order - for my $l (reverse @l) { - if (defined($alldata->{'updmap'}{$l}{'maps'})) { - for my $m (keys %{$alldata->{'updmap'}{$l}{'maps'}}) { - $alldata->{'maps'}{$m}{'origin'} = $l; - $alldata->{'maps'}{$m}{'status'} = $alldata->{'updmap'}{$l}{'maps'}{$m}{'status'}; - } - } - } -} - -sub read_updmap_file { - my $fn = shift; - my $is_old_local = ($fn =~ m/updmap-local.cfg/ ? 1 : 0); - my %data; - if (!open(FN,"<$fn")) { - die ("Cannot read $fn: $!"); - } - # we count lines from 0 ..!!!! - my $i = -1; - my @lines = <FN>; - chomp(@lines); - $data{'lines'} = [ @lines ]; - close(FN) || warn("Cannot close $fn: $!"); - for (@lines) { - $i++; - chomp; - if ($is_old_local) { - # in case we read an old updmap-local.cfg we have to make sure - # that the disable lines - # ^#!foo.map - # are rewritten to proper disable lines - # ^#! Map foo.map - # we are guessing here the type of the map (namely Map) - $_ =~ s/^#!([^ ])/#! Map $1/; - } - next if /^\s*$/; - next if /^\s*#$/; - next if /^\s*#[^!]/; - next if /^\s*##/; - next if /^#![^ ]/; - # allow for commands on the line itself - s/([^#].*)#.*$/$1/; - my ($a, $b, @rest) = split ' '; - # make sure we get empty strings as arguments - $b = "" if (!defined($b)); - if ($a eq "#!") { - if ($b eq "Map" || $b eq "MixedMap" || $b eq "KanjiMap") { - my $c = shift @rest; - if (!defined($c)) { - warning("$prg: apparently not a real disable line, ignored: $_\n"); - } else { - if (defined($data{'maps'}{$c})) { - warning("$prg: double mention of $c in $fn\n"); - } - $data{'maps'}{$c}{'status'} = 'disabled'; - $data{'maps'}{$c}{'type'} = $b; - $data{'maps'}{$c}{'line'} = $i; - } - } - next; - } - if (@rest) { - warning("$prg: line $i in $fn contains a syntax error, more than two words!\n"); - } - if (defined($settings{$a})) { - if (check_option($a, $b)) { - $data{'setting'}{$a}{'val'} = $b; - $data{'setting'}{$a}{'line'} = $i; - } else { - warning("$prg: unknown setting for $a: $b, ignored!\n"); - } - } elsif ($a eq "Map" || $a eq "MixedMap" || $a eq "KanjiMap") { - if (defined($data{'maps'}{$b}) && $data{'maps'}{$b}{'type'} ne $a) { - warning("$prg: double mention of $b with conflicting types in $fn\n"); - } else { - $data{'maps'}{$b}{'type'} = $a; - $data{'maps'}{$b}{'status'} = 'enabled'; - $data{'maps'}{$b}{'line'} = $i; - } - } else { - warning("$prg: unrecognized line $i in $fn: $_\n"); - } - } - return \%data; -} - -sub read_map_files { - if (!defined($alldata->{'updmap'})) { - return; - } - my @missing; - my @l = @{$alldata->{'order'}}; - # first collect all the map files we are interested in - # and determine whether they exist, and get their full path - my @maps; - for my $f (@l) { - next if !defined($alldata->{'updmap'}{$f}{'maps'}); - for my $m (keys %{$alldata->{'updmap'}{$f}{'maps'}}) { - # only read a map file if its final status is enabled! - push @maps, $m if ($alldata->{'maps'}{$m}{'status'} eq 'enabled'); - } - } - for my $m (qw/dvips35.map pdftex35.map ps2pk35.map/) { - push @maps, $m; - $alldata->{'maps'}{$m}{'status'} = 'enabled'; - } - @maps = sort_uniq(@maps); - my @fullpath = `kpsewhich --format=map @maps`; - chomp @fullpath; - foreach my $map (@maps) { - my ($ff) = grep /\/$map(\.map)?$/, @fullpath; - if ($ff) { - $alldata->{'maps'}{$map}{'fullpath'} = $ff; - } else { - # if the map file is not found, then push it onto the list of - # missing map files, since we know that it is enabled - push @missing, $map; - } - } - - # - # read in the three basic fonts definition maps - for my $m (qw/dvips35.map pdftex35.map ps2pk35.map/) { - my $ret = read_map_file($alldata->{'maps'}{$m}{'fullpath'}); - my @ff = (); - for my $font (keys %$ret) { - $alldata->{'fonts'}{$font}{'origin'} = $m; - $alldata->{'maps'}{$m}{'fonts'}{$font} = $ret->{$font}; - } - } - # we read the updmap in reverse directions, since we - # replace the origin field of font definition always with the - # top one - for my $f (reverse @l) { - my @maps = keys %{$alldata->{'updmap'}{$f}{'maps'}}; - for my $m (@maps) { - # we do not read a map file multiple times, if $alldata{'maps'}{$m} is - # defined we expect that it was read and do skip it - next if defined($alldata->{'maps'}{$m}{'fonts'}); - # we do not read a map files content if it is disabled - next if ($alldata->{'maps'}{$m}{'status'} eq 'disabled'); - if (!defined($alldata->{'maps'}{$m}{'fullpath'})) { - # we have already pushed these map files onto the list of missing - # map files, so do nothing here - next; - } - my $ret = read_map_file($alldata->{'maps'}{$m}{'fullpath'}); - if (defined($ret)) { - for my $font (keys %$ret) { - if (defined($alldata->{'fonts'}{$font})) { - # we got another definition, warn on that - # if the origin is not defined by now, the font is defined - # multiple times in the same map file, otherwise it is - # defined in another map file already - if (defined($alldata->{'fonts'}{$font}{'origin'})) { - my $fontorig = $alldata->{'fonts'}{$font}{'origin'}; - my $maporig; - if (($fontorig eq "ps2pk35.map") || - ($fontorig eq "pdftex35.map") || - ($fontorig eq "dvips35.map")) { - $maporig = "built in map - both used - warning!"; - } else { - $maporig = "from " . $alldata->{'maps'}{$fontorig}{'origin'}; - } - warning("$prg: font $font is defined multiple times:\n"); - warning("$prg: $fontorig ($maporig)\n"); - warning("$prg: $m (from $f) (used)\n"); - } else { - warning("$prg: font $font is multiply defined in $m, using an arbitrary instance!\n"); - } - } - $alldata->{'fonts'}{$font}{'origin'} = $m; - $alldata->{'maps'}{$m}{'fonts'}{$font} = $ret->{$font}; - } - } - } - } - return (@missing); -} - -sub read_map_file { - my $fn = shift; - my @lines; - if (!open(MF,"<$fn")) { - warn("cannot open $fn: $!"); - return; - } - @lines = <MF>; - close(MF); - chomp(@lines); - my %data; - for (@lines) { - next if /^\s*#/; - next if /^\s*%/; - next if /^\s*$/; - my ($a, $b) = split(' ', $_, 2); - $data{$a} = $b; - } - return \%data; -} - -# -# merging the various font definitions -# -sub merge_data { - my @l = @{$alldata->{'order'}}; - # - # now merge the data - # - for my $m (keys %{$alldata->{'maps'}}) { - my $origin = $alldata->{'maps'}{$m}{'origin'}; - next if !defined($origin); - next if ($alldata->{'updmap'}{$origin}{'maps'}{$m}{'status'} eq "disabled"); - for my $f (keys %{$alldata->{'maps'}{$m}{'fonts'}}) { - # use the font definition only for those fonts where the origin matches - if ($alldata->{'fonts'}{$f}{'origin'} eq $m) { - $alldata->{'merged'}{'allMaps'}{'fonts'}{$f} = - $alldata->{'maps'}{$m}{'fonts'}{$f} - if ($alldata->{'updmap'}{$origin}{'maps'}{$m}{'type'} ne "KanjiMap"); - $alldata->{'merged'}{'noMixedMaps'}{'fonts'}{$f} = - $alldata->{'maps'}{$m}{'fonts'}{$f} - if ($alldata->{'updmap'}{$origin}{'maps'}{$m}{'type'} eq "Map"); - $alldata->{'merged'}{'KanjiMap'}{'fonts'}{$f} = - $alldata->{'maps'}{$m}{'fonts'}{$f} - if ($alldata->{'updmap'}{$origin}{'maps'}{$m}{'type'} eq "KanjiMap"); - } - } - } -} - - -# -# $HOME and sudo and updmap-sys horror -# some instances of sudo do not reset $HOME to the home of root -# as an effect of "sudo updmap" creates root owned files in the home -# of a normal user, and "sudo updmap-sys" uses map files and updmap.cfg -# files from the directory of a normal user, but creating files -# in TEXMFSYSCONFIG. This is *all* wrong. -# we check: if we are running as UID 0 (root) on Unix and the -# ENV{HOME} is NOT the same as the one of root, then give a warning -# and reset it to the real home dir of root. - -sub reset_root_home { - if (!win32() && ($> == 0)) { # $> is effective uid - my $envhome = $ENV{'HOME'}; - # if $HOME isn't an existing directory, we don't care. - if (defined($envhome) && (-d $envhome)) { - # we want to avoid calling getpwuid as far as possible, so if - # $envhome is one of some usual values we accept it without worrying. - if ($envhome =~ m,^(/|/root|/var/root)/*$,) { - return; - } - # $HOME is defined, check what is the home of root in reality - my (undef,undef,undef,undef,undef,undef,undef,$roothome) = getpwuid(0); - if (defined($roothome)) { - if ($envhome ne $roothome) { - warning("$prg: resetting \$HOME value (was $envhome) to root's " - . "actual home ($roothome).\n"); - $ENV{'HOME'} = $roothome; - } else { - # envhome and roothome do agree, nothing to do, that is the good case - } - } else { - warning("$prg: home of root not defined, strange!\n"); - } - } - } -} - -sub warning { - print STDERR @_; -} - -# -# help, version etc etc -# - -sub version { - my $ret = sprintf "%s (TeX Live, multi) version %s\n", $prg, $version; - return $ret; -} - -sub help { - my $usage = <<"EOF"; -Usage: $prg [OPTION] ... [COMMAND] - or: $prg-sys [OPTION] ... [COMMAND] - -Update the default font map files used by pdftex, dvips, and dvipdfm(x), -and optionally pxdvi, as determined by all configuration files updmap.cfg -(the ones returned by running "kpsewhich --all updmap.cfg", but see below). - -Among other things, these map files are used to determine which fonts -should be used as bitmaps and which as outlines, and to determine which -font files are included in the PDF or PostScript output. - -By default, the TeX filename database (ls-R) is also updated. - -Options: - --cnffile FILE read FILE for the updmap configuration - (can be given multiple times, in which case - all the files are used) - --dvipdfmxoutputdir DIR specify output directory (dvipdfm(x) syntax) - --dvipsoutputdir DIR specify output directory (dvips syntax) - --pdftexoutputdir DIR specify output directory (pdftex syntax) - --pxdvioutputdir DIR specify output directory (pxdvi syntax) - --outputdir DIR specify output directory (for all files) - --copy cp generic files rather than using symlinks - --force recreate files even if config hasn't changed - --nomkmap do not recreate map files - --nohash do not run texhash - -n, --dry-run only show the configuration, no output - --quiet, --silent reduce verbosity - -Commands: - --help show this message and exit - --version show version information and exit - --showoption OPTION show the current setting of OPTION - --showoptions OPTION show possible settings for OPTION - --setoption OPTION VALUE set OPTION to value; option names below - --setoption OPTION=VALUE as above, just different syntax - --enable MAPTYPE MAPFILE add "MAPTYPE MAPFILE" to updmap.cfg, - where MAPTYPE is Map, MixedMap, or KanjiMap - --enable Map=MAPFILE add \"Map MAPFILE\" to updmap.cfg - --enable MixedMap=MAPFILE add \"MixedMap MAPFILE\" to updmap.cfg - --enable KanjiMap=MAPFILE add \"KanjiMap MAPFILE\" to updmap.cfg - --disable MAPFILE disable MAPFILE, of whatever type - --listmaps list all active and inactive maps - --listavailablemaps same as --listmaps, but without - unavailable map files - --syncwithtrees disable unavailable map files in updmap.cfg - -Explanation of the map types: the (only) difference between Map and -MixedMap is that MixedMap entries are not added to psfonts_pk.map. -The purpose is to help users with devices that render Type 1 outline -fonts worse than mode-tuned Type 1 bitmap fonts. So, MixedMap is used -for fonts that are available as both Type 1 and Metafont. -KanjiMap entries are added to psfonts_t1.map and kanjix.map. - -Explanation of the OPTION names for --showoptions, --showoption, --setoption: - - dvipsPreferOutline true|false (default true) - Whether dvips uses bitmaps or outlines, when both are available. - dvipsDownloadBase35 true|false (default true) - Whether dvips includes the standard 35 PostScript fonts in its output. - pdftexDownloadBase14 true|false (default true) - Whether pdftex includes the standard 14 PDF fonts in its output. - pxdviUse true|false (default false) - Whether maps for pxdvi (Japanese-patched xdvi) are under updmap's control. - kanjiEmbed (any string) - kanjiVariant (any string) - See below. - LW35 URWkb|URW|ADOBEkb|ADOBE (default URWkb) - Adapt the font and file names of the standard 35 PostScript fonts. - URWkb URW fonts with "berry" filenames (e.g. uhvbo8ac.pfb) - URW URW fonts with "vendor" filenames (e.g. n019064l.pfb) - ADOBEkb Adobe fonts with "berry" filenames (e.g. phvbo8an.pfb) - ADOBE Adobe fonts with "vendor" filenames (e.g. hvnbo___.pfb) - - These options are only read and acted on by updmap; dvips, pdftex, etc., - do not know anything about them. They work by changing the default map - file which the programs read, so they can be overridden by specifying - command-line options or configuration files to the programs, as - explained at the beginning of updmap.cfg. - - The options kanjiEmbed and kanjiVariant specify special replacements - in the map lines. If a map contains the string \@kanjiEmbed\@, then - this will be replaced by the value of that option; similarly for - kanjiVariant. In this way, users of Japanese TeX can select different - fonts to be included in the final output. - -Explanation of trees and files normally used: - - If --cnffile is specified on the command line (possibly multiple - times), its value(s) are used. Otherwise, updmap reads all the - updmap.cfg files found by running \`kpsewhich -all updmap.cfg', in the - order returned by kpsewhich, with one exception: an updmap.cfg found - in TEXMFLOCAL is given higher priority than the updmap.cfg in - TEXMFMAIN, to ensure that local adjustments by administrators take - precedence over what is shipped in TeX Live. - - In any case, if multiple updmap.cfg files are found, all the maps - mentioned in all the updmap.cfg files are merged. - - Thus, if updmap.cfg files are present in all trees, and the default - layout is used as shipped with TeX Live, the following files are - read, in the given order. - - For updmap-sys: - TEXMFSYSCONFIG \$TEXLIVE/YYYY/texmf-config/web2c/updmap.cfg - TEXMFSYSVAR \$TEXLIVE/YYYY/texmf-var/web2c/updmap.cfg - TEXMFLOCAL \$TEXLIVE/texmf-local/web2c/updmap.cfg - TEXMFMAIN \$TEXLIVE/YYYY/texmf/web2c/updmap.cfg - TEXMFDIST \$TEXLIVE/YYYY/texmf-dist/web2c/updmap.cfg - - For updmap: - TEXMFCONFIG \$HOME/.texliveYYYY/texmf-config/web2c/updmap.cfg - TEXMFVAR \$HOME/.texliveYYYY/texmf-var/web2c/updmap.cfg - TEXMFHOME \$HOME/texmf/web2c/updmap.cfg - TEXMFSYSCONFIG \$TEXLIVE/YYYY/texmf-config/web2c/updmap.cfg - TEXMFSYSVAR \$TEXLIVE/YYYY/texmf-var/web2c/updmap.cfg - TEXMFLOCAL \$TEXLIVE/texmf-local/web2c/updmap.cfg - TEXMFMAIN \$TEXLIVE/YYYY/texmf/web2c/updmap.cfg - TEXMFDIST \$TEXLIVE/YYYY/texmf-dist/web2c/updmap.cfg - - (where YYYY is the TeX Live release version). - - There is another exception to keep upgradability from earlier versions - of TeX Live: if a file TEXMFLOCAL/web2c/updmap-local.cfg exists - (formerly used by tlmgr to merge local fonts), then the file - TEXMFLOCAL/web2c/updmap.cfg is ignored (if it exists) and that - updmap-local.cfg is used instead. In this case, updmap recognizes the - previous syntax for disabling map files in updmap-local.cfg (this - syntax is different from what is used now). - - According to the actions, updmap might write to one of the given files - or create a new updmap.cfg, described further below. - - Where changes are saved: if config files are given on the command - line, then the first one given will be used to save any changes from - --setoption, --enable or --disable. If the config files are taken - from kpsewhich output, then the algorithm is more complex: - - 1) If \$TEXMFCONFIG/web2c/updmap.cfg or \$TEXMFHOME/web2c/updmap.cfg - appears in the list of used files, then the one listed first by - kpsewhich --all (equivalently, the one returned by kpsewhich - updmap.cfg), is used. - - 2) If neither of the above two are present and changes are made, a - new config file is created in \$TEXMFCONFIG/web2c/updmap.cfg. - - Resolving multiple definitions of a font: - If a font is defined in more than one map file, then the definition - coming from the first-listed updmap.cfg is used. If a font is - defined multiple times within the same map file, one is chosen - arbitrarily. In both cases a warning is issued. - - Disabling maps: - updmap.cfg files with higher priority (listed earlier) can disable - maps mentioned in lower priority (listed later) updmap.cfg files by - writing, e.g., - \#! Map mapname.map - or - \#! MixedMap mapname.map - in the higher-priority updmap.cfg file. - - As an example, suppose you have a copy of MathTime Pro fonts - and want to disable the Belleek version of the fonts; that is, - disable the map belleek.map. You can create the file - \$TEXMFCONFIG/web2c/updmap.cfg with the content - #! Map belleek.map - Map mt-plus.map - Map mt-yy.map - and call $prg. - - updmap writes the map files for dvips (psfonts.map) and pdftex - (pdftex.map) to the TEXMFVAR/fonts/map/updmap/{dvips,pdftex}/ - directories. - - The log file is written to TEXMFVAR/web2c/updmap.log. - - When updmap-sys is run, TEXMFSYSCONFIG and TEXMFSYSVAR are used - instead of TEXMFCONFIG and TEXMFVAR, respectively. This is the only - difference between updmap-sys and updmap. - - Other locations may be used if you give them on the command line, or - these trees don't exist, or you are not using the original TeX Live. - - To see the precise locations of the various files that - will be read and written, give the -n option (or read the source). - -For step-by-step instructions on making new fonts known to TeX, read -http://tug.org/fonts/fontinstall.html. For even more terse -instructions, read the beginning of updmap.cfg. - -Report bugs to: tex-k\@tug.org -TeX Live home page: <http://tug.org/texlive/> -EOF -; - print &version(); - print $usage; - exit 0; -} - -### Local Variables: -### perl-indent-level: 2 -### tab-width: 2 -### indent-tabs-mode: nil -### End: -# vim:set tabstop=2 expandtab: # |