From 59f17143c54efcdc9b7d1b9c679659eedee33378 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 5 May 2017 22:45:15 +0000 Subject: ptex-fontmaps (5may17) git-svn-id: svn://tug.org/texlive/trunk@44206 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/texk/texlive/linked_scripts/Makefile.am | 1 + .../source/texk/texlive/linked_scripts/Makefile.in | 1 + .../ptex-fontmaps/kanji-config-updmap-user.sh | 24 ++ .../ptex-fontmaps/kanji-config-updmap.pl | 54 +++- .../source/texk/texlive/linked_scripts/scripts.lst | 1 + .../texk/texlive/linked_scripts/texlive/fmtutil.pl | 11 +- .../texk/texlive/linked_scripts/texlive/tlmgr.pl | 292 +++++++++++++-------- Master/bin/amd64-freebsd/kanji-config-updmap-user | 1 + Master/bin/amd64-netbsd/kanji-config-updmap-user | 1 + Master/bin/armel-linux/kanji-config-updmap-user | 1 + Master/bin/armhf-linux/kanji-config-updmap-user | 1 + Master/bin/i386-cygwin/kanji-config-updmap-user | 1 + Master/bin/i386-darwin/kanji-config-updmap-user | 1 + Master/bin/i386-freebsd/kanji-config-updmap-user | 1 + Master/bin/i386-linux/kanji-config-updmap-user | 1 + Master/bin/i386-netbsd/kanji-config-updmap-user | 1 + Master/bin/i386-solaris/kanji-config-updmap-user | 1 + Master/bin/powerpc-darwin/kanji-config-updmap-user | 1 + Master/bin/powerpc-linux/kanji-config-updmap-user | 1 + Master/bin/sparc-solaris/kanji-config-updmap-user | 1 + Master/bin/win32/kanji-config-updmap-user.exe | Bin 0 -> 1536 bytes Master/bin/x86_64-cygwin/kanji-config-updmap-user | 1 + Master/bin/x86_64-darwin/kanji-config-updmap-user | 1 + .../x86_64-darwinlegacy/kanji-config-updmap-user | 1 + Master/bin/x86_64-linux/kanji-config-updmap-user | 1 + Master/bin/x86_64-solaris/kanji-config-updmap-user | 1 + .../texmf-dist/doc/fonts/ptex-fontmaps/ChangeLog | 36 ++- Master/texmf-dist/doc/fonts/ptex-fontmaps/README | 12 +- .../ptex-fontmaps/ms-win10/otf-tc-ms-win10.map | 12 + .../ptex-fontmaps/ms-win10/uptex-tc-ms-win10.map | 4 + .../map/dvipdfmx/ptex-fontmaps/ms/otf-tc-ms.map | 8 +- .../map/dvipdfmx/ptex-fontmaps/ms/uptex-tc-ms.map | 4 +- .../ptex-fontmaps/kanji-config-updmap-user.sh | 24 ++ .../scripts/ptex-fontmaps/kanji-config-updmap.pl | 54 +++- .../scripts/ptex-fontmaps/kanji-fontmap-creator.pl | 4 +- .../source/ptex-fontmaps/tools/mkmap-tc.lua | 10 +- Master/tlpkg/tlpsrc/ptex-fontmaps.tlpsrc | 1 + 37 files changed, 420 insertions(+), 151 deletions(-) create mode 100755 Build/source/texk/texlive/linked_scripts/ptex-fontmaps/kanji-config-updmap-user.sh create mode 120000 Master/bin/amd64-freebsd/kanji-config-updmap-user create mode 120000 Master/bin/amd64-netbsd/kanji-config-updmap-user create mode 120000 Master/bin/armel-linux/kanji-config-updmap-user create mode 120000 Master/bin/armhf-linux/kanji-config-updmap-user create mode 120000 Master/bin/i386-cygwin/kanji-config-updmap-user create mode 120000 Master/bin/i386-darwin/kanji-config-updmap-user create mode 120000 Master/bin/i386-freebsd/kanji-config-updmap-user create mode 120000 Master/bin/i386-linux/kanji-config-updmap-user create mode 120000 Master/bin/i386-netbsd/kanji-config-updmap-user create mode 120000 Master/bin/i386-solaris/kanji-config-updmap-user create mode 120000 Master/bin/powerpc-darwin/kanji-config-updmap-user create mode 120000 Master/bin/powerpc-linux/kanji-config-updmap-user create mode 120000 Master/bin/sparc-solaris/kanji-config-updmap-user create mode 100755 Master/bin/win32/kanji-config-updmap-user.exe create mode 120000 Master/bin/x86_64-cygwin/kanji-config-updmap-user create mode 120000 Master/bin/x86_64-darwin/kanji-config-updmap-user create mode 120000 Master/bin/x86_64-darwinlegacy/kanji-config-updmap-user create mode 120000 Master/bin/x86_64-linux/kanji-config-updmap-user create mode 120000 Master/bin/x86_64-solaris/kanji-config-updmap-user create mode 100644 Master/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ms-win10/otf-tc-ms-win10.map create mode 100644 Master/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ms-win10/uptex-tc-ms-win10.map create mode 100755 Master/texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh diff --git a/Build/source/texk/texlive/linked_scripts/Makefile.am b/Build/source/texk/texlive/linked_scripts/Makefile.am index 678d9f87b85..efd046a584c 100644 --- a/Build/source/texk/texlive/linked_scripts/Makefile.am +++ b/Build/source/texk/texlive/linked_scripts/Makefile.am @@ -167,6 +167,7 @@ texmf_other_scripts = \ pmxchords/pmxchords.lua \ pst2pdf/pst2pdf.pl \ ptex-fontmaps/kanji-config-updmap-sys.sh \ + ptex-fontmaps/kanji-config-updmap-user.sh \ ptex-fontmaps/kanji-config-updmap.pl \ ptex-fontmaps/kanji-fontmap-creator.pl \ ptex2pdf/ptex2pdf.lua \ diff --git a/Build/source/texk/texlive/linked_scripts/Makefile.in b/Build/source/texk/texlive/linked_scripts/Makefile.in index 299b8281fae..8e0d2d71767 100644 --- a/Build/source/texk/texlive/linked_scripts/Makefile.in +++ b/Build/source/texk/texlive/linked_scripts/Makefile.in @@ -382,6 +382,7 @@ texmf_other_scripts = \ pmxchords/pmxchords.lua \ pst2pdf/pst2pdf.pl \ ptex-fontmaps/kanji-config-updmap-sys.sh \ + ptex-fontmaps/kanji-config-updmap-user.sh \ ptex-fontmaps/kanji-config-updmap.pl \ ptex-fontmaps/kanji-fontmap-creator.pl \ ptex2pdf/ptex2pdf.lua \ diff --git a/Build/source/texk/texlive/linked_scripts/ptex-fontmaps/kanji-config-updmap-user.sh b/Build/source/texk/texlive/linked_scripts/ptex-fontmaps/kanji-config-updmap-user.sh new file mode 100755 index 00000000000..8426f66e57f --- /dev/null +++ b/Build/source/texk/texlive/linked_scripts/ptex-fontmaps/kanji-config-updmap-user.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +# kanji-config-updmap-user: +# copy of fmtutil-sys by Thomas Esser, public domain. + +# wrapper script for updmap-setup-kanji with TEXMFVAR and TEXMFCONFIG set to +# TEXMFVAR / TEXMFCONFIG + +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 + +exec kanji-config-updmap --user ${1+"$@"} + diff --git a/Build/source/texk/texlive/linked_scripts/ptex-fontmaps/kanji-config-updmap.pl b/Build/source/texk/texlive/linked_scripts/ptex-fontmaps/kanji-config-updmap.pl index f1b88fbe12c..0caff69f627 100755 --- a/Build/source/texk/texlive/linked_scripts/ptex-fontmaps/kanji-config-updmap.pl +++ b/Build/source/texk/texlive/linked_scripts/ptex-fontmaps/kanji-config-updmap.pl @@ -1,11 +1,12 @@ #!/usr/bin/env perl # kanji-config-updmap: setup Japanese font embedding -# Version 20170114.0 +# Version 20170505.0 # # formerly known as updmap-setup-kanji # # Copyright 2004-2006 by KOBAYASHI R. Taizo for the shell version (updmap-otf) -# Copyright 2011-2016 by PREINING Norbert +# Copyright 2011-2017 by PREINING Norbert +# Copyright 2016-2017 by Japanese TeX Development Community # # This file is licensed under GPL version 3 or any later version. # For copyright statements see end of file. @@ -21,7 +22,7 @@ use Getopt::Long qw(:config no_autoabbrev ignore_case_always); use strict; my $prg = "kanji-config-updmap"; -my $version = '20170114.0'; +my $version = '20170505.0'; my $updmap_real = "updmap"; my $updmap = $updmap_real; @@ -30,7 +31,9 @@ my $dry_run = 0; my $opt_help = 0; my $opt_jis = 0; my $opt_sys = 0; +my $opt_user = 0; my $opt_mode = "ja"; +my $opt_old = 0; if (! GetOptions( "n|dry-run" => \$dry_run, @@ -41,8 +44,10 @@ if (! GetOptions( "sc" => sub { $opt_mode = "sc"; }, "tc" => sub { $opt_mode = "tc"; }, "ko" => sub { $opt_mode = "ko"; }, - "sys" => \$opt_sys, - "version" => sub { print &version(); exit(0); }, ) ) { + "sys" => \$opt_sys, + "user" => \$opt_user, + "old" => \$opt_old, + "version" => sub { print &version(); exit(0); }, ) ) { die "Try \"$0 --help\" for more information.\n"; } @@ -51,6 +56,16 @@ sub win32 { return ($^O=~/^MSWin(32|64)$/i); } my $nul = (win32() ? 'nul' : '/dev/null') ; +if ($opt_user && $opt_sys) { + die "Only one of -user and -sys can be used!"; +} + +if (defined($ARGV[0]) && $ARGV[0] ne "status") { + if (!($opt_user || $opt_sys)) { + die "Either -user or -sys mode is required."; + } +} + if ($dry_run) { $updmap = "echo updmap"; @@ -58,6 +73,22 @@ if ($dry_run) { if ($opt_sys) { $updmap = "$updmap --sys" ; $updmap_real = "$updmap_real --sys" ; +} else { + # TeX Live 2017 requires --user option + # try to determine the version of updmap installed + my $updver = `updmap --version 2>&1`; + if ($updver =~ m/^updmap version r([0-9]*) /) { + if ($1 >= 44080) { + $updmap = "$updmap --user" ; + $updmap_real = "$updmap_real --user" ; + } # else nothing to do, already set up for old updmap + } else { + # not recognized updmap -> assume new updmap unless --old + if (!$opt_old) { + $updmap = "$updmap --user" ; + $updmap_real = "$updmap_real --user" ; + } + } } if ($opt_help) { @@ -102,7 +133,8 @@ my %representatives = ( "cjkunifonts-ttf" => "uming.ttf", }, "tc" => { - "ms" => "mingliu.ttc", + "ms" => "msjh.ttf", + "ms-win10" => "msjh.ttc", "dynacomware" => "LiSongPro.ttf", "adobe" => "AdobeMingStd-Light.otf", "arphic" => "bsmi00lp.ttf", @@ -183,7 +215,13 @@ sub Usage { Simplified Chinese (NN=sc), Traditional Chinese (NN=tc) --NN short for --mode=NN --jis2004 use JIS2004 variants for default fonts of (u)pTeX - --sys run in sys mode, i.e., call updmap-sys + --sys run in sys mode, i.e., call updmap -sys + --user run in user mode, i.e., call updmap -user or updmap + by checking the version of the updmap script. If a + non-parsable output of `updmap --version' is found, a new + updmap with --user option is assumed. If this is not the + case, use --old. + --old Makes $prg call `updmap' without --user argument in user mode. --version show version information and exit EOF @@ -311,7 +349,7 @@ sub SetupReplacement { ms ms-osx moga-mobo moga-mobo-ex ume ipa ipaex/; } elsif ($opt_mode eq 'tc') { - @testlist = qw/dynacomware adobe ms arphic cjkunifonts cjkunifonts-ttf/; + @testlist = qw/dynacomware adobe ms-win10 ms arphic cjkunifonts cjkunifonts-ttf/; } elsif ($opt_mode eq 'sc') { @testlist = qw/fandol adobe ms arphic cjkunifonts cjkunifonts-ttf/; } elsif ($opt_mode eq 'ko') { diff --git a/Build/source/texk/texlive/linked_scripts/scripts.lst b/Build/source/texk/texlive/linked_scripts/scripts.lst index 78b6b80736d..5ba124a3981 100644 --- a/Build/source/texk/texlive/linked_scripts/scripts.lst +++ b/Build/source/texk/texlive/linked_scripts/scripts.lst @@ -112,6 +112,7 @@ pkfix/pkfix.pl pmxchords/pmxchords.lua pst2pdf/pst2pdf.pl ptex-fontmaps/kanji-config-updmap-sys.sh +ptex-fontmaps/kanji-config-updmap-user.sh ptex-fontmaps/kanji-config-updmap.pl ptex-fontmaps/kanji-fontmap-creator.pl ptex2pdf/ptex2pdf.lua diff --git a/Build/source/texk/texlive/linked_scripts/texlive/fmtutil.pl b/Build/source/texk/texlive/linked_scripts/texlive/fmtutil.pl index fd0232b7c2b..d351e8d0299 100755 --- a/Build/source/texk/texlive/linked_scripts/texlive/fmtutil.pl +++ b/Build/source/texk/texlive/linked_scripts/texlive/fmtutil.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# $Id: fmtutil.pl 43794 2017-04-15 00:12:54Z preining $ +# $Id: fmtutil.pl 44190 2017-05-04 21:38:43Z preining $ # fmtutil - utility to maintain format files. # (Maintained in TeX Live:Master/texmf-dist/scripts/texlive.) # @@ -24,11 +24,11 @@ BEGIN { TeX::Update->import(); } -my $svnid = '$Id: fmtutil.pl 43794 2017-04-15 00:12:54Z preining $'; -my $lastchdate = '$Date: 2017-04-15 02:12:54 +0200 (Sat, 15 Apr 2017) $'; +my $svnid = '$Id: fmtutil.pl 44190 2017-05-04 21:38:43Z preining $'; +my $lastchdate = '$Date: 2017-05-04 23:38:43 +0200 (Thu, 04 May 2017) $'; $lastchdate =~ s/^\$Date:\s*//; $lastchdate =~ s/ \(.*$//; -my $svnrev = '$Revision: 43794 $'; +my $svnrev = '$Revision: 44190 $'; $svnrev =~ s/^\$Revision:\s*//; $svnrev =~ s/\s*\$$//; my $version = "r$svnrev ($lastchdate)"; @@ -62,6 +62,9 @@ my @deferred_stdout; (our $prg = basename($0)) =~ s/\.pl$//; +# make sure that the main binary path is available at the front +TeXLive::TLUtils::prepend_own_path(); + # 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 diff --git a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl index 26c3235d097..f59d3ec7466 100755 --- a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl +++ b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl @@ -1,13 +1,13 @@ #!/usr/bin/env perl -# $Id: tlmgr.pl 44146 2017-05-01 22:53:26Z karl $ +# $Id: tlmgr.pl 44189 2017-05-04 17:31:52Z karl $ # # Copyright 2008-2017 Norbert Preining # This file is licensed under the GNU General Public License version 2 # or any later version. # -my $svnrev = '$Revision: 44146 $'; -my $datrev = '$Date: 2017-05-02 00:53:26 +0200 (Tue, 02 May 2017) $'; +my $svnrev = '$Revision: 44189 $'; +my $datrev = '$Date: 2017-05-04 19:31:52 +0200 (Thu, 04 May 2017) $'; my $tlmgrrevision; my $prg; if ($svnrev =~ m/: ([0-9]+) /) { @@ -5519,8 +5519,8 @@ sub action_conf { if (!defined($arg)) { texconfig_conf_mimic(); - } elsif ($arg !~ /^(tlmgr|texmf|updmap)$/) { - warn "$prg: unknown conf arg: $arg (try tlmgr or texmf or updmap)\n"; + } elsif ($arg !~ /^(tlmgr|texmf|updmap|auxtrees)$/) { + warn "$prg: unknown conf arg: $arg (try tlmgr or texmf or updmap or auxtrees)\n"; return($F_ERROR); } else { @@ -5532,7 +5532,7 @@ sub action_conf { chomp (my $TEXMFCONFIG = `kpsewhich -var-value=TEXMFCONFIG`); $fn || ( $fn = "$TEXMFCONFIG/tlmgr/config" ) ; $cf = TeXLive::TLConfFile->new($fn, "#", "="); - } elsif ($arg eq "texmf") { + } elsif ($arg eq "texmf" || $arg eq "auxtrees") { $fn || ( $fn = "$Master/texmf.cnf" ) ; $cf = TeXLive::TLConfFile->new($fn, "[%#]", "="); } elsif ($arg eq "updmap") { @@ -5541,9 +5541,13 @@ sub action_conf { } else { die "Should not happen, conf arg=$arg"; } - my ($key,$val,$str) = @ARGV; + my ($key,$val) = @ARGV; + # make sure that in case of tlmgr conf auxtrees (without anything else) + # we add the "show" argument which makes it easier to do stuff. + $key = "show" if ($arg eq "auxtrees" && !defined($key)); + if (!defined($key)) { - # show all settings + # show all settings (not auxtrees case!) if ($cf) { info("$arg configuration values (from $fn):\n"); for my $k ($cf->keys) { @@ -5554,92 +5558,87 @@ sub action_conf { return($F_WARNING); } } else { - if ($key eq "auxtrees") { - if ($arg eq "texmf") { - my $tmfa = 'TEXMFAUXTREES'; - my $tv = $cf->value($tmfa); - if (!$val || $val eq "show") { + if ($arg eq "auxtrees") { + my $tmfa = 'TEXMFAUXTREES'; + my $tv = $cf->value($tmfa); + if (!$key || $key eq "show") { + if (defined($tv)) { + $tv =~ s/^\s*//; + $tv =~ s/\s*$//; + $tv =~ s/,$//; + my @foo = split(',', $tv); + print "List of auxiliary texmf trees:\n" if (@foo); + for my $f (@foo) { + print " $f\n"; + } + return($F_OK); + } else { + print "$prg: no auxiliary texmf trees defined.\n"; + return($F_OK); + } + } elsif ($key eq "add") { + if (defined($val)) { if (defined($tv)) { - $tv =~ s/^\s*{//; - $tv =~ s/}\s*$//; + $tv =~ s/^\s*//; + $tv =~ s/\s*$//; $tv =~ s/,$//; my @foo = split(',', $tv); - print "List of auxiliary texmf trees:\n" if (@foo); + my @new; + my $already = 0; for my $f (@foo) { - print " $f\n"; - } - return($F_OK); - } else { - print "$prg: no auxiliary texmf trees defined.\n"; - return($F_OK); - } - } elsif ($val eq "add") { - if (defined($str)) { - if (defined($tv)) { - $tv =~ s/^\s*{//; - $tv =~ s/}\s*$//; - $tv =~ s/,$//; - my @foo = split(',', $tv); - my @new; - my $already = 0; - for my $f (@foo) { - if ($f eq $str) { - tlwarn("$prg: already registered auxtree: $str\n"); - return ($F_WARNING); - } else { - push @new, $f; - } + if ($f eq $val) { + tlwarn("$prg: already registered auxtree: $val\n"); + return ($F_WARNING); + } else { + push @new, $f; } - push @new, $str; - $cf->value($tmfa, '{' . join(',', @new) . ',}'); - } else { - $cf->value($tmfa, '{' . $str . ',}'); } + push @new, $val; + $cf->value($tmfa, join(',', @new) . ','); } else { - tlwarn("$prg: missing argument for auxtrees add\n"); - return($F_ERROR); + $cf->value($tmfa, $val . ','); } - } elsif ($val eq "remove") { - if (defined($str)) { - if (defined($tv)) { - $tv =~ s/^\s*{//; - $tv =~ s/}\s*$//; - $tv =~ s/,$//; - my @foo = split(',', $tv); - my @new; - my $removed = 0; - for my $f (@foo) { - if ($f ne $str) { - push @new, $f; - } else { - $removed = 1; - } + } else { + tlwarn("$prg: missing argument for auxtrees add\n"); + return($F_ERROR); + } + } elsif ($key eq "remove") { + if (defined($val)) { + if (defined($tv)) { + $tv =~ s/^\s*//; + $tv =~ s/\s*$//; + $tv =~ s/,$//; + my @foo = split(',', $tv); + my @new; + my $removed = 0; + for my $f (@foo) { + if ($f ne $val) { + push @new, $f; + } else { + $removed = 1; } - if ($removed) { - if ($#new >= 0) { - $cf->value($tmfa, '{' . join(',', @new) . ',}'); - } else { - $cf->delete_key($tmfa); - } + } + if ($removed) { + if ($#new >= 0) { + $cf->value($tmfa, join(',', @new) . ','); } else { - tlwarn("$prg: not defined as auxiliary texmf tree: $str\n"); - return($F_WARNING); + $cf->delete_key($tmfa); } } else { - tlwarn("$prg: no auxiliary texmf trees defined, " - . "so nothing removed\n"); + tlwarn("$prg: not defined as auxiliary texmf tree: $val\n"); return($F_WARNING); } } else { - tlwarn("$prg: missing argument for auxtrees remove\n"); - return($F_ERROR); + tlwarn("$prg: no auxiliary texmf trees defined, " + . "so nothing removed\n"); + return($F_WARNING); } } else { - tlwarn("$prg: unknown auxtrees operation: $val\n"); + tlwarn("$prg: missing argument for auxtrees remove\n"); return($F_ERROR); } } else { - tlwarn("$prg: auxtrees not suitable for $arg\n"); + tlwarn("$prg: unknown auxtrees operation: $key\n"); return($F_ERROR); } } elsif (!defined($val)) { @@ -5665,7 +5664,7 @@ sub action_conf { } else { info("$arg $key default value: $defval"); } - info(" (kpsewhich -var-value)\n"); + info(" (from kpsewhich -var-value)\n"); } } } @@ -5864,13 +5863,12 @@ sub action_shell { } chomp($ans); if (@options) { - $ans--; - if ($ans >= 0 && $ans <= $#options) { - $ans = $options[$ans]; - return($ans); + if ($ans =~ /^[0-9]+$/ && 0 <= $ans - 1 && $ans - 1 <= $#options) { + $ans = $options[$ans - 1]; } else { - print "ERROR invalid answer\n"; - return; + print "ERROR invalid answer $ans\n"; + # return empty string so caller knows not to continue + $ans = ""; } } if (@guarantee) { @@ -5882,7 +5880,7 @@ sub action_shell { } } if (!$isok) { - print("Please answer one of @guarantee!\n"); + print("Please answer one of: @guarantee\n"); return(do_prompt(@savedargs)); } } @@ -5907,19 +5905,27 @@ sub action_shell { } elsif ($cmd eq "setup-location") { my $dest = shift @args; print "ERROR not implemented: $cmd\n"; + } elsif ($cmd eq "restart") { + exec("tlmgr", @::SAVEDARGV); + } elsif ($cmd =~ m/^(set|get)$/) { - my @valid_keys = qw/repository debug-translation machine-readable no-execute-actions require-verification verify-downloads/; + my @valid_bool_keys + = qw/debug-translation machine-readable no-execute-actions + require-verification verify-downloads/; + my @valid_string_keys = qw/repository/; + my @valid_keys = (@valid_bool_keys, @valid_string_keys); + # my $key = shift @args; my $val = shift @args; if (!$key) { - $key = do_prompt('Choose...', -menu => \@valid_keys, '>'); + $key = do_prompt('Choose one of...', -menu => \@valid_keys, '>'); } if (!$key) { - print("ERROR missing argument for get\n"); + print("ERROR missing key argument for get/set\n"); next; } if ($cmd eq "get" && defined($val)) { - print("ERROR no argument allowed for get\n"); + print("ERROR argument not allowed for get: $val\n"); next; } if ($cmd eq "set" && !defined($val)) { @@ -5930,7 +5936,7 @@ sub action_shell { } # deal with Ctrl-D if (!defined($val)) { - print("ERROR Missing value for set.\n"); + print("ERROR missing value for set\n"); next; } } @@ -5939,16 +5945,23 @@ sub action_shell { if ($cmd eq "set") { $location = scalar($val); } else { - if (defined($location)) { + if (defined($location) && $location) { print "repository = $location\n"; } else { print "repository = \n"; } } print "OK\n"; - } elsif ($key =~ m/^(debug-translation|machine-readable|no-execute-actions|require-verification|verify-downloads)$/) { + } elsif (TeXLive::TLUtils::member($key, @valid_bool_keys)) { if ($cmd eq "set") { - $opts{$key} = ($val eq "1" ? 1 : 0); + if ($val eq "0") { + $opts{$key} = 0; + } elsif ($val eq "1") { + $opts{$key} = 1; + } else { + print "ERROR invalid value $val for key $key\n"; + next; + } # special cases $::debug_translation = $opts{"debug-translation"}; $::machinereadable = $opts{"machine-readable"}; @@ -5958,7 +5971,7 @@ sub action_shell { } print "OK\n"; } else { - print "ERROR unknown key $key\n"; + print "ERROR unknown get/set key $key\n"; } } elsif ($cmd eq "load") { my $what = shift @args; @@ -5972,7 +5985,7 @@ sub action_shell { init_tlmedia_or_die(); print "OK\n"; } else { - print "ERROR can only load 'local' or 'remote'\n"; + print "ERROR can only load 'local' or 'remote', not $what\n"; } } elsif ($cmd eq "save") { $localtlpdb->save; @@ -5980,7 +5993,7 @@ sub action_shell { } elsif (defined($action_specification{$cmd})) { # an action if (!defined($action_specification{$cmd}{"function"})) { - print "ERROR action function not defined\n"; + print "ERROR undefined action function $cmd\n"; next; } # redo the option parsing @@ -6018,7 +6031,7 @@ sub action_shell { } %opts = %savedopts; } else { - print "ERROR unknown command\n"; + print "ERROR unknown command $cmd\n"; } } } @@ -7124,7 +7137,7 @@ checking the TL development repository. =back =head2 conf [texmf|tlmgr|updmap [--conffile I] [--delete] [I [I]]] -=head2 conf texmf [--conffile I] auxtrees [show|add|delete] [I] +=head2 conf auxtrees [--conffile I] [show|add|delete] [I] With only C, show general configuration information for TeX Live, including active configuration files, path settings, and more. This is @@ -7143,33 +7156,34 @@ out). If I is given in addition, I is set to I in the respective file. I +The C value shown by C is as used by C. The +directory in which the C executable is found is automatically +prepended to the PATH value inherited from the environment. + Here is a practical example of changing configuration values. If the execution of (some or all) system commands via C<\write18> was left enabled during installation, you can disable it afterwards: tlmgr conf texmf shell_escape 0 -For C, an additional subcommand C allows adding and -removing arbitrary additional texmf trees, completely under user -control. C shows the list of additional trees, -C I adds a tree to the list, and C I removes a tree from the list (if present). This -works by manipulating the Kpathsea variable C, in +The subcommand C allows adding and removing arbitrary +additional texmf trees, completely under user control. C +shows the list of additional trees, C I adds a tree +to the list, and C I removes a tree from the list +(if present). The trees should not contain an C file. This works +by manipulating the Kpathsea variable C, in C. Example: - tlmgr conf texmf auxtrees add /my/quick/test/tree - tlmgr conf texmf auxtrees remove /my/quick/test/tree + tlmgr conf auxtrees add /quick/test/tree + tlmgr conf auxtrees remove /quick/test/tree In all cases the configuration file can be explicitly specified via the option C<--conffile> I, if desired. -The C value shown is as used by C. The directory in which -the C executable is found is automatically prepended to the PATH -value inherited from the environment. - -Warning: The general facility is here, but tinkering with settings in -this way is strongly discouraged. Again, no error checking on either -keys or values is done, so any sort of breakage is possible. +Warning: The general facility for changing configuration values is here, +but tinkering with settings in this way is strongly discouraged. Again, +no error checking on either keys or values is done, so any sort of +breakage is possible. =head2 dump-tlpdb [--local|--remote] @@ -7855,8 +7869,63 @@ C (unless they also contain the word C on its own). =head2 shell -Starts the TeX Live Manager Shell. +Starts an interactive mode, where tlmgr prompts for commands. This can +be used directly, or for scripting. The first line of output is +C I, where I is an unsigned number identifying the +protocol version (currently 1). + +In general, tlmgr actions that can be given on the command line +translate to commands in this shell mode. For example, you can say +C to see what would be updated. The TLPDB is loaded the +first time it is needed (not at the beginning), and used for the rest of +the session. + +Besides these actions, a few commands are specific to shell mode: + +=over 4 + +=item protocol + +Print C>, the current protocol version. + +=item help + +Print pointers to this documentation. + +=item version + +Print tlmgr version information. +=item quit, end, bye, byebye, EOF + +Exit. + +=item restart + +Restart C with the original command line; most useful when +developing C. + +=item load [local|remote] + +Explicitly load the local or remote, respectively, TLPDB. + +=item save + +Save the local TLPDB, presumably after other operations have changed it. + +=item get [I] +=item set [I [I]] + +Get the value of I, or set it to I. Possible I names: +C, C, C, +C, C, and C. All +except C are booleans, taking values 0 and 1, and behave +like the corresponding command line option. The C variable +takes a string, and sets the remote repository location. + +If I or then I is not specified, it is prompted for. + +=back =head2 uninstall @@ -8740,6 +8809,7 @@ This script and its documentation were written for the TeX Live distribution (L) and both are licensed under the GNU General Public License Version 2 or later. +$Id$ =cut # to remake HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html diff --git a/Master/bin/amd64-freebsd/kanji-config-updmap-user b/Master/bin/amd64-freebsd/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/amd64-freebsd/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/amd64-netbsd/kanji-config-updmap-user b/Master/bin/amd64-netbsd/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/amd64-netbsd/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/armel-linux/kanji-config-updmap-user b/Master/bin/armel-linux/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/armel-linux/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/armhf-linux/kanji-config-updmap-user b/Master/bin/armhf-linux/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/armhf-linux/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/i386-cygwin/kanji-config-updmap-user b/Master/bin/i386-cygwin/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/i386-cygwin/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/i386-darwin/kanji-config-updmap-user b/Master/bin/i386-darwin/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/i386-darwin/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/i386-freebsd/kanji-config-updmap-user b/Master/bin/i386-freebsd/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/i386-freebsd/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/i386-linux/kanji-config-updmap-user b/Master/bin/i386-linux/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/i386-linux/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/i386-netbsd/kanji-config-updmap-user b/Master/bin/i386-netbsd/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/i386-netbsd/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/i386-solaris/kanji-config-updmap-user b/Master/bin/i386-solaris/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/i386-solaris/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/powerpc-darwin/kanji-config-updmap-user b/Master/bin/powerpc-darwin/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/powerpc-darwin/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/powerpc-linux/kanji-config-updmap-user b/Master/bin/powerpc-linux/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/powerpc-linux/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/sparc-solaris/kanji-config-updmap-user b/Master/bin/sparc-solaris/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/sparc-solaris/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/win32/kanji-config-updmap-user.exe b/Master/bin/win32/kanji-config-updmap-user.exe new file mode 100755 index 00000000000..5777d90a17a Binary files /dev/null and b/Master/bin/win32/kanji-config-updmap-user.exe differ diff --git a/Master/bin/x86_64-cygwin/kanji-config-updmap-user b/Master/bin/x86_64-cygwin/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/x86_64-cygwin/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/x86_64-darwin/kanji-config-updmap-user b/Master/bin/x86_64-darwin/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/x86_64-darwin/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/x86_64-darwinlegacy/kanji-config-updmap-user b/Master/bin/x86_64-darwinlegacy/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/x86_64-darwinlegacy/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/x86_64-linux/kanji-config-updmap-user b/Master/bin/x86_64-linux/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/x86_64-linux/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/bin/x86_64-solaris/kanji-config-updmap-user b/Master/bin/x86_64-solaris/kanji-config-updmap-user new file mode 120000 index 00000000000..792d3f5ee2c --- /dev/null +++ b/Master/bin/x86_64-solaris/kanji-config-updmap-user @@ -0,0 +1 @@ +../../texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh \ No newline at end of file diff --git a/Master/texmf-dist/doc/fonts/ptex-fontmaps/ChangeLog b/Master/texmf-dist/doc/fonts/ptex-fontmaps/ChangeLog index 908c7278c8e..cc4e263a937 100644 --- a/Master/texmf-dist/doc/fonts/ptex-fontmaps/ChangeLog +++ b/Master/texmf-dist/doc/fonts/ptex-fontmaps/ChangeLog @@ -1,6 +1,30 @@ +2017-05-05 Hironobu Yamashita + + * Release 20170505.0 (HEAD -> master) [a9058af] + +2017-04-29 Norbert Preining + + * add -user script (origin/master, origin/HEAD) [b7a2df4] + +2017-04-29 Norbert Preining + + * support old and new updmap, add -sys and -user cmd line args [0445b02] + +2017-04-27 Hironobu Yamashita + + * updmap requires --user option (change for tl2017) [8d2d784] + +2017-04-15 Hironobu Yamashita + + * Use MicrosoftJhengHeiRegular for TC [8b7a652] + +2017-03-10 Hironobu Yamashita + + * typo (mingliu.ttc) [95c64ea] + 2017-01-14 Norbert Preining - * Release 20170114.0 (HEAD -> master) [7826c5c] + * Release 20170114.0 (tag: 20170114.0) [7826c5c] 2017-01-14 Norbert Preining @@ -12,11 +36,11 @@ 2017-01-14 Norbert Preining - * don't put tl-update dir into release tarball (origin/master, origin/aminophen-cjk, aminophen-cjk) [8e79949] + * don't put tl-update dir into release tarball [8e79949] 2017-01-11 aminophen - * scEmbed default: fandol -> arphic-ttf This reverts the commit 142decd, for smaller dependency [7e77414] + * scEmbed default: fandol -> arphic-ttf This reverts the commit 142decd, for smaller dependency (origin/aminophen-cjk, aminophen/master) [7e77414] 2017-01-11 aminophen @@ -236,7 +260,7 @@ 2016-10-04 aminophen - * hiragino-elcapitan: W2.otf -> W3.ttc; Add toppanbunkyu-sierra [9af223b] + * hiragino-elcapitan: W2.otf -> W3.ttc; Add toppanbunkyu-sierra (origin/toppan) [9af223b] 2016-10-04 aminophen @@ -296,7 +320,7 @@ 2015-10-02 Norbert Preining - * Release 20151002.0 (tag: 20151002.0, norbu/master) [544b1f4] + * Release 20151002.0 (tag: 20151002.0) [544b1f4] 2015-10-02 Norbert Preining @@ -348,7 +372,7 @@ 2015-07-31 Hironori Kitagawa - * Oops, forgot to update script (gito-h7ks/h7k, h7k) [8eb1df3] + * Oops, forgot to update script [8eb1df3] 2015-07-31 Hironori Kitagawa diff --git a/Master/texmf-dist/doc/fonts/ptex-fontmaps/README b/Master/texmf-dist/doc/fonts/ptex-fontmaps/README index ad3d32f9f1c..67fe24f1013 100644 --- a/Master/texmf-dist/doc/fonts/ptex-fontmaps/README +++ b/Master/texmf-dist/doc/fonts/ptex-fontmaps/README @@ -1,7 +1,7 @@ ptex-fontmaps ============= -Current release: 20170114.0 +Current release: 20170505.0 The files contained in this package contains font maps for dvipdfmx to make various Japanese/Chinese/Korean fonts available for (u)ptex and related programs @@ -221,9 +221,13 @@ Traditional Chinese * noEmbed - no embedding is done at all, fonts are selected by the viewer (no font needed for dvipdfmx) -* ms - MingLiU and MicrosoftMHei, shipped with Windows - mingliu.ttf - MSMHei.ttf +* ms - MingLiU and MicrosoftJhengHeiRegular, shipped with Windows Vista/7 + mingliu.ttc + msjh.ttf + +* ms-win10 - MingLiU and MicrosoftJhengHeiRegular, shipped with Windows 8/8.1/10 + mingliu.ttc + msjh.ttc * dynacomware - DynaComware Taiwan Inc. LiSongPro.ttf (<= "儷宋 Pro.ttf") diff --git a/Master/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ms-win10/otf-tc-ms-win10.map b/Master/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ms-win10/otf-tc-ms-win10.map new file mode 100644 index 00000000000..ad87df24111 --- /dev/null +++ b/Master/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ms-win10/otf-tc-ms-win10.map @@ -0,0 +1,12 @@ + +% CID +otf-ctmr-h Identity-H :0:mingliu.ttc/AC14 %!PS MingLiU +otf-ctmr-v Identity-V :0:mingliu.ttc/AC14 %!PS MingLiU +otf-ctgr-h Identity-H :0:msjh.ttc/AC14 %!PS MicrosoftJhengHeiRegular +otf-ctgr-v Identity-V :0:msjh.ttc/AC14 %!PS MicrosoftJhengHeiRegular + +% Unicode +otf-utmr-h UniCNS-UCS2-H :0:mingliu.ttc %!PS MingLiU +otf-utmr-v UniCNS-UCS2-V :0:mingliu.ttc %!PS MingLiU +otf-utgr-h UniCNS-UCS2-H :0:msjh.ttc %!PS MicrosoftJhengHeiRegular +otf-utgr-v UniCNS-UCS2-V :0:msjh.ttc %!PS MicrosoftJhengHeiRegular diff --git a/Master/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ms-win10/uptex-tc-ms-win10.map b/Master/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ms-win10/uptex-tc-ms-win10.map new file mode 100644 index 00000000000..f77e094ca17 --- /dev/null +++ b/Master/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ms-win10/uptex-tc-ms-win10.map @@ -0,0 +1,4 @@ +upmsl-h UniCNS-UTF16-H :0:mingliu.ttc %!PS MingLiU +upmsl-v UniCNS-UTF16-V :0:mingliu.ttc %!PS MingLiU +upmhm-h UniCNS-UTF16-H :0:msjh.ttc %!PS MicrosoftJhengHeiRegular +upmhm-v UniCNS-UTF16-V :0:msjh.ttc %!PS MicrosoftJhengHeiRegular diff --git a/Master/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ms/otf-tc-ms.map b/Master/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ms/otf-tc-ms.map index 10f0ef0cb06..6e9ea9fc294 100644 --- a/Master/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ms/otf-tc-ms.map +++ b/Master/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ms/otf-tc-ms.map @@ -2,11 +2,11 @@ % CID otf-ctmr-h Identity-H :0:mingliu.ttc/AC14 %!PS MingLiU otf-ctmr-v Identity-V :0:mingliu.ttc/AC14 %!PS MingLiU -otf-ctgr-h Identity-H MSMHei.ttf/AC14 %!PS MicrosoftMHei -otf-ctgr-v Identity-V MSMHei.ttf/AC14 %!PS MicrosoftMHei +otf-ctgr-h Identity-H msjh.ttf/AC14 %!PS MicrosoftJhengHeiRegular +otf-ctgr-v Identity-V msjh.ttf/AC14 %!PS MicrosoftJhengHeiRegular % Unicode otf-utmr-h UniCNS-UCS2-H :0:mingliu.ttc %!PS MingLiU otf-utmr-v UniCNS-UCS2-V :0:mingliu.ttc %!PS MingLiU -otf-utgr-h UniCNS-UCS2-H MSMHei.ttf %!PS MicrosoftMHei -otf-utgr-v UniCNS-UCS2-V MSMHei.ttf %!PS MicrosoftMHei +otf-utgr-h UniCNS-UCS2-H msjh.ttf %!PS MicrosoftJhengHeiRegular +otf-utgr-v UniCNS-UCS2-V msjh.ttf %!PS MicrosoftJhengHeiRegular diff --git a/Master/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ms/uptex-tc-ms.map b/Master/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ms/uptex-tc-ms.map index 1921fa86515..fcdeb557613 100644 --- a/Master/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ms/uptex-tc-ms.map +++ b/Master/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ms/uptex-tc-ms.map @@ -1,4 +1,4 @@ upmsl-h UniCNS-UTF16-H :0:mingliu.ttc %!PS MingLiU upmsl-v UniCNS-UTF16-V :0:mingliu.ttc %!PS MingLiU -upmhm-h UniCNS-UTF16-H MSMHei.ttf %!PS MicrosoftMHei -upmhm-v UniCNS-UTF16-V MSMHei.ttf %!PS MicrosoftMHei +upmhm-h UniCNS-UTF16-H msjh.ttf %!PS MicrosoftJhengHeiRegular +upmhm-v UniCNS-UTF16-V msjh.ttf %!PS MicrosoftJhengHeiRegular diff --git a/Master/texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh b/Master/texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh new file mode 100755 index 00000000000..8426f66e57f --- /dev/null +++ b/Master/texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap-user.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +# kanji-config-updmap-user: +# copy of fmtutil-sys by Thomas Esser, public domain. + +# wrapper script for updmap-setup-kanji with TEXMFVAR and TEXMFCONFIG set to +# TEXMFVAR / TEXMFCONFIG + +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 + +exec kanji-config-updmap --user ${1+"$@"} + diff --git a/Master/texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap.pl b/Master/texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap.pl index f1b88fbe12c..0caff69f627 100755 --- a/Master/texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap.pl +++ b/Master/texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap.pl @@ -1,11 +1,12 @@ #!/usr/bin/env perl # kanji-config-updmap: setup Japanese font embedding -# Version 20170114.0 +# Version 20170505.0 # # formerly known as updmap-setup-kanji # # Copyright 2004-2006 by KOBAYASHI R. Taizo for the shell version (updmap-otf) -# Copyright 2011-2016 by PREINING Norbert +# Copyright 2011-2017 by PREINING Norbert +# Copyright 2016-2017 by Japanese TeX Development Community # # This file is licensed under GPL version 3 or any later version. # For copyright statements see end of file. @@ -21,7 +22,7 @@ use Getopt::Long qw(:config no_autoabbrev ignore_case_always); use strict; my $prg = "kanji-config-updmap"; -my $version = '20170114.0'; +my $version = '20170505.0'; my $updmap_real = "updmap"; my $updmap = $updmap_real; @@ -30,7 +31,9 @@ my $dry_run = 0; my $opt_help = 0; my $opt_jis = 0; my $opt_sys = 0; +my $opt_user = 0; my $opt_mode = "ja"; +my $opt_old = 0; if (! GetOptions( "n|dry-run" => \$dry_run, @@ -41,8 +44,10 @@ if (! GetOptions( "sc" => sub { $opt_mode = "sc"; }, "tc" => sub { $opt_mode = "tc"; }, "ko" => sub { $opt_mode = "ko"; }, - "sys" => \$opt_sys, - "version" => sub { print &version(); exit(0); }, ) ) { + "sys" => \$opt_sys, + "user" => \$opt_user, + "old" => \$opt_old, + "version" => sub { print &version(); exit(0); }, ) ) { die "Try \"$0 --help\" for more information.\n"; } @@ -51,6 +56,16 @@ sub win32 { return ($^O=~/^MSWin(32|64)$/i); } my $nul = (win32() ? 'nul' : '/dev/null') ; +if ($opt_user && $opt_sys) { + die "Only one of -user and -sys can be used!"; +} + +if (defined($ARGV[0]) && $ARGV[0] ne "status") { + if (!($opt_user || $opt_sys)) { + die "Either -user or -sys mode is required."; + } +} + if ($dry_run) { $updmap = "echo updmap"; @@ -58,6 +73,22 @@ if ($dry_run) { if ($opt_sys) { $updmap = "$updmap --sys" ; $updmap_real = "$updmap_real --sys" ; +} else { + # TeX Live 2017 requires --user option + # try to determine the version of updmap installed + my $updver = `updmap --version 2>&1`; + if ($updver =~ m/^updmap version r([0-9]*) /) { + if ($1 >= 44080) { + $updmap = "$updmap --user" ; + $updmap_real = "$updmap_real --user" ; + } # else nothing to do, already set up for old updmap + } else { + # not recognized updmap -> assume new updmap unless --old + if (!$opt_old) { + $updmap = "$updmap --user" ; + $updmap_real = "$updmap_real --user" ; + } + } } if ($opt_help) { @@ -102,7 +133,8 @@ my %representatives = ( "cjkunifonts-ttf" => "uming.ttf", }, "tc" => { - "ms" => "mingliu.ttc", + "ms" => "msjh.ttf", + "ms-win10" => "msjh.ttc", "dynacomware" => "LiSongPro.ttf", "adobe" => "AdobeMingStd-Light.otf", "arphic" => "bsmi00lp.ttf", @@ -183,7 +215,13 @@ sub Usage { Simplified Chinese (NN=sc), Traditional Chinese (NN=tc) --NN short for --mode=NN --jis2004 use JIS2004 variants for default fonts of (u)pTeX - --sys run in sys mode, i.e., call updmap-sys + --sys run in sys mode, i.e., call updmap -sys + --user run in user mode, i.e., call updmap -user or updmap + by checking the version of the updmap script. If a + non-parsable output of `updmap --version' is found, a new + updmap with --user option is assumed. If this is not the + case, use --old. + --old Makes $prg call `updmap' without --user argument in user mode. --version show version information and exit EOF @@ -311,7 +349,7 @@ sub SetupReplacement { ms ms-osx moga-mobo moga-mobo-ex ume ipa ipaex/; } elsif ($opt_mode eq 'tc') { - @testlist = qw/dynacomware adobe ms arphic cjkunifonts cjkunifonts-ttf/; + @testlist = qw/dynacomware adobe ms-win10 ms arphic cjkunifonts cjkunifonts-ttf/; } elsif ($opt_mode eq 'sc') { @testlist = qw/fandol adobe ms arphic cjkunifonts cjkunifonts-ttf/; } elsif ($opt_mode eq 'ko') { diff --git a/Master/texmf-dist/scripts/ptex-fontmaps/kanji-fontmap-creator.pl b/Master/texmf-dist/scripts/ptex-fontmaps/kanji-fontmap-creator.pl index b364d7e9c93..b26d4fc217d 100755 --- a/Master/texmf-dist/scripts/ptex-fontmaps/kanji-fontmap-creator.pl +++ b/Master/texmf-dist/scripts/ptex-fontmaps/kanji-fontmap-creator.pl @@ -2,7 +2,7 @@ # # kanji-fontmap-creator # (c) 2012-2014 Norbert Preining -# Version: 20170114.0 +# Version: 20170505.0 # Licenced under the GPLv2 or any higher version # # gui to create map files for updmap(-setup-kanji) @@ -41,7 +41,7 @@ my $opt_help = 0; my $opt_version = 0; my $prg = "kanji-fontmap-creator"; -my $version = "20170114.0"; +my $version = "20170505.0"; # # global vars configuring operation diff --git a/Master/texmf-dist/source/ptex-fontmaps/tools/mkmap-tc.lua b/Master/texmf-dist/source/ptex-fontmaps/tools/mkmap-tc.lua index 6634a2ac848..db27b831cf8 100755 --- a/Master/texmf-dist/source/ptex-fontmaps/tools/mkmap-tc.lua +++ b/Master/texmf-dist/source/ptex-fontmaps/tools/mkmap-tc.lua @@ -31,10 +31,16 @@ local foundry = { gr='ukai.ttf %!PS ZenKai-Uni', {''}, }, - ['ms'] = { + ['ms'] = { -- for windows vista, 7 noncid = true, mr=':0:mingliu.ttc %!PS MingLiU', - gr='MSMHei.ttf %!PS MicrosoftMHei', -- ほかに見当たらなかったので + gr='msjh.ttf %!PS MicrosoftJhengHeiRegular', + {''}, + }, + ['ms-win10'] = { -- for windows 8, 8.1, 10 + noncid = true, + mr=':0:mingliu.ttc %!PS MingLiU', + gr=':0:msjh.ttc %!PS MicrosoftJhengHeiRegular', {''}, }, ['dynacomware'] = { diff --git a/Master/tlpkg/tlpsrc/ptex-fontmaps.tlpsrc b/Master/tlpkg/tlpsrc/ptex-fontmaps.tlpsrc index 3f12003d7ac..72e9cabd8ef 100644 --- a/Master/tlpkg/tlpsrc/ptex-fontmaps.tlpsrc +++ b/Master/tlpkg/tlpsrc/ptex-fontmaps.tlpsrc @@ -6,4 +6,5 @@ runpattern +d texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps runpattern +d texmf-dist/fonts/cmap/ptex-fontmaps binpattern f bin/${ARCH}/kanji-config-updmap binpattern f bin/${ARCH}/kanji-config-updmap-sys +binpattern f bin/${ARCH}/kanji-config-updmap-user binpattern f bin/${ARCH}/kanji-fontmap-creator -- cgit v1.2.3