diff --git a/Scribus/scribus/fonts/scface_ttf.h b/Scribus/scribus/fonts/scface_ttf.h
index dc57b33..83a2db5 100644
--- a/Scribus/scribus/fonts/scface_ttf.h
+++ b/Scribus/scribus/fonts/scface_ttf.h
@@ -10,7 +10,7 @@ for which a new license (GPL+exception) is in place.
 #include "scribusapi.h"
 #include "fonts/ftface.h"
 
-
+#include <QHash>
 #include FT_TRUETYPE_TABLES_H
 #include FT_TRUETYPE_TAGS_H
 
@@ -21,7 +21,7 @@ for which a new license (GPL+exception) is in place.
  */
 class SCRIBUS_API KernFeature
 {
-	typedef QMap<quint16, QList<quint16> > ClassDefTable; // <Class index (0 to N) , list of glyphs >
+	typedef QHash<quint16, QList<quint16> > ClassDefTable; // <Class index (0 to N) , list of glyphs >
 
 	public:
 		/**
@@ -49,11 +49,11 @@ class SCRIBUS_API KernFeature
 	private:
 		bool m_valid;
 		QByteArray GPOSTableRaw;
-		QMap<quint16,QList<quint16> > coverages;
-		mutable QMap<quint16, QMap<quint16, double> > pairs;
-		QMap< quint16, QMap<quint16, ClassDefTable> > classGlyphFirst; // < subtable offset, map<offset, class definition table> > for first glyph
-		QMap< quint16, QMap<quint16, ClassDefTable> > classGlyphSecond; // < subtable offset, map<offset, class definition table> > for second glyph
-		QMap< quint16, QMap<int, QMap<int, double> > > classValue; // < subtable offset, map<class1, map<class2, value> > >
+		QHash<quint16,QList<quint16> > coverages;
+		mutable QHash<quint16, QHash<quint16, double> > pairs;
+		QHash< quint16, QHash<quint16, ClassDefTable> > classGlyphFirst; // < subtable offset, map<offset, class definition table> > for first glyph
+		QHash< quint16, QHash<quint16, ClassDefTable> > classGlyphSecond; // < subtable offset, map<offset, class definition table> > for second glyph
+		QHash< quint16, QHash<int, QHash<int, double> > > classValue; // < subtable offset, map<class1, map<class2, value> > >
 
 		void makeCoverage();
 		void makePairs ( quint16 subtableOffset );
