156

I've read various answers to questions on here that suggest the original Computer Modern fonts have been superseded. Sometimes it is suggested we use the cm-super package, sometimes that we instead use latin modern fonts. Which is better? Which is easier to get working? (getting new fonts to work in LaTeX seems a daunting task...) Which look better?

0

6 Answers 6

137

Latin Modern is derived from cm, cm-super also.

  • cm-super is a vectorization of cm bitmap fonts but mainly automatically done.

  • The vectorization of Latin Modern is handmade.

  • Latin Modern has revised metrics.

  • Latin Modern provides more glyphs, especially diacritical characters. There are 72 text fonts, each of them containts more than 700 glyphs. In addition there are 20 math fonts. cm-super comes with more fonts but fewer glyphs, check its README file.

  • Latin Modern development goes on.

Update: Now there's also a Latin Modern Math font, available since July 2011.

4
  • 4
    I read that the vectorization was through MetaType1, which involves a METAPOST macro package, some *nixy scripts, and changing the sources to use the macro package. Now, that does involve some manual labour, but surely "the vectorization is handmade" is a bit of a stretch? I mean, it's not like they hand-vectorized each glyph of each shape in each optical size -- they adapted the font code to (essentially) vectorize itself, and perhaps did some manual touch-ups afterwards, as I understand it.comments may only be edited for 5 minutes(click on this box to dismiss)
    – SamB
    Commented Jan 22, 2011 at 19:06
  • 3
    Will the LM Math fonts be included in the lmodern package or a separate package?
    – You
    Commented Jul 17, 2011 at 22:13
  • 1
    @You — if you look inside lmodern.sty you can see it includes code to set up the maths alphabets. Because they're a drop-in replacement for the default CM fonts, it doesn't take many lines of code. Commented Jul 29, 2012 at 8:35
  • Is there such thing as Latin Modern font to set? So far I found that this works \usepackage{fontspec}\setmainfont{Latin Modern Math} but doesn't sound right to use a Math font for main font. Does it?
    – alfC
    Commented Oct 16, 2014 at 19:17
61

In addition to what Stefan wrote:

  • Both are easy to use in any modern TeX distribution. The distributor has taken care of this for you
  • cm-super takes up more space in your distribution, but in my testing lmodern generally takes up more space in your generated PDF. This is because lmodern uses font subroutines, which all must be put in the PDF, even if you only use a subset of glyphs
  • lmodern is available in the same optical sizes as computer modern, cm-super is available in more optical sizes (this 'feature' of cm-super switched is off by using the fix-cm package (highly recommended))
  • With cm-super it's recommended to use the fix-cm package to fix a lot of broken design decisions in cm-super (and in addition this makes the final PDF a bit smaller)
  • Neither cm-super or lmodern are as well-hinted (for onscreen reading) as the bluesky computer modern fonts. Hinting is simply too hard to get right and the lmodern developers don't focus on it. Both cm-super and lmodern each have their hinting flaws, and I'm not sure which I prefer
  • As I understand it, neither cm-super or lmodern will give exactly identical page breaks as the traditional computer modern, but lmodern will be closer
6
  • 7
    what is this bluesky computer modern you mention?
    – Seamus
    Commented Aug 12, 2010 at 12:53
  • 15
    The bluesky computer modern is the standard PostScript type 1 conversion of computer modern, that all(?) modern TeX distributions should use when producing PostScript or PDF output. They were professionally hinted by Y&Y under contract to Blue Sky, and originally sold commercially (free TeX distros used the inferior bakoma fonts) until the AMS bought the rights and released them to the TeX community. See math.utah.edu/~beebe/fonts/bluesky.html
    – Lev Bishop
    Commented Aug 12, 2010 at 13:21
  • 1
    I'm no expert, but I did a little digging - pdftex in TexLive 2010 will indeed use the "blue sky" version of cmr by default (located in texmf-dist/fonts/type1/public/amsfonts/cm/). However, upon choosing [T1]{inputenc}, the implementation defaults to cm-super.
    – mbauman
    Commented Jan 4, 2011 at 21:09
  • @MattB the cm fonts don't exist in t1 encoding (see above), so latex is set up to switch to cm-super if you ask for t1 cm. i use lm for any actual document i want to look knuthian, and largely ignore cm/cm-super, nowadays Commented Sep 18, 2014 at 11:51
  • 2
    The type 1 spec tells about subroutines. This latin modern paper describes how latin modern uses them.
    – Lev Bishop
    Commented Jun 21, 2017 at 20:40
