+ /**
+ * @brief Validate a font description.
+ *
+ * @param[in] fontDescription The font to validate.
+ * @param[out] validatedFontId Result of validation
+ */
+ void ValidateFont( const FontDescription& fontDescription,
+ FontDescriptionId& validatedFontId );
+
+ /**
+ * Helper for GetDefaultFonts etc.
+ *
+ * @param[in] fontDescription A font description.
+ * @param[out] fontList A list of the fonts which are a close match for fontDescription.
+ * @param[out] characterSetList A list of the character sets which are a close match for fontDescription.
+ */
+ void SetFontList( const FontDescription& fontDescription, FontList& fontList, CharacterSetList& characterSetList );
+
+ /**
+ * Caches a font path.
+ *
+ * @param[in] ftFace The FreeType face.
+ * @param[in] id The font identifier.
+ * @param[in] requestedPointSize The font point size.
+ * @param[in] path Path to the font file name.
+ */
+ void CacheFontPath( FT_Face ftFace, FontId id, PointSize26Dot6 requestedPointSize, const FontPath& path );
+
+ /**
+ * @brief Creates a character set from a given font's @p description.
+ *
+ * @param[in] description The font's description.
+ *
+ * @return A character set.
+ */
+ _FcCharSet* CreateCharacterSetFromDescription( const FontDescription& description ) const;
+
+private:
+
+ // Declared private and left undefined to avoid copies.
+ Plugin( const Plugin& );
+ // Declared private and left undefined to avoid copies.
+ Plugin& operator=( const Plugin& );
+
+private:
+