diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp
index 98747b8cf45cfbbee0c678c63b5e16be31543ca2..d44b883206e94302073d75f80d2d852f048fa0fe 100644
--- a/src/libs/qmljs/qmljsinterpreter.cpp
+++ b/src/libs/qmljs/qmljsinterpreter.cpp
@@ -126,6 +126,23 @@ public:
             value = engine()->numberValue();
             break;
 
+        case QMetaType::QFont: {
+            // ### cache
+            ObjectValue *object = engine()->newObject(/*prototype =*/ 0);
+            object->setProperty("weight", engine()->undefinedValue()); // ### make me an object
+            object->setProperty("copitalization", engine()->undefinedValue()); // ### make me an object
+            object->setProperty("bold", engine()->booleanValue());
+            object->setProperty("italic", engine()->booleanValue());
+            object->setProperty("underline", engine()->booleanValue());
+            object->setProperty("overline", engine()->booleanValue());
+            object->setProperty("strikeout", engine()->booleanValue());
+            object->setProperty("pointSize", engine()->numberValue());
+            object->setProperty("pixelSize", engine()->numberValue());
+            object->setProperty("letterSpacing", engine()->numberValue());
+            object->setProperty("wordSpacing", engine()->numberValue());
+            value = object;
+        } break;
+
         case QMetaType::QPoint:
         case QMetaType::QPointF: {
             // ### cache