texlive[52026] trunk: jfmutil (4sep19)

commits+karl at tug.org commits+karl at tug.org
Wed Sep 4 23:47:24 CEST 2019


Revision: 52026
          http://tug.org/svn/texlive?view=revision&revision=52026
Author:   karl
Date:     2019-09-04 23:47:23 +0200 (Wed, 04 Sep 2019)
Log Message:
-----------
jfmutil (4sep19)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/jfmutil/jfmutil.pl
    trunk/Master/texmf-dist/doc/fonts/jfmutil/README-ja.md
    trunk/Master/texmf-dist/doc/fonts/jfmutil/README.md
    trunk/Master/texmf-dist/scripts/jfmutil/jfmutil.pl

Modified: trunk/Build/source/texk/texlive/linked_scripts/jfmutil/jfmutil.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/jfmutil/jfmutil.pl	2019-09-04 06:34:29 UTC (rev 52025)
+++ trunk/Build/source/texk/texlive/linked_scripts/jfmutil/jfmutil.pl	2019-09-04 21:47:23 UTC (rev 52026)
@@ -12,8 +12,8 @@
 
 #------------------------------------------------- ZRTeXtor module
 package ZRTeXtor;
-our $VERSION = 1.005_00;
-our $mod_date = "2018/01/21";
+our $VERSION = 1.007_00;
+our $mod_date = "2019/09/02";
 use Encode qw(encode decode);
 
 # Here follows excerpt from ZRTeXtor.pm
@@ -255,7 +255,7 @@
 # Wrapper for 'tftopl' command.
 sub x_tftopl
 {
-  my ($tfm, $cmd) = @_; my ($ftmp, $ftfm, $cout, $cerr);
+  my ($tfm, $cmd) = @_; my ($ftmp, $ftfm, $fpl, $cout, $cerr);
   if (!defined $cmd) { $cmd = $cmd_name{tftopl}; }
   if ($tfm =~ m/\.tfm$/i && $tfm !~ /\0/) { $ftfm = $tfm; }
   else {
@@ -262,8 +262,10 @@
     $ftfm = $ftmp = get_temp_name() . ".tfm";
     (write_whole_file($ftmp, $tfm, 1)) or return;
   }
-  ($cout, $cerr) = x_captured_exec("$cmd $ftfm");
+  $fpl = get_temp_name() . ".pl";
+  ($cout, $cerr) = x_captured_exec("$cmd $ftfm $fpl");
   if (defined $ftmp) { unlink($ftmp); }
+  $cout = read_whole_file($fpl); unlink($fpl);
   if ($cout eq '' || $cout =~ /CHANGED!\)\s*$/) {
     return error("tftopl failed: $ftfm");
   }
