I'm using (Windows) TrueType fonts on my Ubuntu workstation (details), and am mostly happy with how fonts look, both in desktop apps and on the web (using Firefox).
However, on some web pages, like this one, fonts completely suck:
I found the reason to be Helvetica
in the CSS for that site:
font-family: Helvetica,Arial,Tahoma,sans-serif;
When, using Firebug, I remove Helvetica from that list, it uses Arial and looks all spiffy again:
My question is, how to make web pages that use Helvetica (or Times, or other such fonts) look nice automatically? In other words, how to map Times and Helvetica font families to the serif and sans-serif defaults (which in my case would be Times New Roman and Arial, respectively)?
I'm interested in any solution that makes Firefox use the MS TrueType fonts in this scenario, no matter if it's based on tweaking Ubuntu font configs or custom CSS rules in Firefox (or something else that I currently have no clue about).
Update: I've now got the problem fully solved – this answer describes what I needed to do.
Best Answer
Edit: I completely updated this answer after getting some breakthrough advice from a colleague.
Here's what I inserted in
/etc/fonts/local.conf
(inside the<fontconfig>
element):Similarly for Times -> Times New Roman. (See my full
local.conf
here.) The key was to use binding="strong" for the<edit>
element. (Also, using "assign_replace" mode instead of "assign" causes something similar, except that then it's too aggressive: also Verdana gets replaced with Arial).Changes in font configurations are effective immediately. Besides testing in Firefox, you can check that it works like this:
If you run into problems, the best help is near:
man fonts-conf
. (Although even with the documentation, the workings of the font system seemed somewhat complicated or unwieldy to me.) You can also try to "debug" what's really going on using a command like:In addition,
FC_DEBUG=1024 fc-match helvetica
shows the list of config files that affect the font matching.