Получение текста из текстового элемента с переполненным содержимым возвращает только видимый сегмент текста

У меня есть SVG, содержащий несколько групп с текстовым элементом и немного текста. Этот текстовый элемент устанавливается в соответствии с размером его родителя, который иногда может быть несколько маленьким. Это иногда приводит к тому, что текстовый элемент содержит больше текста, чем может вместить, поэтому он естественным образом переполняется.

У меня есть цикл, который перебирает все эти группы, чтобы прочитать текст. Когда он сталкивается с переполненным текстовым элементом, он возвращает только видимый текст.

В приведенном ниже примере theTile это группа. Также я использую SVG.js.

// If there is a text node in the SVG, collect the details from
// the content and delete it. If there isn't, move on.
const textNode = theTile.select('text');

// Check for a text node. If it exists, collect the content
// for use in positioning for the group.
let groupCoordinates;
const textNodeCount = textNode.members.length;

if (textNodeCount) {
    const tileTextRaw = textNode.last().text();
    … do some stuff with this text …
}

tileTextRaw в конечном итоге возвращает "имя:Peristyle_5". Полный текст внутри этого текстового элемента на самом деле "name:Peristyle_5-top:162-left:1349-width:50-height:75"

Для наглядного примера вот текстовый элемент, который я пытаюсь прочитать в SVG:

введите описание изображения здесь

Это SVG, с которой я работаю:

<svg xmlns="http://www.w3.org/2000/svg" width="50" height="75" viewBox="0 0 50 75">
 <title>Peristyle_5</title>
 <g id="Peristyle_5">
  <g>
   <rect id="background-2" data-name="background" width="50" height="75" fill="#7facc7"/>
  </g>
  <text transform="translate(9.726 21.76)" font-size="15" font-family="OperatorMonoSSm-Book, Operator Mono SSm">nam<tspan x="0" y="18">e:P</tspan><tspan x="0" y="36">eri</tspan></text>
 </g>
</svg>

Что мне не хватает?

0 ответов

Другие вопросы по тегам