@@ -480,6 +482,9 @@
       else {
         if ($lin =~ m/\(/) { $lins[$_] =~ s/\(/X0028/g; $repl = 1; }
         if ($lin =~ m/\)/) { $lins[$_] =~ s/\)/X0029/g; $repl = 1; }
+        if ($lin =~ m/\bU [\dA-F]{4}/) {
+          $lins[$_] =~ s/\bU ([\dA-F]{4})/U$1/g; $repl = 1;
+        }
       }
     }
     if ($lin =~ m/^\(CHARSINTYPE /) { $mod = 1; }
@@ -1944,6 +1949,7 @@
   (defined $cspc) or $cspc = jfm_charlist('GL94DB');
   # Next I check consistency about existence of entries
   # (e.g. CIT 4 should exist iff TYPE 4 exists).
+  ($#cist >= 0 && $#cit < 0) and $#cit = 0;
   (defined $tydsc[0])
     or return error("no TYPE for type 0");
   (vf_check_match("TYPE", \@tydsc, "CIT", \@cit, 1, "type"))
@@ -2242,8 +2248,11 @@
   # coderange consistency
   @fs = sort { $a <=> $b } (keys %$typ);
   foreach $cc (@fs) {
-    (defined $chdsc->{$cc}) or return error(
-      sprintf("charpacket missing in VF: code %04X", $cc));
+    (defined $chdsc->{$cc}) and next;
+    if ($vf_strict) {
+      return error(sprintf("charpacket missing in VF: code %04X", $cc));
+    }
+    delete $typ->{$cc};
   }
   #
   @ccs = sort { $a <=> $b } (keys %$chdsc);
@@ -2772,8 +2781,8 @@
 #================================================= BEGIN
 use Encode qw(encode decode);
 my $prog_name = 'jfmutil';
-my $version = '1.2.2';
-my $mod_date = '2019/02/09';
+my $version = '1.2.3';
+my $mod_date = '2019/09/02';
 #use Data::Dump 'dump';
 #
 my ($sw_hex, $sw_uptool, $sw_noencout, $inenc, $exenc, $sw_lenient);

Modified: trunk/Master/texmf-dist/doc/fonts/jfmutil/README-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/fonts/jfmutil/README-ja.md	2019-09-04 06:34:29 UTC (rev 52025)
+++ trunk/Master/texmf-dist/doc/fonts/jfmutil/README-ja.md	2019-09-04 21:47:23 UTC (rev 52026)
@@ -466,6 +466,9 @@
 更新履歴
 --------
 
+  * Version 1.2.3 〈2019/09/02〉
+      - バグ・不具合の修正。
+
   * Version 1.2.2 〈2019/02/09〉
       - バグ修正。
 

Modified: trunk/Master/texmf-dist/doc/fonts/jfmutil/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/fonts/jfmutil/README.md	2019-09-04 06:34:29 UTC (rev 52025)
+++ trunk/Master/texmf-dist/doc/fonts/jfmutil/README.md	2019-09-04 21:47:23 UTC (rev 52026)
@@ -85,6 +85,9 @@
 Revision History
 ----------------
 
+  * Version 1.2.3 〈2019/09/02〉
+      - Bug fix.
+
   * Version 1.2.2 〈2019/02/09〉
       - Bug fix.
 

Modified: trunk/Master/texmf-dist/scripts/jfmutil/jfmutil.pl
===================================================================
--- trunk/Master/texmf-dist/scripts/jfmutil/jfmutil.pl	2019-09-04 06:34:29 UTC (rev 52025)
+++ trunk/Master/texmf-dist/scripts/jfmutil/jfmutil.pl	2019-09-04 21:47:23 UTC (rev 52026)
@@ -12,8 +12,8 @@
 
 #------------------------------------------------- ZRTeXtor module
 package ZRTeXtor;
-our $VERSION = 1.005_00;
-our $mod_date = "2018/01/21";
+our $VERSION = 1.007_00;
+our $mod_date = "2019/09/02";
 use Encode qw(encode decode);
 
 # Here follows excerpt from ZRTeXtor.pm
@@ -255,7 +255,7 @@
 # Wrapper for 'tftopl' command.
 sub x_tftopl
 {
-  my ($tfm, $cmd) = @_; my ($ftmp, $ftfm, $cout, $cerr);
+  my ($tfm, $cmd) = @_; my ($ftmp, $ftfm, $fpl, $cout, $cerr);
   if (!defined $cmd) { $cmd = $cmd_name{tftopl}; }
   if ($tfm =~ m/\.tfm$/i && $tfm !~ /\0/) { $ftfm = $tfm; }
   else {
@@ -262,8 +262,10 @@
     $ftfm = $ftmp = get_temp_name() . ".tfm";
     (write_whole_file($ftmp, $tfm, 1)) or return;
   }
-  ($cout, $cerr) = x_captured_exec("$cmd $ftfm");
+  $fpl = get_temp_name() . ".pl";
+  ($cout, $cerr) = x_captured_exec("$cmd $ftfm $fpl");
   if (defined $ftmp) { unlink($ftmp); }
+  $cout = read_whole_file($fpl); unlink($fpl);
   if ($cout eq '' || $cout =~ /CHANGED!\)\s*$/) {
     return error("tftopl failed: $ftfm");
   }
@@ -480,6 +482,9 @@
       else {
         if ($lin =~ m/\(/) { $lins[$_] =~ s/\(/X0028/g; $repl = 1; }
         if ($lin =~ m/\)/) { $lins[$_] =~ s/\)/X0029/g; $repl = 1; }
+        if ($lin =~ m/\bU [\dA-F]{4}/) {
+          $lins[$_] =~ s/\bU ([\dA-F]{4})/U$1/g; $repl = 1;
+        }
       }
     }
     if ($lin =~ m/^\(CHARSINTYPE /) { $mod = 1; }
@@ -1944,6 +1949,7 @@
   (defined $cspc) or $cspc = jfm_charlist('GL94DB');
   # Next I check consistency about existence of entries
   # (e.g. CIT 4 should exist iff TYPE 4 exists).
+  ($#cist >= 0 && $#cit < 0) and $#cit = 0;
   (defined $tydsc[0])
     or return error("no TYPE for type 0");
   (vf_check_match("TYPE", \@tydsc, "CIT", \@cit, 1, "type"))
@@ -2242,8 +2248,11 @@
   # coderange consistency
   @fs = sort { $a <=> $b } (keys %$typ);
   foreach $cc (@fs) {
-    (defined $chdsc->{$cc}) or return error(
-      sprintf("charpacket missing in VF: code %04X", $cc));
+    (defined $chdsc->{$cc}) and next;
+    if ($vf_strict) {
+      return error(sprintf("charpacket missing in VF: code %04X", $cc));
+    }
+    delete $typ->{$cc};
   }
   #
   @ccs = sort { $a <=> $b } (keys %$chdsc);
@@ -2772,8 +2781,8 @@
 #================================================= BEGIN
 use Encode qw(encode decode);
 my $prog_name = 'jfmutil';
-my $version = '1.2.2';
-my $mod_date = '2019/02/09';
+my $version = '1.2.3';
+my $mod_date = '2019/09/02';
 #use Data::Dump 'dump';
 #
 my ($sw_hex, $sw_uptool, $sw_noencout, $inenc, $exenc, $sw_lenient);



More information about the tex-live-commits mailing list