diff --git a/gfx/src/gtk/nsFontMetricsXft.cpp b/gfx/src/gtk/nsFontMetricsXft.cpp index eab00d586c0..d1aaa8a08fc 100644 --- a/gfx/src/gtk/nsFontMetricsXft.cpp +++ b/gfx/src/gtk/nsFontMetricsXft.cpp @@ -902,6 +902,13 @@ nsFontMetricsXft::CacheFontMetrics(void) nsFontXft * nsFontMetricsXft::FindFont(PRUint32 aChar) { + // If we have an NBSP character, we can treat it as a normal space. + // This helps because some fonts don't claim to support NBSP, and we waste + // time looking for a font that does. The only difference is for + // line-breaking, and that has already been done for us in layout. + + if (aChar == 0xa0) + aChar = ' '; // If mPattern is null, set up the base bits of it so we can // match. If we need to match later we don't have to set it up