Вы можете рассчитать длину текста, используя метод getComputedTextLength
. вы можете рассчитать длину пути, используя метод getTotalLength
.
let textLength = elText.getComputedTextLength();
let pathLength = abd837a.getTotalLength();
let invisibleTextLength = textLength > pathLength ? textLength - pathLength : 0;
console.log(textLength,pathLength,invisibleTextLength)
<svg viewBox="120 100 100 100">
<path id="abd837a" d="M 130 110 C 120 140, 180 140, 170 110" stroke="black" fill="transparent"/>
<text id="elText" class="text" dominant-baseline="middle" style="font-size: 16px">
<textPath class="text-path" href="#abd837a">Cats and dogs</textPath>
</text>
</svg>