2016-08-24 15 views
1

したがって、具体的なwidthのオブジェクトを120pxでレンダリングしています。オブジェクトのタイトルは異なります。私の問題は、タイトルが長すぎて、それを折り返して改行しないときです。この種の問題を回避する方法はありますか?SVGでテキストを折り返す方法

var labels = ["Testing 123", "Things are fantastic"] 

for (var i = 0; i < labels.length; i++) 
      { 
       cell = editor.graph.cloneCells([cell])[0]; 
       // cell.setStyle(new-style); 
       editor.graph.model.valueForCellChanged(cell, label); 

       editor.toolbar.addPrototype(label, "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='43px' width='104px'>" + 
        "<rect fill='#595A5A' stroke='black' x='0' y='0' rx='5' ry='5' width='100%' height='100%'/>"+ 
        "<text text-anchor='middle' font-weight='600' font-family='Helvetica' fill='#BCCF00' x='50%' y='25' font-size='12'>" + label + "</text></svg>", cell); 
      } 

答えて

3

SVG 1.1に自動テキストラッピングはありません。テキストを自分の行にレイアウトする必要があります。

+0

通常のsvgであっても、ブレークラインは使用できません。オーバーフローを隠す代わりに、テキストを含む可能性のあるボックスにテキストタグを置く可能性はありますか? –

+1

汎用SVG 1.1にはラッピング機能がありません。これはSVG 2がリリースされたときにSVG 2で変更される可能性があります。しかし、ブラウザにいる場合は、 ''要素を[SVG内のHTMLを埋め込む]にすることができます(https://developer.mozilla.org/en/docs/Web/SVG/Element/外国の物)。それがあなたの唯一の選択肢です。 –

関連する問題