現状
テキストノードを個々にAPIに投げて翻訳する仕様。
ピリオドや句点を文章の区切りとし、原文1つに対し訳文1つ、という形でルビを割り当てている。
文の途中で折返しが発生した場合、以下画像のように読みにくいレイアウトになる。

下記のようなコードである。
These powerful tools utilize machine learning and artificial intelligence to deliver fast and accurate translations in a wide range of languages.
理想
理想としては下記のように、原文の折返し部分でルビを区切り、次の行にルビを割り当てたい。
These powerful tools utilize machine learning and artificial intelligence to deliver fast and accurate translations in a wide range of languages.
解決案
const element = document.getElementById("myText");
const rects = element.getClientRects();
のようにすると文章が何行で表示されているかを取得できる。
これを用いてうまいことできないか。
現状
テキストノードを個々にAPIに投げて翻訳する仕様。

ピリオドや句点を文章の区切りとし、原文1つに対し訳文1つ、という形でルビを割り当てている。
文の途中で折返しが発生した場合、以下画像のように読みにくいレイアウトになる。
下記のようなコードである。
These powerful tools utilize machine learning and artificial intelligence to deliver fast and accurate translations in a wide range of languages.
理想
理想としては下記のように、原文の折返し部分でルビを区切り、次の行にルビを割り当てたい。
These powerful tools utilize machine learning and artificial intelligence to deliver fast and accurate translations in a wide range of languages.
解決案
const element = document.getElementById("myText");
const rects = element.getClientRects();
のようにすると文章が何行で表示されているかを取得できる。
これを用いてうまいことできないか。