If XftFontOpenInfo() finds an already-open font which matches the pattern it was
passed, it destroys the passed-in pattern. If it opens a new font, the font
keeps a pointer to the passed-in pattern. When the font is destroyed by
XftFontDestroy, however, the font's pattern is not destroyed. This makes it
difficult for callers to know when it is safe to destroy a pattern which has
been used to open a font.
Current Xft CVS should now consistently destroy the pattern when the font is
closed. That and the charset.