Medida caixa delimitadora do nó de texto em Javascript

Estou tendo problemas para obter o tamanho, em pixels, de um nó de texto usando Javascript. Exemplo

<p>
  first text block
  <b>second text block</b>
</p>

Preciso obter a caixa delimitadora dos dois blocos de texto independentemente. Eu poderia obter o tamanho do segundo bloco apenas medindo o elemento <b>, mas o primeiro me escapa. Parece que os nós de texto em Javascript têm altura ou largura, pelo que sei.

Embrulhar o primeiro bloco de texto em um <span> e medir isso não é uma opção, porque eu descobri que um período não herda necessariamente todos os estilos acima dele e, quando o envolvo, muda repentinamente de tamanho. É como o princípio da incerteza de Heisenberg do Javascript; minha tentativa de medir algo mud

Estou criando um aplicativo que divide o HTML em páginas (na verdade, HTML do EPUB) e preciso saber a posição, altura e largura de cada bloco de texto da página para saber se deve colocá-lo nesta página ou a próxima página.

Alguma sugestão

questionAnswers(2)

yourAnswerToTheQuestion