texlive[57135] Build/source/texk/dvipdfm-x/pkfont.c: dvipdfm-x: Fix

commits+kakuto at tug.org commits+kakuto at tug.org
Mon Dec 14 08:53:51 CET 2020


Revision: 57135
          http://tug.org/svn/texlive?view=revision&revision=57135
Author:   kakuto
Date:     2020-12-14 08:53:51 +0100 (Mon, 14 Dec 2020)
Log Message:
-----------
dvipdfm-x: Fix an incorrect argument for mktexpk.

Modified Paths:
--------------
    trunk/Build/source/texk/dvipdfm-x/pkfont.c

Modified: trunk/Build/source/texk/dvipdfm-x/pkfont.c
===================================================================
--- trunk/Build/source/texk/dvipdfm-x/pkfont.c	2020-12-14 05:02:54 UTC (rev 57134)
+++ trunk/Build/source/texk/dvipdfm-x/pkfont.c	2020-12-14 07:53:51 UTC (rev 57135)
@@ -81,7 +81,7 @@
 }
 
 static FILE *
-dpx_open_pk_font_at (const char *ident, unsigned dpi)
+dpx_open_pk_font_at (const char *ident, unsigned dpi, char **pkname)
 {
   FILE  *fp;
   char  *fqpn;
@@ -90,8 +90,6 @@
  * ident can be such as "cmr10.pfb":
  * https://tug.org/pipermail/dvipdfmx/2020-December/000142.html.
  * As a workaround, we drop a suffix if it exists.
- * Some messages still seems not to be appropriate, but PK creation
- * works fine.
  * 
  */
   char  *ident_nosuffix;
@@ -101,11 +99,14 @@
     *fqpn = '\0';
   }
   fqpn = kpse_find_glyph(ident_nosuffix, dpi, kpse_pk_format, &kpse_file_info);
-  RELEASE(ident_nosuffix);
+
   if (!fqpn)
     return  NULL;
   fp   = MFOPEN(fqpn, FOPEN_RBIN_MODE);
   RELEASE(fqpn);
+  *pkname = NEW(strlen(ident_nosuffix)+12, char);
+  (void)snprintf(*pkname, strlen(ident_nosuffix)+12,  "%s.%dpk", ident_nosuffix, dpi);
+  RELEASE(ident_nosuffix);
 
   return  fp;
 }
@@ -116,6 +117,7 @@
 {
   unsigned  dpi;
   FILE     *fp;
+  char     *pkname;
 
   if (!ident || point_size <= 0.0)
     return  -1;
@@ -127,7 +129,7 @@
   }
 
   dpi = truedpi(ident, point_size, base_dpi);
-  fp  = dpx_open_pk_font_at(ident, dpi);
+  fp  = dpx_open_pk_font_at(ident, dpi, &pkname);
   if (!fp)
     return  -1;
   MFCLOSE(fp);
@@ -135,8 +137,7 @@
   /* Type 3 fonts doesn't have FontName.
    * FontFamily is recommended for PDF 1.5.
    */
-  font->fontname = NEW(strlen(ident)+1, char);
-  strcpy(font->fontname, ident);
+  font->fontname = pkname;
 
   if (encoding_id >= 0) {
     pdf_encoding_used_by_type3(encoding_id);
@@ -499,6 +500,7 @@
 int
 pdf_font_load_pkfont (pdf_font *font)
 {
+  char     *pkname;
   pdf_obj  *fontdict;
   char     *usedchars;
   char     *ident;
@@ -534,11 +536,11 @@
   ASSERT(ident && usedchars && point_size > 0.0);
 
   dpi  = truedpi(ident, point_size, base_dpi);
-  fp   = dpx_open_pk_font_at(ident, dpi);
+  fp   = dpx_open_pk_font_at(ident, dpi, &pkname);
   if (!fp) {
     ERROR("Could not find/open PK font file: %s (at %udpi)", ident, dpi);
   }
-
+  font->filename = pkname;
   memset(charavail, 0, 256);
   charprocs  = pdf_new_dict();
   /* Include bitmap as 72dpi image:



More information about the tex-live-commits mailing list.