texlive[50442] Master/texmf-dist/scripts/texlive/updmap.pl:

commits+hironobu at tug.org commits+hironobu at tug.org
Mon Mar 18 12:35:24 CET 2019


Revision: 50442
          http://tug.org/svn/texlive?view=revision&revision=50442
Author:   hironobu
Date:     2019-03-18 12:35:23 +0100 (Mon, 18 Mar 2019)
Log Message:
-----------
updmap.pl: support %!DVIPSFB syntax for dvips-specific Kanji map fallbacks

Modified Paths:
--------------
    trunk/Master/texmf-dist/scripts/texlive/updmap.pl

Modified: trunk/Master/texmf-dist/scripts/texlive/updmap.pl
===================================================================
--- trunk/Master/texmf-dist/scripts/texlive/updmap.pl	2019-03-18 08:41:55 UTC (rev 50441)
+++ trunk/Master/texmf-dist/scripts/texlive/updmap.pl	2019-03-18 11:35:23 UTC (rev 50442)
@@ -845,9 +845,18 @@
     chomp;
     # save the line for warnings
     my $l = $_;
-    # first check whether a PSname is given
+    #
     my $psname;
+    my $fbname;
     #
+    # special case for pre-defined fallback from unicode encoded font
+    if ($_ =~ m/%!DVIPSFB\s\s*([0-9A-Za-z-_!,][0-9A-Za-z-_!,]*)/) {
+      $fbname = $1;
+      # minimal adjustment
+      $fbname =~ s/^!//;
+      $fbname =~ s/,Bold//;
+    }
+    # first check whether a PSname is given
     # the matching on \w* is greedy, so will take all the word chars available
     # that means we do not need to test for end of word
     if ($_ =~ m/%!PS\s\s*([0-9A-Za-z-_][0-9A-Za-z-_]*)/) {
@@ -875,7 +884,8 @@
     # make everything single spaced
     s/\s\s*/ /g;
     # unicode encoded fonts are not supported
-    next if (m!^[\w-][\w-]* unicode !);
+    # but if a fallback font is pre-defined, we can use it
+    next if (!defined($fbname) && (m!^[0-9A-Za-z-_][0-9A-Za-z-_]* unicode !));
     # now we have the following format
     #  <word> <word> <word> some options like -e or -s
     if ($_ !~ m/([^ ][^ ]*) ([^ ][^ ]*) ([^ ][^ ]*)( (.*))?$/) {
@@ -911,13 +921,17 @@
       $opts .= " \"$italicmax SlantFont\"";
     }
     # print out the result
-    if (defined($psname)) {
-      push @d, "$tfmname $psname-$cid$opts\n";
+    if (defined($fbname)) {
+      push @d, "$tfmname $fbname\n";
     } else {
-      if (defined($fname_psname{$fname})) {
-        push @d, "$tfmname $fname_psname{$fname}-$cid$opts\n";
+      if (defined($psname)) {
+        push @d, "$tfmname $psname-$cid$opts\n";
       } else {
-        push @d, "$tfmname $fname-$cid$opts\n";
+        if (defined($fname_psname{$fname})) {
+          push @d, "$tfmname $fname_psname{$fname}-$cid$opts\n";
+        } else {
+          push @d, "$tfmname $fname-$cid$opts\n";
+        }
       }
     }
   }



More information about the tex-live-commits mailing list