Unfortunately, I think you will find a short answer: no! I think the package handles text vector matching differently than ggplot2, so you can mess with the size and font of face / family, etc., but will try to accurately reproduce what the package does.
I have tried several things:
1) Try drawing grobs from textdata using annotation_custom
require(plyr) require(grid) # FIRST TRY PLOT INDIVIDUAL TEXT GROBS qplot(0:1000,0:1000,geom="blank") + alply(textdf,1,function(x){ annotation_custom(textGrob(label=x$label,0,0,c("center","center"),gp=gpar(cex=x$size)),x$x,x$x,x$y,x$y) })

2) Run the wordlayout () function, which should correct the text, but itβs hard to see for which font (it doesnβt work in the same way)
# THEN USE wordcloud() TO GET CO-ORDS plot.new() wordlayout(textdf$x,textdf$y,words=textdf$label,cex=textdf$size,xlim=c(min(textdf$x),max(textdf$x)),ylim=c(min(textdf$y),max(textdf$y))) plotdata<-cbind(data.frame(rownames(w)),w) colnames(plotdata)=c("word","x","y","w","h")

Here's a trickster if you just want to overlap other ggplot functions on top of it (although the coordinates don't exactly match between the data and the plot). It basically displays the word cloud, removes the fields and brings it to the same scale:
# make a png file of just the panel plot.new() png(filename="bgplot.png") par(mar=c(0.01,0.01,0.01,0.01)) textplot(textdf$x,textdf$y,textdf$label,textdf$size,xaxt="n",yaxt="n",xlab="",ylab="",asp=1) dev.off()
