Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Microsoft TTF-fonts such as Calibri and Cambria aren't rendered correctly at certain page zoom levels:

Comparison between the system font and Cambria at different zoom levels

(I installed the Microsoft fonts manually by placing them in the ~/.fonts directory and updating the font cache).

Is there any way to improve Microsoft font rendering under LibreOffice?

share|improve this question
up vote 10 down vote accepted

Fonts like Calibri and Cambria resort to using embedded bitmaps when adjusted to small sizes.

To disable this font behaviour, put the following into $HOME/.fonts.conf:

<match target="font" >
     <edit name="embeddedbitmap" mode="assign">
         <bool>false</bool>
     </edit>
</match>

Create the file if it doesn't exist.

Restart to take effect.

Sources
http://ubuntuforums.org/showthread.php?t=724818 (registration required)
http://manpages.ubuntu.com/manpages/precise/man5/fonts-conf.5.html

NOTE:
$HOME/.fonts.conf is deprecated in Ubuntu 12.10 Instead, paste the above XML code (as root) in /etc/fonts/conf.d/50-user.conf

share|improve this answer
    
This worked great, thank you! Makes we wonder why this isn't the default behaviour. Are there any downsides to disabling the embedded bitmaps? – Glutanimate Aug 28 '12 at 13:08
1  
@Glutanimate As far as I'm aware, very few fonts use this technology. So you should never run into any problems. I agree, this should be default in the global fonts.conf – loklaan Aug 28 '12 at 17:12
1  
For 14.04, ~/.config/font-manager/local.conf is a better location to add that (assuming you don't want to mangle the system-wide setting.) – Alan De Smet Sep 17 '15 at 4:01
    
This worked better for me: askubuntu.com/a/594983/15943 – alfC Oct 27 '15 at 13:34

Instead of putting the XML code in /etc/fonts/conf.d/50-user.conf (which actually just includes files from $HOME/.config/fontconfig/conf.d or $HOME/.config/fontconfig/fonts.conf) put the XML code in a file under the two mentioned directories in your $HOME/.config/fontconfig/ directory. Don't mess with the system configuration files as this will make system upgrades more complicated.

share|improve this answer

I solved this for my system by removing the Calibri font, installing Carlito, which is "metric-compatible with Calibri" and is packaged with "a mapping entry to fontconfig (local.conf)," refreshing my font cache, and restarting LibreOffice:

$ rm ~/.fonts/microsoft/CALIBRI*
$ sudo apt install fonts-crosextra-carlito
$ fc-cache

Here's a before and after with Microsoft at the top and Carlito below:

Calibri tests

You can do the same with Caladea for Cambria with fonts-crosextra-caladea and you can use Croscore fonts Arimo, Tinos, and Cousine for Arial, Times New Roman, and Courier New with fonts-croscore.

See my full post for more details.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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