Сенкс. Про способ с канвой вкурсе. Но что-то я сомневаюсь в его точности и соответствии положению вещей в DOM'е.
Усложняем задачу. Нередка ситуация, когда на сайте используется загруженный через @font-face веб-шрифт. На момент DOMContentLoaded что я получу при измерении? Что если шрифт к этому времени не догрузится? Или без этого DOMContentLoaded не наступит? И если все-таки наступит, как отловить полную загрузку всех шрифтов?