Get a list of fonts that match the (attribute, value)
        combinations in ``attributeValuePairs``.

        ::

            >>> subFonts = fonts.getFontsByFontInfoAttribute(("xHeight", 20))
            >>> subFonts = fonts.getFontsByFontInfoAttribute(("xHeight", 20), ("descender", -150))

        This will return an instance of :class:`BaseFontList`.

def getFontsByFontInfoAttribute(self, *attributeValuePairs):
        """
        Get a list of fonts that match the (attribute, value)
        combinations in ``attributeValuePairs``.

        ::

            >>> subFonts = fonts.getFontsByFontInfoAttribute(("xHeight", 20))
            >>> subFonts = fonts.getFontsByFontInfoAttribute(("xHeight", 20), ("descender", -150))

        This will return an instance of :class:`BaseFontList`.
        """
        found = self
        for attr, value in attributeValuePairs:
            found = self._matchFontInfoAttributes(found, (attr, value))
        return found