文字を改行する
svg単体で文字を改行するoptionはない
代替方法として以下が挙げられる
1文ずつ座標で指定する
foreignObjectでdiv要素を埋め込む
htmlのdiv要素なら、自動的に折り返し処理を行ってくれる
https://svg-hosting.vercel.app/api/svg?url=https://scrapbox.io/api/code/svg-wiki/文字を改行する/wrap.svg
code:wrap.svg
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 200 300" width="400" height="600">
<foreignObject x="0" y="0" width="200" height="300">
<html xmlns="http://www.w3.org/1999/xhtml">
<div style="background-color:white;width:100%;height:100%;">
svg単体で文字列の折返し処理を簡単に実装することは<br/>難<br/>し<br/>い<br/>が、foreignObjectとhtmlを用いればこのように簡単に実装することができる
</div>
</html>
</foreignObject>
</svg>
Reference
svg要素の基本的な使い方まとめ
参照先ではforeignObjectの配下に直接divを書いているが、実際には間にhtmlを挟まないと描画されない
おんなじこと書いてあるページがあったの気づかなかったtakker.icon
複数行テキスト