When I was looking at the types of fonts being used in my LaTeX document compiled using pdflatex, I found one Type3 font called F209.

A Google search told me that Type3 fonts are also called pk fonts in LaTeX. Upon looking at my log, I saw this entry. MiKTeX\2.9\fonts\pk\ljfour\jknappen\ec\dpi600\ectt1200.pk Does anyone know what this font type is and what is actually displayed?

This Type3 font is only displayed when I use the package \usepackage[T1]{fontenc}. Is it really necessary to use this package as other people have recommended?

  • 4
    You should install the CM-Super font package (from MiKTeX's package manager) or use the Latin Modern fonts (\usepackage{lmodern}). – egreg Sep 23 '12 at 15:33
  • Will the lmodern interfere with the minionpro package? – Bluemilk Sep 23 '12 at 15:34
  • In addition to what the others have said, the font is the typewriter font from \ttfamily etc. from the EC fonts. – David Carlisle Sep 23 '12 at 16:05
  • I know this is a long shot, but do you know what glyph/glyphs are included in that file? – Bluemilk Sep 23 '12 at 16:18
  • @Bluemilk In that case it's better to simply say \renewcommand{\ttdefault}{lmtt}, but loading lmodern before minionpro will do the same. – egreg Sep 23 '12 at 16:31

The basic installation of MiKTeX doesn't download the Type1 fonts for the Computer Modern fonts in T1 encoding (actually the European Modern fonts are used, but they are very similar to Knuth's CM). Since the compiler doesn't find Type1 fonts, it includes the bitmap version obtained by running Metafont and converts it into a Type3 font.

The required Type1 fonts are provided by the CM-Super package, that you can install with MiKTeX's package manager.

Alternatively you can specify to use the Latin Modern fonts (again very similar to CM), that should be available in the basic installation:


Since this changes also the text fonts, and from your comment I gather that the minionpro package doesn't change the monospaced font family, you can do


so that the second call overwrites the text fonts chosen by the first one.

Another way would be to change only the monospaced font family:


as lmtt is the name by which Latin Modern Typewriter is known to LaTeX.

| improve this answer | |
  • 1
    So the only reason why I have been loading Type3 fonts prior to adding this lmodern package is because I am using monospaced fonts in my document? If so, that is interesting as I don't recall ever specifying specific areas of the text as monospaced. – Bluemilk Sep 24 '12 at 16:12
  • @Bluemilk If the font is included in the PDF, then you have in your document at least a letter in it. – egreg Sep 24 '12 at 17:06

PK fonts are (compressed) bitmap fonts generated from MataFont fonts (metafont only output bitmaps at given resolution, not vector splines), because PDF does not support such fonts, pdfTeX converts them to Type3 fonts (which can contain bitmaps) to embed in PDF files.

So, in short, when you see Type3 fonts in your PDF it is almost certainly because your document is using a font available only in MetaFont format and not Type1.

In this case it is because you are missing Type1 versions of Computer Modern fonts in T1 encoding (by default they are in OT1 encoding), so you may want to install CM-Super fonts that include Type1 versions of them, or use Latin Modern fonts (lmodern package) which are an “upgrade” to Computer Modern fonts in Type1 format and many encodings, as mentioned in @egreg’s comment above.

| improve this answer | |
  • Thanks for the reply. Nice explanation about why Type3 fonts are loaded. I was weighing between tagging your answer as an accepted answer or egreg's. However, egreg first suggested loading the lmodern package before the minionpro package, so he gets it :) – Bluemilk Sep 24 '12 at 16:15

I went and had a look at where I could have used a typewriter font. After doing a bit of googling, I realised that the verbatim environment uses a typewriter font, which I had used in one section of my paper.

With that in mind, I did a two tests. In the first test, I loaded the luximono monospace font package and removed the lmodern package. I compiled the file and sure enough, no Type3 font was loaded. The luximono font was of course, loaded.

In the second test, I removed the luximono package and removed the lmodern package. That is, the file was in the same state as it was when I initially posted this question. Sure enough, the Type3 font was loaded again.

So the take-home message is: When using the verbatim environment, make sure to use the lmodern package or some other package which provides monospace fonts, though I am not really sure if I had not used the MinionPro package, if the lmodern package is still needed.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.