[tlbuild] Bug#767967: Metapost: With prologues=1, produces lots of duplicate fontmap entries

luigi scarso luigi.scarso at gmail.com
Wed Nov 5 12:33:31 CET 2014


On Wed, Nov 5, 2014 at 5:55 AM, Akira Kakuto <kakuto at fuk.kindai.ac.jp>
wrote:

> Hi Norbert, Luigi,
>
> The following may be fixed by an attached psout.w.diff.
> If there is a better one, do please, Luigi.
>
> Thanks,
> Akira
>
>  there seems to be small problem with double inclusion of psfonts.map
>> again/still ...
>>
>> Although in 1.800 announcement there was written something about fixing
>> this,
>> the problem is still present as far as I see in current TeX Live svn,
>> which is also in Debian, see message below.
>>
>> Is there anything we can do to fix that?
>>
>> Thanks a lot
>>
>> Norbert
>>
>> On Mon, 03 Nov 2014, Dylan Thurston wrote:
>> > Package: texlive-binaries
>> > Version: 2014.20140926.35254-2
>> > Severity: normal
>> > > With 'prologues := 1', MetaPost produces lots and lots of 'duplicate
>> > fontmap' errors. Here is a minimal example, but basically
>> > any file will do it:
>> > > ----------------------------------------
>> > prologues := 1;
>> > > beginfig(1);
>> > endfig;
>> > > beginfig(2);
>> > endfig;
>> > end
>> > ----------------------------------------
>> > > The output for me starts
>> > > ----------------------------------------
>> > dpt at tulip:/tmp$ mpost t > t.out
>> > dpt at tulip:/tmp$ head t.out
>> > This is MetaPost, version 1.999 (TeX Live 2015/dev/Debian) (kpathsea
>> version 6.2.1dev)
>> > (/usr/share/texlive/texmf-dist/metapost/base/mpost.mp
>> > (/usr/share/texlive/texmf-dist/metapost/base/plain.mp
>> > Preloading the plain mem file, version 1.005) ) (./t.mp
>> [1{psfonts.map}] [2{psf
>> > onts.map
>> > Warning: fontmap entry for `cob' already exists, duplicates ignored
>> > Warning: fontmap entry for `cobo' already exists, duplicates ignored
>> > Warning: fontmap entry for `com' already exists, duplicates ignored
>> > Warning: fontmap entry for `coo' already exists, duplicates ignored
>> > Warning: fontmap entry for `hv' already exists, duplicates ignored
>> > ... ...
>>
>
a slightly modified one
@ @c
void mp_read_psname_table (MP mp) {
  font_number k;
  char *s;
  static boolean isread = false;
  if (mp->ps->mitem == NULL) {
    mp->ps->mitem = mp_xmalloc (mp,1,sizeof(mapitem));
    mp->ps->mitem->mode = FM_DUPIGNORE;
    mp->ps->mitem->type = MAPFILE;
    mp->ps->mitem->map_line = NULL;
  }
  s = mp_xstrdup (mp,ps_tab_name);
  mp->ps->mitem->map_line = s;
  if (!isread) {
    isread = true;
    fm_read_info (mp);
  }
  for (k=mp->last_ps_fnum+1;k<=mp->last_fnum;k++) {
    if (mp_has_fm_entry(mp, k, NULL)) {
      mp_xfree(mp->font_ps_name[k]);
      mp->font_ps_name[k] = mp_fm_font_name(mp,k);
    }
  }
  mp->last_ps_fnum=mp->last_fnum;
}


-- 
luigi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tug.org/pipermail/tlbuild/attachments/20141105/7a3d8f51/attachment-0001.html>


More information about the tlbuild mailing list