Ubuntu – How to get Calibri font to display nicely

14.04antialiasingfonts

I have Calibri installed because it's the default font for M$ Office and so many of my clients send me documents using this font.

But it displays without anti-aliasing which is horrible. It's like being on a Windoze machine again :-O

screenshot

It only seems to happen at small sizes; it's antialiased at larger sizes. Can I disable this?

EDIT:

My /etc/fonts/config.avail/10-antialias.conf contains

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!--  Use the Antialiasing -->
  <match target="font">
    <edit name="antialias" mode="assign"><bool>true</bool></edit>
  </match>
</fontconfig>

And

% fc-match calibri          
calibri.ttf: "Calibri" "Regular"

Best Answer

MS-C fonts embedded bitmaps

Per comments to this answer, the most common problem with MS C-fonts (Cambria, Calibri...) is that they use embedded bitmaps. To change this disable them. Either in

  1. ~/.fonts.conf
  2. or ~/.config/font-manager/local.conf in 14.04; Font Manager reserves the right to manage the ~/.fonts.conf file, thanks @Alain)
  3. or ~/.config/fontconfig/fonts.conf (per @SpinUp and @Glutamine's comments) you need to add this XML snippet:
<!-- disable embedded bitmaps in fonts to fix Calibri, Cambria, etc. -->
<match target="font">
   <edit mode="assign" name="embeddedbitmap"><bool>false</bool></edit>
</match>

Antialiasing toggle

You should be able if you toggle configs in /etc/fonts/conf.avail/, namely antialiasing, less so autohinting. How to do so: change the true to false in 10-antialias.conf or vice versa and you toggled the antialiasing and can see if it helps. Similarly for 10-autohinting.conf. This toggles the setting for all fonts AFAIR, so just take a look if it helps your case, you'll know if the problem is there or not.

Note: read-only file needs sudo to be modified (or needs to be made write-also prior to writing to it), so whatever your editor is (mine is vim), run it with sudo: sudo vim /etc/fonts/conf.avail/10-antialias.conf.

animated gif showing which true to change to false

Cache rebuilding and font-stack changes

Also, oft-advised solution with fonts is rebuilding cache: sudo fc-cache -v -f. Especially if you made changes to font stack (installed new fonts, deleted, moved etc.).

Also, what does fc-match calibri display? Why I ask: in my case to display Calibri well, I had to fall back to DejaVu Sans, otherwise I had a missing ligatures problem: see my Calibri question here. I did that by deleting the Calibri regular font file (.ttf). So, for me, fc-match output is as follows:

➜  ~  fc-match calibri
DejaVuSans.ttf: "DejaVu Sans" "Book"