Eu sou o criador do Wordle. Veja como o Wordle realmente funciona:
Conte as palavras, jogue fora as palavras chatas e classifique pela contagem, descendo. Mantenha as N palavras principais por um número N. Atribua a cada palavra um tamanho de fonte proporcional à sua contagem. Gere um Java2D Shape para cada palavra, usando a API Java2D.
Cada palavra "quer" estar em algum lugar, como "em alguma posição aleatória x no centro vertical". Em ordem decrescente de frequência, faça o seguinte para cada palavra:
place the word where it wants to be
while it intersects any of the previously placed words
move it one step along an ever-increasing spiral
É isso aí. A parte difícil é fazer o teste de interseção com eficiência, para o qual eu uso o cache de última ocorrência, caixas delimitadoras hierárquicas e um índice espacial de quadtree (todas as coisas sobre as quais você pode aprender mais com alguns investigadores diligentes).
Edit: Como Reto Aebersold apontou, agora existe um capítulo do livro, disponível gratuitamente, que cobre o mesmo território: Beautiful Visualization, Chapter 3: Wordle