If XftGlyphFontSpecRender() (called via XftDrawCharFontSpec()) is given a set of glyphs which specifies multiple fonts, it assumes that each font has the same format as the font used for the first glyph, and uses the first font's format when making the composite request using XRenderCompositeText(). If you mix bitmap (or monochrome) fonts with antialiased fonts, this causes glyphs to be rendered incorrectly when the font's glyph set is passed to XRender with the wrong format.
It should use the 'most complicated' format of those presented in the list, but the Render extension doesn't have the right semantics for doing addition from an alpha-only picture to an RGBA picture in this case. That means combining monochrome or simple anti-aliased text with per component text must be done with a simple alpha-only format.
Actually, it needed to be A8 if mixing ARGB32 with other formats as the precompositing step inside the server doesn't do the right thing when mixing ARGB32 with A8.
Mass update: Close all bugs resolved over one year ago.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.