50

If you're saying "Meh, all these differences don't really seem to matter to me", here's something that might be relevant for you, especially if you're writing in German:

cm-super's sharp s ⟨ß⟩ is ugly imho. Latin Modern replaced it with the original Computer Modern one, which is prettier. This is actually an easy way to tell the two apart – if there is a ⟨ß⟩ in the text you're looking at.

Edit: Following Philippe's comment about accents, I added some to the picture. Note that this now is not a street name anymore that you're likely to find in Germany ...

ß in cm-super vs. lmodern
(both at 12pt, zoomed in)

5
  • 3
    Indeed; I think I remember reading that the cm-super ß glyph was controversial since it didn't follow the original CM design. It does seem like an odd choice because an innocent \usepackage[T1]{fontenc} line would give the obviously different output. Commented Jul 29, 2012 at 8:38
  • 2
    Do you have any idea why they changed it?
    – doncherry
    Commented Jul 29, 2012 at 9:38
  • 6
    Another easy way to tell apart cm-super and lmodern is the accents. In cm-super, accents on é or è are badly positioned (they seem to be falling off the letter) and less slanted. Commented Jul 29, 2012 at 11:32
  • @doncherry — no idea, it was before my time, so to speak. Commented Jul 29, 2012 at 14:44
  • 19
    The ß of cm-super is more a ligature of long and short/round s: ſs → ß, while the ß of lmodern is more a ligature of long s and curved z: ſʒ → ß. Commented Jul 29, 2012 at 17:01
31

One more addition: cm-super contains Cyrillic fonts and lmodern doesn't.

1
  • 34
    As the word "Latin" in "Latin Modern" hints ;-) Commented Aug 10, 2010 at 23:38
10

As Lev Bishop explained, both cm-super and lmodern have problems with hinting; the PDF files may look bad in some PDF viewers.

Therefore I'd suggest that you consider the third option as well: \usepackage{ae}. Looks good on screen and works everywhere without installing anything new.

3
  • 3
    you don't get eth and thorn (icelandic), or the various guillemets, but if ae covers your needs, it is a good choice. another possibility is the 'european computer modern' commercial fontset from micropress, inc. Price is about $150. Don't know what the quality of the hinting is like.
    – Lev Bishop
    Commented Aug 9, 2010 at 18:21
  • 30
    ae is not a good choice. If you use non-ascii characters copy & paste will be broken in the pdf. If you don't use such chars than you don't need T1 encoding and the ae fonts. Commented Dec 9, 2010 at 11:17
  • 1
    @Ulrike: Yes, copy & paste will be broken, but at least the PDF file looks good, both on screen and on paper. Commented Dec 9, 2010 at 11:37
7

The Latin Modern fonts are terribly hinted (or maybe not hinted at all)? This is LMRoman12-regular on Windows 7:

Awful hinting

That ain't right.

I have managed to get a decent Computer Modern style font with hinting in a modern format! Here's how:

  1. Download Latin Modern.
  2. Open the Latin Modern .otf fonts in FontForge (you must run FontForge as admin for some reason; obviously high quality code... /s).
  3. Go to Element -> Font Info -> General and set the Em size to 1024.
  4. File -> Generate Fonts
  5. Format: TrueType
  6. Uncheck "Validate Before Saving" (Latin Modern has some errors apparently).
  7. Save the font.
  8. Download Freetype's TTF autohinter: https://freetype.org/ttfautohint/doc/ttfautohint.html.
  9. Autohint the TTF with it. I used all the default settings.
  10. Behold!

Before:

Awful hinting

After:

Nice hinting

I am really impressed with the autohinting. I have not converted all the fonts yet, or checked out how to make bold/italic/slant/whatever work.

I put all the fonts converted by this procedure at http://concentriclivers.appspot.com/LatinModernTTFHinted.7z [broken link].

This is the best way to use latin modern in Microsoft Word.

3
  • 1
    So can you get this into the cm-super package? Or, is this not a good idea to always do?
    – einpoklum
    Commented Jun 27, 2015 at 10:03
  • 1
    Any chance to have the auto-hinting in LaTeX's lmodern package? Or is this less of a problem with LaTeX? Commented Jul 17, 2017 at 3:07
  • 1
    Yeah I never noticed this as a problem with LaTeX. No idea why.
    – Timmmm
    Commented Jul 17, 2017 at 10:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .