[NTG-pdftex] [PATCH] pdftex - Add new \pdfpkscalable primitive

Pali Rohár pali.rohar at gmail.com
Fri Mar 31 16:05:14 CEST 2017


On Friday 31 March 2017 09:34:02 Pali Rohár wrote:
> On Friday 31 March 2017 08:24:14 Akira Kakuto wrote:
> > Hi Karl,
> > 
> > >It isn't ok -- we want .3600pk to be used -- but that's not the behavior
> > >I am seeing. That is, the behavior *before* the latest patch (which you
> > >installed one part of, but my binary is from before that).
> > 
> > Confirmed!  I agree that the behavior *before* the latest patch is good.
> 
> Do you mean without patch "+ } else if (is_std_t1font(fm))" ?
> 
> Here is test input:
> 
> $ cat test.tex 
> \input glyphtounicode
> \pdfgentounicode=1
> \pdfmapline{} % disable all Type1 fonts
> \pdfmapline{cmr10 < 8r.enc}
> \font\ff=cmr10
> \font\fg=cmr10 at 60pt
> \ff Test
> \smallskip
> \fg Test
> \bye
> 
> No it is not correct, as wrote in previous email, look at pdftex output.
> There are non-fatal warnings!
> 
> $ pdftex test.tex 
> This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2017/dev)
> (preloaded format=pdftex)
>  restricted \write18 enabled.
> entering extended mode
> (./test.tex
> (/usr/share/texlive/texmf-dist/tex/generic/pdftex/glyphtounicode.tex)
> 
> pdfTeX warning: pdftex: invalid entry for `cmr10': both ps_name and font file missing
> 
> [1] ) </home/pali/.texmf-var/fonts/pk/ljfour/public/cm/cmr10.3600pk>
> </usr/share/texlive/texmf-dist/fonts/pk/ljfour/public/cm/dpi600/cmr10.pk>
> Output written on test.pdf (1 page, 5627 bytes).
> Transcript written on test.log.
> 
> There is warning:
> 
> pdfTeX warning: pdftex: invalid entry for `cmr10': both ps_name and font file missing
> 
> which means that \pdfmapline from test.tex was ignored and so no enc
> file was used. So there is no /ToUnicode entry. You can verify it:
> 
> $ pdffonts test.pdf 
> name                                 type              emb sub uni object ID
> ------------------------------------ ----------------- --- --- --- ---------
> [none]                               Type 3            yes no  no       4  0
> [none]                               Type 3            yes no  no       5  0
> 
> "uni" is set to no.
> 
> What happened is that \pdfmapline for cmr10 was ignored, so pdftex
> fallbacks to PK fonts (by default) which is automatically non-scalable
> and without any encoding file.

Some more clarification about current state (svn rev 43645 in texlive):

1 Every font specified in \pdfmapline or \pdfmapfile is scalable.
  This was truth also before and also with my patches up to svn rev 43645.

2 It supports specifying PK/Type3 font in \pdfmapline or \pdfmapline.
  Due to 1), such font is scalable and so included in output PDF only
  once.

3 Entry in ChangeLog file is wrong and misleading
  https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/ChangeLog?view=markup&pathrev=43645

  "This way, each bitmap font is embedded separately, thus rasterized by
   MF instead of geometrically scaling up."

  This is not truth and in specified link is "enabling scalable PK fonts":
  https://mailman.ntg.nl/pipermail/ntg-pdftex/2017-March/004125.html

  When font is "scalable" then it is included in PDF file only once.
  When font is not "scalable" then it is generated for more different
  resolutions and so included in PDF file more times.

Probably this is reason for misunderstanding and together with
not-so-visible non-fatal warning message "both ps_name and font file missing".

I hope now with example in previous email with above clarification it is
more clear what happened.

-- 
Pali Rohár
pali.rohar at gmail.com


More information about the ntg-pdftex mailing list