summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/source/texk/tetex/ChangeLog7
-rw-r--r--Build/source/texk/tetex/Makefile.am12
-rw-r--r--Build/source/texk/tetex/Makefile.in142
-rwxr-xr-xBuild/source/texk/tetex/tests/updmap-cmdline-test.pl (renamed from Build/source/texk/texlive/tests/updmap-cmdline-test.pl)4
-rwxr-xr-xBuild/source/texk/tetex/updmap.pl (renamed from Build/source/texk/texlive/linked_scripts/texlive/updmap.pl)0
-rw-r--r--Build/source/texk/texlive/ChangeLog7
-rw-r--r--Build/source/texk/texlive/Makefile.am4
-rw-r--r--Build/source/texk/texlive/Makefile.in131
-rw-r--r--Build/source/texk/texlive/linked_scripts/ChangeLog4
-rw-r--r--Build/source/texk/texlive/linked_scripts/Makefile.am3
-rw-r--r--Build/source/texk/texlive/linked_scripts/Makefile.in3
-rw-r--r--Build/source/texk/texlive/linked_scripts/scripts.lst1
l---------Master/bin/alpha-linux/updmap2
l---------Master/bin/amd64-freebsd/updmap2
l---------Master/bin/amd64-kfreebsd/updmap2
l---------Master/bin/i386-cygwin/updmap2
l---------Master/bin/i386-freebsd/updmap2
l---------Master/bin/i386-kfreebsd/updmap2
l---------Master/bin/i386-linux/updmap2
l---------Master/bin/i386-netbsd/updmap2
l---------Master/bin/i386-solaris/updmap2
l---------Master/bin/mips-irix/updmap2
l---------Master/bin/powerpc-aix/updmap2
l---------Master/bin/powerpc-linux/updmap2
l---------Master/bin/sparc-linux/updmap2
l---------Master/bin/sparc-solaris/updmap2
l---------Master/bin/universal-darwin/updmap2
l---------Master/bin/x86_64-darwin/updmap2
l---------Master/bin/x86_64-linux/updmap2
l---------Master/bin/x86_64-solaris/updmap2
-rwxr-xr-xMaster/texmf/scripts/tetex/updmap-single.pl1533
-rwxr-xr-xMaster/texmf/scripts/tetex/updmap.pl (renamed from Master/texmf/scripts/texlive/updmap.pl)0
32 files changed, 183 insertions, 1704 deletions
diff --git a/Build/source/texk/tetex/ChangeLog b/Build/source/texk/tetex/ChangeLog
index 15d97383e92..3c54dd98386 100644
--- a/Build/source/texk/tetex/ChangeLog
+++ b/Build/source/texk/tetex/ChangeLog
@@ -1,3 +1,10 @@
+2012-04-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-04-14 Peter Breitenlohner <peb@mppmu.mpg.de>
* tests/ (removed): Moved from here to ../texlive/.
diff --git a/Build/source/texk/tetex/Makefile.am b/Build/source/texk/tetex/Makefile.am
index e4b3a4c27b3..8d11c607406 100644
--- a/Build/source/texk/tetex/Makefile.am
+++ b/Build/source/texk/tetex/Makefile.am
@@ -7,6 +7,9 @@ ACLOCAL_AMFLAGS = -I ../../m4
EXTRA_DIST =
+perl_scripts = \
+ updmap
+
shell_scripts = \
updmap-sys
@@ -35,7 +38,7 @@ nodist_bin_SCRIPTS =
include $(srcdir)/../am/script_links.am
texmfdir = $(datarootdir)/$(scriptsdir)
-dist_texmf_SCRIPTS = $(shell_scripts:=.sh)
+dist_texmf_SCRIPTS = $(perl_scripts:=.pl) $(shell_scripts:=.sh)
if !WIN32
dist_bin_SCRIPTS = $(sh_scripts)
@@ -92,7 +95,7 @@ include $(top_srcdir)/../am/man1_links.am
install-exec-hook: install-bin-links
-install-data-hook: install-shell-links install-man1-links
+install-data-hook: install-perl-links install-shell-links install-man1-links
uninstall-hook: uninstall-bin-links uninstall-links uninstall-man1-links
@@ -122,3 +125,8 @@ if !WIN32
PATH="$(DESTDIR)$(bindir):$(PATH)"; export PATH; $(run_texlinks)
endif !WIN32
+## Tests
+##
+TESTS = tests/updmap-cmdline-test.pl
+EXTRA_DIST += $(TESTS)
+
diff --git a/Build/source/texk/tetex/Makefile.in b/Build/source/texk/tetex/Makefile.in
index 2112a47f270..ca44077ba89 100644
--- a/Build/source/texk/tetex/Makefile.in
+++ b/Build/source/texk/tetex/Makefile.in
@@ -124,6 +124,10 @@ man5dir = $(mandir)/man5
NROFF = nroff
MANS = $(dist_man1_MANS) $(dist_man5_MANS)
DATA = $(dist_texconfig_DATA) $(dist_web2c_DATA)
+am__tty_colors_dummy = \
+ mgn= red= grn= lgn= blu= brg= std=; \
+ am__color_tests=no
+am__tty_colors = $(am__tty_colors_dummy)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -228,7 +232,10 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ACLOCAL_AMFLAGS = -I ../../m4
EXTRA_DIST = ../../build-aux/relpath README.texdoctk old-fontinst.bat \
- old-updmap updmap-single.pl
+ old-updmap updmap-single.pl $(TESTS)
+perl_scripts = \
+ updmap
+
shell_scripts = \
updmap-sys
@@ -257,7 +264,7 @@ all_scripts = $(lua_scripts) $(perl_scripts) $(shell_scripts)
@WIN32_TRUE@@WIN32_WRAP_TRUE@wrappers = $(all_scripts:=.exe)
@WIN32_TRUE@@WIN32_WRAP_TRUE@runscript = $(top_srcdir)/../../texk/texlive/w32_wrapper/runscript.exe
texmfdir = $(datarootdir)/$(scriptsdir)
-dist_texmf_SCRIPTS = $(shell_scripts:=.sh)
+dist_texmf_SCRIPTS = $(perl_scripts:=.pl) $(shell_scripts:=.sh)
@WIN32_FALSE@dist_bin_SCRIPTS = $(sh_scripts)
CLEANFILES = $(nodist_bin_SCRIPTS)
dist_man1_MANS = \
@@ -305,6 +312,7 @@ run_texlinks = $(DESTDIR)$(bindir)/texlinks -v \
-f $(DESTDIR)$(web2cdir)/fmtutil.cnf \
-e "$(EXEEXT)" $(DESTDIR)$(bindir)
+TESTS = tests/updmap-cmdline-test.pl
all: all-am
.SUFFIXES:
@@ -616,6 +624,99 @@ CTAGS:
cscope cscopelist:
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ $(am__tty_colors); \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ if test "$$failed" -eq 0; then \
+ col="$$grn"; \
+ else \
+ col="$$red"; \
+ fi; \
+ echo "$${col}$$dashes$${std}"; \
+ echo "$${col}$$banner$${std}"; \
+ test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+ test -z "$$report" || echo "$${col}$$report$${std}"; \
+ echo "$${col}$$dashes$${std}"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
distdir: $(DISTFILES)
@list='$(MANS)'; if test -n "$$list"; then \
list=`for p in $$list; do \
@@ -786,6 +887,7 @@ distcleancheck: distclean
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
all-am: Makefile $(SCRIPTS) $(MANS) $(DATA)
installdirs:
@@ -902,23 +1004,23 @@ uninstall-am: uninstall-dist_binSCRIPTS uninstall-dist_texconfigDATA \
$(MAKE) $(AM_MAKEFLAGS) uninstall-hook
uninstall-man: uninstall-man1 uninstall-man5
-.MAKE: install-am install-data-am install-exec-am install-strip \
- uninstall-am
-
-.PHONY: all all-am am--refresh check check-am clean clean-generic dist \
- dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
- dist-xz dist-zip distcheck distclean distclean-generic \
- distcleancheck distdir distuninstallcheck dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-data-hook install-dist_binSCRIPTS \
- install-dist_texconfigDATA install-dist_texconfigSCRIPTS \
- install-dist_texmfSCRIPTS install-dist_web2cDATA install-dvi \
- install-dvi-am install-exec install-exec-am install-exec-hook \
- install-html install-html-am install-info install-info-am \
- install-man install-man1 install-man5 \
- install-nodist_binSCRIPTS install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
+.MAKE: check-am install-am install-data-am install-exec-am \
+ install-strip uninstall-am
+
+.PHONY: all all-am am--refresh check check-TESTS check-am clean \
+ clean-generic dist dist-all dist-bzip2 dist-gzip dist-lzip \
+ dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
+ distclean-generic distcleancheck distdir distuninstallcheck \
+ dvi dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-hook \
+ install-dist_binSCRIPTS install-dist_texconfigDATA \
+ install-dist_texconfigSCRIPTS install-dist_texmfSCRIPTS \
+ install-dist_web2cDATA install-dvi install-dvi-am install-exec \
+ install-exec-am install-exec-hook install-html install-html-am \
+ install-info install-info-am install-man install-man1 \
+ install-man5 install-nodist_binSCRIPTS install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am \
uninstall-dist_binSCRIPTS uninstall-dist_texconfigDATA \
@@ -996,7 +1098,7 @@ uninstall-man1-links:
install-exec-hook: install-bin-links
-install-data-hook: install-shell-links install-man1-links
+install-data-hook: install-perl-links install-shell-links install-man1-links
uninstall-hook: uninstall-bin-links uninstall-links uninstall-man1-links
diff --git a/Build/source/texk/texlive/tests/updmap-cmdline-test.pl b/Build/source/texk/tetex/tests/updmap-cmdline-test.pl
index fa209c95cff..3875fb760e6 100755
--- a/Build/source/texk/texlive/tests/updmap-cmdline-test.pl
+++ b/Build/source/texk/tetex/tests/updmap-cmdline-test.pl
@@ -3,14 +3,14 @@
# Public domain. Originally written 2011, Karl Berry.
# Check that updmap can parse various cmdline invocations.
-# srcdir = texlive (in the source tree)
+# srcdir = tetex (in the source tree)
BEGIN { chomp ($srcdir = $ENV{"srcdir"} || `cd \`dirname $0\`/.. && pwd`); }
require "$srcdir/../tests/common-test.pl";
exit (&main ());
sub main {
- my $ret = &test_run ("$srcdir/linked_scripts/texlive/updmap.pl", "--version");
+ my $ret = &test_run ("$srcdir/updmap.pl", "--version");
# we aren't going to fix this in the current updmap.pl.
# "foo", "--enable Map"
diff --git a/Build/source/texk/texlive/linked_scripts/texlive/updmap.pl b/Build/source/texk/tetex/updmap.pl
index 990e53f7d68..990e53f7d68 100755
--- a/Build/source/texk/texlive/linked_scripts/texlive/updmap.pl
+++ b/Build/source/texk/tetex/updmap.pl
diff --git a/Build/source/texk/texlive/ChangeLog b/Build/source/texk/texlive/ChangeLog
index 3372b0444bf..436316d8325 100644
--- a/Build/source/texk/texlive/ChangeLog
+++ b/Build/source/texk/texlive/ChangeLog
@@ -1,6 +1,11 @@
+2012-04-15 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * tests/ (removed): Moved from here to ../tetex/.
+ * Makefile.am: Adapted.
+
2012-04-14 Peter Breitenlohner <peb@mppmu.mpg.de>
- * tests/ (new): Moved from ../texlive/ to here and adapted.
+ * tests/ (new): Moved from ../tetex/ to here and adapted.
* Makefile.am: Adapted.
2011-09-10 Reinhard Kotucha <reinhard.kotucha@web.de>
diff --git a/Build/source/texk/texlive/Makefile.am b/Build/source/texk/texlive/Makefile.am
index 81e3f9d0eb5..e9e84232231 100644
--- a/Build/source/texk/texlive/Makefile.am
+++ b/Build/source/texk/texlive/Makefile.am
@@ -11,7 +11,3 @@ SUBDIRS = context linked_scripts
##
EXTRA_DIST = w32_wrapper
-## Tests
-##
-TESTS = tests/updmap-cmdline-test.pl
-EXTRA_DIST += $(TESTS)
diff --git a/Build/source/texk/texlive/Makefile.in b/Build/source/texk/texlive/Makefile.in
index 88fa626bbc7..7ed681ffa40 100644
--- a/Build/source/texk/texlive/Makefile.in
+++ b/Build/source/texk/texlive/Makefile.in
@@ -88,10 +88,6 @@ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
-am__tty_colors_dummy = \
- mgn= red= grn= lgn= blu= brg= std=; \
- am__color_tests=no
-am__tty_colors = $(am__tty_colors_dummy)
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
@@ -222,8 +218,7 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ACLOCAL_AMFLAGS = -I ../../m4
SUBDIRS = context linked_scripts
-EXTRA_DIST = w32_wrapper $(TESTS)
-TESTS = tests/updmap-cmdline-test.pl
+EXTRA_DIST = w32_wrapper
all: all-recursive
.SUFFIXES:
@@ -425,99 +420,6 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
-check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; \
- srcdir=$(srcdir); export srcdir; \
- list=' $(TESTS) '; \
- $(am__tty_colors); \
- if test -n "$$list"; then \
- for tst in $$list; do \
- if test -f ./$$tst; then dir=./; \
- elif test -f $$tst; then dir=; \
- else dir="$(srcdir)/"; fi; \
- if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$tst[\ \ ]*) \
- xpass=`expr $$xpass + 1`; \
- failed=`expr $$failed + 1`; \
- col=$$red; res=XPASS; \
- ;; \
- *) \
- col=$$grn; res=PASS; \
- ;; \
- esac; \
- elif test $$? -ne 77; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$tst[\ \ ]*) \
- xfail=`expr $$xfail + 1`; \
- col=$$lgn; res=XFAIL; \
- ;; \
- *) \
- failed=`expr $$failed + 1`; \
- col=$$red; res=FAIL; \
- ;; \
- esac; \
- else \
- skip=`expr $$skip + 1`; \
- col=$$blu; res=SKIP; \
- fi; \
- echo "$${col}$$res$${std}: $$tst"; \
- done; \
- if test "$$all" -eq 1; then \
- tests="test"; \
- All=""; \
- else \
- tests="tests"; \
- All="All "; \
- fi; \
- if test "$$failed" -eq 0; then \
- if test "$$xfail" -eq 0; then \
- banner="$$All$$all $$tests passed"; \
- else \
- if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
- banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
- fi; \
- else \
- if test "$$xpass" -eq 0; then \
- banner="$$failed of $$all $$tests failed"; \
- else \
- if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
- banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
- fi; \
- fi; \
- dashes="$$banner"; \
- skipped=""; \
- if test "$$skip" -ne 0; then \
- if test "$$skip" -eq 1; then \
- skipped="($$skip test was not run)"; \
- else \
- skipped="($$skip tests were not run)"; \
- fi; \
- test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$skipped"; \
- fi; \
- report=""; \
- if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
- report="Please report to $(PACKAGE_BUGREPORT)"; \
- test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$report"; \
- fi; \
- dashes=`echo "$$dashes" | sed s/./=/g`; \
- if test "$$failed" -eq 0; then \
- col="$$grn"; \
- else \
- col="$$red"; \
- fi; \
- echo "$${col}$$dashes$${std}"; \
- echo "$${col}$$banner$${std}"; \
- test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
- test -z "$$report" || echo "$${col}$$report$${std}"; \
- echo "$${col}$$dashes$${std}"; \
- test "$$failed" -eq 0; \
- else :; fi
-
distdir: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@@ -700,7 +602,6 @@ distcleancheck: distclean
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
@@ -804,25 +705,25 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
cscopelist-recursive ctags-recursive install-am install-strip \
tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am am--refresh check check-TESTS check-am clean \
- clean-cscope clean-generic cscope cscopelist \
- cscopelist-recursive ctags ctags-recursive dist dist-all \
- dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ dist-xz \
- dist-zip distcheck distclean distclean-generic distclean-tags \
- distcleancheck distdir distuninstallcheck dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
- pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
+ all all-am am--refresh check check-am clean clean-cscope \
+ clean-generic cscope cscopelist cscopelist-recursive ctags \
+ ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-lzip \
+ dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
+ distclean-generic distclean-tags distcleancheck distdir \
+ distuninstallcheck dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
+ tags-recursive uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/Build/source/texk/texlive/linked_scripts/ChangeLog b/Build/source/texk/texlive/linked_scripts/ChangeLog
index b179308aa39..36c6a882dc3 100644
--- a/Build/source/texk/texlive/linked_scripts/ChangeLog
+++ b/Build/source/texk/texlive/linked_scripts/ChangeLog
@@ -1,7 +1,3 @@
-2012-05-14 Norbert Preining <preining@logic.at>
-
- * Makefile.am/in: add updmap.pl to texmf_other_scripts
-
2011-12-08 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am: Rename the target scripts.tmp into scripts-list
diff --git a/Build/source/texk/texlive/linked_scripts/Makefile.am b/Build/source/texk/texlive/linked_scripts/Makefile.am
index c448219dbce..7d0a66ce42f 100644
--- a/Build/source/texk/texlive/linked_scripts/Makefile.am
+++ b/Build/source/texk/texlive/linked_scripts/Makefile.am
@@ -45,8 +45,7 @@ texmf_other_scripts = \
tetex/texdoctk.pl \
texdoc/texdoc.tlu \
texlive/rungs.tlu \
- texlive/tlmgr.pl \
- texlive/updmap.pl
+ texlive/tlmgr.pl
nobase_dist_texmf_scripts_SCRIPTS = \
$(texmf_shell_scripts) \
$(texmf_other_scripts)
diff --git a/Build/source/texk/texlive/linked_scripts/Makefile.in b/Build/source/texk/texlive/linked_scripts/Makefile.in
index 21e3d37785e..2063d8c21e9 100644
--- a/Build/source/texk/texlive/linked_scripts/Makefile.in
+++ b/Build/source/texk/texlive/linked_scripts/Makefile.in
@@ -225,8 +225,7 @@ texmf_other_scripts = \
tetex/texdoctk.pl \
texdoc/texdoc.tlu \
texlive/rungs.tlu \
- texlive/tlmgr.pl \
- texlive/updmap.pl
+ texlive/tlmgr.pl
nobase_dist_texmf_scripts_SCRIPTS = \
$(texmf_shell_scripts) \
diff --git a/Build/source/texk/texlive/linked_scripts/scripts.lst b/Build/source/texk/texlive/linked_scripts/scripts.lst
index 110ccb3fd2d..6276b3b8f20 100644
--- a/Build/source/texk/texlive/linked_scripts/scripts.lst
+++ b/Build/source/texk/texlive/linked_scripts/scripts.lst
@@ -6,7 +6,6 @@ tetex/texdoctk.pl
texdoc/texdoc.tlu
texlive/rungs.tlu
texlive/tlmgr.pl
-texlive/updmap.pl
'
texmf_dist_scripts='
bibexport/bibexport.sh
diff --git a/Master/bin/alpha-linux/updmap b/Master/bin/alpha-linux/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/alpha-linux/updmap
+++ b/Master/bin/alpha-linux/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/amd64-freebsd/updmap b/Master/bin/amd64-freebsd/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/amd64-freebsd/updmap
+++ b/Master/bin/amd64-freebsd/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/amd64-kfreebsd/updmap b/Master/bin/amd64-kfreebsd/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/amd64-kfreebsd/updmap
+++ b/Master/bin/amd64-kfreebsd/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/i386-cygwin/updmap b/Master/bin/i386-cygwin/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/i386-cygwin/updmap
+++ b/Master/bin/i386-cygwin/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/i386-freebsd/updmap b/Master/bin/i386-freebsd/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/i386-freebsd/updmap
+++ b/Master/bin/i386-freebsd/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/i386-kfreebsd/updmap b/Master/bin/i386-kfreebsd/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/i386-kfreebsd/updmap
+++ b/Master/bin/i386-kfreebsd/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/i386-linux/updmap b/Master/bin/i386-linux/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/i386-linux/updmap
+++ b/Master/bin/i386-linux/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/i386-netbsd/updmap b/Master/bin/i386-netbsd/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/i386-netbsd/updmap
+++ b/Master/bin/i386-netbsd/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/i386-solaris/updmap b/Master/bin/i386-solaris/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/i386-solaris/updmap
+++ b/Master/bin/i386-solaris/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/mips-irix/updmap b/Master/bin/mips-irix/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/mips-irix/updmap
+++ b/Master/bin/mips-irix/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/powerpc-aix/updmap b/Master/bin/powerpc-aix/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/powerpc-aix/updmap
+++ b/Master/bin/powerpc-aix/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/powerpc-linux/updmap b/Master/bin/powerpc-linux/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/powerpc-linux/updmap
+++ b/Master/bin/powerpc-linux/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/sparc-linux/updmap b/Master/bin/sparc-linux/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/sparc-linux/updmap
+++ b/Master/bin/sparc-linux/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/sparc-solaris/updmap b/Master/bin/sparc-solaris/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/sparc-solaris/updmap
+++ b/Master/bin/sparc-solaris/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/universal-darwin/updmap b/Master/bin/universal-darwin/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/universal-darwin/updmap
+++ b/Master/bin/universal-darwin/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/x86_64-darwin/updmap b/Master/bin/x86_64-darwin/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/x86_64-darwin/updmap
+++ b/Master/bin/x86_64-darwin/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/x86_64-linux/updmap b/Master/bin/x86_64-linux/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/x86_64-linux/updmap
+++ b/Master/bin/x86_64-linux/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/bin/x86_64-solaris/updmap b/Master/bin/x86_64-solaris/updmap
index fe608dfd964..5eceaae6d41 120000
--- a/Master/bin/x86_64-solaris/updmap
+++ b/Master/bin/x86_64-solaris/updmap
@@ -1 +1 @@
-../../texmf/scripts/texlive/updmap.pl \ No newline at end of file
+../../texmf/scripts/tetex/updmap.pl \ No newline at end of file
diff --git a/Master/texmf/scripts/tetex/updmap-single.pl b/Master/texmf/scripts/tetex/updmap-single.pl
deleted file mode 100755
index ac3720d58bf..00000000000
--- a/Master/texmf/scripts/tetex/updmap-single.pl
+++ /dev/null
@@ -1,1533 +0,0 @@
-#! /usr/bin/env perl
-# updmap: utility to maintain map files for outline fonts.
-#
-# Copyright 2002-2011 Thomas Esser (for the shell version)
-# Copyright 2002-2011 Fabrice Popineau (for the first perl version)
-# Copyright 2009-2011 Reinhard Kotucha
-# Copyright 2011-2012 Norbert Preining
-#
-# Anyone may freely use, modify, and/or distribute this file, without
-# limitation.
-
-BEGIN {
- $^W=1;
- chomp($TEXMFROOT = `kpsewhich -var-value=TEXMFROOT`);
- unshift (@INC, "$TEXMFROOT/tlpkg");
-}
-
-my $version = '$Id: updmap.pl 25346 2012-02-10 12:51:16Z preining $';
-
-use strict;
-use TeXLive::TLUtils qw(mkdirhier mktexupd win32);
-use Getopt::Long;
-$Getopt::Long::autoabbrev=0;
-Getopt::Long::Configure (qw(ignore_case_always));
-
-my $short_progname = "updmap";
-
-my $cnfFile;
-my $cnfFileShort;
-my $outputdir;
-my $dvipsoutputdir;
-my $pdftexoutputdir;
-my $dvipdfmoutputdir;
-my $pxdvioutputdir;
-my $quiet;
-my $nohash;
-my $nomkmap;
-my (@psADOBE, @fileADOBE, @fileADOBEkb, @fileURW);
-
-my $enableItem;
-my @setoptions = ();
-my @showoptions = ();
-my @showoption = ();
-my @disableItem = ();
-my $listmaps;
-my $listavailablemaps;
-my $syncwithtrees;
-
-my $opt_edit;
-my $opt_force;
-my $opt_help;
-my $dry_run;
-my $TEXMFMAIN;
-my $TEXMFVAR;
-
-my $mode;
-my $dvipsPreferOutline;
-my $dvipsDownloadBase35;
-my $pdftexDownloadBase14;
-my $pxdviUse;
-my $kanjiEmbed;
-my $kanjiVariant;
-
-my $dvips35;
-my $pdftex35;
-my $ps2pk35;
-
-my $newcnf;
-my $copy;
-my %link;
-my %maps;
-my @missing;
-my $writelog = 0;
-my $cache = 0; # don't change!
-my $pdftexStripEnc = 0;
-
-# initialize mktexupd
-my $updLSR=&mktexupd();
-$updLSR->{mustexist}(0);
-
-my @cfg = ();
-
-&main;
-exit 0;
-
-
-# return program name + version string.
-sub version {
- my $ret = sprintf "%s (TeX Live) version %s\n", $short_progname, $version;
- return $ret;
-}
-
-###############################################################################
-# help()
-# display help message and exit
-#
-sub help {
- my $usage= <<"EOF";
-Usage: $short_progname [OPTION] ... [COMMAND]
- or: $short_progname-sys [OPTION] ... [COMMAND]
-
-Update the default font map files used by pdftex, dvips, and dvipdfm(x),
-(and optionally pxdvi) as determined by the configuration file updmap.cfg
-(the one returned by running "kpsewhich updmap.cfg").
-
-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
-fonts are included in the output.
-
-By default, the TeX filename database (ls-R) is also updated.
-
-Options:
- --cnffile FILE read FILE for the updmap configuration
- --dvipdfmoutputdir DIR specify output directory (dvipdfm 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
- --showoptions ITEM show alternatives for options
- --showoption ITEM show value of option
- --setoption OPTION VALUE set option, where OPTION is one of:
- LW35, dvipsPreferOutline, dvipsDownloadBase35,
- pdftexDownloadBase14, pxdviUse, kanjiEmbed,
- or kanjiVariant
- --setoption OPTION=VALUE as above, just different syntax
- --enable MAPTYPE MAPFILE add "MAPTYPE MAPFILE" to updmap.cfg,
- where MAPTYPE is one of: Map, MixedMap, 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, whether Map, MixedMap, or KanjiMap
- --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 printers 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.
-
-Explanation of the --setoption possibilities:
-
- dvipsPreferOutline true|false (default true)
- Whether dvips uses bitmaps or outlines, when both are available.
- dvipsDownloadBase35 true|false (default false)
- 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) is under control of updmap.
- 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)
- kanjiEmbed (any string)
- kanjiVariant (any string)
-
- 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.
-
-Explanation of trees and files normally used:
-
- updmap both reads and writes TEXMFCONFIG/web2c/updmap.cfg, according to
- the actions specified.
-
- 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. This is the only difference between updmap-sys and updmap.
-
- Other locations can be used if overridden 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 man page).
-
-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;
-}
-
-
-
-###############################################################################
-# processOptions()
-# process cmd line options
-#
-sub processOptions {
- #
- # We parse the command line twice. The first time is to handle
- # --setoption and --enable, which might take either one or two following
- # values, the second to handle everything else. The Getopt::Long feature to
- # handle this is only supported in 5.8.8 (released in 2006) or later,
- # and a few people run older perls.
- #
- my $oldconfig = Getopt::Long::Configure(qw(pass_through));
- #
- sub read_one_or_two {
- my ($opt, $val) = @_;
- # check if = occurs in $val, if not, get the next argument
- if ($val =~ m/=/) {
- if ($opt eq "setoption") {
- push @setoptions, $val;
- } else {
- $enableItem = $val;
- }
- } else {
- my $vv = shift @ARGV;
- die "Try \"$0 --help\" for more information.\n"
- if !defined($vv);
- if ($opt eq "setoption") {
- push @setoptions, "$val=$vv";
- } else {
- $enableItem = "$val=$vv";
- }
- }
- }
- GetOptions("setoption=s@" => \&read_one_or_two,
- "enable=s" => \&read_one_or_two) ||
- die "$0: illegal arguments, try --help for more information.\n";
-
- # restore old getopt config and read everything else.
- Getopt::Long::Configure($oldconfig);
- unless (&GetOptions (
- "cnffile=s" => \$cnfFile,
- "copy" => \$copy,
- "disable=s" => \@disableItem,
- "dvipdfmoutputdir=s" => \$dvipdfmoutputdir,
- "dvipsoutputdir=s" => \$dvipsoutputdir,
- # "enable=s" => \$enableItem,
- "edit" => \$opt_edit,
- "force" => \$opt_force,
- "listavailablemaps" => \$listavailablemaps,
- "l|listmaps" => \$listmaps,
- "nohash" => \$nohash,
- "nomkmap" => \$nomkmap,
- "n|dry-run" => \$dry_run,
- "outputdir=s" => \$outputdir,
- "pdftexoutputdir=s" => \$pdftexoutputdir,
- "pxdvioutputdir=s" => \$pxdvioutputdir,
- "q|quiet|silent" => \$quiet,
- "setoption" =>
- sub {die "$0: --setoption needs an option and value; try --help.\n"},
- "showoptions=s" => \@showoptions,
- "showoption=s" => \@showoption,
- "syncwithtrees" => \$syncwithtrees,
- "version" => sub { print &version(); exit(0); },
- "h|help" => \$opt_help)) {
- die "Try \"$0 --help\" for more information.\n";
- }
-
- if (@ARGV) {
- warn "$0: Ignoring unexpected non-option argument(s): @ARGV.\n";
- }
-
- if ($outputdir) {
- $dvipsoutputdir = $outputdir if (! $dvipsoutputdir);
- $pdftexoutputdir = $outputdir if (! $pdftexoutputdir);
- $dvipdfmoutputdir = $outputdir if (! $dvipdfmoutputdir);
- $pxdvioutputdir = $outputdir if (! $pxdvioutputdir);
- }
- if ($cnfFile && ! -f $cnfFile) {
- die "$0: Config file \"$cnfFile\" not found.\n";
- }
- if ($dvipsoutputdir && ! $dry_run && ! -d $dvipsoutputdir) {
- &mkdirhier ($dvipsoutputdir);
- }
- if ($dvipdfmoutputdir && ! $dry_run && ! -d $dvipdfmoutputdir) {
- &mkdirhier ($dvipdfmoutputdir);
- }
- if ($pdftexoutputdir && ! $dry_run && ! -d $pdftexoutputdir) {
- &mkdirhier ($pdftexoutputdir);
- }
- if ($pxdvioutputdir && ! $dry_run && ! -d $pxdvioutputdir) {
- &mkdirhier ($pxdvioutputdir);
- }
-}
-
-
-###############################################################################
-# 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));
-}
-
-###############################################################################
-# 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;
-}
-
-###############################################################################
-# files_are_equal(file_A, file_B[, comment_char])
-# compare two equalized files. Same as files_are_different() with
-# return value inverted.
-#
-sub files_are_equal {
- return (&files_are_different (@_))? 0:1;
-}
-
-###############################################################################
-# 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;
-}
-
-###############################################################################
-# getLines()
-#
-###############################################################################
-sub getLines {
- my @lines = ();
- foreach my $fname (@_) {
- next if (! $fname);
- if (! exists $maps{"$fname"}) {
- open FILE, "<$fname" or die "$0: can't get lines from $fname: $!";
- my @file=<FILE>;
- close FILE;
- if ($writelog) {
- print LOG ("\n$fname:\n");
- foreach my $line (@file) {
- next if $line =~ /^\s*%/; # comment
- next if $line =~ /^\s*#/; # comment
- next if $line =~ /^\s*$/; # empty line
- my $tfm;
- ($tfm)=split ' ', $line;
- print LOG "$tfm\n";
- }
- }
- $maps{"$fname"} = [ @file ] if ($cache);
- push @lines, @file;
- } else {
- push @lines, @{$maps{"$fname"}};
- }
- }
- chomp @lines;
- return @lines;
-}
-
-###############################################################################
-# writeLines()
-# write the lines in $filename
-#
-sub writeLines {
- my ($fname, @lines) = @_;
- map { ($_ !~ m/\n$/ ? s/$/\n/ : $_ ) } @lines;
- open FILE, ">$fname" or die "$0: can't write lines to $fname: $!";
- print FILE @lines;
- close FILE;
-}
-
-###############################################################################
-# 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);
-}
-
-###############################################################################
-# SymlinkOrCopy(dir, src, dest)
-# create symlinks if possible, otherwise copy files
-#
-sub SymlinkOrCopy {
- my ($dir, $src, $dest) = @_;
- if (&win32 || $copy) { # always copy
- &copyFile("$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.
- $link{"$dest"}="$src";
-}
-
-###############################################################################
-# setupSymlinks()
-# set symlink for psfonts.map according to dvipsPreferOutline variable
-#
-sub setupSymlinks {
- my $src;
-
- if ($dvipsPreferOutline) {
- $src = "psfonts_t1.map";
- } else {
- $src = "psfonts_pk.map";
- }
- unlink "$dvipsoutputdir/psfonts.map";
- &SymlinkOrCopy("$dvipsoutputdir", "$src", "psfonts.map");
-
- if ($pdftexDownloadBase14) {
- $src = "pdftex_dl14.map";
- } else {
- $src = "pdftex_ndl14.map";
- }
- unlink "$pdftexoutputdir/pdftex.map";
- &SymlinkOrCopy("$pdftexoutputdir", "$src", "pdftex.map");
-}
-
-
-###############################################################################
-# transLW35(args ...)
-# transform fontname and filenames according to transformation specified
-# by mode. Possible values:
-# URW|URWkb|ADOBE|ADOBEkb
-#
-sub transLW35 {
- my ($name) = @_;
- my @lines = &getLines($name);
-
- 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;
-}
-
-###############################################################################
-# locateWeb2c (file ...)
-# apply kpsewhich with format 'web2c files'
-#
-sub locateWeb2c {
- my @files = @_;
- return @files if ($#files < 0);
-
- @files = split (/\n/, `kpsewhich --format="web2c files" @files`);
- if (wantarray) {
- return @files;
- }
- else {
- return $files[0];
- }
-}
-
-###############################################################################
-# locateMap (file ...)
-# apply kpsewhich with format 'map'
-#
-sub locateMap {
- my @maps = @_;
- return @maps if ($#maps < 0);
-
- my @files = `kpsewhich --format=map @maps`;
- chomp @files;
-
- foreach my $map (@maps) {
- push @missing, $map if (! grep /\/$map(\.map)?$/, @files);
- }
-
- if (wantarray) {
- return @files;
- } else {
- return $files[0];
- }
-}
-
-
-###############################################################################
-# cfgval(variable)
-# read variable ($1) from config file
-#
-sub cfgval {
- my ($variable) = @_;
- my $value;
-
- if ($#cfg < 0) {
- open FILE, "<$cnfFile" or die "$0: can't open configuration file $cnfFile: $!";
- while (<FILE>) {
- s/\s*$//; # strip trailing spaces
- push @cfg, $_;
- }
- close FILE;
- chomp (@cfg);
- }
- for my $line (@cfg) {
- if ($line =~ m/^\s*${variable}[\s=]+(.*)\s*$/) {
- $value = $1;
- if ($value =~ m/^(true|yes|t|y|1)$/) {
- $value = 1;
- }
- elsif ($value =~ m/^(false|no|f|n|0)$/) {
- $value = 0;
- }
- last;
- }
- }
- return $value;
-}
-
-###############################################################################
-# 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.
-#
-sub configReplace {
- my ($file, $pat, $line) = @_;
- my @lines = &getLines($file);
- my $found = 0;
- map {
- if (/$pat/) {
- $found = 1; $_ = $line;
- }
- } @lines;
- if (! $found) {
- push @lines, $line;
- }
- &writeLines($file, @lines);
-}
-
-###############################################################################
-# setOption (@options)
-# parse @options for "key=value" (one element of @options)
-# or "key", "value" (two elements of @options) pairs.
-# (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);
- if ($o =~ /=/) {
- ($key,$val) = split (/=/, $o, 2);
- } else {
- $key = $o;
- die "$0: no value for --setoption $key, goodbye.\n"
- if $i + 1 >= @options;
- $val = $options[$i + 1];
- $i++;
- }
-
- die "$0: unexpected empty key or val for options (@options), goodbye.\n"
- if !$key || !defined($val);
- &setOption ($key, $val);
- }
-}
-
-###############################################################################
-# setOption (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) = @_;
-
- if ($opt eq "LW35") {
- if ($val !~ m/^(URWkb|URW|ADOBE|ADOBEkb)$/) {
- die "$0: Invalid value $val for option $opt; try --help.\n";
- }
- } elsif ($opt =~
-m/^(dvipsPreferOutline|dvipsDownloadBase35|(pdftex|dvipdfm)DownloadBase14|pxdviUse)$/) {
- if ($val !~ m/^(true|false)$/) {
- die "$0: Invalid value $val for option $opt; should be \"true\" or \"false\".\n";
- }
- } elsif ($opt eq "kanjiEmbed" || $opt eq "kanjiVariant"){
- # do nothing
- } else {
- die "$0: Unsupported option $opt (value given: $val).\n";
- }
-
- # silently accept this old option name, just in case.
- return if $opt eq "dvipdfmDownloadBase14";
-
- #print "Setting option $opt to $val...\n" if !$quiet;
- &configReplace("$cnfFile", "^" . "$opt" . "\\s", "$opt $val");
-}
-
-###############################################################################
-# showOption(item item ...)
-# show current value for an item
-#
-sub showOption {
- sub doit {
- my ($a, $b) = @_;
- my $v = &cfgval($a);
- $v = $b unless (defined $v);
- print "$a=$v\n";
- }
- foreach my $item (@_) {
- doit("LW35", "URWkb") if ($item eq "LW35");
- doit("dvipsPreferOutline", 1) if ($item eq "dvipsPreferOutline");
- doit("dvipsDownloadBase35", 1) if ($item eq "dvipsDownloadBase35");
- doit("pdftexDownloadBase14", 1) if ($item eq "pdftexDownloadBase14");
- doit("kanjiEmbed", "noEmbed") if ($item eq "kanjiEmbed");
- doit("kanjiVariant", "") if ($item eq "kanjiVariant");
- doit("pxdviUse", 0) if ($item eq "pxdviUse");
- }
-}
-
-###############################################################################
-# showOptions(item)
-# show Options for an item
-#
-sub showOptions {
- foreach my $item (@_) {
- if ($item eq "LW35") {
- print "URWkb URW ADOBE ADOBEkb\n";
- }
- elsif ($item =~
-m/(dvipsPreferOutline|(dvipdfm|pdftex)DownloadBase14|dvipsDownloadBase35|pxdviUse)/) {
- print "true false\n";
- }
- elsif ($item eq "kanjiEmbed" || $item eq "kanjiVariant") {
- print "(any string)\n";
- }
- else {
- print "Unknown item \"$item\"; should be one of LW35, dvipsPreferOutline,\n"
- . " dvipsDownloadBase35, pdftexDownloadBase14, pxdviUse, kanjiEmbed, or kanjiVariant\n";
- }
- }
- exit 0
-}
-
-
-###############################################################################
-# enableMap (type, map)
-# enables an entry in the config file for map with a given type.
-#
-sub enableMap {
- my ($type, $map) = @_;
-
- if ($type !~ m/^(Map|MixedMap|KanjiMap)$/) {
- die "$0: Invalid mapType $type\n";
- }
- # a map can only have one type, so we carefully disable everything
- # about map here:
- &disableMap("$map");
-
- # now enable with the right type:
- &configReplace("$cnfFile", "^#!\\s*" . "$type" . "\\s*$map", "$type $map");
-}
-
-###############################################################################
-# disableMap (map)
-# disables map in config file (any type)
-#
-sub disableMap {
- my ($map) = @_;
- my %count = ();
- my $type;
-
- my @mapType = grep {
- my @fields = split;
- if ($fields[0] and $fields[0] =~ /^(MixedMap|Map|KanjiMap)$/
- and $fields[1] eq $map and ++$count{$fields[0]}) {
- $_ = $fields[0];
- }
- else {
- $_ = '';
- }
- } &getLines($cnfFile);
-
- foreach $type (@mapType) {
- &configReplace("$cnfFile", "^$type" . "\\s*$map", "#! $type $map");
- }
-}
-
-###############################################################################
-# setupDestDir()
-# find an output directory if none specified on cmd line. First choice is
-# $TEXMFVAR/fonts/map/updmap (if TEXMFVAR is set), next is relative to
-# config file location. Fallback is $TEXMFMAIN/fonts/map/updmap.
-#
-sub setupOutputDir {
- my($od, $driver) = @_;
-
- if (!$od) {
- my $rel = "fonts/map/$driver/updmap";
- my $tf;
- # Try TEXMFVAR tree. Use it if variable is set and $rel can
- # be written.
- chomp($tf = `kpsewhich --var-value=TEXMFVAR`);
- if ($tf) {
- &mkdirhier("$tf/$rel");
- if (! -w "$tf/$rel") {
- die "$0: Directory \"$tf/$rel\" isn't writable.\n";
- }
- }
- $od = "$tf/$rel";
- }
- &mkdirhier($od);
- print "$driver output dir: \"$od\"\n" if !$quiet;
- return $od;
-}
-
-sub setupDestDir {
- $dvipsoutputdir = &setupOutputDir($dvipsoutputdir, "dvips");
- $pdftexoutputdir = &setupOutputDir($pdftexoutputdir, "pdftex");
- $dvipdfmoutputdir = &setupOutputDir($dvipdfmoutputdir, "dvipdfm");
- $pxdvioutputdir = &setupOutputDir($pxdvioutputdir, "pxdvi");
-}
-
-###############################################################################
-# setupCfgFile()
-# find config file if none specified on cmd line.
-#
-sub setupCfgFile {
- if (! $cnfFile) {
- my $tf = `kpsewhich --var-value=TEXMFCONFIG`;
- chomp($tf);
- if ($tf && ! -f "$tf/web2c/$cnfFileShort") {
- &mkdirhier("$tf/web2c") if (! -d "$tf/web2c");
- if (-d "$tf/web2c" && -w "$tf/web2c") {
- unlink "$tf/web2c/$cnfFileShort";
- my $original_cfg=`kpsewhich updmap.cfg`;
- chomp($original_cfg);
- print("copy $original_cfg => $tf/web2c/$cnfFileShort\n") if !$quiet;
- $newcnf="$tf/web2c/$cnfFileShort";
- &copyFile("$original_cfg", "$tf/web2c/$cnfFileShort");
- $updLSR->{add}("$tf/web2c/$cnfFileShort");
- }
- }
- $cnfFile = "$tf/web2c/updmap.cfg";
- if (-s $cnfFile) {
- print "Config file: \"$cnfFile\"\n" if !$quiet;
- } else {
- die "$0: Config file updmap.cfg not found.\n";
- }
- }
-}
-
-###############################################################################
-# catMaps(regex)
-# filter config file by regex for map lines and extract the map filenames.
-# These are then looked up (by kpsewhich in locateMap) and the content of
-# all map files is send to stdout.
-#
-sub catMaps {
- my ($map) = @_;
- my %count = ( );
- my @maps = grep { $_ =~ m/$map/ } @cfg;
- map{
- $_ =~ s/\#.*//;
- # $_ =~ s/\@kanjiEmbed@/$kanjiEmbed/;
- # $_ =~ s/\@kanjiVariant@/$kanjiVariant/;
- $_ =~ s/\s*([^\s]*)\s*([^\s]*)/$2/;
- } @maps;
-
- my @newmaps;
- for my $m (@maps) {
- if ($m =~ m/\@kanjiEmbed@/ || $m =~ m/\@kanjiVariant@/) {
- my $newm = $m;
- $newm =~ s/\@kanjiEmbed@/$kanjiEmbed/;
- $newm =~ s/\@kanjiVariant@/$kanjiVariant/;
- my $mf = `kpsewhich --format=map $newm`;
- chomp($mf);
- if (!$mf) {
- print LOG "\n$short_progname: generated map $newm\n\tfrom $m\n\tdoes not exists, not activating it!\n";
- } else {
- push @newmaps, $newm;
- }
- } else {
- push @newmaps, $m;
- }
- }
- @maps = sort(@newmaps);
- @maps = grep { ++$count{$_} < 2; } @maps;
-
- @maps = &locateMap(@maps);
- return @maps;
-}
-
-###############################################################################
-# listMaps()
-# list all maps mentioned in the config file
-#
-sub listMaps {
- my $what=shift;
- my @mapfiles;
- my @paths;
- $kanjiEmbed = &cfgval("kanjiEmbed");
- $kanjiEmbed = "noEmbed" unless (defined $kanjiEmbed);
- $kanjiVariant = &cfgval("kanjiVariant");
- $kanjiVariant = "" unless (defined $kanjiVariant);
-
- my @lines = grep {
- if ($what eq 'sync') {
- $_ =~ m/^(Mixed|Kanji)?Map/
- } else {
- $_ =~ m/^(\#! *)?(Mixed|Kanji)?Map/
- }
- } &getLines($cnfFile);
-
- if ($what eq 'list') {
- # --listmaps
- map { print "$_\n"; } @lines;
- } else {
- map { $_ =~ s/\@kanjiEmbed@/$kanjiEmbed/ } @lines;
- map { $_ =~ s/\@kanjiVariant@/$kanjiVariant/ } @lines;
- @mapfiles=grep { $_ =~ s/^(\#! *)?(Mixed|Kanji)?Map\s+// } @lines;
- @paths=&locateMap(@mapfiles);
-
- if ($what eq 'avail') {
- # --listavailablemaps
- map {
- my $entry="$_";
- # that was disabled, but I don't understand why (NP)
- print "$entry\n" if (grep { $_ =~ m/\/$entry/ } @paths);
- } @lines;
- } elsif ($what eq 'sync') {
- # --syncwithtrees
- map {
- my $entry="$_";
- unless (grep { $_ =~ m/\/$entry/ } @paths) {
- &disableMap($entry);
- print " $entry disabled\n" if !$quiet;
- }
- } @lines;
- }
- }
-}
-
-###############################################################################
-# normalizeLines()
-# remove comments, 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);
-
- return @lines;
-}
-
-###############################################################################
-# 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 {
- 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;
-}
-
-###############################################################################
-# cidx2dvips()
-# reads from stdin, writes to stdout. It transforms "cid-x"-like syntax into
-# "dvips"-like syntax.
-###############################################################################
-sub cidx2dvips {
- my ($s) = @_;
- my @d;
- foreach (@$s) {
- 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
-}
-
-
-###############################################################################
-# mkMaps()
-# the main task of this script: create the output files
-#
-sub mkMaps {
- my @lines;
- my $logfile;
-
- $cache=1;
-
- if (! $dry_run) {
- my $TEXMFVAR = `kpsewhich --var-value=TEXMFVAR`;
- chomp($TEXMFVAR);
- $logfile = "$TEXMFVAR/web2c/updmap.log";
- mkdirhier "$TEXMFVAR/web2c";
- open LOG, ">$logfile"
- or die "$0: Can't open log file \"$logfile\": $!";
- $writelog=1;
- print LOG &version();
- printf LOG "%s\n\n", scalar localtime();
- print LOG "Using config file \"$cnfFile\".\n";
- }
- sub wlog () {
- my $str=shift;
- if ($dry_run) {
- print $str;
- } else {
- print $str if !$quiet;
- print LOG $str;
- }
- }
- sub newline() {
- if ($dry_run) {
- print "\n";
- } else {
- print LOG "\n";
- }
- }
-
- $mode = &cfgval("LW35");
- $mode = "URWkb" unless (defined $mode);
-
- $dvipsPreferOutline = &cfgval("dvipsPreferOutline");
- $dvipsPreferOutline = 1 unless (defined $dvipsPreferOutline);
-
- $dvipsDownloadBase35 = &cfgval("dvipsDownloadBase35");
- $dvipsDownloadBase35 = 1 unless (defined $dvipsDownloadBase35);
-
- $pdftexDownloadBase14 = &cfgval("pdftexDownloadBase14");
- $pdftexDownloadBase14 = 1 unless (defined $pdftexDownloadBase14);
-
- $kanjiEmbed = &cfgval("kanjiEmbed");
- $kanjiEmbed = "noEmbed" unless (defined $kanjiEmbed);
-
- $kanjiVariant = &cfgval("kanjiVariant");
- $kanjiVariant = "" unless (defined $kanjiVariant);
-
- $pxdviUse = &cfgval("pxdviUse");
- $pxdviUse = 0 unless (defined $pxdviUse);
-
- &wlog ("\n$0 "
- . ($dry_run ? "would create" : "is creating") . " new map files"
- . "\nusing the following configuration:"
- . "\n LW35 font names : "
- . $mode
- . "\n prefer outlines : "
- . ($dvipsPreferOutline ? "true" : "false")
- . "\n texhash enabled : "
- . ($nohash ? "false" : "true")
- . "\n download standard fonts (dvips) : "
- . ($dvipsDownloadBase35 ? "true" : "false")
- . "\n download standard fonts (pdftex) : "
- . ($pdftexDownloadBase14 ? "true" : "false")
- . "\n kanjiEmbed/variant replacement : "
- . "$kanjiEmbed/$kanjiVariant"
- . "\n create a mapfile for pxdvi : "
- . ($pxdviUse ? "true" : "false")
- . "\n\n");
-
- &wlog ("Scanning for LW35 support files");
- $dvips35 = &locateMap("dvips35.map");
- $pdftex35 = &locateMap("pdftex35.map");
- $ps2pk35 = &locateMap("ps2pk35.map");
- my $LW35 = "\n$dvips35\n$pdftex35\n$ps2pk35\n\n";
- if ($dry_run) {
- print $LW35;
- } else {
- print LOG $LW35;
- }
- printf " [%3d files]\n", 3 unless ($quiet || $dry_run);
-
- &wlog ("Scanning for MixedMap entries");
- &newline;
- my @tmp1 = &catMaps('^MixedMap');
- foreach my $line (@tmp1) {
- if ($dry_run) {
- print "$line\n";
- } else {
- print LOG "$line\n";
- }
- }
- &newline;
- printf " [%3d files]\n", scalar @tmp1
- unless ($quiet || $dry_run);
-
- &wlog ("Scanning for KanjiMap entries");
- &newline;
- my @tmpkanji0 = &catMaps('^KanjiMap');
- foreach my $line (@tmpkanji0) {
- if ($dry_run) {
- print "$line\n";
- } else {
- print LOG "$line\n";
- }
- }
- &newline;
- printf " [%3d files]\n", scalar @tmpkanji0
- unless ($quiet || $dry_run);
-
- &wlog ("Scanning for Map entries");
- &newline();
- my @tmp2 = &catMaps('^Map');
- foreach my $line (@tmp2) {
- if ($dry_run) {
- print "$line\n";
- } else {
- print LOG "$line\n";
- }
- }
- &newline;
- printf " [%3d files]\n\n", scalar @tmp2
- unless ($quiet || $dry_run);
-
- if (@missing > 0) {
- print STDERR "\nERROR: The following map file(s) couldn't be found:\n\t";
- print STDERR join(' ', @missing);
- print STDERR "\n\n\tDid you run mktexlsr?\n\n" .
- "\tYou can delete non-existent map entries using the option\n".
- "\t --syncwithtrees.\n\n";
- exit (1);
- }
- exit(0) if $dry_run;
-
- # Create psfonts_t1.map, psfonts_pk.map, ps2pk.map and pdftex.map:
- 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",
- "$dvipdfmoutputdir/kanjix.map",
- "$dvipsoutputdir/ps2pk.map");
- if ($pxdviUse) {
- push @managed_files, "$pxdvioutputdir/xdvi-ptex.map";
- }
- for my $file (@managed_files) {
- open FILE, ">$file";
- print FILE "% $file:\
-% maintained by updmap[-sys].\
-% Don't change this file directly. Use updmap[-sys] instead.\
-% See texmf/web2c/$cnfFileShort and the updmap documentation.\
-% A log of the run that created this file is available here:\
-% $logfile\
-";
- close FILE;
- }
-
- print "Generating output for dvipdfm...\n" if !$quiet;
- my @tmpkanji1;
- push @tmpkanji1, &getLines(@tmpkanji0);
- @tmpkanji1 = &normalizeLines(@tmpkanji1);
- &writeLines(">$dvipdfmoutputdir/kanjix.map",
- @tmpkanji1);
-
- if ($pxdviUse) {
- # 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 !$quiet;
- &writeLines(">$pxdvioutputdir/xdvi-ptex.map",
- @tmpkanji1);
- }
-
- print "Generating output for ps2pk...\n" if !$quiet;
- my @ps2pk_map = &transLW35($ps2pk35);
- push @ps2pk_map, &getLines(@tmp1);
- push @ps2pk_map, &getLines(@tmp2);
- &writeLines(">$dvipsoutputdir/ps2pk.map",
- &normalizeLines(@ps2pk_map));
-
- print "Generating output for dvips...\n" if !$quiet;
- my @download35_map = &transLW35($ps2pk35);
- &writeLines(">$dvipsoutputdir/download35.map",
- &normalizeLines(@download35_map));
-
- my @builtin35_map = &transLW35($dvips35);
- &writeLines(">$dvipsoutputdir/builtin35.map",
- &normalizeLines(@builtin35_map));
-
- my $dftdvips = ($dvipsDownloadBase35 ? $ps2pk35 : $dvips35);
-
- my @psfonts_t1_map = &transLW35($dftdvips);
- my @tmpkanji2 = &cidx2dvips(\@tmpkanji1);
- push @psfonts_t1_map, &getLines(@tmp1);
- push @psfonts_t1_map, &getLines(@tmp2);
- push @psfonts_t1_map, @tmpkanji2;
- &writeLines(">$dvipsoutputdir/psfonts_t1.map",
- &normalizeLines(@psfonts_t1_map));
-
- my @psfonts_pk_map = &transLW35($dftdvips);
- push @psfonts_pk_map, &getLines(@tmp2);
- push @psfonts_pk_map, @tmpkanji2;
- &writeLines(">$dvipsoutputdir/psfonts_pk.map",
- &normalizeLines(@psfonts_pk_map));
-
- print "Generating output for pdftex...\n" if !$quiet;
- # remove PaintType due to Sebastian's request
- my @tmp3 = &transLW35($pdftex35);
- push @tmp3, &getLines(@tmp1);
- push @tmp3, &getLines(@tmp2);
- @tmp3 = grep { $_ !~ m/(^%|PaintType)/ } @tmp3;
-
- my @tmp7 = &transLW35($ps2pk35);
- push @tmp7, &getLines(@tmp1);
- push @tmp7, &getLines(@tmp2);
- @tmp7 = grep { $_ !~ m/(^%|PaintType)/ } @tmp7;
-
- my @pdftex_ndl14_map = @tmp3;
- @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 = @tmp7;
- @pdftex_dl14_map = &normalizeLines(@pdftex_dl14_map);
- @pdftex_dl14_map = &to_pdftex(@pdftex_dl14_map);
- &writeLines(">$pdftexoutputdir/pdftex_dl14.map", @pdftex_dl14_map);
-
- &setupSymlinks;
-
- &wlog ("\nFiles generated:\n");
- sub dir {
- my ($d, $f, $target)=@_;
- 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;
- &wlog ($date);
-
- if (-l "$d/$f") {
- my $lnk=sprintf " -> %s\n", readlink ("$d/$f");
- &wlog ($lnk);
- } elsif ($f eq $target) {
- if (&files_are_identical("$d/$f", "$d/$link{$target}")) {
- &wlog (" = $link{$target}\n");
- } else {
- &wlog (" = ?????\n"); # This shouldn't happen.
- }
- } else {
- &wlog ("\n");
- }
- } else {
- print STDERR "Warning: File $d/$f doesn't exist.\n";
- print LOG "Warning: File $d/$f doesn't exist.\n";
- }
- }
- my $d;
- $d="$dvipsoutputdir"; &wlog (" $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");
- }
- $d="$pdftexoutputdir"; &wlog (" $d:\n");
- foreach my $f ('pdftex_dl14.map', 'pdftex_ndl14.map', 'pdftex.map') {
- dir ($d, $f, 'pdftex.map');
- $updLSR->{add}("$d/$f");
- }
- $d="$dvipdfmoutputdir"; &wlog (" $d:\n");
- foreach my $f ('kanjix.map') {
- dir ($d, $f, '');
- $updLSR->{add}("$d/$f");
- }
- if ($pxdviUse) {
- $d="$pxdvioutputdir"; &wlog (" $d:\n");
- foreach my $f ('xdvi-ptex.map') {
- dir ($d, $f, '');
- $updLSR->{add}("$d/$f");
- }
- }
- close LOG;
- print "\nTranscript written on \"$logfile\".\n" if !$quiet;
-}
-
-
-###############################################################################
-# initVars()
-# initialize global variables
-#
-sub initVars {
- $quiet = 0;
- $nohash = 0;
- $nomkmap = 0;
- $cnfFile = "";
- $cnfFileShort = "updmap.cfg";
- $outputdir = "";
- chomp($TEXMFMAIN =`kpsewhich --var-value=TEXMFMAIN`);
-
- @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 /',
- );
-
- @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/',
- );
-
- @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/',
- );
-
- @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/',
- );
-}
-
-
-###############################################################################
-# main()
-#
-sub main {
- &initVars;
- &processOptions;
-
- &help if ($opt_help);
-
- if (@showoptions) {
- &showOptions(@showoptions);
- exit 0;
- }
-
- &setupCfgFile;
-
- if (@showoption) {
- &showOption(@showoption);
- exit 0;
- }
- if ($listmaps) {
- &listMaps ('list');
- exit 0;
- }
- if ($listavailablemaps) {
- &listMaps ('avail');
- exit 0;
- }
- if ($syncwithtrees) {
- &listMaps ('sync');
- exit 0;
- }
-
- my $bakFile = $cnfFile;
- $bakFile =~ s/\.cfg$/.bak/;
- &copyFile($cnfFile, $bakFile);
-
- my $cmd = '';
-
- if ($opt_edit) {
- # 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");
- system($editor, $cnfFile);
-
- } elsif (@setoptions) {
- $cmd = 'setOption';
- &setOptions (@setoptions);
-
- } elsif ($enableItem) {
- $cmd = 'enableMap';
- if ($enableItem =~ /=/) {
- &enableMap(split('=', $enableItem));
- } else {
- &enableMap($enableItem, shift @ARGV);
- }
-
- } elsif (@disableItem) {
- $cmd = 'disableMap';
- foreach my $m (@disableItem) {
- &disableMap($m);
- }
- }
-
- if ($cmd && !$opt_force && &files_are_equal($bakFile, $cnfFile)) {
- print "$cnfFile unchanged. Map files not recreated.\n" if !$quiet;
- } else {
- if (! $nomkmap) {
- &setupDestDir;
- &mkMaps;
- }
- unlink ($bakFile);
- }
-
- unless ($nohash) {
- print "$0: Updating ls-R files.\n" if !$quiet;
- $updLSR->{exec}()
- }
-}
-__END__
-
-### Local Variables:
-### perl-indent-level: 2
-### tab-width: 2
-### indent-tabs-mode: nil
-### End:
-# vim:set tabstop=2 expandtab: #
diff --git a/Master/texmf/scripts/texlive/updmap.pl b/Master/texmf/scripts/tetex/updmap.pl
index dc665fbc81e..dc665fbc81e 100755
--- a/Master/texmf/scripts/texlive/updmap.pl
+++ b/Master/texmf/scripts/tetex/updmap.pl