Problems with ttf font rendering under LibreOffice

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


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.


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.