Fonts showing missing segments

I've got a new ubuntu installation which is working 99% ok, except for one small problem with the fonts being displayed.

For sufficiently small fonts, pieces are missing.

As an example, here is a render of http://ubuntuforums.org/archive/index.php/t-20976.html in Firefox with zoom standard.

enter image description here

There are a large amount of missing pixels or segments from the characters being displayed.

If I raise the zoom, these issues are still present, but the font is readable.

enter image description here

This process isn't a long term solution, as then I can't fit as much text on my screen as I need, and it happens in other applications as well, where I can't zoom at will.

I can't find a good resource that covers this, looking up anything with 'font' in the title leads to gnof.font configs (the fonts work though), or adding 'chunks missing' leads to minecraft compatibility on linux systems. :/

How might I fix this issue, and what's the correct term for what's happening here?

It's not just Firefox either, it's anything. I have the same problems in other applications, but they're usually of sufficiently large font to not be readily noticed.


Solution 1:

To diagnose issues such as these, try the following:

  1. Examine to see if its a nouveau driver vs nvidia issue - i.e. the yellow pixel observation could show a driver issue. Try installing the nvidia drivers i.e. ensure you are connected to the internet - run Administration - Hardware Drivers. If you are offered a restricted NVidia driver that is not activated, then try activating it. Once installed type the following to set up your display.

    gksudo nvidia-settings

  2. Try rebuilding the ubuntu font cache through the following (i.e. may be the missing stuff is due to the fonts not being built or corrupted somehow)

    sudo fc-cache -v -f

Solution 2:

Try changing the type of, or disabling, subpixel smooting. System -> Settings -> Appearence, under the tab Fonts. Also: press Details... and try the different subpixel orders.