Получение текста из текстового элемента с переполненным содержимым возвращает только видимый сегмент текста - PullRequest
0 голосов
/ 22 мая 2018

У меня есть 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:

enter image description here

Это 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>

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

...