  We study a geometric representation problem, where we are given a set $\cal
R$ of axis-aligned rectangles with fixed dimensions and a graph with vertex set
$\cal R$. The task is to place the rectangles without overlap such that two
rectangles touch if and only if the graph contains an edge between them. We
call this problem Contact Representation of Word Networks (CROWN). It
formalizes the geometric problem behind drawing word clouds in which
semantically related words are close to each other. Here, we represent words by
rectangles and semantic relationships by edges. We show that CROWN is strongly
NP-hard even restricted trees and weakly NP-hard if restricted stars. We
consider the optimization problem Max-CROWN where each adjacency induces a
certain profit and the task is to maximize the sum of the profits. For this
problem, we present constant-factor approximations for several graph classes,
namely stars, trees, planar graphs, and graphs of bounded degree. Finally, we
evaluate the algorithms experimentally and show that our best method improves
upon the best existing heuristic by 45%.
