--- unix/tkUnixRFont.c
+++ unix/tkUnixRFont.c
@@ -442,11 +442,11 @@
        XftPatternAddString(pattern, XFT_FAMILY, faPtr->family);
     }
     if (faPtr->size > 0) {
        XftPatternAddDouble(pattern, XFT_SIZE, (double)faPtr->size);
     } else if (faPtr->size < 0) {
-       XftPatternAddInteger(pattern, XFT_PIXEL_SIZE, -faPtr->size);
+       XftPatternAddDouble(pattern, XFT_PIXEL_SIZE, (double) -faPtr->size);
     } else {
        XftPatternAddDouble(pattern, XFT_SIZE, 12.0);
     }
     switch (faPtr->weight) {
     case TK_FW_NORMAL:
