7

On files that have worked previously, I'm suddenly getting the following error

! pdfTeX error (font expansion): auto expansion is only possible with scalable fonts.

This error does not appear if I switch back to TexLive-2012, did not appear until recently in TexLive-2013, and seems to be triggered by the use of the mathdesign package's expert option along with the Charter typeface and microtype: that is

\RequirePackage[bitstream-charter,expert]{mathdesign}

produces the error, while

\RequirePackage[bitstream-charter]{mathdesign}

does not. To support the expert option, I have (purchased) bchrc8a.pfb located in /usr/local/texmf-local/fonts/type1/bitstrea/charter/, and if I disable microtype I get a different error:

!pdfTeX error: pdflatex (file bchrc8a): Font bchrc8a at 600 not found

so I suspect that my problems result from TexLive-2103 not finding this file, but I'm at a loss as to how to fix it.


This error only appears in fairy complex and lengthy documents, so it is hard for me to produce an good MWE (I'm working on it) but since it seems to be the result of some higher-level configuration issue, I'm hoping that this can be resolved without resorting to a specific example file.

A "partial" MWE, that produces only the second, file not found, error is:

\documentclass[]{article}

\RequirePackage[bitstream-charter,expert]{mathdesign}
%omitting 'expert' above produces no error

\begin{document}    
\textsc{Small Caps}    
Regular text.    
\end{document}

In my working files, I use a custom document class based on Tufte-LaTeX, if that rings any bells.

orome
  • 10,459
  • You should enable the map file relative to the fonts you bought. The easiest way is appending Map charter.map (or whatever it's called) to the file /usr/local/texlive/texmf-local/web2c/updmap.cfg (creating it if it doesn't exist) and running updmap-sys – egreg Sep 26 '13 at 22:06
  • @egreg: So sudo -H mktexlsr and sudo -H updmap-sys don't do that? – orome Sep 26 '13 at 22:13
  • 1
    Not if you first don't tell updmap-sys about the new map. With the 2012 distribution you probably ran updmap-sys --enable-Map charter.map; the new method with a updmap.cfg file also in the local tree guarantees that the next major upgrades will find the file and use it automatically. – egreg Sep 26 '13 at 22:19
  • @egreg: Ah, the key there is "new method". – orome Sep 27 '13 at 00:05
  • @egreg: I added Map charter.map to /usr/local/texlive/texmf-local/web2c/updmap.cfg and ran sudo -H updmap-sys, but still get the same errors. – orome Sep 27 '13 at 02:11
  • Run kpsewhich pdftex.map. Compare the output path with the path of the pdftex.map updmap-sys creates. Are the pathes identical? Also check the path of the updmap.cfg files updmap-sys uses: Is your updmap.cfg in the list? – Ulrike Fischer Sep 27 '13 at 08:01
  • @UlrikeFischer: Running kpsewhich pdftex.map gives /usr/local/texlive/2013/texmf-var/fonts/map/pdftex/updmap/pdftex.map. When I run updmap-sys I'm told that "updmap is using ... (in precedence order)", /usr/local/texlive/2013/../texmf-local/web2c/updmap.cfg and /usr/local/texlive/2013/texmf-dist/web2c/updmap.cfg. The contents of the former match what I have in /usr/local/texlive/texmf-local/web2c/updmap.cfg. – orome Sep 27 '13 at 13:35
  • And what is the path of pdftex.map created by updmap-sys? – Ulrike Fischer Sep 27 '13 at 13:37
  • @UlrikeFischer: I'm not sure, unless it's the one updmap-sys says it is "using ... for writing changes": /usr/local/texlive/2013/texmf-config/web2c/updmap.cfg. – orome Sep 27 '13 at 13:44
  • No in the output of updmap-sys there should be a block starting with Files generated: and then some pathes and map names. – Ulrike Fischer Sep 27 '13 at 13:51
  • @UlrikeFischer: "Files generated:" /usr/local/texlive/2013/texmf-var/fonts/map/dvips/updmap,/usr/local/texlive/2013/texmf-var/fonts/map/pdftex/updmap, and /usr/local/texlive/2013/texmf-var/fonts/map/dvipdfmx/updmap. – orome Sep 27 '13 at 14:02
  • Hm. The path looks ok. But I checked the map files of mathdesign and it is actually quite curious that your file is complaining about bchrc8a. You will have to make a minimal example. – Ulrike Fischer Sep 27 '13 at 14:15
  • @UlrikeFischer: I've added an MWE that partially reproduces the behavior I'm seeing. – orome Sep 27 '13 at 21:22
  • @MartinSchröder: I think neither of those is relevant. This is an issue that suddenly appeared (in all my documents, which were unchanged) between runs of TexLive Utility to apply package updates. – orome Sep 28 '13 at 03:44

2 Answers2

6

That's a bug in the virtual font mdbchrc8t.vf: It refers to font bchrc8a

(MAPFONT D 1
   (FONTNAME bchrc8a) <---- here
   (FONTCHECKSUM O 6722646267)
   (FONTAT R 1.0)
   (FONTDSIZE R 10.0)
   )

and so the small caps fonts fails (the "font expansion" error is a side-effect of the overall failure). At this place there should be something like md-chr8t. Write the author of the fonts a bug report.

Ulrike Fischer
  • 327,261
  • But I do have bchrc8a.pfb, located in /usr/local/texmf-local/fonts/type1/bitstrea/charter/, so shouldn't it be found (even if it is being looked for for the wrong reasons)? – orome Sep 28 '13 at 11:11
  • the vf is not looking for a pfb but for a map entry in the pdftex.map file starting with bchrc8a, or another vf/tfm or a mf font. The pfb is used at the "far end" of the font processing, while the vf is somewhere in the middle and the reference to the name of the pfb is simply wrong (I checked some other vf and they all use names like md-XXXX at this place). – Ulrike Fischer Sep 28 '13 at 11:21
  • So is the person I should write the author of Charter, or the author of mathdesign? – orome Sep 28 '13 at 19:06
  • Imho mathdesign. – Ulrike Fischer Sep 28 '13 at 21:02
  • 1
    It looks like a bug indeed. I will look at it for the next release. Thank you! – Paul Pichaureau Sep 29 '13 at 10:58
  • @PaulPichaureau: Thanks! I'll look for the next release. In the meantime, removing expert seems to avoid the problem. – orome Sep 29 '13 at 11:56
  • @PaulPichaureau: FWIW, installing xcharter seems to get around this bug. – orome Nov 14 '13 at 22:57
0

I had this problem too after upgrading from texlive 2013 to texlive 2014. After adding \usepackage{XCharter} (notice the capital XC) in the preamble, I could compile my document again and use the Small Caps Bitstream Charter fonts I had bought.

  • 2
    This could be taken as as an advertisement to buy some font ;-) It's not clear that this answer does real solve the problem. –  Oct 13 '14 at 20:35
  • Which part of "After adding \usepackage{XCharter} … I could compile my document again" suggests to you that what I described does not solve the problem? I added the solution which fixed the problem for me for other people to benefit from it, as the accepted answer is vague and did not solve the problem for me. I just expanded on raxacoricofallapatorius' helpful hint. – user1573870 Oct 17 '14 at 17:47